Adding constraints to the Hcal 25ns fit.
updated config to first tuning
fixed rare crash and changed time window
add the option to do the unconstrained Method 2
Merged refs/pull/6280/head from repository cms-sw

Conflicts:
	RecoLocalCalo/HcalRecAlgos/interface/PulseShapeFitOOTPileupCorrection.h
	RecoLocalCalo/HcalRecAlgos/src/PulseShapeFitOOTPileupCorrection.cc
Merged Hcal25nsContrained from repository violatingcp
Loosened constraint on fitting
make it possible to turn off method 1 without pain
Added a few more handles for tuning and fixed crashes
Fixed the chi2 = 0 bug
Merged refs/pull/6280/head from repository cms-sw
Some modification of the constrained method 2 (ref PR#6280):
1. Fix the pulseshape for MC used
2. Add options to control number of fit times
3. hbheNegativeFlagSetter is seperated out from the puCorrMethod switch (it's controlled by setNegativeFlags_ anyway)
4. Add print out to what method is actually activated
] Add tsMax requirement & make fit condition to be sum of TS4 and TS5.
] Fall back to method 0 if fit fails or not performed.
] Fix std::isnan issue (to use edm::isNotFinite)
] Fix ts4Min to be 5fC
] Fix code from Stoyan's comments
] Switch from 3 iterations of the fit to 1 iteration by default
] Fix two problems reported from static analyzer
David's suggestion on optimization of speed
Remove a vim swap file...
] Customize different methods
1. Default is method 2 -> this should be tested
2. To get method 1 -> --customise RecoLocalCalo/HcalRecProducers/HBHE_custom_25nsMethod.customise_HBHE_Method1
3. To get method 0 -> --customise RecoLocalCalo/HcalRecProducers/HBHE_custom_25nsMethod.customise_HBHE_Method0
Change default setting in PFlow for HCAL hits and clusters
Merge pull request #6432 from lihux25/forpre3_Hcal25nsConstrained

Hcal 25ns constrained Method 2 for pre3