CMS 3D CMS Logo

TrigPrimTask.cc
Go to the documentation of this file.
2 
5 
9 
12 
13 #include <iomanip>
14 
15 namespace ecaldqm {
17  : DQWorkerTask(),
18  realTps_(nullptr),
19  runOnEmul_(false),
20  // HLTCaloPath_(""),
21  // HLTMuonPath_(""),
22  // HLTCaloBit_(false),
23  // HLTMuonBit_(false),
24  bxBinEdges_{{1, 271, 541, 892, 1162, 1432, 1783, 2053, 2323, 2674, 2944, 3214, 3446, 3490, 3491, 3565}},
25  bxBin_(0.),
26  towerReadouts_(),
27  lhcStatusInfoCollectionTag_(),
28  lhcStatusSet_(false) {}
29 
31  runOnEmul_ = _params.getUntrackedParameter<bool>("runOnEmul");
32  if (!runOnEmul_) {
33  MEs_.erase(std::string("EtMaxEmul"));
34  MEs_.erase(std::string("EmulMaxIndex"));
35  MEs_.erase(std::string("MatchedIndex"));
36  MEs_.erase(std::string("EtEmulError"));
37  MEs_.erase(std::string("FGEmulError"));
38  MEs_.erase(std::string("RealvEmulEt"));
39  }
40  lhcStatusInfoCollectionTag_ = _params.getUntrackedParameter<edm::InputTag>(
41  "lhcStatusInfoCollectionTag", edm::InputTag("tcdsDigis", "tcdsRecord"));
42  }
43 
45  if (runOnEmul_)
47  }
48 
49  void TrigPrimTask::beginRun(edm::Run const&, edm::EventSetup const& _es) {
50  // Read-in Status records:
51  // Status records stay constant over run so they are read-in only once here
52  // but filled by LS in runOnRealTPs() because MEs are not yet booked at beginRun()
55  }
56 
58  // Reset by LS plots at beginning of every LS
59  MEs_.at("EtSummaryByLumi").reset();
60  MEs_.at("TTFlags4ByLumi").reset();
61  MEs_.at("LHCStatusByLumi").reset(-1);
62 
63  // Reset lhcStatusSet_ to false at the beginning of each LS; when LHC status is set in some event this variable will be set to true
64  lhcStatusSet_ = false;
65  }
66 
67  void TrigPrimTask::beginEvent(edm::Event const& _evt, edm::EventSetup const& _es) {
68  using namespace std;
69 
70  towerReadouts_.clear();
71 
72  if (!lhcStatusSet_) {
73  // Update LHC status once each LS
74  MESet& meLHCStatusByLumi(static_cast<MESet&>(MEs_.at("LHCStatusByLumi")));
75  edm::Handle<TCDSRecord> tcdsData;
76  _evt.getByToken(lhcStatusInfoRecordToken_, tcdsData);
77  if (tcdsData.isValid()) {
78  meLHCStatusByLumi.fill(double(tcdsData->getBST().getBeamMode()));
79  lhcStatusSet_ = true;
80  }
81  }
82 
83  realTps_ = nullptr;
84 
85  // HLTCaloBit_ = false;
86  // HLTMuonBit_ = false;
87 
88  int* pBin(std::upper_bound(bxBinEdges_.begin(), bxBinEdges_.end(), _evt.bunchCrossing()));
89  bxBin_ = static_cast<int>(pBin - bxBinEdges_.begin()) - 0.5;
90 
92  _es.get<EcalTPGTowerStatusRcd>().get(TTStatusRcd_);
93  const EcalTPGTowerStatus* TTStatus = TTStatusRcd_.product();
94  const EcalTPGTowerStatusMap& towerMap = TTStatus->getMap();
95 
96  edm::ESHandle<EcalTPGStripStatus> StripStatusRcd_;
97  _es.get<EcalTPGStripStatusRcd>().get(StripStatusRcd_);
98  const EcalTPGStripStatus* StripStatus = StripStatusRcd_.product();
99  const EcalTPGStripStatusMap& stripMap = StripStatus->getMap();
100 
101  MESet& meTTMaskMap(MEs_.at("TTMaskMap"));
102 
103  for (EcalTPGTowerStatusMap::const_iterator ttItr(towerMap.begin()); ttItr != towerMap.end(); ++ttItr) {
104  if ((*ttItr).second > 0) {
105  const EcalTrigTowerDetId ttid((*ttItr).first);
106  //if(ttid.subDet() == EcalBarrel)
107  meTTMaskMap.fill(ttid, 1);
108  } //masked
109  } //loop on towers
110 
111  for (EcalTPGStripStatusMap::const_iterator stItr(stripMap.begin()); stItr != stripMap.end(); ++stItr) {
112  if ((*stItr).second > 0) {
113  const EcalElectronicsId stid((*stItr).first);
114  //if(stid.subdet() == EcalEndcap);
115  meTTMaskMap.fill(stid, 1);
116  } //masked
117  } //loop on pseudo-strips
118 
119  // if(HLTCaloPath_.size() || HLTMuonPath_.size()){
120  // edm::TriggerResultsByName results(_evt.triggerResultsByName("HLT"));
121  // if(!results.isValid()) results = _evt.triggerResultsByName("RECO");
122  // if(results.isValid()){
123  // const vector<string>& pathNames(results.triggerNames());
124 
125  // size_t caloStar(HLTCaloPath_.find('*'));
126  // if(caloStar != string::npos){
127  // string caloSub(HLTCaloPath_.substr(0, caloStar));
128  // bool found(false);
129  // for(unsigned iP(0); iP < pathNames.size(); ++iP){
130  // if(pathNames[iP].substr(0, caloStar) == caloSub){
131  // HLTCaloPath_ = pathNames[iP];
132  // found = true;
133  // break;
134  // }
135  // }
136  // if(!found) HLTCaloPath_ = "";
137  // }
138 
139  // size_t muonStar(HLTMuonPath_.find('*'));
140  // if(muonStar != string::npos){
141  // string muonSub(HLTMuonPath_.substr(0, muonStar));
142  // bool found(false);
143  // for(unsigned iP(0); iP < pathNames.size(); ++iP){
144  // if(pathNames[iP].substr(0, muonStar) == muonSub){
145  // HLTMuonPath_ = pathNames[iP];
146  // found = true;
147  // break;
148  // }
149  // }
150  // if(!found) HLTMuonPath_ = "";
151  // }
152 
153  // if(HLTCaloPath_.size()){
154  // try{
155  // HLTCaloBit_ = results.accept(HLTCaloPath_);
156  // }
157  // catch(cms::Exception e){
158  // if(e.category() != "LogicError") throw e;
159  // HLTCaloPath_ = "";
160  // }
161  // }
162  // if(HLTMuonPath_.size()){
163  // try{
164  // HLTMuonBit_ = results.accept(HLTMuonPath_);
165  // }
166  // catch(cms::Exception e){
167  // if(e.category() != "LogicError") throw e;
168  // HLTMuonPath_ = "";
169  // }
170  // }
171  // }
172  // }
173  }
174 
175  template <typename DigiCollection>
177  for (typename DigiCollection::const_iterator digiItr(_digis.begin()); digiItr != _digis.end(); ++digiItr) {
178  EcalTrigTowerDetId ttid(getTrigTowerMap()->towerOf(digiItr->id()));
179  towerReadouts_[ttid.rawId()]++;
180  }
181  }
182 
185  }
186 
188  MESet& meEtVsBx(MEs_.at("EtVsBx"));
189  MESet& meEtReal(MEs_.at("EtReal"));
190  MESet& meEtRealMap(MEs_.at("EtRealMap"));
191  MESet& meEtSummary(MEs_.at("EtSummary"));
192  MESet& meEtSummaryByLumi(MEs_.at("EtSummaryByLumi"));
193  MESet& meLowIntMap(MEs_.at("LowIntMap"));
194  MESet& meMedIntMap(MEs_.at("MedIntMap"));
195  MESet& meHighIntMap(MEs_.at("HighIntMap"));
196  MESet& meTTFlags(MEs_.at("TTFlags"));
197  MESet& meTTFlagsVsEt(MEs_.at("TTFlagsVsEt"));
198  MESet& meTTFlags4(MEs_.at("TTFlags4"));
199  MESet& meTTFlags4ByLumi(MEs_.at("TTFlags4ByLumi"));
200  MESet& meTTFMismatch(MEs_.at("TTFMismatch"));
201  MESet& meOccVsBx(MEs_.at("OccVsBx"));
202 
203  realTps_ = &_tps;
204 
205  double nTP[] = {0., 0., 0.};
206 
207  for (EcalTrigPrimDigiCollection::const_iterator tpItr(_tps.begin()); tpItr != _tps.end(); ++tpItr) {
208  EcalTrigTowerDetId ttid(tpItr->id());
209  float et(tpItr->compressedEt());
210 
211  if (et > 0.) {
212  if (ttid.subDet() == EcalBarrel)
213  nTP[0] += 1.;
214  else if (ttid.zside() < 0)
215  nTP[1] += 1.;
216  else
217  nTP[2] += 2.;
218  meEtVsBx.fill(ttid, bxBin_, et);
219  }
220 
221  meEtReal.fill(ttid, et);
222  meEtRealMap.fill(ttid, et);
223  meEtSummary.fill(ttid, et);
224  meEtSummaryByLumi.fill(ttid, et);
225 
226  int interest(tpItr->ttFlag() & 0x3);
227 
228  switch (interest) {
229  case 0:
230  meLowIntMap.fill(ttid);
231  break;
232  case 1:
233  meMedIntMap.fill(ttid);
234  break;
235  case 3:
236  meHighIntMap.fill(ttid);
237  break;
238  default:
239  break;
240  }
241 
242  // Fill TT Flag MEs
243  int ttF(tpItr->ttFlag());
244  meTTFlags.fill(ttid, 1.0 * ttF);
245  meTTFlagsVsEt.fill(ttid, et, 1.0 * ttF);
246  // Monitor occupancy of TTF=4
247  // which contains info about TT auto-masking
248  if (ttF >= 4) {
249  meTTFlags4.fill(ttid);
250  meTTFlags4ByLumi.fill(ttid);
251  }
252  if ((ttF == 1 || ttF == 3) && towerReadouts_[ttid.rawId()] != getTrigTowerMap()->constituentsOf(ttid).size())
253  meTTFMismatch.fill(ttid);
254  }
255 
256  meOccVsBx.fill(EcalBarrel, bxBin_, nTP[0]);
257  meOccVsBx.fill(-EcalEndcap, bxBin_, nTP[1]);
258  meOccVsBx.fill(EcalEndcap, bxBin_, nTP[2]);
259 
260  // Set TT/Strip Masking status in Ecal3P view
261  // Status Records are read-in at beginRun() but filled here
262  // Requestied by ECAL Trigger in addition to TTMaskMap plots in SM view
263  MESet& meTTMaskMapAll(MEs_.at("TTMaskMapAll"));
264 
265  // Fill from TT Status Rcd
266  const EcalTPGTowerStatus* TTStatus(TTStatusRcd.product());
267  const EcalTPGTowerStatusMap& TTStatusMap(TTStatus->getMap());
268  for (EcalTPGTowerStatusMap::const_iterator ttItr(TTStatusMap.begin()); ttItr != TTStatusMap.end(); ++ttItr) {
269  const EcalTrigTowerDetId ttid(ttItr->first);
270  if (ttItr->second > 0)
271  meTTMaskMapAll.setBinContent(ttid, 1); // TT is masked
272  } // TTs
273 
274  // Fill from Strip Status Rcd
275  const EcalTPGStripStatus* StripStatus(StripStatusRcd.product());
276  const EcalTPGStripStatusMap& StripStatusMap(StripStatus->getMap());
277  for (EcalTPGStripStatusMap::const_iterator stItr(StripStatusMap.begin()); stItr != StripStatusMap.end(); ++stItr) {
278  const EcalTriggerElectronicsId stid(stItr->first);
279  // Since ME has kTriggerTower binning, convert to EcalTrigTowerDetId first
280  // In principle, setBinContent() could be implemented for EcalTriggerElectronicsId class as well
281  const EcalTrigTowerDetId ttid(getElectronicsMap()->getTrigTowerDetId(stid.tccId(), stid.ttId()));
282  if (stItr->second > 0)
283  meTTMaskMapAll.setBinContent(ttid, 1); // PseudoStrip is masked
284  } // PseudoStrips
285 
286  } // TrigPrimTask::runOnRealTPs()
287 
289  MESet& meEtMaxEmul(MEs_.at("EtMaxEmul"));
290  MESet& meEmulMaxIndex(MEs_.at("EmulMaxIndex"));
291  MESet& meMatchedIndex(MEs_.at("MatchedIndex"));
292  MESet& meEtEmulError(MEs_.at("EtEmulError"));
293  MESet& meFGEmulError(MEs_.at("FGEmulError"));
294  MESet& meRealvEmulEt(MEs_.at("RealvEmulEt"));
295 
296  for (EcalTrigPrimDigiCollection::const_iterator tpItr(_tps.begin()); tpItr != _tps.end(); ++tpItr) {
297  EcalTrigTowerDetId ttid(tpItr->id());
298 
299  int et(tpItr->compressedEt());
300 
301  float maxEt(0.);
302  int iMax(0);
303  for (int iDigi(0); iDigi < 5; iDigi++) {
304  float sampleEt((*tpItr)[iDigi].compressedEt());
305 
306  if (sampleEt > maxEt) {
307  maxEt = sampleEt;
308  iMax = iDigi + 1;
309  }
310  }
311 
312  meEtMaxEmul.fill(ttid, maxEt);
313  if (maxEt > 0.)
314  meEmulMaxIndex.fill(ttid, iMax);
315 
316  bool match(true);
317  bool matchFG(true);
318 
319  // Loop over real TPs and look for an emulated TP index with matching Et:
320  // If an Et match is found, return TP index correpsonding to BX of emulated TP where match was found
321  // Standard TPG comparison: { TP index:matched BX } = { no emul:No Et match, 0:BX-2, 1:BX-1, 2:in-time, 3:BX+1, 4:BX+2 }
323  if (realItr != realTps_->end()) {
324  int realEt(realItr->compressedEt());
325 
326  if (realEt > 0) {
327  int ttF(realItr->ttFlag());
328  if ((ttF == 1 || ttF == 3) &&
329  towerReadouts_[ttid.rawId()] == getTrigTowerMap()->constituentsOf(ttid).size()) {
330  if (et != realEt)
331  match = false;
332  if (tpItr->fineGrain() != realItr->fineGrain())
333  matchFG = false;
334 
335  // NOTE: matchedIndex comparison differs from Standard TPG comparison:
336  // { matchedIndex:TP index } = { 0:no emul, 1:BX-2, 2:BX-1, 3:in-time, 4:BX+1, 5:BX+2 }
337  std::vector<int> matchedIndex(0);
338  // iDigi only loops over explicit Et matches:
339  // { iDigi:TP index } = { 0:BX-2, 1:BX-1, 2:in-time, 3:BX+1, 4:BX+2 }
340  for (int iDigi(0); iDigi < 5; iDigi++) {
341  if ((*tpItr)[iDigi].compressedEt() == realEt) {
342  // matchedIndex = iDigi + 1
343  if (iDigi != 2) {
344  matchedIndex.push_back(iDigi + 1);
345  }
346  // If an in-time match is found, exit loop and clear out any other matches:
347  // Ensures multiple matches are not returned (e.g. during saturation)
348  else {
349  matchedIndex.clear();
350  matchedIndex.push_back(3); // Et match is to in-time emulated TP
351  break;
352  }
353  } // Et match found
354  } // iDigi
355  if (matchedIndex.empty())
356  matchedIndex.push_back(0); // no Et match found => no emul
357 
358  // Fill Real vs Emulated TP Et
359  meRealvEmulEt.fill(ttid, realEt, (*tpItr)[2].compressedEt()); // iDigi=2:in-time BX
360 
361  // Fill matchedIndex ME
362  for (std::vector<int>::iterator matchItr(matchedIndex.begin()); matchItr != matchedIndex.end();
363  ++matchItr) {
364  meMatchedIndex.fill(ttid, *matchItr + 0.5);
365 
366  // timing information is only within emulated TPs (real TPs have one time sample)
367  // if(HLTCaloBit_) MEs_[kTimingCalo].fill(ttid, float(*matchItr));
368  // if(HLTMuonBit_) MEs_[kTimingMuon].fill(ttid, float(*matchItr));
369  }
370  }
371  }
372  } else {
373  match = false;
374  matchFG = false;
375  }
376 
377  if (!match)
378  meEtEmulError.fill(ttid);
379  if (!matchFG)
380  meFGEmulError.fill(ttid);
381  }
382  }
383 
385 } // namespace ecaldqm
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
ecaldqm::TrigPrimTask::addDependencies
void addDependencies(DependencySet &) override
Definition: TrigPrimTask.cc:44
EcalTPGStripStatusMap
std::map< uint32_t, uint16_t > EcalTPGStripStatusMap
Definition: EcalTPGStripStatus.h:24
EcalTPGTowerStatus::getMap
const std::map< uint32_t, uint16_t > & getMap() const
Definition: EcalTPGTowerStatus.h:15
ecaldqm::TrigPrimTask::lhcStatusInfoRecordToken_
edm::EDGetTokenT< TCDSRecord > lhcStatusInfoRecordToken_
Definition: TrigPrimTask.h:62
edm::SortedCollection::const_iterator
std::vector< T >::const_iterator const_iterator
Definition: SortedCollection.h:80
edm::EventBase::bunchCrossing
int bunchCrossing() const
Definition: EventBase.h:64
funct::false
false
Definition: Factorize.h:34
ecaldqm
Definition: DQWorker.h:24
EcalTPGStripStatusRcd.h
EcalTriggerElectronicsId
Ecal trigger electronics identification [32:20] Unused (so far) [19:13] TCC id [12:6] TT id [5:3] pse...
Definition: EcalTriggerElectronicsId.h:18
ecaldqm::DependencySet
Definition: DQWorkerTask.h:44
edm::LuminosityBlock
Definition: LuminosityBlock.h:50
edm::Run
Definition: Run.h:45
EcalTriggerElectronicsId::tccId
int tccId() const
get the DCC (Ecal Local DCC value not global one) id
Definition: EcalTriggerElectronicsId.h:31
ecaldqm::kEEDigi
Definition: Collections.h:26
ecaldqm::TrigPrimTask::towerReadouts_
std::map< uint32_t, unsigned > towerReadouts_
Definition: TrigPrimTask.h:56
l1extraParticles_cfi._params
_params
Definition: l1extraParticles_cfi.py:29
edm::SortedCollection
Definition: SortedCollection.h:49
ecaldqm::Dependency
Definition: DQWorkerTask.h:19
EcalTrigTowerDetId
Definition: EcalTrigTowerDetId.h:14
edm::Handle
Definition: AssociativeIterator.h:50
EcalTriggerElectronicsId::ttId
int ttId() const
get the tower id
Definition: EcalTriggerElectronicsId.h:33
EcalBarrel
Definition: EcalSubdetector.h:10
ecaldqm::MESet::fill
virtual void fill(DetId const &, double=1., double=1., double=1.)
Definition: MESet.h:46
EcalTPGStripStatusRcd
Definition: EcalTPGStripStatusRcd.h:5
ecaldqm::TrigPrimTask::setTokens
void setTokens(edm::ConsumesCollector &) override
Definition: TrigPrimTask.cc:183
EcalTPGStripStatus::getMap
const std::map< uint32_t, uint16_t > & getMap() const
Definition: EcalTPGStripStatus.h:15
ecaldqm::DQWorkerTask
Definition: DQWorkerTask.h:71
edm::EventSetup::get
T get() const
Definition: EventSetup.h:73
BSTRecord::getBeamMode
const uint16_t getBeamMode() const
Definition: BSTRecord.h:70
cuda_std::upper_bound
__host__ constexpr __device__ RandomIt upper_bound(RandomIt first, RandomIt last, const T &value, Compare comp={})
Definition: cudastdAlgorithm.h:45
EcalTPGTowerStatusMap
std::map< uint32_t, uint16_t > EcalTPGTowerStatusMap
Definition: EcalTPGTowerStatus.h:24
edm::SortedCollection::begin
const_iterator begin() const
Definition: SortedCollection.h:262
TrigPrimTask.h
ecaldqm::TrigPrimTask::runOnRealTPs
void runOnRealTPs(EcalTrigPrimDigiCollection const &)
Definition: TrigPrimTask.cc:187
edm::ESHandle< EcalTPGTowerStatus >
edm::ConsumesCollector::consumes
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
Definition: ConsumesCollector.h:49
edm::Event::getByToken
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:528
EcalElectronicsId
Ecal readout channel identification [32:20] Unused (so far) [19:13] DCC id [12:6] tower [5:3] strip [...
Definition: EcalElectronicsId.h:18
ecaldqm::DQWorker::MEs_
MESetCollection MEs_
Definition: DQWorker.h:78
muonRecoAnalyzer_cfi.pBin
pBin
Definition: muonRecoAnalyzer_cfi.py:37
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
EcalEndcap
Definition: EcalSubdetector.h:10
ecaldqm::TrigPrimTask::runOnEmulTPs
void runOnEmulTPs(EcalTrigPrimDigiCollection const &)
Definition: TrigPrimTask.cc:288
HLT_2018_cff.InputTag
InputTag
Definition: HLT_2018_cff.py:79016
edm::ParameterSet
Definition: ParameterSet.h:36
ecaldqm::TrigPrimTask::runOnEmul_
bool runOnEmul_
Definition: TrigPrimTask.h:46
Event.h
ecaldqm::TrigPrimTask::setParams
void setParams(edm::ParameterSet const &) override
Definition: TrigPrimTask.cc:30
ecaldqm::TrigPrimTask::StripStatusRcd
edm::ESHandle< EcalTPGStripStatus > StripStatusRcd
Definition: TrigPrimTask.h:59
edm::SortedCollection::end
const_iterator end() const
Definition: SortedCollection.h:267
match
std::pair< typename Association::data_type::first_type, double > match(Reference key, Association association, bool bestMatchByMaxValue)
Generic matching function.
Definition: Utils.h:10
ecaldqm::DependencySet::push_back
void push_back(Dependency const &_d)
Definition: DQWorkerTask.h:46
ecaldqm::TrigPrimTask::lhcStatusInfoCollectionTag_
edm::InputTag lhcStatusInfoCollectionTag_
Definition: TrigPrimTask.h:61
EgHLTOffHistBins_cfi.et
et
Definition: EgHLTOffHistBins_cfi.py:8
edm::EventSetup
Definition: EventSetup.h:57
ecaldqm::kTrigPrimDigi
Definition: Collections.h:28
ecaldqm::TrigPrimTask::TrigPrimTask
TrigPrimTask()
Definition: TrigPrimTask.cc:16
get
#define get
ecaldqm::TrigPrimTask::bxBin_
double bxBin_
Definition: TrigPrimTask.h:54
ecaldqm::getTrigTowerMap
const EcalTrigTowerConstituentsMap * getTrigTowerMap()
Definition: EcalDQMCommonUtils.cc:458
ecaldqm::kTrigPrimEmulDigi
Definition: Collections.h:29
edm::SortedCollection::find
iterator find(key_type k)
Definition: SortedCollection.h:240
siStripShotFilter_cfi.DigiCollection
DigiCollection
Definition: siStripShotFilter_cfi.py:6
EcalTPGTowerStatus
Definition: EcalTPGTowerStatus.h:9
std
Definition: JetResolutionObject.h:76
DetId::rawId
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
ecaldqm::kEBDigi
Definition: Collections.h:25
EcalTrigTowerConstituentsMap::constituentsOf
std::vector< DetId > constituentsOf(const EcalTrigTowerDetId &id) const
Get the constituent detids for this tower id.
Definition: EcalTrigTowerConstituentsMap.cc:162
ecaldqm::TrigPrimTask::runOnDigis
void runOnDigis(DigiCollection const &)
Definition: TrigPrimTask.cc:176
ecaldqm::TrigPrimTask::beginRun
void beginRun(edm::Run const &, edm::EventSetup const &) override
Definition: TrigPrimTask.cc:49
ecaldqm::TrigPrimTask::lhcStatusSet_
bool lhcStatusSet_
Definition: TrigPrimTask.h:63
TCDSRecord
Class to contain information from TCDS FED.
Definition: TCDSRecord.h:19
heavyionUCCDQM_cfi.maxEt
maxEt
Definition: heavyionUCCDQM_cfi.py:14
ecaldqm::TrigPrimTask::realTps_
EcalTrigPrimDigiCollection const * realTps_
Definition: TrigPrimTask.h:44
EventSetup.h
EcalTPGTowerStatusRcd.h
EcalTPGStripStatus
Definition: EcalTPGStripStatus.h:9
TCDSRecord::getBST
const BSTRecord & getBST() const
Definition: TCDSRecord.h:100
DEFINE_ECALDQM_WORKER
#define DEFINE_ECALDQM_WORKER(TYPE)
Definition: DQWorker.h:112
ParameterSet.h
ecaldqm::TrigPrimTask::beginEvent
void beginEvent(edm::Event const &, edm::EventSetup const &) override
Definition: TrigPrimTask.cc:67
ecaldqm::TrigPrimTask
Definition: TrigPrimTask.h:19
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
ecaldqm::getElectronicsMap
const EcalElectronicsMapping * getElectronicsMap()
Definition: EcalDQMCommonUtils.cc:438
edm::Event
Definition: Event.h:73
ecaldqm::TrigPrimTask::bxBinEdges_
std::array< int, nBXBins+1 > bxBinEdges_
Definition: TrigPrimTask.h:53
EcalTPGTowerStatusRcd
Definition: EcalTPGTowerStatusRcd.h:5
TriggerResultsByName.h
edm::InputTag
Definition: InputTag.h:15
edm::ConsumesCollector
Definition: ConsumesCollector.h:39
ecaldqm::TrigPrimTask::TTStatusRcd
edm::ESHandle< EcalTPGTowerStatus > TTStatusRcd
Definition: TrigPrimTask.h:58
EcalDQMCommonUtils.h
ecaldqm::TrigPrimTask::beginLuminosityBlock
void beginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) override
Definition: TrigPrimTask.cc:57
ecaldqm::MESet
Definition: MESet.h:27