CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Protected Attributes
EcalUncalibRecHitWorkerGlobal Class Reference
Inheritance diagram for EcalUncalibRecHitWorkerGlobal:
EcalUncalibRecHitWorkerRunOneDigiBase EcalUncalibRecHitWorkerBaseClass

Public Member Functions

 EcalUncalibRecHitWorkerGlobal (const edm::ParameterSet &, edm::ConsumesCollector &c)
 
 EcalUncalibRecHitWorkerGlobal ()=default
 
edm::ParameterSetDescription getAlgoDescription () override
 
bool run (const edm::Event &evt, const EcalDigiCollection::const_iterator &digi, EcalUncalibratedRecHitCollection &result) override
 
void set (const edm::EventSetup &es) override
 
- Public Member Functions inherited from EcalUncalibRecHitWorkerRunOneDigiBase
 EcalUncalibRecHitWorkerRunOneDigiBase (const edm::ParameterSet &p, edm::ConsumesCollector &c)
 
 EcalUncalibRecHitWorkerRunOneDigiBase (const edm::ParameterSet &p)
 
 EcalUncalibRecHitWorkerRunOneDigiBase ()
 
void run (const edm::Event &evt, const EcalDigiCollection &digis, EcalUncalibratedRecHitCollection &result) override
 
 ~EcalUncalibRecHitWorkerRunOneDigiBase () override
 
- Public Member Functions inherited from EcalUncalibRecHitWorkerBaseClass
 EcalUncalibRecHitWorkerBaseClass (const edm::ParameterSet &, edm::ConsumesCollector &c)
 
 EcalUncalibRecHitWorkerBaseClass (const edm::ParameterSet &)
 
 EcalUncalibRecHitWorkerBaseClass ()
 
virtual void set (const edm::Event &evt)
 
virtual ~EcalUncalibRecHitWorkerBaseClass ()
 

Protected Member Functions

template<class C >
int isSaturated (const C &digi)
 
double timeCorrection (float ampli, const std::vector< float > &amplitudeBins, const std::vector< float > &shiftBins)
 

Protected Attributes

double amplitudeThreshEB_
 
double amplitudeThreshEE_
 
const EcalWeightSet::EcalChi2WeightMatrixchi2mat [2]
 
double chi2ThreshEB_
 
double chi2ThreshEE_
 
std::vector< double > EBamplitudeFitParameters_
 
std::vector< double > EBchi2Parameters_
 
std::vector< double > ebPulseShape_
 
double ebSpikeThresh_
 
double EBtimeConstantTerm_
 
std::pair< double, double > EBtimeFitLimits_
 
std::vector< double > EBtimeFitParameters_
 
double EBtimeNconst_
 
std::vector< double > EEamplitudeFitParameters_
 
std::vector< double > EEchi2Parameters_
 
std::vector< double > eePulseShape_
 
double EEtimeConstantTerm_
 
std::pair< double, double > EEtimeFitLimits_
 
std::vector< double > EEtimeFitParameters_
 
double EEtimeNconst_
 
double gainRatios [3]
 
edm::ESHandle< EcalGainRatiosgains_
 
edm::ESHandle< EcalWeightXtalGroupsgrps_
 
edm::ESHandle< EcalTimeCalibConstantsitime_
 
bool kPoorRecoFlagEB_
 
bool kPoorRecoFlagEE_
 
edm::ESHandle< EcalTimeOffsetConstantofftime_
 
double outOfTimeThreshG12mEB_
 
double outOfTimeThreshG12mEE_
 
double outOfTimeThreshG12pEB_
 
double outOfTimeThreshG12pEE_
 
double outOfTimeThreshG61mEB_
 
double outOfTimeThreshG61mEE_
 
double outOfTimeThreshG61pEB_
 
double outOfTimeThreshG61pEE_
 
double pedRMSVec [3]
 
edm::ESHandle< EcalPedestalspeds_
 
double pedVec [3]
 
EcalUncalibRecHitRatioMethodAlgo< EBDataFrameratioMethod_barrel_
 
EcalUncalibRecHitRatioMethodAlgo< EEDataFrameratioMethod_endcap_
 
edm::ESHandle< EcalSampleMasksampleMaskHand_
 
EBShape testbeamEBShape
 
EEShape testbeamEEShape
 
edm::ESHandle< EcalTimeBiasCorrectionstimeCorrBias_
 
edm::ESGetToken< EcalGainRatios, EcalGainRatiosRcdtokenGains_
 
edm::ESGetToken< EcalWeightXtalGroups, EcalWeightXtalGroupsRcdtokenGrps_
 
edm::ESGetToken< EcalTimeCalibConstants, EcalTimeCalibConstantsRcdtokenItime_
 
edm::ESGetToken< EcalTimeOffsetConstant, EcalTimeOffsetConstantRcdtokenOfftime_
 
edm::ESGetToken< EcalPedestals, EcalPedestalsRcdtokenPeds_
 
edm::ESGetToken< EcalSampleMask, EcalSampleMaskRcdtokenSampleMask_
 
edm::ESGetToken< EcalTimeBiasCorrections, EcalTimeBiasCorrectionsRcdtokenTimeCorrBias_
 
edm::ESGetToken< EcalTBWeights, EcalTBWeightsRcdtokenWgts_
 
const EcalWeightSet::EcalWeightMatrixweights [2]
 
EcalUncalibRecHitRecWeightsAlgo< EBDataFrameweightsMethod_barrel_
 
EcalUncalibRecHitRecWeightsAlgo< EEDataFrameweightsMethod_endcap_
 
edm::ESHandle< EcalTBWeightswgts_
 

Detailed Description

Definition at line 41 of file EcalUncalibRecHitWorkerGlobal.cc.

Constructor & Destructor Documentation

◆ EcalUncalibRecHitWorkerGlobal() [1/2]

EcalUncalibRecHitWorkerGlobal::EcalUncalibRecHitWorkerGlobal ( const edm::ParameterSet ps,
edm::ConsumesCollector c 
)

Definition at line 130 of file EcalUncalibRecHitWorkerGlobal.cc.

References amplitudeThreshEB_, amplitudeThreshEE_, chi2ThreshEB_, chi2ThreshEE_, EBamplitudeFitParameters_, EBchi2Parameters_, ebPulseShape_, ebSpikeThresh_, EBtimeConstantTerm_, EBtimeFitLimits_, EBtimeFitParameters_, EBtimeNconst_, EEamplitudeFitParameters_, EEchi2Parameters_, eePulseShape_, EEtimeConstantTerm_, EEtimeFitLimits_, EEtimeFitParameters_, EEtimeNconst_, edm::ParameterSet::getParameter(), kPoorRecoFlagEB_, kPoorRecoFlagEE_, outOfTimeThreshG12mEB_, outOfTimeThreshG12mEE_, outOfTimeThreshG12pEB_, outOfTimeThreshG12pEE_, outOfTimeThreshG61mEB_, outOfTimeThreshG61mEE_, outOfTimeThreshG61pEB_, and outOfTimeThreshG61pEE_.

132  tokenPeds_(c.esConsumes<EcalPedestals, EcalPedestalsRcd>()),
135  tokenWgts_(c.esConsumes<EcalTBWeights, EcalTBWeightsRcd>()),
141  ps.getParameter<edm::ESInputTag>("timeCalibTag"))),
143  ps.getParameter<edm::ESInputTag>("timeOffsetTag"))) {
144  // ratio method parameters
145  EBtimeFitParameters_ = ps.getParameter<std::vector<double>>("EBtimeFitParameters");
146  EEtimeFitParameters_ = ps.getParameter<std::vector<double>>("EEtimeFitParameters");
147  EBamplitudeFitParameters_ = ps.getParameter<std::vector<double>>("EBamplitudeFitParameters");
148  EEamplitudeFitParameters_ = ps.getParameter<std::vector<double>>("EEamplitudeFitParameters");
149  EBtimeFitLimits_.first = ps.getParameter<double>("EBtimeFitLimits_Lower");
150  EBtimeFitLimits_.second = ps.getParameter<double>("EBtimeFitLimits_Upper");
151  EEtimeFitLimits_.first = ps.getParameter<double>("EEtimeFitLimits_Lower");
152  EEtimeFitLimits_.second = ps.getParameter<double>("EEtimeFitLimits_Upper");
153  EBtimeConstantTerm_ = ps.getParameter<double>("EBtimeConstantTerm");
154  EBtimeNconst_ = ps.getParameter<double>("EBtimeNconst");
155  EEtimeConstantTerm_ = ps.getParameter<double>("EEtimeConstantTerm");
156  EEtimeNconst_ = ps.getParameter<double>("EEtimeNconst");
157  outOfTimeThreshG12pEB_ = ps.getParameter<double>("outOfTimeThresholdGain12pEB");
158  outOfTimeThreshG12mEB_ = ps.getParameter<double>("outOfTimeThresholdGain12mEB");
159  outOfTimeThreshG61pEB_ = ps.getParameter<double>("outOfTimeThresholdGain61pEB");
160  outOfTimeThreshG61mEB_ = ps.getParameter<double>("outOfTimeThresholdGain61mEB");
161  outOfTimeThreshG12pEE_ = ps.getParameter<double>("outOfTimeThresholdGain12pEE");
162  outOfTimeThreshG12mEE_ = ps.getParameter<double>("outOfTimeThresholdGain12mEE");
163  outOfTimeThreshG61pEE_ = ps.getParameter<double>("outOfTimeThresholdGain61pEE");
164  outOfTimeThreshG61mEE_ = ps.getParameter<double>("outOfTimeThresholdGain61mEE");
165  amplitudeThreshEB_ = ps.getParameter<double>("amplitudeThresholdEB");
166  amplitudeThreshEE_ = ps.getParameter<double>("amplitudeThresholdEE");
167 
168  // spike threshold
169  ebSpikeThresh_ = ps.getParameter<double>("ebSpikeThreshold");
170 
171  ebPulseShape_ = ps.getParameter<std::vector<double>>("ebPulseShape");
172  eePulseShape_ = ps.getParameter<std::vector<double>>("eePulseShape");
173 
174  // chi2 parameters
175  kPoorRecoFlagEB_ = ps.getParameter<bool>("kPoorRecoFlagEB");
176  kPoorRecoFlagEE_ = ps.getParameter<bool>("kPoorRecoFlagEE");
177 
178  chi2ThreshEB_ = ps.getParameter<double>("chi2ThreshEB_");
179  chi2ThreshEE_ = ps.getParameter<double>("chi2ThreshEE_");
180  EBchi2Parameters_ = ps.getParameter<std::vector<double>>("EBchi2Parameters");
181  EEchi2Parameters_ = ps.getParameter<std::vector<double>>("EEchi2Parameters");
182 }
std::pair< double, double > EEtimeFitLimits_
edm::ESGetToken< EcalTBWeights, EcalTBWeightsRcd > tokenWgts_
edm::ESGetToken< EcalTimeCalibConstants, EcalTimeCalibConstantsRcd > tokenItime_
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
edm::ESGetToken< EcalSampleMask, EcalSampleMaskRcd > tokenSampleMask_
edm::ESGetToken< EcalGainRatios, EcalGainRatiosRcd > tokenGains_
edm::ESGetToken< EcalTimeBiasCorrections, EcalTimeBiasCorrectionsRcd > tokenTimeCorrBias_
std::pair< double, double > EBtimeFitLimits_
edm::ESGetToken< EcalWeightXtalGroups, EcalWeightXtalGroupsRcd > tokenGrps_
edm::ESGetToken< EcalTimeOffsetConstant, EcalTimeOffsetConstantRcd > tokenOfftime_
edm::ESGetToken< EcalPedestals, EcalPedestalsRcd > tokenPeds_

◆ EcalUncalibRecHitWorkerGlobal() [2/2]

EcalUncalibRecHitWorkerGlobal::EcalUncalibRecHitWorkerGlobal ( )
default

Member Function Documentation

◆ getAlgoDescription()

edm::ParameterSetDescription EcalUncalibRecHitWorkerGlobal::getAlgoDescription ( )
overridevirtual

Implements EcalUncalibRecHitWorkerBaseClass.

Definition at line 562 of file EcalUncalibRecHitWorkerGlobal.cc.

References edm::ParameterSetDescription::addNode().

562  {
564  psd.addNode(
565  edm::ParameterDescription<std::vector<double>>(
566  "eePulseShape", {5.2e-05, -5.26e-05, 6.66e-05, 0.1168, 0.7575, 1.0, 0.8876, 0.6732, 0.4741, 0.3194}, true) and
567  edm::ParameterDescription<std::vector<double>>(
568  "EBtimeFitParameters",
569  {-2.015452, 3.130702, -12.3473, 41.88921, -82.83944, 91.01147, -50.35761, 11.05621},
570  true) and
571  edm::ParameterDescription<double>("outOfTimeThresholdGain61pEB", 5, true) and
572  edm::ParameterDescription<double>("amplitudeThresholdEE", 10, true) and
573  edm::ParameterDescription<double>("EBtimeConstantTerm", 0.6, true) and
574  edm::ParameterDescription<double>("outOfTimeThresholdGain61pEE", 1000, true) and
575  edm::ParameterDescription<double>("ebSpikeThreshold", 1.042, true) and
576  edm::ParameterDescription<double>("EBtimeNconst", 28.5, true) and
577  edm::ParameterDescription<bool>("kPoorRecoFlagEB", true, true) and
578  edm::ParameterDescription<std::vector<double>>(
579  "ebPulseShape", {5.2e-05, -5.26e-05, 6.66e-05, 0.1168, 0.7575, 1.0, 0.8876, 0.6732, 0.4741, 0.3194}, true) and
580  edm::ParameterDescription<double>("EBtimeFitLimits_Lower", 0.2, true) and
581  edm::ParameterDescription<bool>("kPoorRecoFlagEE", false, true) and
582  edm::ParameterDescription<double>("chi2ThreshEB_", 36.0, true) and
584  edm::ParameterDescription<edm::ESInputTag>("timeOffsetTag", edm::ESInputTag(), true) and
585  edm::ParameterDescription<std::vector<double>>(
586  "EEtimeFitParameters",
587  {-2.390548, 3.553628, -17.62341, 67.67538, -133.213, 140.7432, -75.41106, 16.20277},
588  true) and
589  edm::ParameterDescription<double>("outOfTimeThresholdGain61mEE", 1000, true) and
590  edm::ParameterDescription<std::vector<double>>("EEchi2Parameters", {2.122, 0.022, 2.122, 0.022}, true) and
591  edm::ParameterDescription<double>("outOfTimeThresholdGain12mEE", 1000, true) and
592  edm::ParameterDescription<double>("outOfTimeThresholdGain12mEB", 5, true) and
593  edm::ParameterDescription<double>("EEtimeFitLimits_Upper", 1.4, true) and
594  edm::ParameterDescription<double>("EEtimeFitLimits_Lower", 0.2, true) and
595  edm::ParameterDescription<std::vector<double>>("EEamplitudeFitParameters", {1.89, 1.4}, true) and
596  edm::ParameterDescription<std::vector<double>>("EBamplitudeFitParameters", {1.138, 1.652}, true) and
597  edm::ParameterDescription<double>("amplitudeThresholdEB", 10, true) and
598  edm::ParameterDescription<double>("outOfTimeThresholdGain12pEE", 1000, true) and
599  edm::ParameterDescription<double>("outOfTimeThresholdGain12pEB", 5, true) and
600  edm::ParameterDescription<double>("EEtimeNconst", 31.8, true) and
601  edm::ParameterDescription<double>("outOfTimeThresholdGain61mEB", 5, true) and
602  edm::ParameterDescription<std::vector<double>>("EBchi2Parameters", {2.122, 0.022, 2.122, 0.022}, true) and
603  edm::ParameterDescription<double>("EEtimeConstantTerm", 1.0, true) and
604  edm::ParameterDescription<double>("chi2ThreshEE_", 95.0, true) and
605  edm::ParameterDescription<double>("EBtimeFitLimits_Upper", 1.4, true));
606 
607  return psd;
608 }
ParameterDescriptionNode * addNode(ParameterDescriptionNode const &node)

◆ isSaturated()

template<class C >
int EcalUncalibRecHitWorkerGlobal::isSaturated ( const C &  digi)
protected

Definition at line 211 of file EcalUncalibRecHitWorkerGlobal.cc.

References mps_fire::i, dqmiolumiharvest::j, and MAXSAMPLES.

211  {
212  //bool saturated_ = 0;
213  int cnt;
214  for (int j = 0; j < C::MAXSAMPLES - 5; ++j) {
215  cnt = 0;
216  for (int i = j; i < (j + 5) && i < C::MAXSAMPLES; ++i) {
217  if (dataFrame.sample(i).gainId() == 0)
218  ++cnt;
219  }
220  if (cnt == 5)
221  return j - 1; // the last unsaturated sample
222  }
223  return -1; // no saturation found
224 }
static constexpr int MAXSAMPLES

◆ run()

bool EcalUncalibRecHitWorkerGlobal::run ( const edm::Event evt,
const EcalDigiCollection::const_iterator digi,
EcalUncalibratedRecHitCollection result 
)
overridevirtual

Implements EcalUncalibRecHitWorkerRunOneDigiBase.

Definition at line 284 of file EcalUncalibRecHitWorkerGlobal.cc.

References CustomPhysics_cfi::amplitude, EcalUncalibratedRecHit::amplitude(), amplitudeThreshEB_, amplitudeThreshEE_, EcalUncalibRecHitRecChi2Algo< C >::chi2(), nano_mu_local_reco_cff::chi2, chi2ThreshEB_, chi2ThreshEE_, EcalUncalibRecHitRatioMethodAlgo< C >::computeAmplitude(), EcalUncalibRecHitRatioMethodAlgo< C >::computeTime(), EBamplitudeFitParameters_, EBchi2Parameters_, EBtimeConstantTerm_, EcalTimeBiasCorrections::EBTimeCorrAmplitudeBins, EcalTimeBiasCorrections::EBTimeCorrShiftBins, EBtimeFitLimits_, EBtimeFitParameters_, EBtimeNconst_, EcalEndcap, EEamplitudeFitParameters_, EEchi2Parameters_, EEtimeConstantTerm_, EcalTimeBiasCorrections::EETimeCorrAmplitudeBins, EcalTimeBiasCorrections::EETimeCorrShiftBins, EEtimeFitLimits_, EEtimeFitParameters_, EEtimeNconst_, EcalUncalibRecHitRatioMethodAlgo< C >::fixMGPAslew(), EcalMGPAGainRatio::gain12Over6(), EcalMGPAGainRatio::gain6Over1(), ecalLiteDTU::gainId(), gainRatios, gains_, EcalUncalibRecHitRatioMethodAlgo< C >::getCalculatedRecHit(), EcalTimeOffsetConstant::getEBValue(), EcalTimeOffsetConstant::getEEValue(), EcalTBWeights::getMap(), EcalWeightSet::getWeightsAfterGainSwitch(), EcalWeightSet::getWeightsBeforeGainSwitch(), grps_, ecalpyutils::hashedIndex(), EBDetId::hashedIndex(), EEDetId::hashedIndex(), EcalXtalGroupId::id(), EcalUncalibRecHitRatioMethodAlgo< C >::init(), ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, itime_, EcalUncalibratedRecHit::jitter(), EcalUncalibratedRecHit::kHasSwitchToGain1, EcalUncalibratedRecHit::kHasSwitchToGain6, EcalUncalibratedRecHit::kOutOfTime, EcalUncalibratedRecHit::kPoorReco, kPoorRecoFlagEB_, kPoorRecoFlagEE_, EcalUncalibratedRecHit::kSaturated, EcalUncalibRecHitRecWeightsAlgo< C >::makeRecHit(), EcalDataFrame::MAXSAMPLES, offtime_, outOfTimeThreshG12mEB_, outOfTimeThreshG12mEE_, outOfTimeThreshG12pEB_, outOfTimeThreshG12pEE_, outOfTimeThreshG61mEB_, outOfTimeThreshG61mEE_, outOfTimeThreshG61pEB_, outOfTimeThreshG61pEE_, EcalCondDBWriter_cfi::pedestal, pedRMSVec, peds_, pedVec, funct::pow(), edm::ESHandle< T >::product(), ratioMethod_barrel_, ratioMethod_endcap_, mps_fire::result, ecalGpuTask_cfi::sample, sampleMaskHand_, EcalUncalibratedRecHit::setChi2(), EcalUncalibratedRecHit::setFlagBit(), EcalUncalibratedRecHit::setJitter(), EcalUncalibratedRecHit::setJitterError(), mathSSE::sqrt(), testbeamEBShape, testbeamEEShape, timeCorrBias_, timeCorrection(), weights, weightsMethod_barrel_, weightsMethod_endcap_, and wgts_.

286  {
287  DetId detid(itdg->id());
288 
289  const EcalSampleMask* sampleMask_ = sampleMaskHand_.product();
290 
291  // intelligence for recHit computation
292  EcalUncalibratedRecHit uncalibRecHit;
293 
294  const EcalPedestals::Item* aped = nullptr;
295  const EcalMGPAGainRatio* aGain = nullptr;
296  const EcalXtalGroupId* gid = nullptr;
297  float offsetTime = 0;
298 
299  if (detid.subdetId() == EcalEndcap) {
300  unsigned int hashedIndex = EEDetId(detid).hashedIndex();
301  aped = &peds_->endcap(hashedIndex);
302  aGain = &gains_->endcap(hashedIndex);
303  gid = &grps_->endcap(hashedIndex);
304  offsetTime = offtime_->getEEValue();
305  } else {
306  unsigned int hashedIndex = EBDetId(detid).hashedIndex();
307  aped = &peds_->barrel(hashedIndex);
308  aGain = &gains_->barrel(hashedIndex);
309  gid = &grps_->barrel(hashedIndex);
310  offsetTime = offtime_->getEBValue();
311  }
312 
313  pedVec[0] = aped->mean_x12;
314  pedVec[1] = aped->mean_x6;
315  pedVec[2] = aped->mean_x1;
316  pedRMSVec[0] = aped->rms_x12;
317  pedRMSVec[1] = aped->rms_x6;
318  pedRMSVec[2] = aped->rms_x1;
319  gainRatios[0] = 1.;
320  gainRatios[1] = aGain->gain12Over6();
321  gainRatios[2] = aGain->gain6Over1() * aGain->gain12Over6();
322 
323  // compute the right bin of the pulse shape using time calibration constants
325  EcalTimeCalibConstant itimeconst = 0;
326  if (it != itime_->end()) {
327  itimeconst = (*it);
328  } else {
329  edm::LogError("EcalRecHitError") << "No time intercalib const found for xtal " << detid.rawId()
330  << "! something wrong with EcalTimeCalibConstants in your DB? ";
331  }
332 
333  // === amplitude computation ===
334  int leadingSample = -1;
335  if (detid.subdetId() == EcalEndcap) {
336  leadingSample = ((EcalDataFrame)(*itdg)).lastUnsaturatedSample();
337  } else {
338  leadingSample = ((EcalDataFrame)(*itdg)).lastUnsaturatedSample();
339  }
340 
341  if (leadingSample == 4) { // saturation on the expected max sample
342  uncalibRecHit = EcalUncalibratedRecHit((*itdg).id(), 4095 * 12, 0, 0, 0);
344  // do not propagate the default chi2 = -1 value to the calib rechit (mapped to 64), set it to 0 when saturation
345  uncalibRecHit.setChi2(0);
346  } else if (leadingSample >= 0) { // saturation on other samples: cannot extrapolate from the fourth one
347  double pedestal = 0.;
348  double gainratio = 1.;
349  int gainId = ((EcalDataFrame)(*itdg)).sample(5).gainId();
350 
351  if (gainId == 0 || gainId == 3) {
352  pedestal = aped->mean_x1;
353  gainratio = aGain->gain6Over1() * aGain->gain12Over6();
354  } else if (gainId == 1) {
355  pedestal = aped->mean_x12;
356  gainratio = 1.;
357  } else if (gainId == 2) {
358  pedestal = aped->mean_x6;
359  gainratio = aGain->gain12Over6();
360  }
361  double amplitude = ((double)(((EcalDataFrame)(*itdg)).sample(5).adc()) - pedestal) * gainratio;
362  uncalibRecHit = EcalUncalibratedRecHit((*itdg).id(), amplitude, 0, 0, 0);
364  // do not propagate the default chi2 = -1 value to the calib rechit (mapped to 64), set it to 0 when saturation
365  uncalibRecHit.setChi2(0);
366  } else {
367  // weights method
368  EcalTBWeights::EcalTDCId tdcid(1);
369  EcalTBWeights::EcalTBWeightMap const& wgtsMap = wgts_->getMap();
370  EcalTBWeights::EcalTBWeightMap::const_iterator wit;
371  wit = wgtsMap.find(std::make_pair(*gid, tdcid));
372  if (wit == wgtsMap.end()) {
373  edm::LogError("EcalUncalibRecHitError")
374  << "No weights found for EcalGroupId: " << gid->id() << " and EcalTDCId: " << tdcid
375  << "\n skipping digi with id: " << detid.rawId();
376 
377  return false;
378  }
379  const EcalWeightSet& wset = wit->second; // this is the EcalWeightSet
380 
383 
384  weights[0] = &mat1;
385  weights[1] = &mat2;
386 
387  // get uncalibrated recHit from weights
388  if (detid.subdetId() == EcalEndcap) {
390  } else {
392  }
393 
394  // === time computation ===
395  // ratio method
396  float const clockToNsConstant = 25.;
397  if (detid.subdetId() == EcalEndcap) {
398  ratioMethod_endcap_.init(*itdg, *sampleMask_, pedVec, pedRMSVec, gainRatios);
402  double theTimeCorrectionEE = timeCorrection(
404 
405  uncalibRecHit.setJitter(crh.timeMax - 5 + theTimeCorrectionEE);
406  uncalibRecHit.setJitterError(
407  std::sqrt(pow(crh.timeError, 2) + std::pow(EEtimeConstantTerm_, 2) / std::pow(clockToNsConstant, 2)));
408  // consider flagging as kOutOfTime only if above noise
409  if (uncalibRecHit.amplitude() > pedRMSVec[0] * amplitudeThreshEE_) {
410  float outOfTimeThreshP = outOfTimeThreshG12pEE_;
411  float outOfTimeThreshM = outOfTimeThreshG12mEE_;
412  // determine if gain has switched away from gainId==1 (x12 gain)
413  // and determine cuts (number of 'sigmas') to ose for kOutOfTime
414  // >3k ADC is necessasry condition for gain switch to occur
415  if (uncalibRecHit.amplitude() > 3000.) {
416  for (int iSample = 0; iSample < EEDataFrame::MAXSAMPLES; iSample++) {
417  int GainId = ((EcalDataFrame)(*itdg)).sample(iSample).gainId();
418  if (GainId != 1) {
419  outOfTimeThreshP = outOfTimeThreshG61pEE_;
420  outOfTimeThreshM = outOfTimeThreshG61mEE_;
421  break;
422  }
423  }
424  }
425  float correctedTime = (crh.timeMax - 5) * clockToNsConstant + itimeconst + offsetTime;
426  float cterm = EEtimeConstantTerm_;
427  float sigmaped = pedRMSVec[0]; // approx for lower gains
428  float nterm = EEtimeNconst_ * sigmaped / uncalibRecHit.amplitude();
429  float sigmat = std::sqrt(nterm * nterm + cterm * cterm);
430  if ((correctedTime > sigmat * outOfTimeThreshP) || (correctedTime < (-1. * sigmat * outOfTimeThreshM))) {
432  }
433  }
434 
435  } else {
436  ratioMethod_barrel_.init(*itdg, *sampleMask_, pedVec, pedRMSVec, gainRatios);
441 
442  double theTimeCorrectionEB = timeCorrection(
444 
445  uncalibRecHit.setJitter(crh.timeMax - 5 + theTimeCorrectionEB);
446 
447  uncalibRecHit.setJitterError(
448  std::sqrt(std::pow(crh.timeError, 2) + std::pow(EBtimeConstantTerm_, 2) / std::pow(clockToNsConstant, 2)));
449  // consider flagging as kOutOfTime only if above noise
450  if (uncalibRecHit.amplitude() > pedRMSVec[0] * amplitudeThreshEB_) {
451  float outOfTimeThreshP = outOfTimeThreshG12pEB_;
452  float outOfTimeThreshM = outOfTimeThreshG12mEB_;
453  // determine if gain has switched away from gainId==1 (x12 gain)
454  // and determine cuts (number of 'sigmas') to ose for kOutOfTime
455  // >3k ADC is necessasry condition for gain switch to occur
456  if (uncalibRecHit.amplitude() > 3000.) {
457  for (int iSample = 0; iSample < EBDataFrame::MAXSAMPLES; iSample++) {
458  int GainId = ((EcalDataFrame)(*itdg)).sample(iSample).gainId();
459  if (GainId != 1) {
460  outOfTimeThreshP = outOfTimeThreshG61pEB_;
461  outOfTimeThreshM = outOfTimeThreshG61mEB_;
462  break;
463  }
464  }
465  }
466  float correctedTime = (crh.timeMax - 5) * clockToNsConstant + itimeconst + offsetTime;
467  float cterm = EBtimeConstantTerm_;
468  float sigmaped = pedRMSVec[0]; // approx for lower gains
469  float nterm = EBtimeNconst_ * sigmaped / uncalibRecHit.amplitude();
470  float sigmat = std::sqrt(nterm * nterm + cterm * cterm);
471  if ((correctedTime > sigmat * outOfTimeThreshP) || (correctedTime < (-1. * sigmat * outOfTimeThreshM))) {
473  }
474  }
475  }
476 
477  // === chi2express ===
478  if (detid.subdetId() == EcalEndcap) {
479  double amplitude = uncalibRecHit.amplitude();
480  double amplitudeOutOfTime = 0.;
481  double jitter = uncalibRecHit.jitter();
482 
483  EcalUncalibRecHitRecChi2Algo<EEDataFrame> chi2expressEE_(*itdg,
484  amplitude,
485  (itimeconst + offsetTime),
486  amplitudeOutOfTime,
487  jitter,
488  pedVec,
489  pedRMSVec,
490  gainRatios,
493  double chi2 = chi2expressEE_.chi2();
494  uncalibRecHit.setChi2(chi2);
495 
496  if (kPoorRecoFlagEE_) {
497  if (chi2 > chi2ThreshEE_) {
498  // first check if all samples are ok, if not don't use chi2 to flag
499  bool samplesok = true;
500  for (int sample = 0; sample < EcalDataFrame::MAXSAMPLES; ++sample) {
501  if (!sampleMask_->useSampleEE(sample)) {
502  samplesok = false;
503  break;
504  }
505  }
506  if (samplesok)
508  }
509  }
510 
511  } else {
512  double amplitude = uncalibRecHit.amplitude();
513  double amplitudeOutOfTime = 0.;
514  double jitter = uncalibRecHit.jitter();
515 
516  EcalUncalibRecHitRecChi2Algo<EBDataFrame> chi2expressEB_(*itdg,
517  amplitude,
518  (itimeconst + offsetTime),
519  amplitudeOutOfTime,
520  jitter,
521  pedVec,
522  pedRMSVec,
523  gainRatios,
526  double chi2 = chi2expressEB_.chi2();
527  uncalibRecHit.setChi2(chi2);
528 
529  if (kPoorRecoFlagEB_) {
530  if (chi2 > chi2ThreshEB_) {
531  // first check if all samples are ok, if not don't use chi2 to flag
532  bool samplesok = true;
533  for (int sample = 0; sample < EcalDataFrame::MAXSAMPLES; ++sample) {
534  if (!sampleMask_->useSampleEB(sample)) {
535  samplesok = false;
536  break;
537  }
538  }
539  if (samplesok)
541  }
542  }
543  }
544  }
545 
546  // set flags if gain switch has occurred
547  if (((EcalDataFrame)(*itdg)).hasSwitchToGain6())
549  if (((EcalDataFrame)(*itdg)).hasSwitchToGain1())
551 
552  // put the recHit in the collection
553  if (detid.subdetId() == EcalEndcap) {
554  result.push_back(uncalibRecHit);
555  } else {
556  result.push_back(uncalibRecHit);
557  }
558 
559  return true;
560 }
std::pair< double, double > EEtimeFitLimits_
edm::ESHandle< EcalTimeOffsetConstant > offtime_
edm::ESHandle< EcalTimeBiasCorrections > timeCorrBias_
void computeAmplitude(std::vector< double > &amplitudeFitParameters)
edm::ESHandle< EcalWeightXtalGroups > grps_
std::vector< float > EBTimeCorrShiftBins
const EcalTBWeightMap & getMap() const
Definition: EcalTBWeights.h:28
double timeCorrection(float ampli, const std::vector< float > &amplitudeBins, const std::vector< float > &shiftBins)
void setJitter(float jitter)
std::map< std::pair< EcalXtalGroupId, EcalTDCId >, EcalWeightSet > EcalTBWeightMap
Definition: EcalTBWeights.h:18
void computeTime(std::vector< double > &timeFitParameters, std::pair< double, double > &timeFitLimits, std::vector< double > &amplitudeFitParameters)
EcalUncalibRecHitRecWeightsAlgo< EBDataFrame > weightsMethod_barrel_
math::Matrix< 3, 10 >::type EcalWeightMatrix
Definition: EcalWeightSet.h:19
Log< level::Error, false > LogError
void setJitterError(float jitterErr)
EcalUncalibRecHitRatioMethodAlgo< EEDataFrame > ratioMethod_endcap_
std::vector< float > EBTimeCorrAmplitudeBins
std::vector< float > EETimeCorrShiftBins
int hashedIndex(int ieta, int iphi)
Definition: EcalPyUtils.cc:36
T const * product() const
Definition: ESHandle.h:86
EcalUncalibRecHitRatioMethodAlgo< EBDataFrame > ratioMethod_barrel_
std::vector< float > EETimeCorrAmplitudeBins
T sqrt(T t)
Definition: SSEVec.h:19
virtual EcalUncalibratedRecHit makeRecHit(const C &dataFrame, const double *pedestals, const double *pedestalsRMS, const double *gainRatios, const EcalWeightSet::EcalWeightMatrix **weights, const EcalShapeBase &testbeamPulseShape)
Compute parameters.
unsigned int id() const
EcalWeightMatrix & getWeightsAfterGainSwitch()
Definition: EcalWeightSet.h:27
edm::ESHandle< EcalGainRatios > gains_
edm::ESHandle< EcalPedestals > peds_
float gain12Over6() const
Definition: DetId.h:17
edm::ESHandle< EcalTBWeights > wgts_
constexpr int gainId(sample_type sample)
get the gainId (2 bits)
std::pair< double, double > EBtimeFitLimits_
EcalWeightMatrix & getWeightsBeforeGainSwitch()
Definition: EcalWeightSet.h:26
std::vector< Item >::const_iterator const_iterator
float gain6Over1() const
const EcalWeightSet::EcalWeightMatrix * weights[2]
float EcalTimeCalibConstant
EcalUncalibRecHitRecWeightsAlgo< EEDataFrame > weightsMethod_endcap_
int hashedIndex() const
get a compact index for arrays
Definition: EBDetId.h:82
static constexpr int MAXSAMPLES
Definition: EcalDataFrame.h:48
edm::ESHandle< EcalSampleMask > sampleMaskHand_
void init(const C &dataFrame, const EcalSampleMask &sampleMask, const double *pedestals, const double *pedestalRMSes, const double *gainRatios)
int hashedIndex() const
Definition: EEDetId.h:183
edm::ESHandle< EcalTimeCalibConstants > itime_
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:29

◆ set()

void EcalUncalibRecHitWorkerGlobal::set ( const edm::EventSetup es)
overridevirtual

Implements EcalUncalibRecHitWorkerBaseClass.

Definition at line 184 of file EcalUncalibRecHitWorkerGlobal.cc.

References gains_, edm::EventSetup::getHandle(), grps_, itime_, offtime_, peds_, sampleMaskHand_, EcalShapeBase::setEventSetup(), testbeamEBShape, testbeamEEShape, timeCorrBias_, tokenGains_, tokenGrps_, tokenItime_, tokenOfftime_, tokenPeds_, tokenSampleMask_, tokenTimeCorrBias_, tokenWgts_, and wgts_.

184  {
185  // common setup
187  peds_ = es.getHandle(tokenPeds_);
188 
189  // for the weights method
190  grps_ = es.getHandle(tokenGrps_);
191  wgts_ = es.getHandle(tokenWgts_);
192 
193  // which of the samples need be used
195 
196  // for the ratio method
197 
200 
201  // for the time correction methods
203 
204  // for the DB Ecal Pulse Sim Shape
207 }
edm::ESHandle< EcalTimeOffsetConstant > offtime_
edm::ESGetToken< EcalTBWeights, EcalTBWeightsRcd > tokenWgts_
edm::ESHandle< EcalTimeBiasCorrections > timeCorrBias_
edm::ESGetToken< EcalTimeCalibConstants, EcalTimeCalibConstantsRcd > tokenItime_
edm::ESHandle< EcalWeightXtalGroups > grps_
edm::ESGetToken< EcalSampleMask, EcalSampleMaskRcd > tokenSampleMask_
edm::ESGetToken< EcalGainRatios, EcalGainRatiosRcd > tokenGains_
edm::ESGetToken< EcalTimeBiasCorrections, EcalTimeBiasCorrectionsRcd > tokenTimeCorrBias_
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
Definition: EventSetup.h:130
void setEventSetup(const edm::EventSetup &evtSetup, bool normalize=true)
edm::ESHandle< EcalGainRatios > gains_
edm::ESHandle< EcalPedestals > peds_
edm::ESHandle< EcalTBWeights > wgts_
edm::ESHandle< EcalSampleMask > sampleMaskHand_
edm::ESGetToken< EcalWeightXtalGroups, EcalWeightXtalGroupsRcd > tokenGrps_
edm::ESGetToken< EcalTimeOffsetConstant, EcalTimeOffsetConstantRcd > tokenOfftime_
edm::ESHandle< EcalTimeCalibConstants > itime_
edm::ESGetToken< EcalPedestals, EcalPedestalsRcd > tokenPeds_

◆ timeCorrection()

double EcalUncalibRecHitWorkerGlobal::timeCorrection ( float  ampli,
const std::vector< float > &  amplitudeBins,
const std::vector< float > &  shiftBins 
)
protected

Amplitude-dependent time corrections; EE and EB have separate corrections: EXtimeCorrAmplitudes (ADC) and EXtimeCorrShifts (ns) need to have the same number of elements Bins must be ordered in amplitude. First-last bins take care of under-overflows.

The algorithm is the same for EE and EB, only the correction vectors are different.

Returns
Jitter (in clock cycles) which will be added to UncalibRechit.setJitter(), 0 if no correction is applied.

Definition at line 235 of file EcalUncalibRecHitWorkerGlobal.cc.

References newFWLiteAna::bin, and createfilelist::int.

Referenced by run().

237  {
238  // computed initially in ns. Than turned in the BX's, as
239  // EcalUncalibratedRecHit need be.
240  double theCorrection = 0;
241 
242  // sanity check for arrays
243  if (amplitudeBins.empty()) {
244  edm::LogError("EcalRecHitError") << "timeCorrAmplitudeBins is empty, forcing no time bias corrections.";
245 
246  return 0;
247  }
248 
249  if (amplitudeBins.size() != shiftBins.size()) {
250  edm::LogError("EcalRecHitError") << "Size of timeCorrAmplitudeBins different from "
251  "timeCorrShiftBins. Forcing no time bias corrections. ";
252 
253  return 0;
254  }
255 
256  int myBin = -1;
257  for (int bin = 0; bin < (int)amplitudeBins.size(); bin++) {
258  if (ampli > amplitudeBins.at(bin)) {
259  myBin = bin;
260  } else {
261  break;
262  }
263  }
264 
265  if (myBin == -1) {
266  theCorrection = shiftBins.at(0);
267  } else if (myBin == ((int)(amplitudeBins.size() - 1))) {
268  theCorrection = shiftBins.at(myBin);
269  } else if (-1 < myBin && myBin < ((int)amplitudeBins.size() - 1)) {
270  // interpolate linearly between two assingned points
271  theCorrection = (shiftBins.at(myBin + 1) - shiftBins.at(myBin));
272  theCorrection *=
273  (((double)ampli) - amplitudeBins.at(myBin)) / (amplitudeBins.at(myBin + 1) - amplitudeBins.at(myBin));
274  theCorrection += shiftBins.at(myBin);
275  } else {
276  edm::LogError("EcalRecHitError") << "Assigning time correction impossible. Setting it to 0 ";
277  theCorrection = 0.;
278  }
279 
280  // convert ns into clocks
281  return theCorrection / 25.;
282 }
Log< level::Error, false > LogError

Member Data Documentation

◆ amplitudeThreshEB_

double EcalUncalibRecHitWorkerGlobal::amplitudeThreshEB_
protected

Definition at line 107 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by EcalUncalibRecHitWorkerGlobal(), and run().

◆ amplitudeThreshEE_

double EcalUncalibRecHitWorkerGlobal::amplitudeThreshEE_
protected

Definition at line 108 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by EcalUncalibRecHitWorkerGlobal(), and run().

◆ chi2mat

const EcalWeightSet::EcalChi2WeightMatrix* EcalUncalibRecHitWorkerGlobal::chi2mat[2]
protected

Definition at line 74 of file EcalUncalibRecHitWorkerGlobal.cc.

◆ chi2ThreshEB_

double EcalUncalibRecHitWorkerGlobal::chi2ThreshEB_
protected

Definition at line 124 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by EcalUncalibRecHitWorkerGlobal(), and run().

◆ chi2ThreshEE_

double EcalUncalibRecHitWorkerGlobal::chi2ThreshEE_
protected

Definition at line 125 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by EcalUncalibRecHitWorkerGlobal(), and run().

◆ EBamplitudeFitParameters_

std::vector<double> EcalUncalibRecHitWorkerGlobal::EBamplitudeFitParameters_
protected

Definition at line 87 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by EcalUncalibRecHitWorkerGlobal(), and run().

◆ EBchi2Parameters_

std::vector<double> EcalUncalibRecHitWorkerGlobal::EBchi2Parameters_
protected

Definition at line 126 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by EcalUncalibRecHitWorkerGlobal(), and run().

◆ ebPulseShape_

std::vector<double> EcalUncalibRecHitWorkerGlobal::ebPulseShape_
protected

Definition at line 118 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by EcalUncalibRecHitWorkerGlobal().

◆ ebSpikeThresh_

double EcalUncalibRecHitWorkerGlobal::ebSpikeThresh_
protected

Definition at line 109 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by EcalUncalibRecHitWorkerGlobal().

◆ EBtimeConstantTerm_

double EcalUncalibRecHitWorkerGlobal::EBtimeConstantTerm_
protected

Definition at line 95 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by EcalUncalibRecHitWorkerGlobal(), and run().

◆ EBtimeFitLimits_

std::pair<double, double> EcalUncalibRecHitWorkerGlobal::EBtimeFitLimits_
protected

Definition at line 89 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by EcalUncalibRecHitWorkerGlobal(), and run().

◆ EBtimeFitParameters_

std::vector<double> EcalUncalibRecHitWorkerGlobal::EBtimeFitParameters_
protected

Definition at line 85 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by EcalUncalibRecHitWorkerGlobal(), and run().

◆ EBtimeNconst_

double EcalUncalibRecHitWorkerGlobal::EBtimeNconst_
protected

Definition at line 96 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by EcalUncalibRecHitWorkerGlobal(), and run().

◆ EEamplitudeFitParameters_

std::vector<double> EcalUncalibRecHitWorkerGlobal::EEamplitudeFitParameters_
protected

Definition at line 88 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by EcalUncalibRecHitWorkerGlobal(), and run().

◆ EEchi2Parameters_

std::vector<double> EcalUncalibRecHitWorkerGlobal::EEchi2Parameters_
protected

Definition at line 127 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by EcalUncalibRecHitWorkerGlobal(), and run().

◆ eePulseShape_

std::vector<double> EcalUncalibRecHitWorkerGlobal::eePulseShape_
protected

Definition at line 119 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by EcalUncalibRecHitWorkerGlobal().

◆ EEtimeConstantTerm_

double EcalUncalibRecHitWorkerGlobal::EEtimeConstantTerm_
protected

Definition at line 97 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by EcalUncalibRecHitWorkerGlobal(), and run().

◆ EEtimeFitLimits_

std::pair<double, double> EcalUncalibRecHitWorkerGlobal::EEtimeFitLimits_
protected

Definition at line 90 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by EcalUncalibRecHitWorkerGlobal(), and run().

◆ EEtimeFitParameters_

std::vector<double> EcalUncalibRecHitWorkerGlobal::EEtimeFitParameters_
protected

Definition at line 86 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by EcalUncalibRecHitWorkerGlobal(), and run().

◆ EEtimeNconst_

double EcalUncalibRecHitWorkerGlobal::EEtimeNconst_
protected

Definition at line 98 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by EcalUncalibRecHitWorkerGlobal(), and run().

◆ gainRatios

double EcalUncalibRecHitWorkerGlobal::gainRatios[3]
protected

Definition at line 56 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by run().

◆ gains_

edm::ESHandle<EcalGainRatios> EcalUncalibRecHitWorkerGlobal::gains_
protected

Definition at line 61 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by run(), and set().

◆ grps_

edm::ESHandle<EcalWeightXtalGroups> EcalUncalibRecHitWorkerGlobal::grps_
protected

Definition at line 71 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by run(), and set().

◆ itime_

edm::ESHandle<EcalTimeCalibConstants> EcalUncalibRecHitWorkerGlobal::itime_
protected

Definition at line 116 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by run(), and set().

◆ kPoorRecoFlagEB_

bool EcalUncalibRecHitWorkerGlobal::kPoorRecoFlagEB_
protected

Definition at line 122 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by EcalUncalibRecHitWorkerGlobal(), and run().

◆ kPoorRecoFlagEE_

bool EcalUncalibRecHitWorkerGlobal::kPoorRecoFlagEE_
protected

Definition at line 123 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by EcalUncalibRecHitWorkerGlobal(), and run().

◆ offtime_

edm::ESHandle<EcalTimeOffsetConstant> EcalUncalibRecHitWorkerGlobal::offtime_
protected

Definition at line 117 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by run(), and set().

◆ outOfTimeThreshG12mEB_

double EcalUncalibRecHitWorkerGlobal::outOfTimeThreshG12mEB_
protected

Definition at line 100 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by EcalUncalibRecHitWorkerGlobal(), and run().

◆ outOfTimeThreshG12mEE_

double EcalUncalibRecHitWorkerGlobal::outOfTimeThreshG12mEE_
protected

Definition at line 104 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by EcalUncalibRecHitWorkerGlobal(), and run().

◆ outOfTimeThreshG12pEB_

double EcalUncalibRecHitWorkerGlobal::outOfTimeThreshG12pEB_
protected

Definition at line 99 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by EcalUncalibRecHitWorkerGlobal(), and run().

◆ outOfTimeThreshG12pEE_

double EcalUncalibRecHitWorkerGlobal::outOfTimeThreshG12pEE_
protected

Definition at line 103 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by EcalUncalibRecHitWorkerGlobal(), and run().

◆ outOfTimeThreshG61mEB_

double EcalUncalibRecHitWorkerGlobal::outOfTimeThreshG61mEB_
protected

Definition at line 102 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by EcalUncalibRecHitWorkerGlobal(), and run().

◆ outOfTimeThreshG61mEE_

double EcalUncalibRecHitWorkerGlobal::outOfTimeThreshG61mEE_
protected

Definition at line 106 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by EcalUncalibRecHitWorkerGlobal(), and run().

◆ outOfTimeThreshG61pEB_

double EcalUncalibRecHitWorkerGlobal::outOfTimeThreshG61pEB_
protected

Definition at line 101 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by EcalUncalibRecHitWorkerGlobal(), and run().

◆ outOfTimeThreshG61pEE_

double EcalUncalibRecHitWorkerGlobal::outOfTimeThreshG61pEE_
protected

Definition at line 105 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by EcalUncalibRecHitWorkerGlobal(), and run().

◆ pedRMSVec

double EcalUncalibRecHitWorkerGlobal::pedRMSVec[3]
protected

Definition at line 55 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by run().

◆ peds_

edm::ESHandle<EcalPedestals> EcalUncalibRecHitWorkerGlobal::peds_
protected

Definition at line 60 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by run(), and set().

◆ pedVec

double EcalUncalibRecHitWorkerGlobal::pedVec[3]
protected

Definition at line 54 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by run().

◆ ratioMethod_barrel_

EcalUncalibRecHitRatioMethodAlgo<EBDataFrame> EcalUncalibRecHitWorkerGlobal::ratioMethod_barrel_
protected

Definition at line 92 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by run().

◆ ratioMethod_endcap_

EcalUncalibRecHitRatioMethodAlgo<EEDataFrame> EcalUncalibRecHitWorkerGlobal::ratioMethod_endcap_
protected

Definition at line 93 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by run().

◆ sampleMaskHand_

edm::ESHandle<EcalSampleMask> EcalUncalibRecHitWorkerGlobal::sampleMaskHand_
protected

Definition at line 82 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by run(), and set().

◆ testbeamEBShape

EBShape EcalUncalibRecHitWorkerGlobal::testbeamEBShape
protected

Definition at line 78 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by run(), and set().

◆ testbeamEEShape

EEShape EcalUncalibRecHitWorkerGlobal::testbeamEEShape
protected

Definition at line 77 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by run(), and set().

◆ timeCorrBias_

edm::ESHandle<EcalTimeBiasCorrections> EcalUncalibRecHitWorkerGlobal::timeCorrBias_
protected

Definition at line 112 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by run(), and set().

◆ tokenGains_

edm::ESGetToken<EcalGainRatios, EcalGainRatiosRcd> EcalUncalibRecHitWorkerGlobal::tokenGains_
protected

Definition at line 59 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by set().

◆ tokenGrps_

edm::ESGetToken<EcalWeightXtalGroups, EcalWeightXtalGroupsRcd> EcalUncalibRecHitWorkerGlobal::tokenGrps_
protected

Definition at line 69 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by set().

◆ tokenItime_

edm::ESGetToken<EcalTimeCalibConstants, EcalTimeCalibConstantsRcd> EcalUncalibRecHitWorkerGlobal::tokenItime_
protected

Definition at line 114 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by set().

◆ tokenOfftime_

edm::ESGetToken<EcalTimeOffsetConstant, EcalTimeOffsetConstantRcd> EcalUncalibRecHitWorkerGlobal::tokenOfftime_
protected

Definition at line 115 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by set().

◆ tokenPeds_

edm::ESGetToken<EcalPedestals, EcalPedestalsRcd> EcalUncalibRecHitWorkerGlobal::tokenPeds_
protected

Definition at line 58 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by set().

◆ tokenSampleMask_

edm::ESGetToken<EcalSampleMask, EcalSampleMaskRcd> EcalUncalibRecHitWorkerGlobal::tokenSampleMask_
protected

Definition at line 81 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by set().

◆ tokenTimeCorrBias_

edm::ESGetToken<EcalTimeBiasCorrections, EcalTimeBiasCorrectionsRcd> EcalUncalibRecHitWorkerGlobal::tokenTimeCorrBias_
protected

Definition at line 111 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by set().

◆ tokenWgts_

edm::ESGetToken<EcalTBWeights, EcalTBWeightsRcd> EcalUncalibRecHitWorkerGlobal::tokenWgts_
protected

Definition at line 70 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by set().

◆ weights

const EcalWeightSet::EcalWeightMatrix* EcalUncalibRecHitWorkerGlobal::weights[2]
protected

Definition at line 73 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by run().

◆ weightsMethod_barrel_

EcalUncalibRecHitRecWeightsAlgo<EBDataFrame> EcalUncalibRecHitWorkerGlobal::weightsMethod_barrel_
protected

Definition at line 75 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by run().

◆ weightsMethod_endcap_

EcalUncalibRecHitRecWeightsAlgo<EEDataFrame> EcalUncalibRecHitWorkerGlobal::weightsMethod_endcap_
protected

Definition at line 76 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by run().

◆ wgts_

edm::ESHandle<EcalTBWeights> EcalUncalibRecHitWorkerGlobal::wgts_
protected

Definition at line 72 of file EcalUncalibRecHitWorkerGlobal.cc.

Referenced by run(), and set().