CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
EcalUncalibRecHitWorkerMultiFit.h
Go to the documentation of this file.
1 #ifndef RecoLocalCalo_EcalRecProducers_EcalUncalibRecHitRecWorkerGlobal_hh
2 #define RecoLocalCalo_EcalRecProducers_EcalUncalibRecHitRecWorkerGlobal_hh
3 
32 
33 
34 namespace edm {
35  class Event;
36  class EventSetup;
37  class ParameterSet;
39 }
40 
42 
43  public:
47 
48  void set(const edm::EventSetup& es) override;
49  void set(const edm::Event& evt) override;
51 
53  protected:
54 
55  double pedVec[3];
56  double pedRMSVec[3];
57  double gainRatios[3];
58 
64 
65  double timeCorrection(float ampli,
66  const std::vector<float>& amplitudeBins, const std::vector<float>& shiftBins);
67 
68  const SampleMatrix &noisecor(bool barrel, int gain) const;
69 
70  // multifit method
85 
87 
88  // determine which of the samples must actually be used by ECAL local reco
90 
91  // time algorithm to be used to set the jitter and its uncertainty
93 
94  // time weights method
104 
105  // ratio method
106  std::vector<double> EBtimeFitParameters_;
107  std::vector<double> EEtimeFitParameters_;
108  std::vector<double> EBamplitudeFitParameters_;
109  std::vector<double> EEamplitudeFitParameters_;
110  std::pair<double,double> EBtimeFitLimits_;
111  std::pair<double,double> EEtimeFitLimits_;
112 
115 
131 
133 
134  // leading edge method
137  std::vector<double> ebPulseShape_;
138  std::vector<double> eePulseShape_;
141 
142 
143  // chi2 thresholds for flags settings
148 
149 
150 };
151 
152 #endif
EcalUncalibRecHitMultiFitAlgo multiFitMethod_
boost::transform_iterator< IterHelp, boost::counting_iterator< int > > const_iterator
const SampleMatrix & noisecor(bool barrel, int gain) const
EcalUncalibRecHitTimeWeightsAlgo< EEDataFrame > weightsMethod_endcap_
EcalUncalibRecHitLeadingEdgeAlgo< EBDataFrame > leadingEdgeMethod_barrel_
edm::ESHandle< EcalWeightXtalGroups > grps
Eigen::Matrix< double, 19, 19 > FullSampleMatrix
EcalUncalibRecHitRatioMethodAlgo< EBDataFrame > ratioMethod_barrel_
bool run(const edm::Event &evt, const EcalDigiCollection::const_iterator &digi, EcalUncalibratedRecHitCollection &result) override
EcalUncalibRecHitRatioMethodAlgo< EEDataFrame > ratioMethod_endcap_
edm::ESHandle< EcalPulseShapes > pulseshapes
tuple result
Definition: query.py:137
edm::ESHandle< EcalTimeCalibConstants > itime
double timeCorrection(float ampli, const std::vector< float > &amplitudeBins, const std::vector< float > &shiftBins)
Eigen::Matrix< double, 19, 1 > FullSampleVector
edm::ESHandle< EcalTimeBiasCorrections > timeCorrBias_
edm::ParameterSetDescription getAlgoDescription()
EcalUncalibRecHitLeadingEdgeAlgo< EEDataFrame > leadingEdgeMethod_endcap_
void set(const edm::EventSetup &es) override
edm::ESHandle< EcalPulseCovariances > pulsecovariances
EcalUncalibRecHitTimeWeightsAlgo< EBDataFrame > weightsMethod_barrel_
edm::ESHandle< EcalTimeOffsetConstant > offtime
math::Matrix< 3, 10 >::type EcalWeightMatrix
Definition: EcalWeightSet.h:22
edm::ESHandle< EcalSampleMask > sampleMaskHand_
const EcalWeightSet::EcalWeightMatrix * weights[2]
edm::ESHandle< EcalSamplesCorrelation > noisecovariances
Eigen::Matrix< double, 10, 10 > SampleMatrix