CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Private Attributes
EcalRecHitProducer Class Reference

#include <EcalRecHitProducer.h>

Inheritance diagram for EcalRecHitProducer:
edm::stream::EDProducer<>

Public Member Functions

 EcalRecHitProducer (const edm::ParameterSet &ps)
 
void produce (edm::Event &evt, const edm::EventSetup &es) override
 
 ~EcalRecHitProducer () override
 
- Public Member Functions inherited from edm::stream::EDProducer<>
 EDProducer ()=default
 
 EDProducer (const EDProducer &)=delete
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 

Private Attributes

std::unique_ptr< EcalCleaningAlgocleaningAlgo_
 
const bool doEB_
 
const bool doEE_
 
edm::EDGetTokenT< std::set
< EBDetId > > 
ebDetIdToBeRecoveredToken_
 
edm::EDGetTokenT< std::set
< EcalTrigTowerDetId > > 
ebFEToBeRecoveredToken_
 
const edm::EDPutTokenT
< EBRecHitCollection
ebRecHitToken_
 
edm::EDGetTokenT
< EBUncalibratedRecHitCollection
ebUncalibRecHitToken_
 
edm::ESGetToken
< EcalChannelStatus,
EcalChannelStatusRcd
ecalChannelStatusToken_
 
edm::EDGetTokenT< std::set
< EEDetId > > 
eeDetIdToBeRecoveredToken_
 
edm::EDGetTokenT< std::set
< EcalScDetId > > 
eeFEToBeRecoveredToken_
 
const edm::EDPutTokenT
< EERecHitCollection
eeRecHitToken_
 
edm::EDGetTokenT
< EEUncalibratedRecHitCollection
eeUncalibRecHitToken_
 
const bool killDeadChannels_
 
const bool recoverEBFE_
 
const bool recoverEBIsolatedChannels_
 
const bool recoverEBVFE_
 
const bool recoverEEFE_
 
const bool recoverEEIsolatedChannels_
 
const bool recoverEEVFE_
 
std::unique_ptr
< EcalRecHitWorkerBaseClass
worker_
 
std::unique_ptr
< EcalRecHitWorkerBaseClass
workerRecover_
 

Additional Inherited Members

- Public Types inherited from edm::stream::EDProducer<>
using CacheTypes = CacheContexts< T...>
 
using GlobalCache = typename CacheTypes::GlobalCache
 
using HasAbility = AbilityChecker< T...>
 
using InputProcessBlockCache = typename CacheTypes::InputProcessBlockCache
 
using LuminosityBlockCache = typename CacheTypes::LuminosityBlockCache
 
using LuminosityBlockContext = LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache >
 
using LuminosityBlockSummaryCache = typename CacheTypes::LuminosityBlockSummaryCache
 
using RunCache = typename CacheTypes::RunCache
 
using RunContext = RunContextT< RunCache, GlobalCache >
 
using RunSummaryCache = typename CacheTypes::RunSummaryCache
 

Detailed Description

produce ECAL rechits from uncalibrated rechits

Author
Shahram Rahatlou, University of Rome & INFN, March 2006

Definition at line 27 of file EcalRecHitProducer.h.

Constructor & Destructor Documentation

EcalRecHitProducer::EcalRecHitProducer ( const edm::ParameterSet ps)
explicit

Definition at line 24 of file EcalRecHitProducer.cc.

References c, cleaningAlgo_, doEB_, doEE_, ebDetIdToBeRecoveredToken_, ebFEToBeRecoveredToken_, ebUncalibRecHitToken_, ecalChannelStatusToken_, eeDetIdToBeRecoveredToken_, eeFEToBeRecoveredToken_, eeUncalibRecHitToken_, get, edm::ParameterSet::getParameter(), killDeadChannels_, recoverEBFE_, recoverEBIsolatedChannels_, recoverEEFE_, recoverEEIsolatedChannels_, AlCaHLTBitMon_QueryRunRegistry::string, worker_, and workerRecover_.

25  : doEB_(!ps.getParameter<edm::InputTag>("EBuncalibRecHitCollection").label().empty()),
26  doEE_(!ps.getParameter<edm::InputTag>("EEuncalibRecHitCollection").label().empty()),
27  recoverEBIsolatedChannels_(ps.getParameter<bool>("recoverEBIsolatedChannels")),
28  recoverEEIsolatedChannels_(ps.getParameter<bool>("recoverEEIsolatedChannels")),
29  recoverEBVFE_(ps.getParameter<bool>("recoverEBVFE")),
30  recoverEEVFE_(ps.getParameter<bool>("recoverEEVFE")),
31  recoverEBFE_(ps.getParameter<bool>("recoverEBFE")),
32  recoverEEFE_(ps.getParameter<bool>("recoverEEFE")),
33  killDeadChannels_(ps.getParameter<bool>("killDeadChannels")),
34  ebRecHitToken_(produces<EBRecHitCollection>(ps.getParameter<std::string>("EBrechitCollection"))),
35  eeRecHitToken_(produces<EERecHitCollection>(ps.getParameter<std::string>("EErechitCollection"))) {
36  if (doEB_) {
38  consumes<EBUncalibratedRecHitCollection>(ps.getParameter<edm::InputTag>("EBuncalibRecHitCollection"));
39 
41  ebDetIdToBeRecoveredToken_ = consumes<std::set<EBDetId>>(ps.getParameter<edm::InputTag>("ebDetIdToBeRecovered"));
42  }
43 
46  consumes<std::set<EcalTrigTowerDetId>>(ps.getParameter<edm::InputTag>("ebFEToBeRecovered"));
47  }
48  }
49 
50  if (doEE_) {
52  consumes<EEUncalibratedRecHitCollection>(ps.getParameter<edm::InputTag>("EEuncalibRecHitCollection"));
53 
55  eeDetIdToBeRecoveredToken_ = consumes<std::set<EEDetId>>(ps.getParameter<edm::InputTag>("eeDetIdToBeRecovered"));
56  }
57 
59  eeFEToBeRecoveredToken_ = consumes<std::set<EcalScDetId>>(ps.getParameter<edm::InputTag>("eeFEToBeRecovered"));
60  }
61  }
62 
64  ecalChannelStatusToken_ = esConsumes<EcalChannelStatus, EcalChannelStatusRcd>();
65  }
66 
67  std::string componentType = ps.getParameter<std::string>("algo");
68  edm::ConsumesCollector c{consumesCollector()};
69  worker_ = EcalRecHitWorkerFactory::get()->create(componentType, ps, c);
70 
71  // to recover problematic channels
72  componentType = ps.getParameter<std::string>("algoRecover");
73  workerRecover_ = EcalRecHitWorkerFactory::get()->create(componentType, ps, c);
74 
75  edm::ParameterSet cleaningPs = ps.getParameter<edm::ParameterSet>("cleaningConfig");
76  cleaningAlgo_ = std::make_unique<EcalCleaningAlgo>(cleaningPs);
77 }
const edm::EventSetup & c
const bool killDeadChannels_
std::unique_ptr< EcalCleaningAlgo > cleaningAlgo_
const edm::EDPutTokenT< EBRecHitCollection > ebRecHitToken_
edm::ESGetToken< EcalChannelStatus, EcalChannelStatusRcd > ecalChannelStatusToken_
const bool recoverEBIsolatedChannels_
edm::EDGetTokenT< EEUncalibratedRecHitCollection > eeUncalibRecHitToken_
const edm::EDPutTokenT< EERecHitCollection > eeRecHitToken_
const bool recoverEEIsolatedChannels_
edm::EDGetTokenT< EBUncalibratedRecHitCollection > ebUncalibRecHitToken_
edm::EDGetTokenT< std::set< EBDetId > > ebDetIdToBeRecoveredToken_
std::unique_ptr< EcalRecHitWorkerBaseClass > workerRecover_
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
edm::EDGetTokenT< std::set< EcalScDetId > > eeFEToBeRecoveredToken_
std::string const & label() const
Definition: InputTag.h:36
std::unique_ptr< EcalRecHitWorkerBaseClass > worker_
#define get
edm::EDGetTokenT< std::set< EEDetId > > eeDetIdToBeRecoveredToken_
edm::EDGetTokenT< std::set< EcalTrigTowerDetId > > ebFEToBeRecoveredToken_
EcalRecHitProducer::~EcalRecHitProducer ( )
overridedefault

Member Function Documentation

void EcalRecHitProducer::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 230 of file EcalRecHitProducer.cc.

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), submitPVResolutionJobs::desc, HLT_FULL_cff::InputTag, edm::ParameterSetDescription::reserve(), and AlCaHLTBitMon_QueryRunRegistry::string.

230  {
232  desc.add<bool>("recoverEEVFE", false);
233  desc.add<std::string>("EErechitCollection", "EcalRecHitsEE");
234  desc.add<bool>("recoverEBIsolatedChannels", false);
235  desc.add<bool>("recoverEBVFE", false);
236  desc.add<bool>("laserCorrection", true);
237  desc.add<double>("EBLaserMIN", 0.5);
238  desc.add<bool>("killDeadChannels", true);
239  {
240  std::vector<int> temp1;
241  temp1.reserve(3);
242  temp1.push_back(14);
243  temp1.push_back(78);
244  temp1.push_back(142);
245  desc.add<std::vector<int>>("dbStatusToBeExcludedEB", temp1);
246  }
247  desc.add<edm::InputTag>("EEuncalibRecHitCollection",
248  edm::InputTag("ecalMultiFitUncalibRecHit", "EcalUncalibRecHitsEE"));
249  {
250  std::vector<int> temp1;
251  temp1.reserve(3);
252  temp1.push_back(14);
253  temp1.push_back(78);
254  temp1.push_back(142);
255  desc.add<std::vector<int>>("dbStatusToBeExcludedEE", temp1);
256  }
257  desc.add<double>("EELaserMIN", 0.5);
258  desc.add<edm::InputTag>("ebFEToBeRecovered", edm::InputTag("ecalDetIdToBeRecovered", "ebFE"));
259  {
261  psd0.add<double>("e6e2thresh", 0.04);
262  psd0.add<double>("tightenCrack_e6e2_double", 3);
263  psd0.add<double>("e4e1Threshold_endcap", 0.3);
264  psd0.add<double>("tightenCrack_e4e1_single", 3);
265  psd0.add<double>("tightenCrack_e1_double", 2);
266  psd0.add<double>("cThreshold_barrel", 4);
267  psd0.add<double>("e4e1Threshold_barrel", 0.08);
268  psd0.add<double>("tightenCrack_e1_single", 2);
269  psd0.add<double>("e4e1_b_barrel", -0.024);
270  psd0.add<double>("e4e1_a_barrel", 0.04);
271  psd0.add<double>("ignoreOutOfTimeThresh", 1000000000.0);
272  psd0.add<double>("cThreshold_endcap", 15);
273  psd0.add<double>("e4e1_b_endcap", -0.0125);
274  psd0.add<double>("e4e1_a_endcap", 0.02);
275  psd0.add<double>("cThreshold_double", 10);
276  desc.add<edm::ParameterSetDescription>("cleaningConfig", psd0);
277  }
278  desc.add<double>("logWarningEtThreshold_EE_FE", 50);
279  desc.add<edm::InputTag>("eeDetIdToBeRecovered", edm::InputTag("ecalDetIdToBeRecovered", "eeDetId"));
280  desc.add<bool>("recoverEBFE", true);
281  desc.add<edm::InputTag>("eeFEToBeRecovered", edm::InputTag("ecalDetIdToBeRecovered", "eeFE"));
282  desc.add<edm::InputTag>("ebDetIdToBeRecovered", edm::InputTag("ecalDetIdToBeRecovered", "ebDetId"));
283  desc.add<double>("singleChannelRecoveryThreshold", 8);
284  desc.add<double>("sum8ChannelRecoveryThreshold", 0.);
285  desc.add<edm::FileInPath>("bdtWeightFileNoCracks",
286  edm::FileInPath("RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/BDTWeights/"
287  "bdtgAllRH_8GT700MeV_noCracks_ZskimData2017_v1.xml"));
288  desc.add<edm::FileInPath>("bdtWeightFileCracks",
289  edm::FileInPath("RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/BDTWeights/"
290  "bdtgAllRH_8GT700MeV_onlyCracks_ZskimData2017_v1.xml"));
291  {
292  std::vector<std::string> temp1;
293  temp1.reserve(9);
294  temp1.push_back("kNoisy");
295  temp1.push_back("kNNoisy");
296  temp1.push_back("kFixedG6");
297  temp1.push_back("kFixedG1");
298  temp1.push_back("kFixedG0");
299  temp1.push_back("kNonRespondingIsolated");
300  temp1.push_back("kDeadVFE");
301  temp1.push_back("kDeadFE");
302  temp1.push_back("kNoDataNoTP");
303  desc.add<std::vector<std::string>>("ChannelStatusToBeExcluded", temp1);
304  }
305  desc.add<std::string>("EBrechitCollection", "EcalRecHitsEB");
306  desc.add<edm::InputTag>("triggerPrimitiveDigiCollection", edm::InputTag("ecalDigis", "EcalTriggerPrimitives"));
307  desc.add<bool>("recoverEEFE", true);
308  desc.add<std::string>("singleChannelRecoveryMethod", "NeuralNetworks");
309  desc.add<double>("EBLaserMAX", 3.0);
310  {
312  {
313  std::vector<std::string> temp2;
314  temp2.reserve(4);
315  temp2.push_back("kOk");
316  temp2.push_back("kDAC");
317  temp2.push_back("kNoLaser");
318  temp2.push_back("kNoisy");
319  psd0.add<std::vector<std::string>>("kGood", temp2);
320  }
321  {
322  std::vector<std::string> temp2;
323  temp2.reserve(3);
324  temp2.push_back("kFixedG0");
325  temp2.push_back("kNonRespondingIsolated");
326  temp2.push_back("kDeadVFE");
327  psd0.add<std::vector<std::string>>("kNeighboursRecovered", temp2);
328  }
329  {
330  std::vector<std::string> temp2;
331  temp2.reserve(1);
332  temp2.push_back("kNoDataNoTP");
333  psd0.add<std::vector<std::string>>("kDead", temp2);
334  }
335  {
336  std::vector<std::string> temp2;
337  temp2.reserve(3);
338  temp2.push_back("kNNoisy");
339  temp2.push_back("kFixedG6");
340  temp2.push_back("kFixedG1");
341  psd0.add<std::vector<std::string>>("kNoisy", temp2);
342  }
343  {
344  std::vector<std::string> temp2;
345  temp2.reserve(1);
346  temp2.push_back("kDeadFE");
347  psd0.add<std::vector<std::string>>("kTowerRecovered", temp2);
348  }
349  desc.add<edm::ParameterSetDescription>("flagsMapDBReco", psd0);
350  }
351  desc.add<edm::InputTag>("EBuncalibRecHitCollection",
352  edm::InputTag("ecalMultiFitUncalibRecHit", "EcalUncalibRecHitsEB"));
353  desc.add<std::string>("algoRecover", "EcalRecHitWorkerRecover");
354  desc.add<std::string>("algo", "EcalRecHitWorkerSimple");
355  desc.add<double>("EELaserMAX", 8.0);
356  desc.add<double>("logWarningEtThreshold_EB_FE", 50);
357  desc.add<bool>("recoverEEIsolatedChannels", false);
358  desc.add<bool>("skipTimeCalib", false);
359  descriptions.add("ecalRecHit", desc);
360 }
void reserve(SetDescriptionEntries::size_type n)
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
void EcalRecHitProducer::produce ( edm::Event evt,
const edm::EventSetup es 
)
override

Definition at line 81 of file EcalRecHitProducer.cc.

References cleaningAlgo_, doEB_, doEE_, EcalRecHitWorkerBaseClass::EB_FE, EcalRecHitWorkerBaseClass::EB_single, EcalRecHitWorkerBaseClass::EB_VFE, ebDetIdToBeRecoveredToken_, ebFEToBeRecoveredToken_, ebRecHitToken_, ebUncalibRecHitToken_, ecalChannelStatusToken_, EcalRecHitWorkerBaseClass::EE_FE, EcalRecHitWorkerBaseClass::EE_single, EcalRecHitWorkerBaseClass::EE_VFE, eeDetIdToBeRecoveredToken_, eeFEToBeRecoveredToken_, eeRecHitToken_, eeUncalibRecHitToken_, EBDetId::ETAPHIMODE, edm::Event::get(), edm::EventSetup::getData(), EcalChannelStatusCode::getStatusCode(), EcalChannelStatusCode::kDeadVFE, killDeadChannels_, LogDebug, eostools::move(), edm::Event::put(), recoverEBFE_, recoverEBIsolatedChannels_, recoverEBVFE_, recoverEEFE_, recoverEEIsolatedChannels_, recoverEEVFE_, ecaldqm::ttId(), EEDetId::validDetId(), worker_, and workerRecover_.

81  {
82  using namespace edm;
83 
84  // collection of rechits to put in the event
85  auto ebRecHits = std::make_unique<EBRecHitCollection>();
86  auto eeRecHits = std::make_unique<EERecHitCollection>();
87 
88  worker_->set(es);
89 
92  workerRecover_->set(es);
93  }
94 
95  // Make EB rechits
96  if (doEB_) {
97  const auto& ebUncalibRecHits = evt.get(ebUncalibRecHitToken_);
98  LogDebug("EcalRecHitDebug") << "total # EB uncalibrated rechits: " << ebUncalibRecHits.size();
99 
100  // loop over uncalibrated rechits to make calibrated ones
101  for (const auto& uncalibRecHit : ebUncalibRecHits) {
102  worker_->run(evt, uncalibRecHit, *ebRecHits);
103  }
104  }
105 
106  // Make EE rechits
107  if (doEE_) {
108  const auto& eeUncalibRecHits = evt.get(eeUncalibRecHitToken_);
109  LogDebug("EcalRecHitDebug") << "total # EE uncalibrated rechits: " << eeUncalibRecHits.size();
110 
111  // loop over uncalibrated rechits to make calibrated ones
112  for (const auto& uncalibRecHit : eeUncalibRecHits) {
113  worker_->run(evt, uncalibRecHit, *eeRecHits);
114  }
115  }
116 
117  // sort collections before attempting recovery, to avoid insertion of double recHits
118  ebRecHits->sort();
119  eeRecHits->sort();
120 
122  const auto& detIds = evt.get(ebDetIdToBeRecoveredToken_);
123  const auto& chStatus = es.getData(ecalChannelStatusToken_);
124 
125  for (const auto& detId : detIds) {
126  // get channel status map to treat dead VFE separately
127  EcalChannelStatusMap::const_iterator chit = chStatus.find(detId);
128  EcalChannelStatusCode chStatusCode;
129  if (chit != chStatus.end()) {
130  chStatusCode = *chit;
131  } else {
132  edm::LogError("EcalRecHitProducerError") << "No channel status found for xtal " << detId.rawId()
133  << "! something wrong with EcalChannelStatus in your DB? ";
134  }
136  if (chStatusCode.getStatusCode() == EcalChannelStatusCode::kDeadVFE) { // dead VFE (from DB info)
137  // uses the EcalUncalibratedRecHit to pass the DetId info
140  workerRecover_->run(evt, urh, *ebRecHits);
141  } else {
142  // uses the EcalUncalibratedRecHit to pass the DetId info
145  workerRecover_->run(evt, urh, *ebRecHits);
146  }
147  }
148  }
149 
151  const auto& detIds = evt.get(eeDetIdToBeRecoveredToken_);
152  const auto& chStatus = es.getData(ecalChannelStatusToken_);
153 
154  for (const auto& detId : detIds) {
155  // get channel status map to treat dead VFE separately
156  EcalChannelStatusMap::const_iterator chit = chStatus.find(detId);
157  EcalChannelStatusCode chStatusCode;
158  if (chit != chStatus.end()) {
159  chStatusCode = *chit;
160  } else {
161  edm::LogError("EcalRecHitProducerError") << "No channel status found for xtal " << detId.rawId()
162  << "! something wrong with EcalChannelStatus in your DB? ";
163  }
165  if (chStatusCode.getStatusCode() == EcalChannelStatusCode::kDeadVFE) { // dead VFE (from DB info)
166  // uses the EcalUncalibratedRecHit to pass the DetId info
169  workerRecover_->run(evt, urh, *eeRecHits);
170  } else {
171  // uses the EcalUncalibratedRecHit to pass the DetId info
174  workerRecover_->run(evt, urh, *eeRecHits);
175  }
176  }
177  }
178 
180  const auto& ttIds = evt.get(ebFEToBeRecoveredToken_);
181 
182  for (const auto& ttId : ttIds) {
183  // uses the EcalUncalibratedRecHit to pass the DetId info
184  int ieta = ((ttId.ietaAbs() - 1) * 5 + 1) * ttId.zside(); // from EcalTrigTowerConstituentsMap
185  int iphi = ((ttId.iphi() - 1) * 5 + 11) % 360; // from EcalTrigTowerConstituentsMap
186  if (iphi <= 0)
187  iphi += 360; // from EcalTrigTowerConstituentsMap
190  workerRecover_->run(evt, urh, *ebRecHits);
191  }
192  }
193 
195  const auto& scIds = evt.get(eeFEToBeRecoveredToken_);
196 
197  for (const auto& scId : scIds) {
198  // uses the EcalUncalibratedRecHit to pass the DetId info
199  if (EEDetId::validDetId((scId.ix() - 1) * 5 + 1, (scId.iy() - 1) * 5 + 1, scId.zside())) {
200  EcalUncalibratedRecHit urh(EEDetId((scId.ix() - 1) * 5 + 1, (scId.iy() - 1) * 5 + 1, scId.zside()),
201  0,
202  0,
203  0,
204  0,
206  workerRecover_->run(evt, urh, *eeRecHits);
207  }
208  }
209  }
210 
211  // without re-sorting, find (used below in cleaning) will lead
212  // to undefined results
213  ebRecHits->sort();
214  eeRecHits->sort();
215 
216  // apply spike cleaning
217  if (cleaningAlgo_) {
218  cleaningAlgo_->setFlags(*ebRecHits);
219  cleaningAlgo_->setFlags(*eeRecHits);
220  }
221 
222  // put the collection of reconstructed hits in the event
223  LogInfo("EcalRecHitInfo") << "total # EB calibrated rechits: " << ebRecHits->size();
224  LogInfo("EcalRecHitInfo") << "total # EE calibrated rechits: " << eeRecHits->size();
225 
226  evt.put(ebRecHitToken_, std::move(ebRecHits));
227  evt.put(eeRecHitToken_, std::move(eeRecHits));
228 }
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
Definition: Event.h:133
const bool killDeadChannels_
std::unique_ptr< EcalCleaningAlgo > cleaningAlgo_
Code getStatusCode() const
return decoded status
Log< level::Error, false > LogError
unsigned ttId(DetId const &, EcalElectronicsMapping const *)
bool getData(T &iHolder) const
Definition: EventSetup.h:122
const edm::EDPutTokenT< EBRecHitCollection > ebRecHitToken_
def move
Definition: eostools.py:511
edm::ESGetToken< EcalChannelStatus, EcalChannelStatusRcd > ecalChannelStatusToken_
bool get(ProductID const &oid, Handle< PROD > &result) const
Definition: Event.h:346
const bool recoverEBIsolatedChannels_
edm::EDGetTokenT< EEUncalibratedRecHitCollection > eeUncalibRecHitToken_
const edm::EDPutTokenT< EERecHitCollection > eeRecHitToken_
static const int ETAPHIMODE
Definition: EBDetId.h:158
const bool recoverEEIsolatedChannels_
edm::EDGetTokenT< EBUncalibratedRecHitCollection > ebUncalibRecHitToken_
Log< level::Info, false > LogInfo
edm::EDGetTokenT< std::set< EBDetId > > ebDetIdToBeRecoveredToken_
std::unique_ptr< EcalRecHitWorkerBaseClass > workerRecover_
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
Definition: EEDetId.h:248
std::vector< Item >::const_iterator const_iterator
edm::EDGetTokenT< std::set< EcalScDetId > > eeFEToBeRecoveredToken_
std::unique_ptr< EcalRecHitWorkerBaseClass > worker_
edm::EDGetTokenT< std::set< EEDetId > > eeDetIdToBeRecoveredToken_
edm::EDGetTokenT< std::set< EcalTrigTowerDetId > > ebFEToBeRecoveredToken_
#define LogDebug(id)

Member Data Documentation

std::unique_ptr<EcalCleaningAlgo> EcalRecHitProducer::cleaningAlgo_
private

Definition at line 48 of file EcalRecHitProducer.h.

Referenced by EcalRecHitProducer(), and produce().

const bool EcalRecHitProducer::doEB_
private

Definition at line 35 of file EcalRecHitProducer.h.

Referenced by EcalRecHitProducer(), and produce().

const bool EcalRecHitProducer::doEE_
private

Definition at line 36 of file EcalRecHitProducer.h.

Referenced by EcalRecHitProducer(), and produce().

edm::EDGetTokenT<std::set<EBDetId> > EcalRecHitProducer::ebDetIdToBeRecoveredToken_
private

Definition at line 52 of file EcalRecHitProducer.h.

Referenced by EcalRecHitProducer(), and produce().

edm::EDGetTokenT<std::set<EcalTrigTowerDetId> > EcalRecHitProducer::ebFEToBeRecoveredToken_
private

Definition at line 54 of file EcalRecHitProducer.h.

Referenced by EcalRecHitProducer(), and produce().

const edm::EDPutTokenT<EBRecHitCollection> EcalRecHitProducer::ebRecHitToken_
private

Definition at line 57 of file EcalRecHitProducer.h.

Referenced by produce().

edm::EDGetTokenT<EBUncalibratedRecHitCollection> EcalRecHitProducer::ebUncalibRecHitToken_
private

Definition at line 50 of file EcalRecHitProducer.h.

Referenced by EcalRecHitProducer(), and produce().

edm::ESGetToken<EcalChannelStatus, EcalChannelStatusRcd> EcalRecHitProducer::ecalChannelStatusToken_
private

Definition at line 56 of file EcalRecHitProducer.h.

Referenced by EcalRecHitProducer(), and produce().

edm::EDGetTokenT<std::set<EEDetId> > EcalRecHitProducer::eeDetIdToBeRecoveredToken_
private

Definition at line 53 of file EcalRecHitProducer.h.

Referenced by EcalRecHitProducer(), and produce().

edm::EDGetTokenT<std::set<EcalScDetId> > EcalRecHitProducer::eeFEToBeRecoveredToken_
private

Definition at line 55 of file EcalRecHitProducer.h.

Referenced by EcalRecHitProducer(), and produce().

const edm::EDPutTokenT<EERecHitCollection> EcalRecHitProducer::eeRecHitToken_
private

Definition at line 58 of file EcalRecHitProducer.h.

Referenced by produce().

edm::EDGetTokenT<EEUncalibratedRecHitCollection> EcalRecHitProducer::eeUncalibRecHitToken_
private

Definition at line 51 of file EcalRecHitProducer.h.

Referenced by EcalRecHitProducer(), and produce().

const bool EcalRecHitProducer::killDeadChannels_
private

Definition at line 43 of file EcalRecHitProducer.h.

Referenced by EcalRecHitProducer(), and produce().

const bool EcalRecHitProducer::recoverEBFE_
private

Definition at line 41 of file EcalRecHitProducer.h.

Referenced by EcalRecHitProducer(), and produce().

const bool EcalRecHitProducer::recoverEBIsolatedChannels_
private

Definition at line 37 of file EcalRecHitProducer.h.

Referenced by EcalRecHitProducer(), and produce().

const bool EcalRecHitProducer::recoverEBVFE_
private

Definition at line 39 of file EcalRecHitProducer.h.

Referenced by produce().

const bool EcalRecHitProducer::recoverEEFE_
private

Definition at line 42 of file EcalRecHitProducer.h.

Referenced by EcalRecHitProducer(), and produce().

const bool EcalRecHitProducer::recoverEEIsolatedChannels_
private

Definition at line 38 of file EcalRecHitProducer.h.

Referenced by EcalRecHitProducer(), and produce().

const bool EcalRecHitProducer::recoverEEVFE_
private

Definition at line 40 of file EcalRecHitProducer.h.

Referenced by produce().

std::unique_ptr<EcalRecHitWorkerBaseClass> EcalRecHitProducer::worker_
private

Definition at line 45 of file EcalRecHitProducer.h.

Referenced by EcalRecHitProducer(), and produce().

std::unique_ptr<EcalRecHitWorkerBaseClass> EcalRecHitProducer::workerRecover_
private

Definition at line 46 of file EcalRecHitProducer.h.

Referenced by EcalRecHitProducer(), and produce().