CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Attributes
EcalDetIdToBeRecoveredProducer Class Reference

#include <EcalDetIdToBeRecoveredProducer.h>

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

Public Member Functions

void beginRun (edm::Run const &run, const edm::EventSetup &es) final
 
 EcalDetIdToBeRecoveredProducer (const edm::ParameterSet &ps)
 
void produce (edm::Event &evt, const edm::EventSetup &es) final
 
 ~EcalDetIdToBeRecoveredProducer () 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

edm::ESGetToken< EcalChannelStatusMap, EcalChannelStatusRcdchannelStatusToken_
 
const EcalChannelStatusMapchStatus_
 
std::string ebDetIdCollection_
 
edm::EDGetTokenT< EBDetIdCollectionebIntegrityChIdErrorsToken_
 
edm::EDGetTokenT< EBDetIdCollectionebIntegrityGainErrorsToken_
 
edm::EDGetTokenT< EBDetIdCollectionebIntegrityGainSwitchErrorsToken_
 
edm::EDGetTokenT< EBSrFlagCollectionebSrFlagToken_
 
const EcalElectronicsMappingecalMapping_
 
edm::ESGetToken< EcalElectronicsMapping, EcalMappingRcdecalMappingToken_
 
std::string eeDetIdCollection_
 
edm::EDGetTokenT< EEDetIdCollectioneeIntegrityChIdErrorsToken_
 
edm::EDGetTokenT< EEDetIdCollectioneeIntegrityGainErrorsToken_
 
edm::EDGetTokenT< EEDetIdCollectioneeIntegrityGainSwitchErrorsToken_
 
edm::EDGetTokenT< EESrFlagCollectioneeSrFlagToken_
 
edm::EDGetTokenT< EcalElectronicsIdCollectionintegrityBlockSizeErrorsToken_
 
edm::EDGetTokenT< EcalElectronicsIdCollectionintegrityTTIdErrorsToken_
 
std::string scDetIdCollection_
 
std::string ttDetIdCollection_
 
edm::ESHandle< EcalTrigTowerConstituentsMapttMap_
 
edm::ESGetToken< EcalTrigTowerConstituentsMap, IdealGeometryRecordttMapToken_
 

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

$Id: $Date: $Revision:

Author
Federico Ferri, CEA-Saclay IRFU/SPP

Definition at line 33 of file EcalDetIdToBeRecoveredProducer.h.

Constructor & Destructor Documentation

◆ EcalDetIdToBeRecoveredProducer()

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

Definition at line 19 of file EcalDetIdToBeRecoveredProducer.cc.

References channelStatusToken_, ebDetIdCollection_, ebIntegrityChIdErrorsToken_, ebIntegrityGainErrorsToken_, ebIntegrityGainSwitchErrorsToken_, ebSrFlagToken_, ecalMappingToken_, eeDetIdCollection_, eeIntegrityChIdErrorsToken_, eeIntegrityGainErrorsToken_, eeIntegrityGainSwitchErrorsToken_, eeSrFlagToken_, edm::ParameterSet::getParameter(), integrityBlockSizeErrorsToken_, integrityTTIdErrorsToken_, scDetIdCollection_, AlCaHLTBitMon_QueryRunRegistry::string, ttDetIdCollection_, and ttMapToken_.

19  {
20  ecalMappingToken_ = esConsumes<EcalElectronicsMapping, EcalMappingRcd, edm::Transition::BeginRun>();
21  channelStatusToken_ = esConsumes<EcalChannelStatusMap, EcalChannelStatusRcd, edm::Transition::BeginRun>();
22  ttMapToken_ = esConsumes<EcalTrigTowerConstituentsMap, IdealGeometryRecord, edm::Transition::BeginRun>();
23  // SRP collections
24  ebSrFlagToken_ = consumes<EBSrFlagCollection>(ps.getParameter<edm::InputTag>("ebSrFlagCollection"));
25  eeSrFlagToken_ = consumes<EESrFlagCollection>(ps.getParameter<edm::InputTag>("eeSrFlagCollection"));
26 
27  // Integrity for xtal data
28  ebIntegrityGainErrorsToken_ = consumes<EBDetIdCollection>(ps.getParameter<edm::InputTag>("ebIntegrityGainErrors"));
30  consumes<EBDetIdCollection>(ps.getParameter<edm::InputTag>("ebIntegrityGainSwitchErrors"));
31  ebIntegrityChIdErrorsToken_ = consumes<EBDetIdCollection>(ps.getParameter<edm::InputTag>("ebIntegrityChIdErrors"));
32 
33  // Integrity for xtal data - EE specific (to be rivisited towards EB+EE common collection)
34  eeIntegrityGainErrorsToken_ = consumes<EEDetIdCollection>(ps.getParameter<edm::InputTag>("eeIntegrityGainErrors"));
36  consumes<EEDetIdCollection>(ps.getParameter<edm::InputTag>("eeIntegrityGainSwitchErrors"));
37  eeIntegrityChIdErrorsToken_ = consumes<EEDetIdCollection>(ps.getParameter<edm::InputTag>("eeIntegrityChIdErrors"));
38 
39  // Integrity Errors
41  consumes<EcalElectronicsIdCollection>(ps.getParameter<edm::InputTag>("integrityTTIdErrors"));
43  consumes<EcalElectronicsIdCollection>(ps.getParameter<edm::InputTag>("integrityBlockSizeErrors"));
44 
45  // output collections
46  ebDetIdCollection_ = ps.getParameter<std::string>("ebDetIdToBeRecovered");
47  eeDetIdCollection_ = ps.getParameter<std::string>("eeDetIdToBeRecovered");
48  ttDetIdCollection_ = ps.getParameter<std::string>("ebFEToBeRecovered");
49  scDetIdCollection_ = ps.getParameter<std::string>("eeFEToBeRecovered");
50 
51  produces<std::set<EBDetId>>(ebDetIdCollection_);
52  produces<std::set<EEDetId>>(eeDetIdCollection_);
53  produces<std::set<EcalTrigTowerDetId>>(ttDetIdCollection_);
54  produces<std::set<EcalScDetId>>(scDetIdCollection_);
55 }
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
edm::EDGetTokenT< EcalElectronicsIdCollection > integrityBlockSizeErrorsToken_
edm::ESGetToken< EcalTrigTowerConstituentsMap, IdealGeometryRecord > ttMapToken_
edm::EDGetTokenT< EBDetIdCollection > ebIntegrityGainErrorsToken_
edm::EDGetTokenT< EcalElectronicsIdCollection > integrityTTIdErrorsToken_
edm::EDGetTokenT< EEDetIdCollection > eeIntegrityGainSwitchErrorsToken_
edm::EDGetTokenT< EBSrFlagCollection > ebSrFlagToken_
edm::EDGetTokenT< EBDetIdCollection > ebIntegrityGainSwitchErrorsToken_
edm::EDGetTokenT< EEDetIdCollection > eeIntegrityChIdErrorsToken_
edm::ESGetToken< EcalElectronicsMapping, EcalMappingRcd > ecalMappingToken_
edm::EDGetTokenT< EEDetIdCollection > eeIntegrityGainErrorsToken_
edm::EDGetTokenT< EESrFlagCollection > eeSrFlagToken_
edm::EDGetTokenT< EBDetIdCollection > ebIntegrityChIdErrorsToken_
edm::ESGetToken< EcalChannelStatusMap, EcalChannelStatusRcd > channelStatusToken_

◆ ~EcalDetIdToBeRecoveredProducer()

EcalDetIdToBeRecoveredProducer::~EcalDetIdToBeRecoveredProducer ( )
override

Definition at line 57 of file EcalDetIdToBeRecoveredProducer.cc.

57 {}

Member Function Documentation

◆ beginRun()

void EcalDetIdToBeRecoveredProducer::beginRun ( edm::Run const &  run,
const edm::EventSetup es 
)
final

Definition at line 59 of file EcalDetIdToBeRecoveredProducer.cc.

References channelStatusToken_, chStatus_, ecalMapping_, ecalMappingToken_, edm::EventSetup::getHandle(), edm::ESHandle< T >::product(), ttMap_, and ttMapToken_.

59  {
61  ecalMapping_ = pEcalMapping.product();
62 
64  chStatus_ = pChStatus.product();
65 
67 }
edm::ESGetToken< EcalTrigTowerConstituentsMap, IdealGeometryRecord > ttMapToken_
T const * product() const
Definition: ESHandle.h:86
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
Definition: EventSetup.h:151
edm::ESHandle< EcalTrigTowerConstituentsMap > ttMap_
edm::ESGetToken< EcalElectronicsMapping, EcalMappingRcd > ecalMappingToken_
const EcalElectronicsMapping * ecalMapping_
edm::ESGetToken< EcalChannelStatusMap, EcalChannelStatusRcd > channelStatusToken_

◆ fillDescriptions()

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

Definition at line 301 of file EcalDetIdToBeRecoveredProducer.cc.

References edm::ConfigurationDescriptions::add(), submitPVResolutionJobs::desc, HLT_2022v12_cff::InputTag, and AlCaHLTBitMon_QueryRunRegistry::string.

301  {
303  desc.add<edm::InputTag>("ebIntegrityChIdErrors", edm::InputTag("ecalDigis", "EcalIntegrityChIdErrors"));
304  desc.add<std::string>("ebDetIdToBeRecovered", "ebDetId");
305  desc.add<edm::InputTag>("integrityTTIdErrors", edm::InputTag("ecalDigis", "EcalIntegrityTTIdErrors"));
306  desc.add<edm::InputTag>("eeIntegrityGainErrors", edm::InputTag("ecalDigis", "EcalIntegrityGainErrors"));
307  desc.add<std::string>("ebFEToBeRecovered", "ebFE");
308  desc.add<edm::InputTag>("ebIntegrityGainErrors", edm::InputTag("ecalDigis", "EcalIntegrityGainErrors"));
309  desc.add<std::string>("eeDetIdToBeRecovered", "eeDetId");
310  desc.add<edm::InputTag>("eeIntegrityGainSwitchErrors", edm::InputTag("ecalDigis", "EcalIntegrityGainSwitchErrors"));
311  desc.add<edm::InputTag>("eeIntegrityChIdErrors", edm::InputTag("ecalDigis", "EcalIntegrityChIdErrors"));
312  desc.add<edm::InputTag>("ebIntegrityGainSwitchErrors", edm::InputTag("ecalDigis", "EcalIntegrityGainSwitchErrors"));
313  desc.add<edm::InputTag>("ebSrFlagCollection", edm::InputTag("ecalDigis"));
314  desc.add<std::string>("eeFEToBeRecovered", "eeFE");
315  desc.add<edm::InputTag>("integrityBlockSizeErrors", edm::InputTag("ecalDigis", "EcalIntegrityBlockSizeErrors"));
316  desc.add<edm::InputTag>("eeSrFlagCollection", edm::InputTag("ecalDigis"));
317  descriptions.add("ecalDetIdToBeRecovered", desc);
318 }
void add(std::string const &label, ParameterSetDescription const &psetDescription)

◆ produce()

void EcalDetIdToBeRecoveredProducer::produce ( edm::Event evt,
const edm::EventSetup es 
)
final

Definition at line 76 of file EcalDetIdToBeRecoveredProducer.cc.

References edm::EDCollection< T >::begin(), edm::SortedCollection< T, SORT >::begin(), chStatus_, EcalTrigTowerConstituentsMap::constituentsOf(), PVValHelper::dx, PVValHelper::dy, ebDetIdCollection_, HLT_2022v12_cff::ebIntegrityChIdErrors, ebIntegrityChIdErrorsToken_, HLT_2022v12_cff::ebIntegrityGainErrors, ebIntegrityGainErrorsToken_, HLT_2022v12_cff::ebIntegrityGainSwitchErrors, ebIntegrityGainSwitchErrorsToken_, ebSrFlagToken_, EcalBarrel, EcalEndcap, ecalMapping_, eeDetIdCollection_, HLT_2022v12_cff::eeIntegrityChIdErrors, eeIntegrityChIdErrorsToken_, HLT_2022v12_cff::eeIntegrityGainErrors, eeIntegrityGainErrorsToken_, HLT_2022v12_cff::eeIntegrityGainSwitchErrors, eeIntegrityGainSwitchErrorsToken_, eeSrFlagToken_, edm::SortedCollection< T, SORT >::empty(), edm::EDCollection< T >::end(), EcalCondObjectContainer< T >::end(), edm::SortedCollection< T, SORT >::end(), makeMEIFBenchmarkPlots::ev, EcalCondObjectContainer< T >::find(), RemoveAddSevLevel::flag, EcalElectronicsMapping::getDetId(), mps_fire::i, include(), HLT_2022v12_cff::integrityBlockSizeErrors, integrityBlockSizeErrorsToken_, HLT_2022v12_cff::integrityTTIdErrors, integrityTTIdErrorsToken_, EcalScDetId::ix(), EcalScDetId::iy(), dqmiolumiharvest::j, eostools::move(), edm::EDCollection< T >::push_back(), scDetIdCollection_, edm::EDCollection< T >::size(), EcalSrFlag::SRF_FORCED_MASK, EcalSrFlag::SRF_FULL, EcalElectronicsId::subdet(), submitPVValidationJobs::t, EBDetId::tower(), EcalTrigTowerConstituentsMap::towerOf(), ttDetIdCollection_, ecaldqm::ttId(), ttMap_, EEDetId::validDetId(), trackerHitRTTI::vector, and EcalScDetId::zside().

76  {
77  std::vector<edm::Handle<EBDetIdCollection>> ebDetIdColls;
78  std::vector<edm::Handle<EEDetIdCollection>> eeDetIdColls;
79  std::vector<edm::Handle<EcalElectronicsIdCollection>> ttColls;
80 
81  auto ebDetIdToRecover = std::make_unique<std::set<EBDetId>>(); // isolated channels to be recovered
82  auto eeDetIdToRecover = std::make_unique<std::set<EEDetId>>(); // isolated channels to be recovered
83  auto ebTTDetIdToRecover = std::make_unique<std::set<EcalTrigTowerDetId>>(); // tt to be recovered
84  auto eeSCDetIdToRecover = std::make_unique<std::set<EcalScDetId>>(); // sc to be recovered
85 
86  /*
87  * get collections
88  */
89 
90  // Selective Readout Flags
92  ev.getByToken(ebSrFlagToken_, ebSrFlags);
93 
95  ev.getByToken(eeSrFlagToken_, eeSrFlags);
96 
97  // Integrity errors
100 
101  ebDetIdColls.push_back(ebIntegrityGainErrors);
102 
105  ebDetIdColls.push_back(ebIntegrityGainSwitchErrors);
106 
109  ebDetIdColls.push_back(ebIntegrityChIdErrors);
110 
113  eeDetIdColls.push_back(eeIntegrityGainErrors);
114 
117  eeDetIdColls.push_back(eeIntegrityGainSwitchErrors);
118 
121  eeDetIdColls.push_back(eeIntegrityChIdErrors);
122 
125  ttColls.push_back(integrityTTIdErrors);
126 
129  ttColls.push_back(integrityBlockSizeErrors);
130 
131  /*
132  * get regions of interest from SRP
133  */
134  // -- Barrel
135  EBDetIdCollection ebSrpDetId;
136  EcalTrigTowerDetIdCollection ebSrpTTDetId;
137  for (EBSrFlagCollection::const_iterator it = ebSrFlags->begin(); it != ebSrFlags->end(); ++it) {
138  const int flag = it->value();
140  const EcalTrigTowerDetId ttId = it->id();
141  ebSrpTTDetId.push_back(ttId);
142 
143  const std::vector<DetId> vid = ttMap_->constituentsOf(ttId);
144 
145  for (std::vector<DetId>::const_iterator itId = vid.begin(); itId != vid.end(); ++itId) {
146  ebSrpDetId.push_back(*itId);
147  }
148  }
149  }
150  // -- Endcap
151  EEDetIdCollection eeSrpDetId;
152  //EcalTrigTowerDetIdCollection eeSrpTTDetId;
153  for (EESrFlagCollection::const_iterator it = eeSrFlags->begin(); it != eeSrFlags->end(); ++it) {
154  const int flag = it->value();
156  //EcalTrigTowerDetId ttId = it->id();
157  //eeSrpTTDetId.push_back( ttId );
158  const EcalScDetId scId(it->id());
159  // not clear how to get the vector of DetId constituents of a SC...
161  //std::vector<DetId> vid = ecalMapping_->dccTowerConstituents( eId.dccId(), eId.towerId() );
162  std::vector<DetId> vid;
163  for (int dx = 1; dx <= 5; ++dx) {
164  for (int dy = 1; dy <= 5; ++dy) {
165  const int ix = (scId.ix() - 1) * 5 + dx;
166  const int iy = (scId.iy() - 1) * 5 + dy;
167  const int iz = scId.zside();
168  if (EEDetId::validDetId(ix, iy, iz)) {
169  vid.push_back(EEDetId(ix, iy, iz));
170  }
171  }
172  }
174  //std::vector<DetId> vid = ttMap_->constituentsOf( ttId );
175  for (std::vector<DetId>::const_iterator itId = vid.begin(); itId != vid.end(); ++itId) {
176  eeSrpDetId.push_back(*itId);
177  }
178  }
179  }
180  // SRP switched off: get the list from the DB
181  if (ebSrFlags->empty()) {
182  }
183  // SRP switched off: get the list from the DB
184  if (eeSrFlags->empty()) {
185  }
186 
187  /*
188  * get OR of integrity error collections
189  * in interesting regions flagged by SRP
190  * and insert them in the list of DetId to recover
191  */
192  // -- Barrel
193  for (std::vector<edm::Handle<EBDetIdCollection>>::const_iterator it = ebDetIdColls.begin(); it != ebDetIdColls.end();
194  ++it) {
195  const EBDetIdCollection* idc = it->product();
196  for (EBDetIdCollection::const_iterator jt = idc->begin(); jt != idc->end(); ++jt)
197  if (include(ebSrpDetId, *jt))
198  ebDetIdToRecover->insert(*jt);
199  }
200  // -- Endcap
201  for (std::vector<edm::Handle<EEDetIdCollection>>::const_iterator it = eeDetIdColls.begin(); it != eeDetIdColls.end();
202  ++it) {
203  const EEDetIdCollection* idc = it->product();
204  for (EEDetIdCollection::const_iterator jt = idc->begin(); jt != idc->end(); ++jt)
205  if (include(eeSrpDetId, *jt))
206  eeDetIdToRecover->insert(*jt);
207  }
208 
209  /*
210  * find isolated dead channels (from DB info) --> chStatus 10, 11, 12
211  * and group of dead channels w/ trigger(from DB info) --> chStatus 13
212  * in interesting regions flagged by SRP
213  */
214  // -- Barrel
215  for (EBDetIdCollection::const_iterator itId = ebSrpDetId.begin(); itId != ebSrpDetId.end(); ++itId) {
217  if (chit != chStatus_->end()) {
218  const int flag = (*chit).getStatusCode();
219  if (flag >= 10 && flag <= 12) { // FIXME -- avoid hardcoded values...
220  ebDetIdToRecover->insert(*itId);
221  } else if (flag == 13 || flag == 14) { // FIXME -- avoid hardcoded values...
222  ebTTDetIdToRecover->insert((*itId).tower());
223  }
224  } else {
225  edm::LogError("EcalDetIdToBeRecoveredProducer") << "No channel status found for xtal " << (*itId).rawId()
226  << "! something wrong with EcalChannelStatus in your DB? ";
227  }
228  }
229  // -- Endcap
230  for (EEDetIdCollection::const_iterator itId = eeSrpDetId.begin(); itId != eeSrpDetId.end(); ++itId) {
232  if (chit != chStatus_->end()) {
233  int flag = (*chit).getStatusCode();
234  if (flag >= 10 && flag <= 12) { // FIXME -- avoid hardcoded values...
235  eeDetIdToRecover->insert(*itId);
236  } else if (flag == 13 || flag == 14) { // FIXME -- avoid hardcoded values...
237  eeSCDetIdToRecover->insert(
238  EcalScDetId(1 + ((*itId).ix() - 1) / 5, 1 + ((*itId).iy() - 1) / 5, (*itId).zside()));
239  }
240  } else {
241  edm::LogError("EcalDetIdToBeRecoveredProducer") << "No channel status found for xtal " << (*itId).rawId()
242  << "! something wrong with EcalChannelStatus in your DB? ";
243  }
244  }
245 
246  // loop over electronics id associated with TT and SC
247  for (size_t t = 0; t < ttColls.size(); ++t) {
248  const EcalElectronicsIdCollection& coll = *(ttColls[t]);
249 
250  for (size_t i = 0; i < coll.size(); ++i) {
251  const EcalElectronicsId elId = coll[i];
252  const EcalSubdetector subdet = elId.subdet();
253  const DetId detId = ecalMapping_->getDetId(elId);
254 
255  if (subdet == EcalBarrel) { // elId pointing to TT
256  // get list of crystals corresponding to TT
257  const EcalTrigTowerDetId ttId(ttMap_->towerOf(detId));
258  const std::vector<DetId>& vid = ttMap_->constituentsOf(ttId);
259 
260  for (size_t j = 0; j < vid.size(); ++j) {
261  const EBDetId ebdi(vid[j]);
262  if (include(ebSrpDetId, ebdi)) {
263  ebDetIdToRecover->insert(ebdi);
264  ebTTDetIdToRecover->insert(ebdi.tower());
265  }
266  }
267  } else if (subdet == EcalEndcap) { // elId pointing to SC
268  // extract list of crystals corresponding to SC
269  const EcalScDetId scId(detId);
270  std::vector<DetId> vid;
271  for (int dx = 1; dx <= 5; ++dx) {
272  for (int dy = 1; dy <= 5; ++dy) {
273  const int ix = (scId.ix() - 1) * 5 + dx;
274  const int iy = (scId.iy() - 1) * 5 + dy;
275  const int iz = scId.zside();
276  if (EEDetId::validDetId(ix, iy, iz))
277  vid.push_back(EEDetId(ix, iy, iz));
278  }
279  }
280 
281  for (size_t j = 0; j < vid.size(); ++j) {
282  const EEDetId eedi(vid[i]);
283  if (include(eeSrpDetId, eedi)) {
284  eeDetIdToRecover->insert(eedi);
285  eeSCDetIdToRecover->insert(EcalScDetId(eedi));
286  }
287  }
288  } else
289  edm::LogWarning("EcalDetIdToBeRecoveredProducer")
290  << "Incorrect EcalSubdetector = " << subdet << " in EcalElectronicsIdCollection collection ";
291  }
292  }
293 
294  // return the collections
295  ev.put(std::move(ebDetIdToRecover), ebDetIdCollection_);
296  ev.put(std::move(eeDetIdToRecover), eeDetIdCollection_);
297  ev.put(std::move(ebTTDetIdToRecover), ttDetIdCollection_);
298  ev.put(std::move(eeSCDetIdToRecover), scDetIdCollection_);
299 }
std::vector< DetId > constituentsOf(const EcalTrigTowerDetId &id) const
Get the constituent detids for this tower id.
Ecal readout channel identification [32:20] Unused (so far) [19:13] DCC id [12:6] tower [5:3] strip [...
static const int SRF_FORCED_MASK
Definition: EcalSrFlag.h:29
edm::EDGetTokenT< EcalElectronicsIdCollection > integrityBlockSizeErrorsToken_
std::vector< T >::const_iterator const_iterator
void push_back(T const &t)
Definition: EDCollection.h:60
edm::EDGetTokenT< EBDetIdCollection > ebIntegrityGainErrorsToken_
edm::EDGetTokenT< EcalElectronicsIdCollection > integrityTTIdErrorsToken_
Log< level::Error, false > LogError
unsigned ttId(DetId const &, EcalElectronicsMapping const *)
EcalTrigTowerDetId towerOf(const DetId &id) const
Get the tower id for this det id (or null if not known)
edm::EDGetTokenT< EEDetIdCollection > eeIntegrityGainSwitchErrorsToken_
static const int SRF_FULL
Definition: EcalSrFlag.h:24
const_iterator begin() const
edm::EDGetTokenT< EBSrFlagCollection > ebSrFlagToken_
edm::EDGetTokenT< EBDetIdCollection > ebIntegrityGainSwitchErrorsToken_
const_iterator find(uint32_t rawId) const
edm::EDGetTokenT< EEDetIdCollection > eeIntegrityChIdErrorsToken_
EcalSubdetector subdet() const
get the subdet
const_iterator begin() const
Definition: EDCollection.h:117
const_iterator end() const
Definition: DetId.h:17
edm::ESHandle< EcalTrigTowerConstituentsMap > ttMap_
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
Definition: EEDetId.h:248
std::vector< Item >::const_iterator const_iterator
size_type size() const
Definition: EDCollection.h:82
edm::EDGetTokenT< EEDetIdCollection > eeIntegrityGainErrorsToken_
bool include(const CollT &coll, const ItemT &item)
edm::EDGetTokenT< EESrFlagCollection > eeSrFlagToken_
const_iterator end() const
edm::EDGetTokenT< EBDetIdCollection > ebIntegrityChIdErrorsToken_
Log< level::Warning, false > LogWarning
const EcalElectronicsMapping * ecalMapping_
const_iterator end() const
Definition: EDCollection.h:122
EcalSubdetector
def move(src, dest)
Definition: eostools.py:511
DetId getDetId(const EcalElectronicsId &id) const
Get the detid given an electronicsId.
std::vector< T >::const_iterator const_iterator
Definition: EDCollection.h:19

Member Data Documentation

◆ channelStatusToken_

edm::ESGetToken<EcalChannelStatusMap, EcalChannelStatusRcd> EcalDetIdToBeRecoveredProducer::channelStatusToken_
private

Definition at line 49 of file EcalDetIdToBeRecoveredProducer.h.

Referenced by beginRun(), and EcalDetIdToBeRecoveredProducer().

◆ chStatus_

const EcalChannelStatusMap* EcalDetIdToBeRecoveredProducer::chStatus_
private

Definition at line 45 of file EcalDetIdToBeRecoveredProducer.h.

Referenced by beginRun(), and produce().

◆ ebDetIdCollection_

std::string EcalDetIdToBeRecoveredProducer::ebDetIdCollection_
private

Definition at line 75 of file EcalDetIdToBeRecoveredProducer.h.

Referenced by EcalDetIdToBeRecoveredProducer(), and produce().

◆ ebIntegrityChIdErrorsToken_

edm::EDGetTokenT<EBDetIdCollection> EcalDetIdToBeRecoveredProducer::ebIntegrityChIdErrorsToken_
private

Definition at line 61 of file EcalDetIdToBeRecoveredProducer.h.

Referenced by EcalDetIdToBeRecoveredProducer(), and produce().

◆ ebIntegrityGainErrorsToken_

edm::EDGetTokenT<EBDetIdCollection> EcalDetIdToBeRecoveredProducer::ebIntegrityGainErrorsToken_
private

Definition at line 59 of file EcalDetIdToBeRecoveredProducer.h.

Referenced by EcalDetIdToBeRecoveredProducer(), and produce().

◆ ebIntegrityGainSwitchErrorsToken_

edm::EDGetTokenT<EBDetIdCollection> EcalDetIdToBeRecoveredProducer::ebIntegrityGainSwitchErrorsToken_
private

Definition at line 60 of file EcalDetIdToBeRecoveredProducer.h.

Referenced by EcalDetIdToBeRecoveredProducer(), and produce().

◆ ebSrFlagToken_

edm::EDGetTokenT<EBSrFlagCollection> EcalDetIdToBeRecoveredProducer::ebSrFlagToken_
private

Definition at line 55 of file EcalDetIdToBeRecoveredProducer.h.

Referenced by EcalDetIdToBeRecoveredProducer(), and produce().

◆ ecalMapping_

const EcalElectronicsMapping* EcalDetIdToBeRecoveredProducer::ecalMapping_
private

Definition at line 46 of file EcalDetIdToBeRecoveredProducer.h.

Referenced by beginRun(), and produce().

◆ ecalMappingToken_

edm::ESGetToken<EcalElectronicsMapping, EcalMappingRcd> EcalDetIdToBeRecoveredProducer::ecalMappingToken_
private

Definition at line 48 of file EcalDetIdToBeRecoveredProducer.h.

Referenced by beginRun(), and EcalDetIdToBeRecoveredProducer().

◆ eeDetIdCollection_

std::string EcalDetIdToBeRecoveredProducer::eeDetIdCollection_
private

Definition at line 76 of file EcalDetIdToBeRecoveredProducer.h.

Referenced by EcalDetIdToBeRecoveredProducer(), and produce().

◆ eeIntegrityChIdErrorsToken_

edm::EDGetTokenT<EEDetIdCollection> EcalDetIdToBeRecoveredProducer::eeIntegrityChIdErrorsToken_
private

Definition at line 66 of file EcalDetIdToBeRecoveredProducer.h.

Referenced by EcalDetIdToBeRecoveredProducer(), and produce().

◆ eeIntegrityGainErrorsToken_

edm::EDGetTokenT<EEDetIdCollection> EcalDetIdToBeRecoveredProducer::eeIntegrityGainErrorsToken_
private

Definition at line 64 of file EcalDetIdToBeRecoveredProducer.h.

Referenced by EcalDetIdToBeRecoveredProducer(), and produce().

◆ eeIntegrityGainSwitchErrorsToken_

edm::EDGetTokenT<EEDetIdCollection> EcalDetIdToBeRecoveredProducer::eeIntegrityGainSwitchErrorsToken_
private

Definition at line 65 of file EcalDetIdToBeRecoveredProducer.h.

Referenced by EcalDetIdToBeRecoveredProducer(), and produce().

◆ eeSrFlagToken_

edm::EDGetTokenT<EESrFlagCollection> EcalDetIdToBeRecoveredProducer::eeSrFlagToken_
private

Definition at line 56 of file EcalDetIdToBeRecoveredProducer.h.

Referenced by EcalDetIdToBeRecoveredProducer(), and produce().

◆ integrityBlockSizeErrorsToken_

edm::EDGetTokenT<EcalElectronicsIdCollection> EcalDetIdToBeRecoveredProducer::integrityBlockSizeErrorsToken_
private

Definition at line 70 of file EcalDetIdToBeRecoveredProducer.h.

Referenced by EcalDetIdToBeRecoveredProducer(), and produce().

◆ integrityTTIdErrorsToken_

edm::EDGetTokenT<EcalElectronicsIdCollection> EcalDetIdToBeRecoveredProducer::integrityTTIdErrorsToken_
private

Definition at line 69 of file EcalDetIdToBeRecoveredProducer.h.

Referenced by EcalDetIdToBeRecoveredProducer(), and produce().

◆ scDetIdCollection_

std::string EcalDetIdToBeRecoveredProducer::scDetIdCollection_
private

Definition at line 78 of file EcalDetIdToBeRecoveredProducer.h.

Referenced by EcalDetIdToBeRecoveredProducer(), and produce().

◆ ttDetIdCollection_

std::string EcalDetIdToBeRecoveredProducer::ttDetIdCollection_
private

Definition at line 77 of file EcalDetIdToBeRecoveredProducer.h.

Referenced by EcalDetIdToBeRecoveredProducer(), and produce().

◆ ttMap_

edm::ESHandle<EcalTrigTowerConstituentsMap> EcalDetIdToBeRecoveredProducer::ttMap_
private

Definition at line 47 of file EcalDetIdToBeRecoveredProducer.h.

Referenced by beginRun(), and produce().

◆ ttMapToken_

edm::ESGetToken<EcalTrigTowerConstituentsMap, IdealGeometryRecord> EcalDetIdToBeRecoveredProducer::ttMapToken_
private

Definition at line 50 of file EcalDetIdToBeRecoveredProducer.h.

Referenced by beginRun(), and EcalDetIdToBeRecoveredProducer().