CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
EcalUncalibRecHitWorkerMultiFit.h
Go to the documentation of this file.
1 #ifndef RecoLocalCalo_EcalRecProducers_EcalUncalibRecHitRecWorkerGlobal_hh
2 #define RecoLocalCalo_EcalRecProducers_EcalUncalibRecHitRecWorkerGlobal_hh
3 
44 
45 namespace edm {
46  class Event;
47  class EventSetup;
48  class ParameterSet;
50 } // namespace edm
51 
53 public:
57 
58 private:
59  void set(const edm::EventSetup& es) override;
60  void set(const edm::Event& evt) override;
61  void run(const edm::Event& evt, const EcalDigiCollection& digis, EcalUncalibratedRecHitCollection& result) override;
62 
63 public:
65 
66 private:
77 
78  double timeCorrection(float ampli, const std::vector<float>& amplitudeBins, const std::vector<float>& shiftBins);
79 
80  const SampleMatrix& noisecor(bool barrel, int gain) const { return noisecors_[barrel ? 1 : 0][gain]; }
81  const SampleMatrixGainArray& noisecor(bool barrel) const { return noisecors_[barrel ? 1 : 0]; }
82 
83  // multifit method
84  std::array<SampleMatrixGainArray, 2> noisecors_;
89 
92 
93  // determine which of the samples must actually be used by ECAL local reco
96 
97  // time algorithm to be used to set the jitter and its uncertainty
100 
101  // time weights method
124 
125  // ratio method
126  std::vector<double> EBtimeFitParameters_;
127  std::vector<double> EEtimeFitParameters_;
128  std::vector<double> EBamplitudeFitParameters_;
129  std::vector<double> EEamplitudeFitParameters_;
130  std::pair<double, double> EBtimeFitLimits_;
131  std::pair<double, double> EEtimeFitLimits_;
132 
135 
151 
154 
159  std::vector<double> ebPulseShape_;
160  std::vector<double> eePulseShape_;
161 
162  // chi2 thresholds for flags settings
167 
168  //Timing Cross Correlation Algo
169  std::unique_ptr<EcalUncalibRecHitTimingCCAlgo> computeCC_;
170 };
171 
172 #endif
edm::ESGetToken< EcalPulseCovariances, EcalPulseCovariancesRcd > pulseConvariancesToken_
edm::ParameterSetDescription getAlgoDescription() override
std::array< SampleMatrixGainArray, 2 > noisecors_
const edm::EventSetup & c
EcalUncalibRecHitMultiFitAlgo multiFitMethod_
std::array< SampleMatrix, NGains > SampleMatrixGainArray
EcalUncalibRecHitTimeWeightsAlgo< EEDataFrame > weightsMethod_endcap_
edm::ESGetToken< EcalPulseShapes, EcalPulseShapesRcd > pulseShapesToken_
edm::ESGetToken< EcalGainRatios, EcalGainRatiosRcd > gainsToken_
edm::ESHandle< EcalWeightXtalGroups > grps
math::Matrix< 3, 10 >::type EcalWeightMatrix
Definition: EcalWeightSet.h:19
edm::ESGetToken< EcalSamplesCorrelation, EcalSamplesCorrelationRcd > noiseConvariancesToken_
edm::EDGetTokenT< unsigned int > bunchSpacing_
EcalUncalibRecHitRatioMethodAlgo< EBDataFrame > ratioMethod_barrel_
tuple result
Definition: mps_fire.py:311
edm::ESGetToken< EcalPedestals, EcalPedestalsRcd > pedsToken_
edm::ESGetToken< EcalTBWeights, EcalTBWeightsRcd > wgtsToken_
EcalUncalibRecHitRatioMethodAlgo< EEDataFrame > ratioMethod_endcap_
edm::ESHandle< EcalPulseShapes > pulseshapes
edm::ESHandle< EcalTimeCalibConstants > itime
double timeCorrection(float ampli, const std::vector< float > &amplitudeBins, const std::vector< float > &shiftBins)
std::unique_ptr< EcalUncalibRecHitTimingCCAlgo > computeCC_
edm::ESHandle< EcalTimeBiasCorrections > timeCorrBias_
edm::ESGetToken< EcalTimeOffsetConstant, EcalTimeOffsetConstantRcd > offtimeToken_
void set(const edm::EventSetup &es) override
edm::ESHandle< EcalPulseCovariances > pulsecovariances
edm::ESGetToken< EcalTimeBiasCorrections, EcalTimeBiasCorrectionsRcd > timeCorrBiasToken_
Eigen::Matrix< double, SampleVectorSize, SampleVectorSize > SampleMatrix
EcalUncalibRecHitTimeWeightsAlgo< EBDataFrame > weightsMethod_barrel_
edm::ESHandle< EcalTimeOffsetConstant > offtime
edm::ESGetToken< EcalSampleMask, EcalSampleMaskRcd > sampleMaskToken_
edm::ESGetToken< EcalTimeCalibConstants, EcalTimeCalibConstantsRcd > itimeToken_
void run(const edm::Event &evt, const EcalDigiCollection &digis, EcalUncalibratedRecHitCollection &result) override
const SampleMatrix & noisecor(bool barrel, int gain) const
edm::ESHandle< EcalSampleMask > sampleMaskHand_
const EcalWeightSet::EcalWeightMatrix * weights[2]
const SampleMatrixGainArray & noisecor(bool barrel) const
edm::ESHandle< EcalSamplesCorrelation > noisecovariances
edm::ESGetToken< EcalWeightXtalGroups, EcalWeightXtalGroupsRcd > grpsToken_