CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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, const float targetTimePrecision);
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  EcalUncalibratedRecHit& uncalibRecHit,
27  float& errOnTime) const;
28 
29 private:
30  const float startTime_;
31  const float stopTime_;
32  const float targetTimePrecision_;
33 
34  static constexpr int TIME_WHEN_NOT_CONVERGING = 100;
35  static constexpr int MAX_NUM_OF_ITERATIONS = 30;
36  static constexpr int MIN_NUM_OF_ITERATIONS = 2;
37  static constexpr float GLOBAL_TIME_SHIFT = 100;
38 
39  FullSampleVector interpolatePulse(const FullSampleVector& fullpulse, const float t = 0) const;
40  float computeCC(const std::vector<float>& samples, const FullSampleVector& sigmalTemplate, const float t) const;
41 };
42 
43 #endif
Eigen::Matrix< double, FullSampleVectorSize, 1 > FullSampleVector
FullSampleVector interpolatePulse(const FullSampleVector &fullpulse, const float t=0) const
float computeCC(const std::vector< float > &samples, 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, EcalUncalibratedRecHit &uncalibRecHit, float &errOnTime) const
EcalUncalibRecHitTimingCCAlgo(const float startTime, const float stopTime, const float targetTimePrecision)