CMS 3D CMS Logo

EcalUncalibRecHitWorkerGlobal.h
Go to the documentation of this file.
1 #ifndef RecoLocalCalo_EcalRecProducers_EcalUncalibRecHitRecWorkerGlobal_hh
2 #define RecoLocalCalo_EcalRecProducers_EcalUncalibRecHitRecWorkerGlobal_hh
3 
27 
28 
29 namespace edm {
30  class Event;
31  class EventSetup;
32  class ParameterSet;
34 }
35 
37 
38  public:
41  EcalUncalibRecHitWorkerGlobal():testbeamEEShape(EEShape(true)), testbeamEBShape(EBShape(true)){;}
43 
44  void set(const edm::EventSetup& es) override;
46 
47  edm::ParameterSetDescription getAlgoDescription() override;
48  protected:
49 
50  double pedVec[3];
51  double pedRMSVec[3];
52  double gainRatios[3];
53 
56 
57  template < class C > int isSaturated(const C & digi);
58 
59  double timeCorrection(float ampli,
60  const std::vector<float>& amplitudeBins, const std::vector<float>& shiftBins);
61 
62  // weights method
69  EEShape testbeamEEShape; // used in the chi2
70  EBShape testbeamEBShape; // can be replaced by simple shape arrays of float in the future
71 
72  // determie which of the samples must actually be used by ECAL local reco
74 
75  // ratio method
76  std::vector<double> EBtimeFitParameters_;
77  std::vector<double> EEtimeFitParameters_;
78  std::vector<double> EBamplitudeFitParameters_;
79  std::vector<double> EEamplitudeFitParameters_;
80  std::pair<double,double> EBtimeFitLimits_;
81  std::pair<double,double> EEtimeFitLimits_;
82 
85 
87  double EBtimeNconst_;
89  double EEtimeNconst_;
101 
103 
106  std::vector<double> ebPulseShape_;
107  std::vector<double> eePulseShape_;
108 
109  // chi2 method
114  std::vector<double> EBchi2Parameters_;
115  std::vector<double> EEchi2Parameters_;
116 };
117 
118 #endif
edm::ESHandle< EcalTimeOffsetConstant > offtime
edm::ESHandle< EcalTimeBiasCorrections > timeCorrBias_
boost::transform_iterator< IterHelp, boost::counting_iterator< int > > const_iterator
std::pair< double, double > EBtimeFitLimits_
EcalUncalibRecHitRecWeightsAlgo< EBDataFrame > weightsMethod_barrel_
std::pair< double, double > EEtimeFitLimits_
EcalUncalibRecHitRatioMethodAlgo< EEDataFrame > ratioMethod_endcap_
EcalUncalibRecHitRatioMethodAlgo< EBDataFrame > ratioMethod_barrel_
edm::ESHandle< EcalGainRatios > gains
edm::ESHandle< EcalPedestals > peds
edm::ESHandle< EcalTBWeights > wgts
edm::ESHandle< EcalWeightXtalGroups > grps
Definition: EBShape.h:6
math::Matrix< 10, 10 >::type EcalChi2WeightMatrix
Definition: EcalWeightSet.h:23
bool isSaturated(const Digi &digi, const int &maxADCvalue, int ifirst, int n)
HLT enums.
edm::ESHandle< EcalTimeCalibConstants > itime
EcalUncalibRecHitRecWeightsAlgo< EEDataFrame > weightsMethod_endcap_
math::Matrix< 3, 10 >::type EcalWeightMatrix
Definition: EcalWeightSet.h:22
edm::ESHandle< EcalSampleMask > sampleMaskHand_
Definition: EEShape.h:6