CMS 3D CMS Logo

ESRecHitWorker.cc
Go to the documentation of this file.
2 
9 #include <cmath>
10 #include <iomanip>
11 #include <iostream>
12 
14  recoAlgo_ = ps.getParameter<int>("ESRecoAlgo");
15  esgainToken_ = cc.esConsumes<ESGain, ESGainRcd>();
23 
24  if (recoAlgo_ == 0)
25  algoW_ = new ESRecHitSimAlgo();
26  else if (recoAlgo_ == 1)
27  algoF_ = new ESRecHitFitAlgo();
28  else
30 }
31 
33  if (recoAlgo_ == 0)
34  delete algoW_;
35  else if (recoAlgo_ == 1)
36  delete algoF_;
37  else
38  delete algoA_;
39 }
40 
43  const ESGain *gain = esgain_.product();
44 
46  const ESMIPToGeVConstant *mipToGeV = esMIPToGeV_.product();
47 
48  double ESGain = gain->getESGain();
49  double ESMIPToGeV = (ESGain == 1) ? mipToGeV->getESValueLow() : mipToGeV->getESValueHigh();
50 
52  const ESTimeSampleWeights *wgts = esWeights_.product();
53 
54  float w0 = wgts->getWeightForTS0();
55  float w1 = wgts->getWeightForTS1();
56  float w2 = wgts->getWeightForTS2();
57 
59  const ESPedestals *peds = esPedestals_.product();
60 
62  const ESIntercalibConstants *mips = esMIPs_.product();
63 
65  const ESAngleCorrectionFactors *ang = esAngleCorrFactors_.product();
66 
68  const ESChannelStatus *channelStatus = esChannelStatus_.product();
69 
71  const ESRecHitRatioCuts *ratioCuts = esRatioCuts_.product();
72 
73  if (recoAlgo_ == 0) {
75  algoW_->setMIPGeV(ESMIPToGeV);
76  algoW_->setW0(w0);
77  algoW_->setW1(w1);
78  algoW_->setW2(w2);
79  algoW_->setPedestals(peds);
81  algoW_->setChannelStatus(channelStatus);
82  algoW_->setRatioCuts(ratioCuts);
84  } else if (recoAlgo_ == 1) {
86  algoF_->setMIPGeV(ESMIPToGeV);
87  algoF_->setPedestals(peds);
89  algoF_->setChannelStatus(channelStatus);
90  algoF_->setRatioCuts(ratioCuts);
92  } else {
94  algoA_->setMIPGeV(ESMIPToGeV);
95  algoA_->setPedestals(peds);
97  algoA_->setChannelStatus(channelStatus);
98  algoA_->setRatioCuts(ratioCuts);
100  }
101 }
102 
104  if (recoAlgo_ == 0)
105  result.push_back(algoW_->reconstruct(*itdg));
106  else if (recoAlgo_ == 1)
107  result.push_back(algoF_->reconstruct(*itdg));
108  else
109  result.push_back(algoA_->reconstruct(*itdg));
110  return true;
111 }
112 
ESRecHitAnalyticAlgo::setChannelStatus
void setChannelStatus(const ESChannelStatus *status)
Definition: ESRecHitAnalyticAlgo.h:21
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
ESPedestalsRcd
Definition: ESPedestalsRcd.h:5
ESGain
Definition: ESGain.h:7
Handle.h
ESRecHitWorker::esMIPsToken_
edm::ESGetToken< ESIntercalibConstants, ESIntercalibConstantsRcd > esMIPsToken_
Definition: ESRecHitWorker.h:63
w2
common ppss p3p6s2 common epss epspn46 common const1 w2
Definition: inclppp.h:1
MessageLogger.h
ESRecHitAnalyticAlgo::reconstruct
EcalRecHit reconstruct(const ESDataFrame &digi) const
Definition: ESRecHitAnalyticAlgo.cc:79
ESRecHitSimAlgo::setW1
void setW1(float value)
Definition: ESRecHitSimAlgo.h:22
ESRecHitSimAlgo::setW0
void setW0(float value)
Definition: ESRecHitSimAlgo.h:21
ESRecHitWorker::esMIPs_
edm::ESHandle< ESIntercalibConstants > esMIPs_
Definition: ESRecHitWorker.h:55
ESRecHitFitAlgo::setIntercalibConstants
void setIntercalibConstants(const ESIntercalibConstants *mips)
Definition: ESRecHitFitAlgo.h:22
ESRecHitWorkerBaseClass
Definition: ESRecHitWorkerBaseClass.h:12
ESRecHitSimAlgo::setESGain
void setESGain(float value)
Definition: ESRecHitSimAlgo.h:14
ESGainRcd
Definition: ESGainRcd.h:5
edm::DataFrameContainer::const_iterator
boost::transform_iterator< IterHelp, boost::counting_iterator< int > > const_iterator
Definition: DataFrameContainer.h:61
ESRecHitWorker::algoF_
ESRecHitFitAlgo * algoF_
Definition: ESRecHitWorker.h:48
ESChannelStatusRcd
Definition: ESChannelStatusRcd.h:5
ESRecHitFitAlgo::setChannelStatus
void setChannelStatus(const ESChannelStatus *status)
Definition: ESRecHitFitAlgo.h:23
ESMIPToGeVConstantRcd
Definition: ESMIPToGeVConstantRcd.h:5
ESTimeSampleWeights::getWeightForTS2
float getWeightForTS2() const
Definition: ESTimeSampleWeights.h:18
edm::SortedCollection< EcalRecHit >
ESRecHitWorker::esAngleCorrFactorsToken_
edm::ESGetToken< ESAngleCorrectionFactors, ESAngleCorrectionFactorsRcd > esAngleCorrFactorsToken_
Definition: ESRecHitWorker.h:66
ESRecHitFitAlgo::setPedestals
void setPedestals(const ESPedestals *peds)
Definition: ESRecHitFitAlgo.h:21
ESChannelStatus
ESChannelStatusMap ESChannelStatus
Definition: ESChannelStatus.h:7
ESMIPToGeVConstant::getESValueHigh
float getESValueHigh() const
Definition: ESMIPToGeVConstant.h:15
ESRecHitWorker::esMIPToGeV_
edm::ESHandle< ESMIPToGeVConstant > esMIPToGeV_
Definition: ESRecHitWorker.h:52
EcalRecHitCollections.h
ESRecHitRatioCutsRcd
Definition: ESRecHitRatioCutsRcd.h:5
ESRecHitWorker
Definition: ESRecHitWorker.h:37
ESRecHitSimAlgo::setChannelStatus
void setChannelStatus(const ESChannelStatus *status)
Definition: ESRecHitSimAlgo.h:18
MakerMacros.h
ESRecHitWorker.h
ESRecHitWorker::esPedestals_
edm::ESHandle< ESPedestals > esPedestals_
Definition: ESRecHitWorker.h:54
ESRecHitWorker::algoW_
ESRecHitSimAlgo * algoW_
Definition: ESRecHitWorker.h:47
EcalDigiCollections.h
ESRecHitWorker::algoA_
ESRecHitAnalyticAlgo * algoA_
Definition: ESRecHitWorker.h:49
ESRecHitSimAlgo::setMIPGeV
void setMIPGeV(float value)
Definition: ESRecHitSimAlgo.h:15
ESRecHitWorker::esAngleCorrFactors_
edm::ESHandle< ESAngleCorrectionFactors > esAngleCorrFactors_
Definition: ESRecHitWorker.h:58
ESRecHitWorker::esWeights_
edm::ESHandle< ESTimeSampleWeights > esWeights_
Definition: ESRecHitWorker.h:53
ESRecHitSimAlgo::setAngleCorrectionFactors
void setAngleCorrectionFactors(const ESAngleCorrectionFactors *ang)
Definition: ESRecHitSimAlgo.h:20
ESRecHitRatioCuts
Definition: ESRecHitRatioCuts.h:7
ESIntercalibConstantsRcd
Definition: ESIntercalibConstantsRcd.h:5
EcalUncalibratedRecHit.h
DEFINE_EDM_PLUGIN
#define DEFINE_EDM_PLUGIN(factory, type, name)
Definition: PluginFactory.h:124
ESRecHitWorker::esRatioCuts_
edm::ESHandle< ESRecHitRatioCuts > esRatioCuts_
Definition: ESRecHitWorker.h:57
ESRecHitSimAlgo::setRatioCuts
void setRatioCuts(const ESRecHitRatioCuts *ratioCuts)
Definition: ESRecHitSimAlgo.h:19
edm::ParameterSet
Definition: ParameterSet.h:47
ESRecHitAnalyticAlgo::setAngleCorrectionFactors
void setAngleCorrectionFactors(const ESAngleCorrectionFactors *ang)
Definition: ESRecHitAnalyticAlgo.h:23
ESRecHitAnalyticAlgo::setPedestals
void setPedestals(const ESPedestals *peds)
Definition: ESRecHitAnalyticAlgo.h:19
ESRecHitWorker::esChannelStatus_
edm::ESHandle< ESChannelStatus > esChannelStatus_
Definition: ESRecHitWorker.h:56
edmplugin::PluginFactory
Definition: PluginFactory.h:34
ESRecHitWorker::esMIPToGeVToken_
edm::ESGetToken< ESMIPToGeVConstant, ESMIPToGeVConstantRcd > esMIPToGeVToken_
Definition: ESRecHitWorker.h:60
ESTimeSampleWeights
Definition: ESTimeSampleWeights.h:7
ESRecHitFitAlgo
Definition: ESRecHitFitAlgo.h:14
ESRecHitSimAlgo
Definition: ESRecHitSimAlgo.h:12
ESRecHitWorker::set
void set(const edm::EventSetup &es) override
Definition: ESRecHitWorker.cc:41
ESRecHitAnalyticAlgo::setMIPGeV
void setMIPGeV(const double &value)
Definition: ESRecHitAnalyticAlgo.h:18
ESRecHitFitAlgo::reconstruct
EcalRecHit reconstruct(const ESDataFrame &digi) const
Definition: ESRecHitFitAlgo.cc:87
ESRecHitWorker::ESRecHitWorker
ESRecHitWorker(const edm::ParameterSet &ps, edm::ConsumesCollector cc)
Definition: ESRecHitWorker.cc:13
ESRecHitWorker::run
bool run(const ESDigiCollection::const_iterator &digi, ESRecHitCollection &result) override
Definition: ESRecHitWorker.cc:103
ESRecHitFitAlgo::setMIPGeV
void setMIPGeV(const double &value)
Definition: ESRecHitFitAlgo.h:20
ESTimeSampleWeights::getWeightForTS1
float getWeightForTS1() const
Definition: ESTimeSampleWeights.h:16
edm::EventSetup::getHandle
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
Definition: EventSetup.h:155
ESRecHitWorker::esPedestalsToken_
edm::ESGetToken< ESPedestals, ESPedestalsRcd > esPedestalsToken_
Definition: ESRecHitWorker.h:62
ESRecHitFitAlgo::setAngleCorrectionFactors
void setAngleCorrectionFactors(const ESAngleCorrectionFactors *ang)
Definition: ESRecHitFitAlgo.h:25
ESRecHitSimAlgo::setIntercalibConstants
void setIntercalibConstants(const ESIntercalibConstants *mips)
Definition: ESRecHitSimAlgo.h:17
ESMIPToGeVConstant
Definition: ESMIPToGeVConstant.h:7
edm::EventSetup
Definition: EventSetup.h:58
ESRecHitFitAlgo::setRatioCuts
void setRatioCuts(const ESRecHitRatioCuts *ratioCuts)
Definition: ESRecHitFitAlgo.h:24
ESRecHitWorker::esChannelStatusToken_
edm::ESGetToken< ESChannelStatus, ESChannelStatusRcd > esChannelStatusToken_
Definition: ESRecHitWorker.h:64
cc
ESCondObjectContainer< ESPedestal >
ESRecHitSimAlgo::setW2
void setW2(float value)
Definition: ESRecHitSimAlgo.h:23
PedestalClient_cfi.gain
gain
Definition: PedestalClient_cfi.py:37
ESRecHitAnalyticAlgo::setRatioCuts
void setRatioCuts(const ESRecHitRatioCuts *ratioCuts)
Definition: ESRecHitAnalyticAlgo.h:22
ESTimeSampleWeights::getWeightForTS0
float getWeightForTS0() const
Definition: ESTimeSampleWeights.h:14
ESRecHitWorker::esgain_
edm::ESHandle< ESGain > esgain_
Definition: ESRecHitWorker.h:51
ESMIPToGeVConstant::getESValueLow
float getESValueLow() const
Definition: ESMIPToGeVConstant.h:13
ESAngleCorrectionFactors
ESAngleCorrectionFactorMap ESAngleCorrectionFactors
Definition: ESAngleCorrectionFactors.h:7
ESRecHitWorker::esRatioCutsToken_
edm::ESGetToken< ESRecHitRatioCuts, ESRecHitRatioCutsRcd > esRatioCutsToken_
Definition: ESRecHitWorker.h:65
ESTimeSampleWeightsRcd
Definition: ESTimeSampleWeightsRcd.h:5
ESPedestals
ESPedestalsMap ESPedestals
Definition: ESPedestals.h:29
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
ESRecHitWorker::recoAlgo_
int recoAlgo_
Definition: ESRecHitWorker.h:46
mps_fire.result
result
Definition: mps_fire.py:311
ESRecHitWorker::esgainToken_
edm::ESGetToken< ESGain, ESGainRcd > esgainToken_
Definition: ESRecHitWorker.h:59
ESRecHitSimAlgo::reconstruct
EcalRecHit reconstruct(const ESDataFrame &digi) const
Definition: ESRecHitSimAlgo.cc:82
ParameterSet.h
ESAngleCorrectionFactorsRcd
Definition: ESAngleCorrectionFactorsRcd.h:5
ESIntercalibConstants
ESIntercalibConstantMap ESIntercalibConstants
Definition: ESIntercalibConstants.h:7
ESRecHitWorker::esWeightsToken_
edm::ESGetToken< ESTimeSampleWeights, ESTimeSampleWeightsRcd > esWeightsToken_
Definition: ESRecHitWorker.h:61
ESRecHitSimAlgo::setPedestals
void setPedestals(const ESPedestals *peds)
Definition: ESRecHitSimAlgo.h:16
ESRecHitAnalyticAlgo
Definition: ESRecHitAnalyticAlgo.h:12
ESRecHitAnalyticAlgo::setIntercalibConstants
void setIntercalibConstants(const ESIntercalibConstants *mips)
Definition: ESRecHitAnalyticAlgo.h:20
edm::ConsumesCollector
Definition: ConsumesCollector.h:45
ESRecHitWorkerFactory.h
ESRecHitFitAlgo::setESGain
void setESGain(const double &value)
Definition: ESRecHitFitAlgo.h:19
ESRecHitAnalyticAlgo::setESGain
void setESGain(const double &value)
Definition: ESRecHitAnalyticAlgo.h:17
ESRecHitWorker::~ESRecHitWorker
~ESRecHitWorker() override
Definition: ESRecHitWorker.cc:32