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 namespace edm {
29  class Event;
30  class EventSetup;
31  class ParameterSet;
33 } // namespace edm
34 
36 public:
39  EcalUncalibRecHitWorkerGlobal() : testbeamEEShape(EEShape(true)), testbeamEBShape(EBShape(true)) { ; }
41 
42  void set(const edm::EventSetup& es) override;
43  bool run(const edm::Event& evt,
46 
47  edm::ParameterSetDescription getAlgoDescription() override;
48 
49 protected:
50  double pedVec[3];
51  double pedRMSVec[3];
52  double gainRatios[3];
53 
56 
57  template <class C>
58  int isSaturated(const C& digi);
59 
60  double timeCorrection(float ampli, 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
std::pair< double, double > EEtimeFitLimits_
edm::ESHandle< EcalTimeBiasCorrections > timeCorrBias_
EcalUncalibRecHitRecWeightsAlgo< EBDataFrame > weightsMethod_barrel_
math::Matrix< 10, 10 >::type EcalChi2WeightMatrix
Definition: EcalWeightSet.h:21
math::Matrix< 3, 10 >::type EcalWeightMatrix
Definition: EcalWeightSet.h:20
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
std::pair< double, double > EBtimeFitLimits_
boost::transform_iterator< IterHelp, boost::counting_iterator< int > > const_iterator
bool isSaturated(const Digi &digi, const int &maxADCvalue, int ifirst, int n)
HLT enums.
edm::ESHandle< EcalTimeCalibConstants > itime
EcalUncalibRecHitRecWeightsAlgo< EEDataFrame > weightsMethod_endcap_
edm::ESHandle< EcalSampleMask > sampleMaskHand_
Definition: EEShape.h:6