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 
29 
30 
31 namespace edm {
32  class Event;
33  class EventSetup;
34  class ParameterSet;
35 }
36 
38 
39  public:
41  //EcalUncalibRecHitWorkerMultiFit(const edm::ParameterSet&);
43 
44  void set(const edm::EventSetup& es);
46 
47  protected:
48 
50 
51  double pedVec[3];
52  double pedRMSVec[3];
53  double gainRatios[3];
54 
57 
58  double timeCorrection(float ampli,
59  const std::vector<float>& amplitudeBins, const std::vector<float>& shiftBins);
60 
61  const SampleMatrix &noisecor(bool barrel, int gain) const;
62 
63  // multifit method
77 
78 
79  // determine which of the samples must actually be used by ECAL local reco
81 
82  // time algorithm to be used to set the jitter and its uncertainty
84 
85  // time weights method
91 
92  // ratio method
93  std::vector<double> EBtimeFitParameters_;
94  std::vector<double> EEtimeFitParameters_;
95  std::vector<double> EBamplitudeFitParameters_;
96  std::vector<double> EEamplitudeFitParameters_;
97  std::pair<double,double> EBtimeFitLimits_;
98  std::pair<double,double> EEtimeFitLimits_;
99 
102 
105 
107 
108  // leading edge method
111  std::vector<double> ebPulseShape_;
112  std::vector<double> eePulseShape_;
115 
116 
117  // chi2 thresholds for flags settings
122 
123 
124  private:
125  void fillInputs(const edm::ParameterSet& params);
126 
127 };
128 
129 #endif
EcalUncalibRecHitWorkerMultiFit(const edm::ParameterSet &, edm::ConsumesCollector &c)
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_
EcalUncalibRecHitRatioMethodAlgo< EEDataFrame > ratioMethod_endcap_
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_
EcalUncalibRecHitLeadingEdgeAlgo< EEDataFrame > leadingEdgeMethod_endcap_
EcalUncalibRecHitTimeWeightsAlgo< EBDataFrame > weightsMethod_barrel_
edm::ESHandle< EcalTimeOffsetConstant > offtime
bool run(const edm::Event &evt, const EcalDigiCollection::const_iterator &digi, EcalUncalibratedRecHitCollection &result)
math::Matrix< 3, 10 >::type EcalWeightMatrix
Definition: EcalWeightSet.h:22
edm::ESHandle< EcalSampleMask > sampleMaskHand_
const EcalWeightSet::EcalWeightMatrix * weights[2]
Eigen::Matrix< double, 10, 10 > SampleMatrix
void fillInputs(const edm::ParameterSet &params)