CMS 3D CMS Logo

EcalUncalibRecHitTimingCCAlgo.h
Go to the documentation of this file.
1 #ifndef RecoLocalCalo_EcalRecAlgos_EcalUncalibRecHitTimingCCAlgo_HH
2 #define RecoLocalCalo_EcalRecAlgos_EcalUncalibRecHitTimingCCAlgo_HH
3 
12 
17 
19 public:
20  EcalUncalibRecHitTimingCCAlgo(const float startTime, const float stopTime);
21  double computeTimeCC(const EcalDataFrame& dataFrame,
22  const std::vector<double>& amplitudes,
23  const EcalPedestals::Item* aped,
24  const EcalMGPAGainRatio* aGain,
25  const FullSampleVector& fullpulse,
26  const float targetTimePrecision,
27  const bool correctForOOT = true,
28  const bool correctForSlew = true) const;
29 
30 private:
31  const float startTime_;
32  const float stopTime_;
33 
37  static constexpr float GLOBAL_TIME_SHIFT = 100;
38  static constexpr float GOLDEN_RATIO = 0.61803399;
40 
41  FullSampleVector interpolatePulse(const FullSampleVector& fullpulse, const float t = 0) const;
42  float computeCC(const std::vector<float>& samples,
43  const std::vector<float>& weights,
44  const FullSampleVector& sigmalTemplate,
45  const float t) const;
46 };
47 
48 #endif
Eigen::Matrix< double, FullSampleVectorSize, 1 > FullSampleVector
float computeCC(const std::vector< float > &samples, const std::vector< float > &weights, const FullSampleVector &sigmalTemplate, const float t) const
double computeTimeCC(const EcalDataFrame &dataFrame, const std::vector< double > &amplitudes, const EcalPedestals::Item *aped, const EcalMGPAGainRatio *aGain, const FullSampleVector &fullpulse, const float targetTimePrecision, const bool correctForOOT=true, const bool correctForSlew=true) const
EcalUncalibRecHitTimingCCAlgo(const float startTime, const float stopTime)
FullSampleVector interpolatePulse(const FullSampleVector &fullpulse, const float t=0) const