1 #ifndef RecoLocalCalo_EcalRecAlgos_EcalUncalibRecHitLeadingEdgeAlgo_HH 2 #define RecoLocalCalo_EcalRecAlgos_EcalUncalibRecHitLeadingEdgeAlgo_HH 13 #include "Math/SVector.h" 14 #include "Math/SMatrix.h" 36 const double *pedestals,
37 const double *gainRatios,
42 double amplitude_(-1.), pedestal_(-1.), jitter_(-1.), chi2_(-1.);
45 amplitude_ = double (((
double) (dataFrame.sample(
leadingSample_ ).adc() -
58 if ( unsaturatedSample > 0 && unsaturatedSample < (
int)
shape_.size() ) {
59 return 1./
shape_[ unsaturatedSample ];
61 edm::LogError(
"EcalUncalibRecHitLeadingEdgeAlgo") <<
"Invalid sample " << unsaturatedSample
62 <<
" for a shape vector of size " <<
shape_.size();
double saturationCorrection(int unsaturatedSample)
std::vector< double > & getPulseShape()
void setPulseShape(std::vector< double > &shape)
virtual EcalUncalibratedRecHit makeRecHit(const C &dataFrame, const double *pedestals, const double *gainRatios, const EcalWeightSet::EcalWeightMatrix **weights, const EcalWeightSet::EcalChi2WeightMatrix **chi2Matrix)
Compute parameters.
math::Matrix< 10, 10 >::type EcalChi2WeightMatrix
int getLeadingEdgeSample()
void setLeadingEdgeSample(int isample)
math::Matrix< 3, 10 >::type EcalWeightMatrix
std::vector< double > shape_