CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
EcalUncalibRecHitWorkerGlobal.h
Go to the documentation of this file.
1 #ifndef RecoLocalCalo_EcalRecProducers_EcalUncalibRecHitRecWorkerGlobal_hh
2 #define RecoLocalCalo_EcalRecProducers_EcalUncalibRecHitRecWorkerGlobal_hh
3 
28 
29 
30 namespace edm {
31  class Event;
32  class EventSetup;
33  class ParameterSet;
34 }
35 
37 
38  public:
42 
43  void set(const edm::EventSetup& es);
45 
46  protected:
47 
48  double pedVec[3];
49  double pedRMSVec[3];
50  double gainRatios[3];
51 
54 
55  template < class C > int isSaturated(const C & digi);
56 
57  double timeCorrection(float ampli,
58  const std::vector<float>& amplitudeBins, const std::vector<float>& shiftBins);
59 
60  // weights method
67  const EEShape testbeamEEShape; // used in the chi2
68  const EBShape testbeamEBShape; // can be replaced by simple shape arrays of float in the future
69 
70  // determie which of the samples must actually be used by ECAL local reco
72 
73  // ratio method
74  std::vector<double> EBtimeFitParameters_;
75  std::vector<double> EEtimeFitParameters_;
76  std::vector<double> EBamplitudeFitParameters_;
77  std::vector<double> EEamplitudeFitParameters_;
78  std::pair<double,double> EBtimeFitLimits_;
79  std::pair<double,double> EEtimeFitLimits_;
80 
83 
85  double EBtimeNconst_;
87  double EEtimeNconst_;
99 
101 
102  // leading edge method
105  std::vector<double> ebPulseShape_;
106  std::vector<double> eePulseShape_;
109 
110  // chi2 method
115  std::vector<double> EBchi2Parameters_;
116  std::vector<double> EEchi2Parameters_;
117 };
118 
119 #endif
edm::ESHandle< EcalTimeOffsetConstant > offtime
edm::ESHandle< EcalTimeBiasCorrections > timeCorrBias_
bool run(const edm::Event &evt, const EcalDigiCollection::const_iterator &digi, EcalUncalibratedRecHitCollection &result)
boost::transform_iterator< IterHelp, boost::counting_iterator< int > > const_iterator
double timeCorrection(float ampli, const std::vector< float > &amplitudeBins, const std::vector< float > &shiftBins)
std::pair< double, double > EBtimeFitLimits_
EcalUncalibRecHitRecWeightsAlgo< EBDataFrame > weightsMethod_barrel_
std::pair< double, double > EEtimeFitLimits_
EcalUncalibRecHitRatioMethodAlgo< EEDataFrame > ratioMethod_endcap_
EcalUncalibRecHitLeadingEdgeAlgo< EBDataFrame > leadingEdgeMethod_barrel_
EcalUncalibRecHitRatioMethodAlgo< EBDataFrame > ratioMethod_barrel_
edm::ESHandle< EcalGainRatios > gains
EcalUncalibRecHitLeadingEdgeAlgo< EEDataFrame > leadingEdgeMethod_endcap_
edm::ESHandle< EcalPedestals > peds
tuple result
Definition: query.py:137
edm::ESHandle< EcalTBWeights > wgts
edm::ESHandle< EcalWeightXtalGroups > grps
EcalUncalibRecHitWorkerGlobal(const edm::ParameterSet &, edm::ConsumesCollector &c)
Definition: EBShape.h:6
math::Matrix< 10, 10 >::type EcalChi2WeightMatrix
Definition: EcalWeightSet.h:23
const EcalWeightSet::EcalChi2WeightMatrix * chi2mat[2]
const EcalWeightSet::EcalWeightMatrix * weights[2]
void set(const edm::EventSetup &es)
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