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, 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
EcalUncalibRecHitTimingCCAlgo::computeTimeCC
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
Definition: EcalUncalibRecHitTimingCCAlgo.cc:8
EcalUncalibRecHitTimingCCAlgo::EcalUncalibRecHitTimingCCAlgo
EcalUncalibRecHitTimingCCAlgo(const float startTime, const float stopTime, const float targetTimePrecision)
Definition: EcalUncalibRecHitTimingCCAlgo.cc:3
EcalPedestals.h
MessageLogger.h
EcalUncalibRecHitTimingCCAlgo::stopTime_
const float stopTime_
Definition: EcalUncalibRecHitTimingCCAlgo.h:31
EcalDataFrame
Definition: EcalDataFrame.h:16
EcalUncalibRecHitTimingCCAlgo::TIME_WHEN_NOT_CONVERGING
static constexpr int TIME_WHEN_NOT_CONVERGING
Definition: EcalUncalibRecHitTimingCCAlgo.h:34
EcalUncalibRecHitTimingCCAlgo::targetTimePrecision_
const float targetTimePrecision_
Definition: EcalUncalibRecHitTimingCCAlgo.h:32
EgammaValidation_cff.samples
samples
Definition: EgammaValidation_cff.py:18
EcalUncalibRecHitTimingCCAlgo
Definition: EcalUncalibRecHitTimingCCAlgo.h:18
EigenMatrixTypes.h
EcalUncalibRecHitTimingCCAlgo::computeCC
float computeCC(const std::vector< float > &samples, const FullSampleVector &sigmalTemplate, const float t) const
Definition: EcalUncalibRecHitTimingCCAlgo.cc:142
EcalUncalibRecHitTimingCCAlgo::MAX_NUM_OF_ITERATIONS
static constexpr int MAX_NUM_OF_ITERATIONS
Definition: EcalUncalibRecHitTimingCCAlgo.h:35
EcalCondObjectContainer::Item
T Item
Definition: EcalCondObjectContainer.h:15
EcalUncalibRecHitRecAbsAlgo.h
EcalConstants.h
EcalUncalibRecHitTimingCCAlgo::MIN_NUM_OF_ITERATIONS
static constexpr int MIN_NUM_OF_ITERATIONS
Definition: EcalUncalibRecHitTimingCCAlgo.h:36
EcalGainRatios.h
FullSampleVector
Eigen::Matrix< double, FullSampleVectorSize, 1 > FullSampleVector
Definition: EigenMatrixTypes.h:13
EcalUncalibratedRecHit
Definition: EcalUncalibratedRecHit.h:8
EcalUncalibRecHitTimingCCAlgo::startTime_
const float startTime_
Definition: EcalUncalibRecHitTimingCCAlgo.h:30
EcalUncalibRecHitTimingCCAlgo::interpolatePulse
FullSampleVector interpolatePulse(const FullSampleVector &fullpulse, const float t=0) const
Definition: EcalUncalibRecHitTimingCCAlgo.cc:103
EcalUncalibRecHitTimingCCAlgo::GLOBAL_TIME_SHIFT
static constexpr float GLOBAL_TIME_SHIFT
Definition: EcalUncalibRecHitTimingCCAlgo.h:37
submitPVValidationJobs.t
string t
Definition: submitPVValidationJobs.py:644
EcalMGPAGainRatio
Definition: EcalMGPAGainRatio.h:13