CMS 3D CMS Logo

APVShotsAnalyzer.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: SiStripTools
4 // Class: APVShotsAnalyzer
5 //
13 //
14 // Original Author: Andrea Venturi
15 // Created: Tue Jul 19 11:56:00 CEST 2009
16 //
17 //
18 
19 // system include files
20 #include <memory>
21 
22 // user include files
23 #include "TH1F.h"
24 #include "TProfile.h"
25 #include <vector>
26 #include <string>
27 
31 
34 
36 
38 
41 
43 
46 
49 
52 
54 //******** Single include for the TkMap *************
56 //***************************************************
57 
58 //******** includes for the cabling *************
63 //***************************************************
64 
65 //
66 // class decleration
67 //
68 
70 public:
71  explicit APVShotsAnalyzer(const edm::ParameterSet&);
72  ~APVShotsAnalyzer() override;
73 
74 private:
75  void beginJob() override;
76  void beginRun(const edm::Run&, const edm::EventSetup&) override;
77  void endRun(const edm::Run&, const edm::EventSetup&) override;
78  void analyze(const edm::Event&, const edm::EventSetup&) override;
79  void endJob() override;
80 
81  void updateDetCabling(const SiStripDetCablingRcd& iRcd);
82 
83  // ----------member data ---------------------------
84 
92  const SiStripDetCabling* _detCabling = nullptr;
94  bool _zs;
96  int _nevents;
97 
98  TH1F* _nShots;
99  TH1F* _whichAPV;
100  TH1F* _stripMult;
101  TH1F* _median;
103  TH1F* _fed;
105 
106  TProfile* _nShotsbxcycle;
107  TProfile* _nShotsdbx;
108  TProfile* _nShotsdbxincycle;
110  TProfile* _nShotsdbxprev;
112 
115 
117 
118  TH1F** _nShotsrun;
119  TProfile** _nShotsVsTimerun;
120  TH1F** _whichAPVrun;
122  TH1F** _medianrun;
124  TH1F** _fedrun;
125 
126  std::unique_ptr<TkHistoMap> tkhisto, tkhisto2;
127 };
128 
129 //
130 // constants, enums and typedefs
131 //
132 
133 //
134 // static data member definitions
135 //
136 
137 //
138 // constructors and destructor
139 //
141  : _digicollectionToken(
142  consumes<edm::DetSetVector<SiStripDigi> >(iConfig.getParameter<edm::InputTag>("digiCollection"))),
143  _historyProductToken(consumes<EventWithHistory>(iConfig.getParameter<edm::InputTag>("historyProduct"))),
144  _apvphasecollToken(consumes<APVCyclePhaseCollection>(iConfig.getParameter<edm::InputTag>("apvPhaseCollection"))),
145  _tkDetMapToken(esConsumes()),
146  _useCabling(iConfig.getUntrackedParameter<bool>("useCabling", true)),
147  _detCablingWatcher(_useCabling ? decltype(_detCablingWatcher){this, &APVShotsAnalyzer::updateDetCabling}
148  : decltype(_detCablingWatcher){}),
149  _detCablingToken(_useCabling ? decltype(_detCablingToken){esConsumes()} : decltype(_detCablingToken){}),
150  _phasepart(iConfig.getUntrackedParameter<std::string>("phasePartition", "None")),
151  _zs(iConfig.getUntrackedParameter<bool>("zeroSuppressed", true)),
152  _suffix(iConfig.getParameter<std::string>("mapSuffix")),
153  _nevents(0),
154  _rhm(consumesCollector()) {
155  //now do what ever initialization is needed
156 
157  if (!_zs)
158  _suffix += "_notZS";
159 
161 
162  _nShots = tfserv->make<TH1F>("nShots", "Number of Shots per event", 200, -0.5, 199.5);
163  _nShots->GetXaxis()->SetTitle("Shots");
164  _nShots->GetYaxis()->SetTitle("Events");
165  _nShots->StatOverflows(kTRUE);
166 
167  _whichAPV = tfserv->make<TH1F>("whichAPV", "APV with shots", 6, -0.5, 5.5);
168  _whichAPV->GetXaxis()->SetTitle("APV");
169  _whichAPV->GetYaxis()->SetTitle("Shots");
170 
171  _stripMult = tfserv->make<TH1F>("stripMultiplicity", "Shot Strip Multiplicity", 129, -0.5, 128.5);
172  _stripMult->GetXaxis()->SetTitle("Number of Strips");
173  _stripMult->GetYaxis()->SetTitle("Shots");
174 
175  _median = tfserv->make<TH1F>("median", "APV Shot charge median", 256, -0.5, 255.5);
176  _median->GetXaxis()->SetTitle("Charge [ADC]");
177  _median->GetYaxis()->SetTitle("Shots");
178 
179  _subDetector = tfserv->make<TH1F>("subDets", "SubDetector Shot distribution", 10, -0.5, 9.5);
180  _subDetector->GetYaxis()->SetTitle("Shots");
181 
182  _nShotsbxcycle = tfserv->make<TProfile>("nShotsBXcycle", "Number of shots vs APV cycle bin", 70, -0.5, 69.5);
183  _nShotsbxcycle->GetXaxis()->SetTitle("Event BX mod(70)");
184  _nShotsbxcycle->GetYaxis()->SetTitle("APV shots");
185 
186  _nShotsdbx = tfserv->make<TProfile>("nShotsDBX", "Number of shots vs #Delta(BX)", 1000, -0.5, 999.5);
187  _nShotsdbx->GetXaxis()->SetTitle("Event #Delta(BX)");
188  _nShotsdbx->GetYaxis()->SetTitle("APV shots");
189 
190  _nShotsdbxincycle =
191  tfserv->make<TProfile>("nShotsDBXincycle", "Number of shots vs #Delta(BX) w.r.t. APV cycle", 1000, -0.5, 999.5);
192  _nShotsdbxincycle->GetXaxis()->SetTitle("Event #Delta(BX) w.r.t. APV cycle");
193  _nShotsdbxincycle->GetYaxis()->SetTitle("APV shots");
194 
195  _nShotsbxcycleprev =
196  tfserv->make<TProfile>("nShotsBXcycleprev", "Number of shots vs APV cycle bin of previous L1A", 70, -0.5, 69.5);
197  _nShotsbxcycleprev->GetXaxis()->SetTitle("Previous L1A BX mod(70)");
198  _nShotsbxcycleprev->GetYaxis()->SetTitle("APV shots");
199 
200  _nShotsdbxprev =
201  tfserv->make<TProfile>("nShotsDBXprev", "Number of shots vs #Delta(BX) of previous L1A", 1000, -0.5, 999.5);
202  _nShotsdbxprev->GetXaxis()->SetTitle("Previous L1A #Delta(BX)");
203  _nShotsdbxprev->GetYaxis()->SetTitle("APV shots");
204 
205  _nShotsdbxincycleprev = tfserv->make<TProfile>(
206  "nShotsDBXincycleprev", "Number of shots vs #Delta(BX) w.r.t. APV cycle of previous L1A", 1000, -0.5, 999.5);
207  _nShotsdbxincycleprev->GetXaxis()->SetTitle("Previous L1A #Delta(BX) w.r.t. APV cycle");
208  _nShotsdbxincycleprev->GetYaxis()->SetTitle("APV shots");
209 
210  _nShotsrun = _rhm.makeTH1F("nShotsrun", "Number of Shots per event", 200, -0.5, 199.5);
211  _nShotsVsTimerun =
212  _rhm.makeTProfile("nShotsVsTimerun", "Mean number of shots vs orbit number", 4 * 500, 0, 500 * 262144);
213  _whichAPVrun = _rhm.makeTH1F("whichAPVrun", "APV with shots", 6, -0.5, 5.5);
214  _stripMultrun = _rhm.makeTH1F("stripMultiplicityrun", "Shot Strip Multiplicity", 129, -0.5, 128.5);
215  _medianrun = _rhm.makeTH1F("medianrun", "APV Shot charge median", 256, -0.5, 255.5);
216  _subDetectorrun = _rhm.makeTH1F("subDetsrun", "SubDetector Shot distribution", 10, -0.5, 9.5);
217 
218  if (_useCabling) {
219  _fed = tfserv->make<TH1F>("fed", "FED Shot distribution", 440, 50, 490);
220  _fed->GetYaxis()->SetTitle("Shots");
221  _fedrun = _rhm.makeTH1F("fedrun", "FED Shot distribution", 440, 50, 490);
222 
223  _channelvsfed =
224  tfserv->make<TH2F>("channelvsfed", "Channel vs FED Shot distribution", 440, 50, 490, 97, -0.5, 96.5);
225  _channelvsfed->GetXaxis()->SetTitle("FED");
226  _channelvsfed->GetYaxis()->SetTitle("Channel");
227 
228  _nShotsVsFED =
229  tfserv->make<TH2F>("nShotsVsFED", "Number of Shots per event vs fedid", 440, 50, 490, 200, -0.5, 199.5);
230  _nShotsVsFED->GetXaxis()->SetTitle("fedId");
231  _nShots->GetYaxis()->SetTitle("Shots");
232  _nShots->GetZaxis()->SetTitle("Events");
233  _nShotsVsFED->StatOverflows(kTRUE);
234 
235  _medianVsFED = tfserv->make<TH2F>("medianVsFED", "APV Shot charge median vs fedid", 440, 50, 490, 256, -0.5, 255.5);
236  _medianVsFED->GetXaxis()->SetTitle("fedId");
237  _medianVsFED->GetYaxis()->SetTitle("Charge [ADC]");
238  _median->GetZaxis()->SetTitle("Shots");
239  }
240 
241  tkhisto = nullptr;
242  tkhisto2 = nullptr;
243 }
244 
246  // do anything here that needs to be done at desctruction time
247  // (e.g. close files, deallocate resources etc.)
248  if (_detCabling)
249  _detCabling = nullptr;
250 }
251 
252 //
253 // member functions
254 //
255 
256 // ------------ method called to for each event ------------
258  using namespace edm;
259 
260  if (_useCabling) {
261  //retrieve cabling
262  _detCablingWatcher.check(iSetup);
263  }
264 
265  if (!(tkhisto && tkhisto2)) {
266  const TkDetMap* tkDetMap = &iSetup.getData(_tkDetMapToken);
267  tkhisto = std::make_unique<TkHistoMap>(tkDetMap, "ShotMultiplicity", "ShotMultiplicity", -1);
268  tkhisto2 = std::make_unique<TkHistoMap>(tkDetMap, "StripMultiplicity", "StripMultiplicity", -1);
269  }
270 
271  _nevents++;
272 
274  iEvent.getByToken(_historyProductToken, he);
275 
277  iEvent.getByToken(_apvphasecollToken, apvphase);
278 
279  int thephase = APVCyclePhaseCollection::invalid;
280  if (apvphase.isValid() && !apvphase.failedToGet()) {
281  thephase = apvphase->getPhase(_phasepart);
282  }
283  bool isphaseok = (thephase != APVCyclePhaseCollection::invalid && thephase != APVCyclePhaseCollection::multiphase &&
285 
287  iEvent.getByToken(_digicollectionToken, digis);
288 
289  // loop on detector with digis
290 
291  int nshots = 0;
292  std::vector<int> nshotsperFed;
293 
294  const uint16_t lNumFeds = sistrip::FED_ID_MAX - sistrip::FED_ID_MIN + 1;
295  if (_useCabling) {
296  nshotsperFed.resize(lNumFeds, 0);
297  }
298 
299  APVShotFinder apvsf(*digis, _zs);
300  const std::vector<APVShot>& shots = apvsf.getShots();
301 
302  for (std::vector<APVShot>::const_iterator shot = shots.begin(); shot != shots.end(); ++shot) {
303  if (shot->isGenuine()) {
304  //get the fedid from the detid
305 
306  uint32_t det = shot->detId();
307  if (_useCabling) {
308  int apvPair = shot->apvNumber() / 2;
309  LogDebug("APVPair") << apvPair;
310 
311  const FedChannelConnection& theConn = _detCabling->getConnection(det, apvPair);
312 
313  int lChannelId = -1;
314  int thelFEDId = -1;
315  if (theConn.isConnected()) {
316  lChannelId = theConn.fedCh();
317  thelFEDId = theConn.fedId();
318  } else {
319  edm::LogWarning("ConnectionNotFound")
320  << "connection of det " << det << " APV pair " << apvPair << " not found";
321  }
322  LogDebug("FED channels") << thelFEDId << " " << lChannelId;
323 
324  const std::vector<const FedChannelConnection*>& conns = _detCabling->getConnections(det);
325 
326  if (!(conns.size()))
327  continue;
328  uint16_t lFedId = 0;
329  for (uint32_t ch = 0; ch < conns.size(); ch++) {
330  if (conns[ch] && conns[ch]->isConnected()) {
331  LogDebug("Dump") << *(conns[ch]);
332  LogDebug("ReadyForFEDid") << "Ready for FED id " << ch;
333  lFedId = conns[ch]->fedId();
334  LogDebug("FEDid") << "obtained FED id " << ch << " " << lFedId;
335  //uint16_t lFedCh = conns[ch]->fedCh();
336 
337  if (lFedId < sistrip::FED_ID_MIN || lFedId > sistrip::FED_ID_MAX) {
338  edm::LogWarning("InvalidFEDid") << lFedId << " for detid " << det << " connection " << ch;
339  continue;
340  } else
341  break;
342  }
343  }
344  if (lFedId < sistrip::FED_ID_MIN || lFedId > sistrip::FED_ID_MAX) {
345  edm::LogWarning("NoValidFEDid") << lFedId << "found for detid " << det;
346  continue;
347  }
348 
349  if (lFedId != thelFEDId) {
350  edm::LogWarning("FEDidMismatch") << " Mismatch in FED id for det " << det << " APV pair " << apvPair << " : "
351  << lFedId << " vs " << thelFEDId;
352  }
353 
354  LogDebug("FillingArray") << nshotsperFed.size() << " " << lFedId - sistrip::FED_ID_MIN;
355  ++nshotsperFed[lFedId - sistrip::FED_ID_MIN];
356 
357  LogDebug("ReadyToBeFilled") << " ready to be filled with " << thelFEDId << " " << lChannelId;
358  _channelvsfed->Fill(thelFEDId, lChannelId);
359  LogDebug("Filled") << " filled with " << thelFEDId << " " << lChannelId;
360 
361  _fed->Fill(lFedId);
362 
363  if (_fedrun && *_fedrun)
364  (*_fedrun)->Fill(lFedId);
365  _medianVsFED->Fill(lFedId, shot->median());
366  }
367 
368  ++nshots;
369 
370  _whichAPV->Fill(shot->apvNumber());
371  _median->Fill(shot->median());
372  _stripMult->Fill(shot->nStrips());
373  _subDetector->Fill(shot->subDet());
374 
375  if (_whichAPVrun && *_whichAPVrun)
376  (*_whichAPVrun)->Fill(shot->apvNumber());
377  if (_medianrun && *_medianrun)
378  (*_medianrun)->Fill(shot->median());
380  (*_stripMultrun)->Fill(shot->nStrips());
382  (*_subDetectorrun)->Fill(shot->subDet());
383 
384  tkhisto2->fill(det, shot->nStrips());
385  ;
386  tkhisto->add(det, 1);
387  }
388  }
389 
390  _nShots->Fill(nshots);
391  if (_nShotsrun && *_nShotsrun)
392  (*_nShotsrun)->Fill(nshots);
393 
394  _nShotsdbx->Fill(he->deltaBX(), nshots);
395  _nShotsdbxprev->Fill(he->deltaBX(), nshots);
396  if (isphaseok) {
397  _nShotsbxcycle->Fill(he->absoluteBXinCycle(thephase) % 70, nshots);
398  _nShotsdbxincycle->Fill(he->deltaBXinCycle(thephase), nshots);
399  _nShotsbxcycleprev->Fill(he->absoluteBXinCycle(1, thephase) % 70, nshots);
400  _nShotsdbxincycleprev->Fill(he->deltaBXinCycle(1, 2, thephase), nshots);
401  }
402 
403  if (_useCabling) {
404  for (uint16_t lFed(0); lFed < lNumFeds; lFed++) {
405  _nShotsVsFED->Fill(lFed + sistrip::FED_ID_MIN, nshotsperFed[lFed]);
406  }
407  }
408 
410  (*_nShotsVsTimerun)->Fill(iEvent.orbitNumber(), nshots);
411 }
412 
414  _rhm.beginRun(iRun);
415 
416  if (_nShotsrun && *_nShotsrun) {
417  (*_nShotsrun)->GetXaxis()->SetTitle("Shots");
418  (*_nShotsrun)->GetYaxis()->SetTitle("Events");
419  (*_nShotsrun)->StatOverflows(kTRUE);
420  }
421 
423  (*_nShotsVsTimerun)->GetXaxis()->SetTitle("Orbit");
424  (*_nShotsVsTimerun)->GetYaxis()->SetTitle("Number of Shots");
425  (*_nShotsVsTimerun)->SetCanExtend(TH1::kXaxis);
426  }
427 
428  if (_whichAPVrun && *_whichAPVrun) {
429  (*_whichAPVrun)->GetXaxis()->SetTitle("APV");
430  (*_whichAPVrun)->GetYaxis()->SetTitle("Shots");
431  }
432 
433  if (_stripMultrun && *_stripMultrun) {
434  (*_stripMultrun)->GetXaxis()->SetTitle("Number of Strips");
435  (*_stripMultrun)->GetYaxis()->SetTitle("Shots");
436  }
437 
438  if (_medianrun && *_medianrun) {
439  (*_medianrun)->GetXaxis()->SetTitle("Charge [ADC]");
440  (*_medianrun)->GetYaxis()->SetTitle("Shots");
441  }
442 
444  (*_subDetectorrun)->GetYaxis()->SetTitle("Shots");
445  }
446 
447  if (_useCabling) {
448  if (_fedrun && *_fedrun) {
449  (*_fedrun)->GetYaxis()->SetTitle("Shots");
450  }
451  }
452 }
453 
455 
456 // ------------ method called once each job just before starting event loop ------------
458 
459 // ------------ method called once each job just after ending the event loop ------------
461  edm::LogInfo("EndOfJob") << _nevents << " analyzed events";
462 
464  TrackerMap tkmap, tkmap2;
465 
466  tkmap.setPalette(1);
467  tkmap2.setPalette(1);
468  tkhisto->dumpInTkMap(&tkmap);
469  tkhisto2->dumpInTkMap(&tkmap2);
470  std::string tkshotmultmapname = "ShotMultiplicity_" + _suffix + ".png";
471  tkmap.save(true, 0, 0, tkshotmultmapname);
472  std::string tkstripmultmapname = "StripMultiplicity_" + _suffix + ".png";
473  tkmap2.save(true, 0, 0, tkstripmultmapname);
474 
475  std::string rootmapname = "TKMap_" + _suffix + ".root";
476  tkhisto->save(rootmapname);
477  tkhisto2->save(rootmapname);
478 }
479 
481 
482 //define this as a plug-in
edm::ESWatcher::check
bool check(const edm::EventSetup &iSetup)
Definition: ESWatcher.h:52
APVShotsAnalyzer::_nShotsdbxincycleprev
TProfile * _nShotsdbxincycleprev
Definition: APVShotsAnalyzer.cc:111
APVShot.h
electrons_cff.bool
bool
Definition: electrons_cff.py:366
APVShotsAnalyzer::APVShotsAnalyzer
APVShotsAnalyzer(const edm::ParameterSet &)
Definition: APVShotsAnalyzer.cc:140
MessageLogger.h
APVShotsAnalyzer::_nShotsdbxincycle
TProfile * _nShotsdbxincycle
Definition: APVShotsAnalyzer.cc:108
APVShotsAnalyzer::_detCablingWatcher
edm::ESWatcher< SiStripDetCablingRcd > _detCablingWatcher
Definition: APVShotsAnalyzer.cc:90
APVShotsAnalyzer::_nShotsdbxprev
TProfile * _nShotsdbxprev
Definition: APVShotsAnalyzer.cc:110
edm::ESWatcher< SiStripDetCablingRcd >
APVShotsAnalyzer::_tkDetMapToken
edm::ESGetToken< TkDetMap, TrackerTopologyRcd > _tkDetMapToken
Definition: APVShotsAnalyzer.cc:88
TrackerMap::setPalette
void setPalette(int numpalette)
Definition: TrackerMap.h:155
APVShotsAnalyzer::_stripMult
TH1F * _stripMult
Definition: APVShotsAnalyzer.cc:100
APVShotsAnalyzer::_nShotsVsFED
TH2F * _nShotsVsFED
Definition: APVShotsAnalyzer.cc:114
APVShotsAnalyzer::_nShotsbxcycle
TProfile * _nShotsbxcycle
Definition: APVShotsAnalyzer.cc:106
edm::Run
Definition: Run.h:45
APVShotsAnalyzer::_nShotsrun
TH1F ** _nShotsrun
Definition: APVShotsAnalyzer.cc:118
FedChannelConnection::fedCh
const uint16_t & fedCh() const
Definition: FedChannelConnection.h:221
edm::EDGetTokenT
Definition: EDGetToken.h:33
edm
HLT enums.
Definition: AlignableModifier.h:19
APVShotFinder.h
APVShotsAnalyzer::beginRun
void beginRun(const edm::Run &, const edm::EventSetup &) override
Definition: APVShotsAnalyzer.cc:413
APVShotsAnalyzer::_useCabling
bool _useCabling
Definition: APVShotsAnalyzer.cc:89
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:89285
EventWithHistory.h
APVShotsAnalyzer::_medianVsFED
TH2F * _medianVsFED
Definition: APVShotsAnalyzer.cc:113
EDAnalyzer.h
sistrip::FED_ID_MIN
static const uint16_t FED_ID_MIN
Definition: ConstantsForHardwareSystems.h:21
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
APVShotsAnalyzer::endJob
void endJob() override
Definition: APVShotsAnalyzer.cc:460
edm::Handle
Definition: AssociativeIterator.h:50
APVShotsAnalyzer::analyze
void analyze(const edm::Event &, const edm::EventSetup &) override
Definition: APVShotsAnalyzer.cc:257
APVShotsAnalyzer::tkhisto2
std::unique_ptr< TkHistoMap > tkhisto2
Definition: APVShotsAnalyzer.cc:126
edm::LogWarning
Log< level::Warning, false > LogWarning
Definition: MessageLogger.h:122
APVShotsAnalyzer::_whichAPVrun
TH1F ** _whichAPVrun
Definition: APVShotsAnalyzer.cc:120
APVShotsAnalyzer::_detCabling
const SiStripDetCabling * _detCabling
The cabling object.
Definition: APVShotsAnalyzer.cc:92
edm::EDAnalyzer
Definition: EDAnalyzer.h:28
SiStripDetCabling::getConnection
const FedChannelConnection & getConnection(uint32_t det_id, unsigned short apv_pair) const
Definition: SiStripDetCabling.cc:176
APVShotsAnalyzer::_medianrun
TH1F ** _medianrun
Definition: APVShotsAnalyzer.cc:122
APVCyclePhaseCollection::multiphase
Definition: APVCyclePhaseCollection.h:21
APVCyclePhaseCollection::invalid
Definition: APVCyclePhaseCollection.h:21
MakerMacros.h
APVShotsAnalyzer::_nShotsdbx
TProfile * _nShotsdbx
Definition: APVShotsAnalyzer.cc:107
SiStripDetCabling.h
RunHistogramManager
Definition: RunHistogramManager.h:210
DEFINE_FWK_MODULE
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
APVShotsAnalyzer::beginJob
void beginJob() override
Definition: APVShotsAnalyzer.cc:457
Service.h
APVShotsAnalyzer::tkhisto
std::unique_ptr< TkHistoMap > tkhisto
Definition: APVShotsAnalyzer.cc:126
RunHistogramManager.h
SiStripDigi.h
SiStripDetCabling
Definition: SiStripDetCabling.h:21
APVCyclePhaseCollection
Definition: APVCyclePhaseCollection.h:8
APVShotsAnalyzer::_phasepart
const std::string _phasepart
Definition: APVShotsAnalyzer.cc:93
APVShotsAnalyzer::_nShotsVsTimerun
TProfile ** _nShotsVsTimerun
Definition: APVShotsAnalyzer.cc:119
APVShotsAnalyzer::_detCablingToken
edm::ESGetToken< SiStripDetCabling, SiStripDetCablingRcd > _detCablingToken
Definition: APVShotsAnalyzer.cc:91
TkDetMap
Definition: TkDetMap.h:175
APVShotsAnalyzer
Definition: APVShotsAnalyzer.cc:69
TrackerMap
Definition: TrackerMap.h:76
SiStripDetCablingRcd
Definition: SiStripDependentRecords.h:19
edm::eventsetup::DependentRecordImplementation::get
ProductT const & get(ESGetToken< ProductT, DepRecordT > const &iToken) const
Definition: DependentRecordImplementation.h:109
TkHistoMap.h
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
TFileService.h
FedChannelConnection
Class containning control, module, detector and connection information, at the level of a FED channel...
Definition: FedChannelConnection.h:26
FedChannelConnection::isConnected
bool isConnected() const
Definition: FedChannelConnection.h:197
funct::true
true
Definition: Factorize.h:173
SiStripConstants.h
APVShotsAnalyzer::_fed
TH1F * _fed
Definition: APVShotsAnalyzer.cc:103
edm::HandleBase::failedToGet
bool failedToGet() const
Definition: HandleBase.h:72
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:233
edm::ParameterSet
Definition: ParameterSet.h:47
Event.h
APVShotsAnalyzer::_median
TH1F * _median
Definition: APVShotsAnalyzer.cc:101
APVCyclePhaseCollection::nopartition
Definition: APVCyclePhaseCollection.h:21
APVShotsAnalyzer::_nevents
int _nevents
Definition: APVShotsAnalyzer.cc:96
APVShotsAnalyzer::_digicollectionToken
edm::EDGetTokenT< edm::DetSetVector< SiStripDigi > > _digicollectionToken
Definition: APVShotsAnalyzer.cc:85
APVShotsAnalyzer::_rhm
RunHistogramManager _rhm
Definition: APVShotsAnalyzer.cc:116
RunHistogramManager::beginRun
void beginRun(const edm::Run &iRun)
Definition: RunHistogramManager.cc:101
APVCyclePhaseCollection.h
edm::Service< TFileService >
iEvent
int iEvent
Definition: GenABIO.cc:224
APVShotsAnalyzer::~APVShotsAnalyzer
~APVShotsAnalyzer() override
Definition: APVShotsAnalyzer.cc:245
APVShotsAnalyzer::_whichAPV
TH1F * _whichAPV
Definition: APVShotsAnalyzer.cc:99
edm::EventSetup
Definition: EventSetup.h:58
EventWithHistory
Definition: EventWithHistory.h:17
APVShotsAnalyzer::_apvphasecollToken
edm::EDGetTokenT< APVCyclePhaseCollection > _apvphasecollToken
Definition: APVShotsAnalyzer.cc:87
DetSetVector.h
APVShotsAnalyzer::_historyProductToken
edm::EDGetTokenT< EventWithHistory > _historyProductToken
Definition: APVShotsAnalyzer.cc:86
edm::ESGetToken< TkDetMap, TrackerTopologyRcd >
sistrip::FED_ID_MAX
static const uint16_t FED_ID_MAX
Definition: ConstantsForHardwareSystems.h:22
InputTag.h
TrackerMap.h
APVShotsAnalyzer::_subDetector
TH1F * _subDetector
Definition: APVShotsAnalyzer.cc:102
edm::EventSetup::getData
bool getData(T &iHolder) const
Definition: EventSetup.h:127
APVShotsAnalyzer::_nShots
TH1F * _nShots
Definition: APVShotsAnalyzer.cc:98
FedChannelConnection::fedId
const uint16_t & fedId() const
Definition: FedChannelConnection.h:220
TrackerMap::save
void save(bool print_total=true, float minval=0., float maxval=0., std::string s="svgmap.svg", int width=1500, int height=800)
Definition: TrackerMap.cc:810
APVShotsAnalyzer::_stripMultrun
TH1F ** _stripMultrun
Definition: APVShotsAnalyzer.cc:121
hcalSimParameters_cfi.he
he
Definition: hcalSimParameters_cfi.py:79
FedChannelConnection.h
Frameworkfwd.h
ESWatcher.h
APVShotFinder
Definition: APVShotFinder.h:16
APVShotsAnalyzer::updateDetCabling
void updateDetCabling(const SiStripDetCablingRcd &iRcd)
Definition: APVShotsAnalyzer.cc:480
APVShotsAnalyzer::_suffix
std::string _suffix
Definition: APVShotsAnalyzer.cc:95
APVCyclePhaseCollection::getPhase
const int getPhase(const std::string partition) const
Definition: APVCyclePhaseCollection.cc:5
APVShotsAnalyzer::_channelvsfed
TH2F * _channelvsfed
Definition: APVShotsAnalyzer.cc:104
edm::EDConsumerBase::esConsumes
auto esConsumes()
Definition: EDConsumerBase.h:202
SiStripDigi
A Digi for the silicon strip detector, containing both strip and adc information, and suitable for st...
Definition: SiStripDigi.h:12
SiStripDetCablingRcd.h
ParameterSet.h
APVShotsAnalyzer::_fedrun
TH1F ** _fedrun
Definition: APVShotsAnalyzer.cc:124
APVShotsAnalyzer::endRun
void endRun(const edm::Run &, const edm::EventSetup &) override
Definition: APVShotsAnalyzer.cc:454
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
DeDxTools::esConsumes
ESGetTokenH3DDVariant esConsumes(std::string const &Reccord, edm::ConsumesCollector &)
Definition: DeDxTools.cc:283
APVShotsAnalyzer::_subDetectorrun
TH1F ** _subDetectorrun
Definition: APVShotsAnalyzer.cc:123
edm::Event
Definition: Event.h:73
APVShotFinder::getShots
const std::vector< APVShot > & getShots() const
Definition: APVShotFinder.cc:69
APVShotsAnalyzer::_nShotsbxcycleprev
TProfile * _nShotsbxcycleprev
Definition: APVShotsAnalyzer.cc:109
SiStripDetCabling::getConnections
const std::vector< const FedChannelConnection * > & getConnections(uint32_t det_id) const
Definition: SiStripDetCabling.cc:161
TFileService::make
T * make(const Args &... args) const
make new ROOT object
Definition: TFileService.h:64
APVShotsAnalyzer::_zs
bool _zs
Definition: APVShotsAnalyzer.cc:94