CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Attributes
GlobalDigisHistogrammer Class Reference

#include <GlobalDigisHistogrammer.h>

Inheritance diagram for GlobalDigisHistogrammer:
DQMEDAnalyzer edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >

Public Types

typedef std::map< uint32_t, float, std::less< uint32_t > > MapType
 
- Public Types inherited from DQMEDAnalyzer
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
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
 

Public Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
 GlobalDigisHistogrammer (const edm::ParameterSet &)
 
 ~GlobalDigisHistogrammer () override
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &event, edm::EventSetup const &setup) final
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
void beginStream (edm::StreamID id) final
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer ()
 
void endLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
 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
 

Private Attributes

unsigned int count
 
bool doOutput
 
std::string fName
 
int frequency
 
bool getAllProvenances
 
edm::InputTag GlobalDigisSrc_
 
edm::EDGetTokenT< PGlobalDigiGlobalDigisSrc_Token_
 
std::string label
 
MonitorElementmehCSCStripADC
 
MonitorElementmehCSCStripn
 
MonitorElementmehCSCWiren
 
MonitorElementmehCSCWireTime
 
MonitorElementmehDtMuonLayer [4]
 
MonitorElementmehDtMuonn [4]
 
MonitorElementmehDtMuonTime [4]
 
MonitorElementmehDtMuonTimevLayer [4]
 
MonitorElementmehEcalAEE [2]
 
MonitorElementmehEcalMaxPos [2]
 
MonitorElementmehEcalMultvAEE [2]
 
MonitorElementmehEcaln [3]
 
MonitorElementmehEcalSHE [2]
 
MonitorElementmehEcalSHEvAEESHE [2]
 
MonitorElementmehEScalADC [3]
 
MonitorElementmehHcalAEE [4]
 
MonitorElementmehHcalAEESHE [4]
 
MonitorElementmehHcaln [4]
 
MonitorElementmehHcalSHE [4]
 
MonitorElementmehHcalSHEvAEE [4]
 
MonitorElementmehSiPixelADC [7]
 
MonitorElementmehSiPixelCol [7]
 
MonitorElementmehSiPixeln [7]
 
MonitorElementmehSiPixelRow [7]
 
MonitorElementmehSiStripADC [19]
 
MonitorElementmehSiStripn [19]
 
MonitorElementmehSiStripStrip [19]
 
std::string outputfile
 
bool printProvenanceInfo
 
int theCSCStripPedestalCount
 
float theCSCStripPedestalSum
 
int verbosity
 

Additional Inherited Members

- Static Public Member Functions inherited from DQMEDAnalyzer
static void globalEndJob (DQMEDAnalyzerGlobalCache const *)
 
static void globalEndLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup, LuminosityBlockContext const *context)
 
static void globalEndRunProduce (edm::Run &run, edm::EventSetup const &setup, RunContext const *context)
 
static std::unique_ptr< DQMEDAnalyzerGlobalCacheinitializeGlobalCache (edm::ParameterSet const &)
 
- Protected Member Functions inherited from DQMEDAnalyzer
uint64_t meId () const
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 
unsigned int streamId_
 

Detailed Description

Definition at line 48 of file GlobalDigisHistogrammer.h.

Member Typedef Documentation

◆ MapType

typedef std::map<uint32_t, float, std::less<uint32_t> > GlobalDigisHistogrammer::MapType

Definition at line 53 of file GlobalDigisHistogrammer.h.

Constructor & Destructor Documentation

◆ GlobalDigisHistogrammer()

GlobalDigisHistogrammer::GlobalDigisHistogrammer ( const edm::ParameterSet iPSet)
explicit

Definition at line 10 of file GlobalDigisHistogrammer.cc.

References doOutput, fName, frequency, getAllProvenances, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), GlobalDigisSrc_, GlobalDigisSrc_Token_, outputfile, printProvenanceInfo, AlCaHLTBitMon_QueryRunRegistry::string, and verbosity.

11  : fName(""),
12  verbosity(0),
13  frequency(0),
14  label(""),
15  getAllProvenances(false),
16  printProvenanceInfo(false),
19  count(0) {
20  std::string MsgLoggerCat = "GlobalDigisHistogrammer_GlobalDigisHistogrammer";
21 
22  // get information from parameter set
23  fName = iPSet.getUntrackedParameter<std::string>("Name");
24  verbosity = iPSet.getUntrackedParameter<int>("Verbosity");
25  frequency = iPSet.getUntrackedParameter<int>("Frequency");
26  outputfile = iPSet.getParameter<std::string>("outputFile");
27  doOutput = iPSet.getParameter<bool>("DoOutput");
28  edm::ParameterSet m_Prov = iPSet.getParameter<edm::ParameterSet>("ProvenanceLookup");
29  getAllProvenances = m_Prov.getUntrackedParameter<bool>("GetAllProvenances");
30  printProvenanceInfo = m_Prov.getUntrackedParameter<bool>("PrintProvenanceInfo");
31 
32  // get Labels to use to extract information
33  GlobalDigisSrc_ = iPSet.getParameter<edm::InputTag>("GlobalDigisSrc");
34  // ECalEBSrc_ = iPSet.getParameter<edm::InputTag>("ECalEBSrc");
35  // ECalEESrc_ = iPSet.getParameter<edm::InputTag>("ECalEESrc");
36  // ECalESSrc_ = iPSet.getParameter<edm::InputTag>("ECalESSrc");
37  // HCalSrc_ = iPSet.getParameter<edm::InputTag>("HCalSrc");
38  // SiStripSrc_ = iPSet.getParameter<edm::InputTag>("SiStripSrc");
39  // SiPxlSrc_ = iPSet.getParameter<edm::InputTag>("SiPxlSrc");
40  // MuDTSrc_ = iPSet.getParameter<edm::InputTag>("MuDTSrc");
41  // MuCSCStripSrc_ = iPSet.getParameter<edm::InputTag>("MuCSCStripSrc");
42  // MuCSCWireSrc_ = iPSet.getParameter<edm::InputTag>("MuCSCWireSrc");
43 
44  // fix for consumes
45  GlobalDigisSrc_Token_ = consumes<PGlobalDigi>(iPSet.getParameter<edm::InputTag>("GlobalDigisSrc"));
46  // use value of first digit to determine default output level (inclusive)
47  // 0 is none, 1 is basic, 2 is fill output, 3 is gather output
48  verbosity %= 10;
49 
50  // create persistent object
51  // produces<PGlobalDigi>(label);
52 
53  // print out Parameter Set information being used
54  if (verbosity >= 0) {
55  edm::LogInfo(MsgLoggerCat) << "\n===============================\n"
56  << "Initialized as EDHistogrammer with parameter values:\n"
57  << " Name = " << fName << "\n"
58  << " Verbosity = " << verbosity << "\n"
59  << " Frequency = " << frequency << "\n"
60  << " OutputFile = " << outputfile << "\n"
61  << " DoOutput = " << doOutput << "\n"
62  << " GetProv = " << getAllProvenances << "\n"
63  << " PrintProv = " << printProvenanceInfo << "\n"
64  << " Global Src = " << GlobalDigisSrc_ << "\n"
65 
66  << "===============================\n";
67  }
68 }
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
T getUntrackedParameter(std::string const &, T const &) const
Log< level::Info, false > LogInfo
edm::EDGetTokenT< PGlobalDigi > GlobalDigisSrc_Token_

◆ ~GlobalDigisHistogrammer()

GlobalDigisHistogrammer::~GlobalDigisHistogrammer ( )
override

Definition at line 351 of file GlobalDigisHistogrammer.cc.

351 {}

Member Function Documentation

◆ analyze()

void GlobalDigisHistogrammer::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overridevirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 353 of file GlobalDigisHistogrammer.cc.

References count, dqm::impl::MonitorElement::Fill(), frequency, getAllProvenances, PGlobalDigi::getBRL1Digis(), PGlobalDigi::getBRL2Digis(), PGlobalDigi::getBRL3Digis(), PGlobalDigi::getCSCstripDigis(), PGlobalDigi::getCSCwireDigis(), PGlobalDigi::getEBCalDigis(), PGlobalDigi::getEECalDigis(), PGlobalDigi::getESCalDigis(), PGlobalDigi::getFWD1nDigis(), PGlobalDigi::getFWD1pDigis(), PGlobalDigi::getFWD2nDigis(), PGlobalDigi::getFWD2pDigis(), PGlobalDigi::getHBCalDigis(), PGlobalDigi::getHECalDigis(), PGlobalDigi::getHFCalDigis(), PGlobalDigi::getHOCalDigis(), PGlobalDigi::getMB1Digis(), PGlobalDigi::getMB2Digis(), PGlobalDigi::getMB3Digis(), PGlobalDigi::getMB4Digis(), PGlobalDigi::getnBRL1Digis(), PGlobalDigi::getnBRL2Digis(), PGlobalDigi::getnBRL3Digis(), PGlobalDigi::getnCSCstripDigis(), PGlobalDigi::getnCSCwireDigis(), PGlobalDigi::getnEBCalDigis(), PGlobalDigi::getnEECalDigis(), PGlobalDigi::getnESCalDigis(), PGlobalDigi::getnFWD1nDigis(), PGlobalDigi::getnFWD1pDigis(), PGlobalDigi::getnFWD2nDigis(), PGlobalDigi::getnFWD2pDigis(), PGlobalDigi::getnHBCalDigis(), PGlobalDigi::getnHECalDigis(), PGlobalDigi::getnHFCalDigis(), PGlobalDigi::getnHOCalDigis(), PGlobalDigi::getnMB1Digis(), PGlobalDigi::getnMB2Digis(), PGlobalDigi::getnMB3Digis(), PGlobalDigi::getnMB4Digis(), PGlobalDigi::getnTECW1Digis(), PGlobalDigi::getnTECW2Digis(), PGlobalDigi::getnTECW3Digis(), PGlobalDigi::getnTECW4Digis(), PGlobalDigi::getnTECW5Digis(), PGlobalDigi::getnTECW6Digis(), PGlobalDigi::getnTECW7Digis(), PGlobalDigi::getnTECW8Digis(), PGlobalDigi::getnTIBL1Digis(), PGlobalDigi::getnTIBL2Digis(), PGlobalDigi::getnTIBL3Digis(), PGlobalDigi::getnTIBL4Digis(), PGlobalDigi::getnTIDW1Digis(), PGlobalDigi::getnTIDW2Digis(), PGlobalDigi::getnTIDW3Digis(), PGlobalDigi::getnTOBL1Digis(), PGlobalDigi::getnTOBL2Digis(), PGlobalDigi::getnTOBL3Digis(), PGlobalDigi::getnTOBL4Digis(), PGlobalDigi::getTECW1Digis(), PGlobalDigi::getTECW2Digis(), PGlobalDigi::getTECW3Digis(), PGlobalDigi::getTECW4Digis(), PGlobalDigi::getTECW5Digis(), PGlobalDigi::getTECW6Digis(), PGlobalDigi::getTECW7Digis(), PGlobalDigi::getTECW8Digis(), PGlobalDigi::getTIBL1Digis(), PGlobalDigi::getTIBL2Digis(), PGlobalDigi::getTIBL3Digis(), PGlobalDigi::getTIBL4Digis(), PGlobalDigi::getTIDW1Digis(), PGlobalDigi::getTIDW2Digis(), PGlobalDigi::getTIDW3Digis(), PGlobalDigi::getTOBL1Digis(), PGlobalDigi::getTOBL2Digis(), PGlobalDigi::getTOBL3Digis(), PGlobalDigi::getTOBL4Digis(), GlobalDigisSrc_Token_, mps_fire::i, iEvent, edm::HandleBase::isValid(), pixelTopology::layer, mehCSCStripADC, mehCSCStripn, mehCSCWiren, mehCSCWireTime, mehDtMuonLayer, mehDtMuonn, mehDtMuonTime, mehDtMuonTimevLayer, mehEcalAEE, mehEcalMaxPos, mehEcalMultvAEE, mehEcaln, mehEcalSHE, mehEcalSHEvAEESHE, mehEScalADC, mehHcalAEE, mehHcalAEESHE, mehHcaln, mehHcalSHE, mehHcalSHEvAEE, mehSiPixelADC, mehSiPixelCol, mehSiPixeln, mehSiPixelRow, mehSiStripADC, mehSiStripn, mehSiStripStrip, nevt, printProvenanceInfo, AlCaHLTBitMon_QueryRunRegistry::string, hcal_runs::TIME, and verbosity.

353  {
354  std::string MsgLoggerCat = "GlobalDigisHistogrammer_analyze";
355 
356  // keep track of number of events processed
357  ++count;
358 
359  // get event id information
360  edm::RunNumber_t nrun = iEvent.id().run();
361  edm::EventNumber_t nevt = iEvent.id().event();
362 
363  if (verbosity > 0) {
364  edm::LogInfo(MsgLoggerCat) << "Processing run " << nrun << ", event " << nevt << " (" << count << " events total)";
365  } else if (verbosity == 0) {
366  if (nevt % frequency == 0 || nevt == 1) {
367  edm::LogInfo(MsgLoggerCat) << "Processing run " << nrun << ", event " << nevt << " (" << count
368  << " events total)";
369  }
370  }
371 
372  // clear event holders
373  // clear();
374 
375  // look at information available in the event
376  if (getAllProvenances) {
377  std::vector<const edm::StableProvenance *> AllProv;
378  iEvent.getAllStableProvenance(AllProv);
379 
380  if (verbosity >= 0)
381  edm::LogInfo(MsgLoggerCat) << "Number of Provenances = " << AllProv.size();
382 
383  if (printProvenanceInfo && (verbosity >= 0)) {
384  TString eventout("\nProvenance info:\n");
385 
386  for (unsigned int i = 0; i < AllProv.size(); ++i) {
387  eventout += "\n ******************************";
388  eventout += "\n Module : ";
389  // eventout += (AllProv[i]->product).moduleLabel();
390  eventout += AllProv[i]->moduleLabel();
391  eventout += "\n ProductID : ";
392  // eventout += (AllProv[i]->product).productID_.id_;
393  eventout += AllProv[i]->productID().id();
394  eventout += "\n ClassName : ";
395  // eventout += (AllProv[i]->product).fullClassName_;
396  eventout += AllProv[i]->className();
397  eventout += "\n InstanceName : ";
398  // eventout += (AllProv[i]->product).productInstanceName_;
399  eventout += AllProv[i]->productInstanceName();
400  eventout += "\n BranchName : ";
401  // eventout += (AllProv[i]->product).branchName_;
402  eventout += AllProv[i]->branchName();
403  }
404  eventout += "\n ******************************\n";
405  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
406  printProvenanceInfo = false;
407  getAllProvenances = false;
408  }
409  edm::Handle<PGlobalDigi> srcGlobalDigis;
410  iEvent.getByToken(GlobalDigisSrc_Token_, srcGlobalDigis);
411  if (!srcGlobalDigis.isValid()) {
412  edm::LogWarning(MsgLoggerCat) << "Unable to find PGlobalDigis in event!";
413  return;
414  }
415 
416  int nEBCalDigis = srcGlobalDigis->getnEBCalDigis();
417  int nEECalDigis = srcGlobalDigis->getnEECalDigis();
418  int nESCalDigis = srcGlobalDigis->getnESCalDigis();
419 
420  int nHBCalDigis = srcGlobalDigis->getnHBCalDigis();
421  int nHECalDigis = srcGlobalDigis->getnHECalDigis();
422  int nHOCalDigis = srcGlobalDigis->getnHOCalDigis();
423  int nHFCalDigis = srcGlobalDigis->getnHFCalDigis();
424 
425  int nTIBL1Digis = srcGlobalDigis->getnTIBL1Digis();
426  int nTIBL2Digis = srcGlobalDigis->getnTIBL2Digis();
427  int nTIBL3Digis = srcGlobalDigis->getnTIBL3Digis();
428  int nTIBL4Digis = srcGlobalDigis->getnTIBL4Digis();
429  int nTOBL1Digis = srcGlobalDigis->getnTOBL1Digis();
430  int nTOBL2Digis = srcGlobalDigis->getnTOBL2Digis();
431  int nTOBL3Digis = srcGlobalDigis->getnTOBL3Digis();
432  int nTOBL4Digis = srcGlobalDigis->getnTOBL4Digis();
433  int nTIDW1Digis = srcGlobalDigis->getnTIDW1Digis();
434  int nTIDW2Digis = srcGlobalDigis->getnTIDW2Digis();
435  int nTIDW3Digis = srcGlobalDigis->getnTIDW3Digis();
436  int nTECW1Digis = srcGlobalDigis->getnTECW1Digis();
437  int nTECW2Digis = srcGlobalDigis->getnTECW2Digis();
438  int nTECW3Digis = srcGlobalDigis->getnTECW3Digis();
439  int nTECW4Digis = srcGlobalDigis->getnTECW4Digis();
440  int nTECW5Digis = srcGlobalDigis->getnTECW5Digis();
441  int nTECW6Digis = srcGlobalDigis->getnTECW6Digis();
442  int nTECW7Digis = srcGlobalDigis->getnTECW7Digis();
443  int nTECW8Digis = srcGlobalDigis->getnTECW8Digis();
444 
445  int nBRL1Digis = srcGlobalDigis->getnBRL1Digis();
446  int nBRL2Digis = srcGlobalDigis->getnBRL2Digis();
447  int nBRL3Digis = srcGlobalDigis->getnBRL3Digis();
448  int nFWD1nDigis = srcGlobalDigis->getnFWD1nDigis();
449  int nFWD1pDigis = srcGlobalDigis->getnFWD1pDigis();
450  int nFWD2nDigis = srcGlobalDigis->getnFWD2nDigis();
451  int nFWD2pDigis = srcGlobalDigis->getnFWD2pDigis();
452 
453  int nMB1Digis = srcGlobalDigis->getnMB1Digis();
454  int nMB2Digis = srcGlobalDigis->getnMB2Digis();
455  int nMB3Digis = srcGlobalDigis->getnMB3Digis();
456  int nMB4Digis = srcGlobalDigis->getnMB4Digis();
457 
458  int nCSCstripDigis = srcGlobalDigis->getnCSCstripDigis();
459 
460  int nCSCwireDigis = srcGlobalDigis->getnCSCwireDigis();
461 
462  // get Ecal info
463  std::vector<PGlobalDigi::ECalDigi> EECalDigis = srcGlobalDigis->getEECalDigis();
464  mehEcaln[0]->Fill((float)nEECalDigis);
465  for (unsigned int i = 0; i < EECalDigis.size(); ++i) {
466  mehEcalAEE[0]->Fill(EECalDigis[i].AEE);
467  mehEcalMaxPos[0]->Fill(EECalDigis[i].maxPos);
468  mehEcalMultvAEE[0]->Fill(EECalDigis[i].AEE, (float)nEECalDigis, 1);
469  if (EECalDigis[i].SHE != 0.) {
470  mehEcalSHE[0]->Fill(EECalDigis[i].SHE);
471  mehEcalSHEvAEESHE[0]->Fill(EECalDigis[i].AEE / EECalDigis[i].SHE, EECalDigis[i].SHE, 1);
472  }
473  }
474 
475  std::vector<PGlobalDigi::ECalDigi> EBCalDigis = srcGlobalDigis->getEBCalDigis();
476  mehEcaln[1]->Fill((float)nEBCalDigis);
477  for (unsigned int i = 0; i < EBCalDigis.size(); ++i) {
478  mehEcalAEE[1]->Fill(EBCalDigis[i].AEE);
479  mehEcalMaxPos[1]->Fill(EBCalDigis[i].maxPos);
480  mehEcalMultvAEE[1]->Fill(EBCalDigis[i].AEE, (float)nEBCalDigis, 1);
481  if (EBCalDigis[i].SHE != 0.) {
482  mehEcalSHE[1]->Fill(EBCalDigis[i].SHE);
483  mehEcalSHEvAEESHE[1]->Fill(EBCalDigis[i].AEE / EBCalDigis[i].SHE, EBCalDigis[i].SHE, 1);
484  }
485  }
486 
487  std::vector<PGlobalDigi::ESCalDigi> ESCalDigis = srcGlobalDigis->getESCalDigis();
488  mehEcaln[2]->Fill((float)nESCalDigis);
489  for (unsigned int i = 0; i < ESCalDigis.size(); ++i) {
490  mehEScalADC[0]->Fill(ESCalDigis[i].ADC0);
491  mehEScalADC[1]->Fill(ESCalDigis[i].ADC1);
492  mehEScalADC[2]->Fill(ESCalDigis[i].ADC2);
493  }
494 
495  // Get HCal info
496  std::vector<PGlobalDigi::HCalDigi> HBCalDigis = srcGlobalDigis->getHBCalDigis();
497  mehHcaln[0]->Fill((float)nHBCalDigis);
498  for (unsigned int i = 0; i < HBCalDigis.size(); ++i) {
499  mehHcalAEE[0]->Fill(HBCalDigis[i].AEE);
500  if (HBCalDigis[i].SHE != 0.) {
501  mehHcalSHE[0]->Fill(HBCalDigis[i].SHE);
502  mehHcalAEESHE[0]->Fill(HBCalDigis[i].AEE / HBCalDigis[i].SHE);
503  mehHcalSHEvAEE[0]->Fill(HBCalDigis[i].AEE, HBCalDigis[i].SHE, 1);
504  }
505  }
506  std::vector<PGlobalDigi::HCalDigi> HECalDigis = srcGlobalDigis->getHECalDigis();
507  mehHcaln[1]->Fill((float)nHECalDigis);
508  for (unsigned int i = 0; i < HECalDigis.size(); ++i) {
509  mehHcalAEE[1]->Fill(HECalDigis[i].AEE);
510  if (HECalDigis[i].SHE != 0.) {
511  mehHcalSHE[1]->Fill(HECalDigis[i].SHE);
512  mehHcalAEESHE[1]->Fill(HECalDigis[i].AEE / HECalDigis[i].SHE);
513  mehHcalSHEvAEE[1]->Fill(HECalDigis[i].AEE, HECalDigis[i].SHE, 1);
514  }
515  }
516 
517  std::vector<PGlobalDigi::HCalDigi> HOCalDigis = srcGlobalDigis->getHOCalDigis();
518  mehHcaln[2]->Fill((float)nHOCalDigis);
519  for (unsigned int i = 0; i < HOCalDigis.size(); ++i) {
520  mehHcalAEE[2]->Fill(HOCalDigis[i].AEE);
521  if (HOCalDigis[i].SHE != 0.) {
522  mehHcalSHE[2]->Fill(HOCalDigis[i].SHE);
523  mehHcalAEESHE[2]->Fill(HOCalDigis[i].AEE / HOCalDigis[i].SHE);
524  mehHcalSHEvAEE[2]->Fill(HOCalDigis[i].AEE, HOCalDigis[i].SHE, 1);
525  }
526  }
527 
528  std::vector<PGlobalDigi::HCalDigi> HFCalDigis = srcGlobalDigis->getHFCalDigis();
529  mehHcaln[3]->Fill((float)nHFCalDigis);
530  for (unsigned int i = 0; i < HFCalDigis.size(); ++i) {
531  mehHcalAEE[3]->Fill(HFCalDigis[i].AEE);
532  if (HFCalDigis[i].SHE != 0.) {
533  mehHcalSHE[3]->Fill(HFCalDigis[i].SHE);
534  mehHcalAEESHE[3]->Fill(HFCalDigis[i].AEE / HFCalDigis[i].SHE);
535  mehHcalSHEvAEE[3]->Fill(HFCalDigis[i].AEE, HFCalDigis[i].SHE, 1);
536  }
537  }
538 
539  // get SiStrip info
540  std::vector<PGlobalDigi::SiStripDigi> TIBL1Digis = srcGlobalDigis->getTIBL1Digis();
541  mehSiStripn[0]->Fill((float)nTIBL1Digis);
542  for (unsigned int i = 0; i < TIBL1Digis.size(); ++i) {
543  mehSiStripADC[0]->Fill(TIBL1Digis[i].ADC);
544  mehSiStripStrip[0]->Fill(TIBL1Digis[i].STRIP);
545  }
546 
547  std::vector<PGlobalDigi::SiStripDigi> TIBL2Digis = srcGlobalDigis->getTIBL2Digis();
548  mehSiStripn[1]->Fill((float)nTIBL2Digis);
549  for (unsigned int i = 0; i < TIBL2Digis.size(); ++i) {
550  mehSiStripADC[1]->Fill(TIBL2Digis[i].ADC);
551  mehSiStripStrip[1]->Fill(TIBL2Digis[i].STRIP);
552  }
553 
554  std::vector<PGlobalDigi::SiStripDigi> TIBL3Digis = srcGlobalDigis->getTIBL3Digis();
555  mehSiStripn[2]->Fill((float)nTIBL3Digis);
556  for (unsigned int i = 0; i < TIBL3Digis.size(); ++i) {
557  mehSiStripADC[2]->Fill(TIBL3Digis[i].ADC);
558  mehSiStripStrip[2]->Fill(TIBL3Digis[i].STRIP);
559  }
560 
561  std::vector<PGlobalDigi::SiStripDigi> TIBL4Digis = srcGlobalDigis->getTIBL4Digis();
562  mehSiStripn[3]->Fill((float)nTIBL4Digis);
563  for (unsigned int i = 0; i < TIBL4Digis.size(); ++i) {
564  mehSiStripADC[3]->Fill(TIBL4Digis[i].ADC);
565  mehSiStripStrip[3]->Fill(TIBL4Digis[i].STRIP);
566  }
567 
568  std::vector<PGlobalDigi::SiStripDigi> TOBL1Digis = srcGlobalDigis->getTOBL1Digis();
569  mehSiStripn[4]->Fill((float)nTOBL1Digis);
570  for (unsigned int i = 0; i < TOBL1Digis.size(); ++i) {
571  mehSiStripADC[4]->Fill(TOBL1Digis[i].ADC);
572  mehSiStripStrip[4]->Fill(TOBL1Digis[i].STRIP);
573  }
574 
575  std::vector<PGlobalDigi::SiStripDigi> TOBL2Digis = srcGlobalDigis->getTOBL2Digis();
576  mehSiStripn[5]->Fill((float)nTOBL2Digis);
577  for (unsigned int i = 0; i < TOBL2Digis.size(); ++i) {
578  mehSiStripADC[5]->Fill(TOBL2Digis[i].ADC);
579  mehSiStripStrip[5]->Fill(TOBL2Digis[i].STRIP);
580  }
581 
582  std::vector<PGlobalDigi::SiStripDigi> TOBL3Digis = srcGlobalDigis->getTOBL3Digis();
583  mehSiStripn[6]->Fill((float)nTOBL3Digis);
584  for (unsigned int i = 0; i < TOBL3Digis.size(); ++i) {
585  mehSiStripADC[6]->Fill(TOBL3Digis[i].ADC);
586  mehSiStripStrip[6]->Fill(TOBL3Digis[i].STRIP);
587  }
588 
589  std::vector<PGlobalDigi::SiStripDigi> TOBL4Digis = srcGlobalDigis->getTOBL4Digis();
590  mehSiStripn[7]->Fill((float)nTOBL4Digis);
591  for (unsigned int i = 0; i < TOBL4Digis.size(); ++i) {
592  mehSiStripADC[7]->Fill(TOBL4Digis[i].ADC);
593  mehSiStripStrip[7]->Fill(TOBL4Digis[i].STRIP);
594  }
595 
596  std::vector<PGlobalDigi::SiStripDigi> TIDW1Digis = srcGlobalDigis->getTIDW1Digis();
597  mehSiStripn[8]->Fill((float)nTIDW1Digis);
598  for (unsigned int i = 0; i < TIDW1Digis.size(); ++i) {
599  mehSiStripADC[8]->Fill(TIDW1Digis[i].ADC);
600  mehSiStripStrip[8]->Fill(TIDW1Digis[i].STRIP);
601  }
602 
603  std::vector<PGlobalDigi::SiStripDigi> TIDW2Digis = srcGlobalDigis->getTIDW2Digis();
604  mehSiStripn[9]->Fill((float)nTIDW2Digis);
605  for (unsigned int i = 0; i < TIDW2Digis.size(); ++i) {
606  mehSiStripADC[9]->Fill(TIDW2Digis[i].ADC);
607  mehSiStripStrip[9]->Fill(TIDW2Digis[i].STRIP);
608  }
609 
610  std::vector<PGlobalDigi::SiStripDigi> TIDW3Digis = srcGlobalDigis->getTIDW3Digis();
611  mehSiStripn[10]->Fill((float)nTIDW3Digis);
612  for (unsigned int i = 0; i < TIDW3Digis.size(); ++i) {
613  mehSiStripADC[10]->Fill(TIDW3Digis[i].ADC);
614  mehSiStripStrip[10]->Fill(TIDW3Digis[i].STRIP);
615  }
616 
617  std::vector<PGlobalDigi::SiStripDigi> TECW1Digis = srcGlobalDigis->getTECW1Digis();
618  mehSiStripn[11]->Fill((float)nTECW1Digis);
619  for (unsigned int i = 0; i < TECW1Digis.size(); ++i) {
620  mehSiStripADC[11]->Fill(TECW1Digis[i].ADC);
621  mehSiStripStrip[11]->Fill(TECW1Digis[i].STRIP);
622  }
623 
624  std::vector<PGlobalDigi::SiStripDigi> TECW2Digis = srcGlobalDigis->getTECW2Digis();
625  mehSiStripn[12]->Fill((float)nTECW2Digis);
626  for (unsigned int i = 0; i < TECW2Digis.size(); ++i) {
627  mehSiStripADC[12]->Fill(TECW2Digis[i].ADC);
628  mehSiStripStrip[12]->Fill(TECW2Digis[i].STRIP);
629  }
630 
631  std::vector<PGlobalDigi::SiStripDigi> TECW3Digis = srcGlobalDigis->getTECW3Digis();
632  mehSiStripn[13]->Fill((float)nTECW3Digis);
633  for (unsigned int i = 0; i < TECW3Digis.size(); ++i) {
634  mehSiStripADC[13]->Fill(TECW3Digis[i].ADC);
635  mehSiStripStrip[13]->Fill(TECW3Digis[i].STRIP);
636  }
637 
638  std::vector<PGlobalDigi::SiStripDigi> TECW4Digis = srcGlobalDigis->getTECW4Digis();
639  mehSiStripn[14]->Fill((float)nTECW4Digis);
640  for (unsigned int i = 0; i < TECW4Digis.size(); ++i) {
641  mehSiStripADC[14]->Fill(TECW4Digis[i].ADC);
642  mehSiStripStrip[14]->Fill(TECW4Digis[i].STRIP);
643  }
644 
645  std::vector<PGlobalDigi::SiStripDigi> TECW5Digis = srcGlobalDigis->getTECW5Digis();
646  mehSiStripn[15]->Fill((float)nTECW5Digis);
647  for (unsigned int i = 0; i < TECW5Digis.size(); ++i) {
648  mehSiStripADC[15]->Fill(TECW5Digis[i].ADC);
649  mehSiStripStrip[15]->Fill(TECW5Digis[i].STRIP);
650  }
651 
652  std::vector<PGlobalDigi::SiStripDigi> TECW6Digis = srcGlobalDigis->getTECW6Digis();
653  mehSiStripn[16]->Fill((float)nTECW6Digis);
654  for (unsigned int i = 0; i < TECW6Digis.size(); ++i) {
655  mehSiStripADC[16]->Fill(TECW6Digis[i].ADC);
656  mehSiStripStrip[16]->Fill(TECW6Digis[i].STRIP);
657  }
658 
659  std::vector<PGlobalDigi::SiStripDigi> TECW7Digis = srcGlobalDigis->getTECW7Digis();
660  mehSiStripn[17]->Fill((float)nTECW7Digis);
661  for (unsigned int i = 0; i < TECW7Digis.size(); ++i) {
662  mehSiStripADC[17]->Fill(TECW7Digis[i].ADC);
663  mehSiStripStrip[17]->Fill(TECW7Digis[i].STRIP);
664  }
665 
666  std::vector<PGlobalDigi::SiStripDigi> TECW8Digis = srcGlobalDigis->getTECW8Digis();
667  mehSiStripn[18]->Fill((float)nTECW8Digis);
668  for (unsigned int i = 0; i < TECW8Digis.size(); ++i) {
669  mehSiStripADC[18]->Fill(TECW8Digis[i].ADC);
670  mehSiStripStrip[18]->Fill(TECW8Digis[i].STRIP);
671  }
672 
673  // get SiPixel info
674  std::vector<PGlobalDigi::SiPixelDigi> BRL1Digis = srcGlobalDigis->getBRL1Digis();
675  mehSiPixeln[0]->Fill((float)nBRL1Digis);
676  for (unsigned int i = 0; i < BRL1Digis.size(); ++i) {
677  mehSiPixelADC[0]->Fill(BRL1Digis[i].ADC);
678  mehSiPixelRow[0]->Fill(BRL1Digis[i].ROW);
679  mehSiPixelCol[0]->Fill(BRL1Digis[i].COLUMN);
680  }
681 
682  std::vector<PGlobalDigi::SiPixelDigi> BRL2Digis = srcGlobalDigis->getBRL2Digis();
683  mehSiPixeln[1]->Fill((float)nBRL2Digis);
684  for (unsigned int i = 0; i < BRL2Digis.size(); ++i) {
685  mehSiPixelADC[1]->Fill(BRL2Digis[i].ADC);
686  mehSiPixelRow[1]->Fill(BRL2Digis[i].ROW);
687  mehSiPixelCol[1]->Fill(BRL2Digis[i].COLUMN);
688  }
689 
690  std::vector<PGlobalDigi::SiPixelDigi> BRL3Digis = srcGlobalDigis->getBRL3Digis();
691  mehSiPixeln[2]->Fill((float)nBRL3Digis);
692  for (unsigned int i = 0; i < BRL3Digis.size(); ++i) {
693  mehSiPixelADC[2]->Fill(BRL3Digis[i].ADC);
694  mehSiPixelRow[2]->Fill(BRL3Digis[i].ROW);
695  mehSiPixelCol[2]->Fill(BRL3Digis[i].COLUMN);
696  }
697 
698  std::vector<PGlobalDigi::SiPixelDigi> FWD1pDigis = srcGlobalDigis->getFWD1pDigis();
699  mehSiPixeln[3]->Fill((float)nFWD1pDigis);
700  for (unsigned int i = 0; i < FWD1pDigis.size(); ++i) {
701  mehSiPixelADC[3]->Fill(FWD1pDigis[i].ADC);
702  mehSiPixelRow[3]->Fill(FWD1pDigis[i].ROW);
703  mehSiPixelCol[3]->Fill(FWD1pDigis[i].COLUMN);
704  }
705 
706  std::vector<PGlobalDigi::SiPixelDigi> FWD1nDigis = srcGlobalDigis->getFWD1nDigis();
707  mehSiPixeln[4]->Fill((float)nFWD1nDigis);
708  for (unsigned int i = 0; i < FWD1nDigis.size(); ++i) {
709  mehSiPixelADC[4]->Fill(FWD1nDigis[i].ADC);
710  mehSiPixelRow[4]->Fill(FWD1nDigis[i].ROW);
711  mehSiPixelCol[4]->Fill(FWD1nDigis[i].COLUMN);
712  }
713 
714  std::vector<PGlobalDigi::SiPixelDigi> FWD2pDigis = srcGlobalDigis->getFWD2pDigis();
715  mehSiPixeln[5]->Fill((float)nFWD2pDigis);
716  for (unsigned int i = 0; i < FWD2pDigis.size(); ++i) {
717  mehSiPixelADC[5]->Fill(FWD2pDigis[i].ADC);
718  mehSiPixelRow[5]->Fill(FWD2pDigis[i].ROW);
719  mehSiPixelCol[5]->Fill(FWD2pDigis[i].COLUMN);
720  }
721 
722  std::vector<PGlobalDigi::SiPixelDigi> FWD2nDigis = srcGlobalDigis->getFWD2nDigis();
723  mehSiPixeln[6]->Fill((float)nFWD2nDigis);
724  for (unsigned int i = 0; i < FWD2nDigis.size(); ++i) {
725  mehSiPixelADC[6]->Fill(FWD2nDigis[i].ADC);
726  mehSiPixelRow[6]->Fill(FWD2nDigis[i].ROW);
727  mehSiPixelCol[6]->Fill(FWD2nDigis[i].COLUMN);
728  }
729 
730  // get DtMuon info
731  std::vector<PGlobalDigi::DTDigi> MB1Digis = srcGlobalDigis->getMB1Digis();
732  mehDtMuonn[0]->Fill((float)nMB1Digis);
733  for (unsigned int i = 0; i < MB1Digis.size(); ++i) {
734  float layer = 4.0 * (MB1Digis[i].SLAYER - 1.0) + MB1Digis[i].LAYER;
736  mehDtMuonTime[0]->Fill(MB1Digis[i].TIME);
737  mehDtMuonTimevLayer[0]->Fill(layer, MB1Digis[i].TIME, 1);
738  }
739 
740  std::vector<PGlobalDigi::DTDigi> MB2Digis = srcGlobalDigis->getMB2Digis();
741  mehDtMuonn[1]->Fill((float)nMB2Digis);
742  for (unsigned int i = 0; i < MB2Digis.size(); ++i) {
743  float layer = 4.0 * (MB2Digis[i].SLAYER - 1.0) + MB2Digis[i].LAYER;
745  mehDtMuonTime[1]->Fill(MB2Digis[i].TIME);
746  mehDtMuonTimevLayer[1]->Fill(layer, MB2Digis[i].TIME, 1);
747  }
748 
749  std::vector<PGlobalDigi::DTDigi> MB3Digis = srcGlobalDigis->getMB3Digis();
750  mehDtMuonn[2]->Fill((float)nMB3Digis);
751  for (unsigned int i = 0; i < MB3Digis.size(); ++i) {
752  float layer = 4.0 * (MB3Digis[i].SLAYER - 1.0) + MB3Digis[i].LAYER;
754  mehDtMuonTime[2]->Fill(MB3Digis[i].TIME);
755  mehDtMuonTimevLayer[2]->Fill(layer, MB3Digis[i].TIME, 1);
756  }
757 
758  std::vector<PGlobalDigi::DTDigi> MB4Digis = srcGlobalDigis->getMB4Digis();
759  mehDtMuonn[3]->Fill((float)nMB4Digis);
760  for (unsigned int i = 0; i < MB4Digis.size(); ++i) {
761  float layer = 4.0 * (MB4Digis[i].SLAYER - 1.0) + MB4Digis[i].LAYER;
763  mehDtMuonTime[3]->Fill(MB4Digis[i].TIME);
764  mehDtMuonTimevLayer[3]->Fill(layer, MB4Digis[i].TIME, 1);
765  }
766 
767  // get CSC Strip info
768  std::vector<PGlobalDigi::CSCstripDigi> CSCstripDigis = srcGlobalDigis->getCSCstripDigis();
769  mehCSCStripn->Fill((float)nCSCstripDigis);
770  for (unsigned int i = 0; i < CSCstripDigis.size(); ++i) {
771  mehCSCStripADC->Fill(CSCstripDigis[i].ADC);
772  }
773 
774  // get CSC Wire info
775  std::vector<PGlobalDigi::CSCwireDigi> CSCwireDigis = srcGlobalDigis->getCSCwireDigis();
776  mehCSCWiren->Fill((float)nCSCwireDigis);
777  for (unsigned int i = 0; i < CSCwireDigis.size(); ++i) {
778  mehCSCWireTime->Fill(CSCwireDigis[i].TIME);
779  }
780  if (verbosity > 0)
781  edm::LogInfo(MsgLoggerCat) << "Done gathering data from event.";
782 
783  } // end loop through events
784 }
int getnFWD1pDigis() const
int getnBRL1Digis() const
SiStripDigiVector getTECW5Digis() const
SiStripDigiVector getTECW7Digis() const
int getnTIDW2Digis() const
MonitorElement * mehDtMuonLayer[4]
DTDigiVector getMB3Digis() const
HCalDigiVector getHOCalDigis() const
int getnMB1Digis() const
SiStripDigiVector getTOBL3Digis() const
int getnTIDW1Digis() const
int getnTIDW3Digis() const
MonitorElement * mehEcalMultvAEE[2]
SiStripDigiVector getTOBL2Digis() const
SiStripDigiVector getTIBL2Digis() const
int getnTECW3Digis() const
SiStripDigiVector getTIDW1Digis() const
int getnTOBL1Digis() const
SiStripDigiVector getTIBL1Digis() const
int getnHECalDigis() const
int getnFWD2nDigis() const
int getnESCalDigis() const
int getnHFCalDigis() const
SiPixelDigiVector getBRL1Digis() const
int getnTECW6Digis() const
unsigned long long EventNumber_t
int getnTIBL3Digis() const
MonitorElement * mehHcalAEESHE[4]
MonitorElement * mehSiPixelCol[7]
MonitorElement * mehHcalSHEvAEE[4]
int getnTOBL3Digis() const
int getnEECalDigis() const
MonitorElement * mehHcalSHE[4]
int getnTECW2Digis() const
int getnMB3Digis() const
MonitorElement * mehDtMuonTimevLayer[4]
SiStripDigiVector getTECW6Digis() const
int getnTOBL4Digis() const
int getnTECW5Digis() const
SiStripDigiVector getTECW4Digis() const
constexpr std::array< uint8_t, layerIndexSize< TrackerTraits > > layer
void Fill(long long x)
MonitorElement * mehSiStripADC[19]
int getnFWD1nDigis() const
SiStripDigiVector getTECW8Digis() const
int getnBRL2Digis() const
int iEvent
Definition: GenABIO.cc:224
DTDigiVector getMB2Digis() const
int getnTIBL4Digis() const
int getnTECW1Digis() const
HCalDigiVector getHECalDigis() const
MonitorElement * mehEcalSHEvAEESHE[2]
SiPixelDigiVector getFWD1nDigis() const
int getnBRL3Digis() const
MonitorElement * mehEcalSHE[2]
MonitorElement * mehHcalAEE[4]
ECalDigiVector getEECalDigis() const
HCalDigiVector getHFCalDigis() const
MonitorElement * mehSiPixelRow[7]
SiStripDigiVector getTIBL3Digis() const
SiPixelDigiVector getBRL3Digis() const
MonitorElement * mehSiPixelADC[7]
int getnCSCstripDigis() const
int getnTIBL1Digis() const
int getnCSCwireDigis() const
SiStripDigiVector getTECW3Digis() const
SiStripDigiVector getTECW2Digis() const
DTDigiVector getMB1Digis() const
CSCstripDigiVector getCSCstripDigis() const
SiPixelDigiVector getBRL2Digis() const
int getnFWD2pDigis() const
int getnMB2Digis() const
int getnTECW4Digis() const
int getnTIBL2Digis() const
SiPixelDigiVector getFWD1pDigis() const
Log< level::Info, false > LogInfo
int getnTECW7Digis() const
int getnHBCalDigis() const
HCalDigiVector getHBCalDigis() const
int getnEBCalDigis() const
CSCwireDigiVector getCSCwireDigis() const
ECalDigiVector getEBCalDigis() const
MonitorElement * mehDtMuonTime[4]
bool isValid() const
Definition: HandleBase.h:70
SiStripDigiVector getTOBL1Digis() const
int getnMB4Digis() const
MonitorElement * mehSiStripStrip[19]
int getnHOCalDigis() const
SiStripDigiVector getTIDW2Digis() const
SiPixelDigiVector getFWD2pDigis() const
MonitorElement * mehEScalADC[3]
SiStripDigiVector getTIDW3Digis() const
MonitorElement * mehEcalAEE[2]
MonitorElement * mehEcalMaxPos[2]
unsigned int RunNumber_t
SiStripDigiVector getTIBL4Digis() const
edm::EDGetTokenT< PGlobalDigi > GlobalDigisSrc_Token_
MonitorElement * mehSiStripn[19]
Log< level::Warning, false > LogWarning
int getnTOBL2Digis() const
SiStripDigiVector getTECW1Digis() const
DTDigiVector getMB4Digis() const
ESCalDigiVector getESCalDigis() const
SiStripDigiVector getTOBL4Digis() const
SiPixelDigiVector getFWD2nDigis() const
int getnTECW8Digis() const

◆ bookHistograms()

void GlobalDigisHistogrammer::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  ,
edm::EventSetup const &   
)
overridevirtual

Implements DQMEDAnalyzer.

Definition at line 80 of file GlobalDigisHistogrammer.cc.

References dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::bookProfile(), mps_fire::i, dqmiolumiharvest::j, mehCSCStripADC, mehCSCStripn, mehCSCWiren, mehCSCWireTime, mehDtMuonLayer, mehDtMuonn, mehDtMuonTime, mehDtMuonTimevLayer, mehEcalAEE, mehEcalMaxPos, mehEcalMultvAEE, mehEcaln, mehEcalSHE, mehEcalSHEvAEESHE, mehEScalADC, mehHcalAEE, mehHcalAEESHE, mehHcaln, mehHcalSHE, mehHcalSHEvAEE, mehSiPixelADC, mehSiPixelCol, mehSiPixeln, mehSiPixelRow, mehSiStripADC, mehSiStripn, mehSiStripStrip, dqm::impl::MonitorElement::setAxisTitle(), dqm::implementation::NavigatorBase::setCurrentFolder(), and AlCaHLTBitMon_QueryRunRegistry::string.

80  {
81  // monitor elements
82 
83  // Si Strip ***Done***
84  std::string SiStripString[19] = {"TECW1",
85  "TECW2",
86  "TECW3",
87  "TECW4",
88  "TECW5",
89  "TECW6",
90  "TECW7",
91  "TECW8",
92  "TIBL1",
93  "TIBL2",
94  "TIBL3",
95  "TIBL4",
96  "TIDW1",
97  "TIDW2",
98  "TIDW3",
99  "TOBL1",
100  "TOBL2",
101  "TOBL3",
102  "TOBL4"};
103 
104  for (int i = 0; i < 19; ++i) {
105  mehSiStripn[i] = nullptr;
106  mehSiStripADC[i] = nullptr;
107  mehSiStripStrip[i] = nullptr;
108  }
109 
110  ibooker.setCurrentFolder("GlobalDigisV/SiStrips");
111  for (int amend = 0; amend < 19; ++amend) {
112  mehSiStripn[amend] =
113  ibooker.book1D("hSiStripn_" + SiStripString[amend], SiStripString[amend] + " Digis", 500, 0., 1000.);
114 
115  mehSiStripn[amend]->setAxisTitle("Number of Digis", 1);
116  mehSiStripn[amend]->setAxisTitle("Count", 2);
117  mehSiStripADC[amend] =
118  ibooker.book1D("hSiStripADC_" + SiStripString[amend], SiStripString[amend] + " ADC", 150, 0.0, 300.);
119 
120  mehSiStripADC[amend]->setAxisTitle("ADC", 1);
121  mehSiStripADC[amend]->setAxisTitle("Count", 2);
122  mehSiStripStrip[amend] =
123  ibooker.book1D("hSiStripStripADC_" + SiStripString[amend], SiStripString[amend] + " Strip", 200, 0.0, 800.);
124  mehSiStripStrip[amend]->setAxisTitle("Strip Number", 1);
125  mehSiStripStrip[amend]->setAxisTitle("Count", 2);
126  }
127 
128  // HCal **DONE**
129  std::string HCalString[4] = {"HB", "HE", "HO", "HF"};
130  float calnUpper[4] = {3000., 3000., 3000., 2000.};
131  float calnLower[4] = {2000., 2000., 2000., 1000.};
132  float SHEUpper[4] = {0.05, .05, 0.05, 20};
133  float SHEvAEEUpper[4] = {5000, 5000, 5000, 20};
134  float SHEvAEELower[4] = {-5000, -5000, -5000, -20};
135  int SHEvAEEnBins[4] = {200, 200, 200, 40};
136  double ProfileUpper[4] = {1., 1., 1., 20.};
137 
138  for (int i = 0; i < 4; ++i) {
139  mehHcaln[i] = nullptr;
140  mehHcalAEE[i] = nullptr;
141  mehHcalSHE[i] = nullptr;
142  mehHcalAEESHE[i] = nullptr;
143  mehHcalSHEvAEE[i] = nullptr;
144  }
145 
146  ibooker.setCurrentFolder("GlobalDigisV/HCals");
147  for (int amend = 0; amend < 4; ++amend) {
148  mehHcaln[amend] = ibooker.book1D(
149  "hHcaln_" + HCalString[amend], HCalString[amend] + " digis", 1000, calnLower[amend], calnUpper[amend]);
150 
151  mehHcaln[amend]->setAxisTitle("Number of Digis", 1);
152  mehHcaln[amend]->setAxisTitle("Count", 2);
153  mehHcalAEE[amend] = ibooker.book1D("hHcalAEE_" + HCalString[amend], HCalString[amend] + "Cal AEE", 60, -10., 50.);
154 
155  mehHcalAEE[amend]->setAxisTitle("Analog Equivalent Energy", 1);
156  mehHcalAEE[amend]->setAxisTitle("Count", 2);
157  mehHcalSHE[amend] =
158  ibooker.book1D("hHcalSHE_" + HCalString[amend], HCalString[amend] + "Cal SHE", 100, 0.0, SHEUpper[amend]);
159 
160  mehHcalSHE[amend]->setAxisTitle("Simulated Hit Energy", 1);
161  mehHcalSHE[amend]->setAxisTitle("Count", 2);
162  mehHcalAEESHE[amend] = ibooker.book1D("hHcalAEESHE_" + HCalString[amend],
163  HCalString[amend] + "Cal AEE/SHE",
164  SHEvAEEnBins[amend],
165  SHEvAEELower[amend],
166  SHEvAEEUpper[amend]);
167 
168  mehHcalAEESHE[amend]->setAxisTitle("ADC / SHE", 1);
169  mehHcalAEESHE[amend]->setAxisTitle("Count", 2);
170 
171  //************ Not sure how to do Profile ME **************
172  mehHcalSHEvAEE[amend] = ibooker.bookProfile("hHcalSHEvAEE_" + HCalString[amend],
173  HCalString[amend] + "Cal SHE vs. AEE",
174  60,
175  (float)-10.,
176  (float)50.,
177  100,
178  (float)0.,
179  (float)ProfileUpper[amend],
180  "");
181 
182  mehHcalSHEvAEE[amend]->setAxisTitle("AEE / SHE", 1);
183  mehHcalSHEvAEE[amend]->setAxisTitle("SHE", 2);
184  }
185 
186  // Ecal **Done **
187  std::string ECalString[2] = {"EB", "EE"};
188 
189  for (int i = 0; i < 2; ++i) {
190  mehEcaln[i] = nullptr;
191  mehEcalAEE[i] = nullptr;
192  mehEcalSHE[i] = nullptr;
193  mehEcalMaxPos[i] = nullptr;
194  mehEcalMultvAEE[i] = nullptr;
195  mehEcalSHEvAEESHE[i] = nullptr;
196  }
197 
198  ibooker.setCurrentFolder("GlobalDigisV/ECals");
199  for (int amend = 0; amend < 2; ++amend) {
200  mehEcaln[amend] = ibooker.book1D("hEcaln_" + ECalString[amend], ECalString[amend] + " digis", 300, 1000., 4000.);
201 
202  mehEcaln[amend]->setAxisTitle("Number of Digis", 1);
203  mehEcaln[amend]->setAxisTitle("Count", 2);
204  mehEcalAEE[amend] = ibooker.book1D("hEcalAEE_" + ECalString[amend], ECalString[amend] + "Cal AEE", 100, 0., 1.);
205 
206  mehEcalAEE[amend]->setAxisTitle("Analog Equivalent Energy", 1);
207  mehEcalAEE[amend]->setAxisTitle("Count", 2);
208  mehEcalSHE[amend] = ibooker.book1D("hEcalSHE_" + ECalString[amend], ECalString[amend] + "Cal SHE", 50, 0., 5.);
209 
210  mehEcalSHE[amend]->setAxisTitle("Simulated Hit Energy", 1);
211  mehEcalSHE[amend]->setAxisTitle("Count", 2);
212  mehEcalMaxPos[amend] =
213  ibooker.book1D("hEcalMaxPos_" + ECalString[amend], ECalString[amend] + "Cal MaxPos", 10, 0., 10.);
214 
215  mehEcalMaxPos[amend]->setAxisTitle("Maximum Position", 1);
216  mehEcalMaxPos[amend]->setAxisTitle("Count", 2);
217 
218  //************ Not sure how to do Profile ME **************
219  mehEcalSHEvAEESHE[amend] = ibooker.bookProfile("hEcalSHEvAEESHE_" + ECalString[amend],
220  ECalString[amend] + "Cal SHE vs. AEE/SHE",
221  100,
222  (float)0.,
223  (float)10.,
224  50,
225  (float)0.,
226  (float)5.,
227  "");
228 
229  mehEcalSHEvAEESHE[amend]->setAxisTitle("AEE / SHE", 1);
230  mehEcalSHEvAEESHE[amend]->setAxisTitle("SHE", 2);
231  mehEcalMultvAEE[amend] = ibooker.bookProfile("hEcalMultvAEE_" + ECalString[amend],
232  ECalString[amend] + "Cal Multi vs. AEE",
233  100,
234  (float)0.,
235  (float)10.,
236  400,
237  (float)0.,
238  (float)4000.,
239  "");
240  mehEcalMultvAEE[amend]->setAxisTitle("Analog Equivalent Energy", 1);
241  mehEcalMultvAEE[amend]->setAxisTitle("Number of Digis", 2);
242  }
243 
244  mehEcaln[2] = nullptr;
245  mehEcaln[2] = ibooker.book1D("hEcaln_ES", "ESCAL digis", 100, 0., 500.);
246  mehEcaln[2]->setAxisTitle("Number of Digis", 1);
247  mehEcaln[2]->setAxisTitle("Count", 2);
248  std::string ADCNumber[3] = {"0", "1", "2"};
249  for (int i = 0; i < 3; ++i) {
250  mehEScalADC[i] = nullptr;
251  mehEScalADC[i] = ibooker.book1D("hEcalADC" + ADCNumber[i] + "_ES", "ESCAL ADC" + ADCNumber[i], 150, 950., 1500.);
252 
253  mehEScalADC[i]->setAxisTitle("ADC" + ADCNumber[i], 1);
254  mehEScalADC[i]->setAxisTitle("Count", 2);
255  }
256 
257  // Si Pixels ***DONE***
258  std::string SiPixelString[7] = {"BRL1", "BRL2", "BRL3", "FWD1n", "FWD1p", "FWD2n", "FWD2p"};
259 
260  for (int j = 0; j < 7; ++j) {
261  mehSiPixeln[j] = nullptr;
262  mehSiPixelADC[j] = nullptr;
263  mehSiPixelRow[j] = nullptr;
264  mehSiPixelCol[j] = nullptr;
265  }
266 
267  ibooker.setCurrentFolder("GlobalDigisV/SiPixels");
268  for (int amend = 0; amend < 7; ++amend) {
269  if (amend < 3) {
270  mehSiPixeln[amend] =
271  ibooker.book1D("hSiPixeln_" + SiPixelString[amend], SiPixelString[amend] + " Digis", 50, 0., 100.);
272  } else {
273  mehSiPixeln[amend] =
274  ibooker.book1D("hSiPixeln_" + SiPixelString[amend], SiPixelString[amend] + " Digis", 25, 0., 50.);
275  }
276 
277  mehSiPixeln[amend]->setAxisTitle("Number of Digis", 1);
278  mehSiPixeln[amend]->setAxisTitle("Count", 2);
279  mehSiPixelADC[amend] =
280  ibooker.book1D("hSiPixelADC_" + SiPixelString[amend], SiPixelString[amend] + " ADC", 150, 0.0, 300.);
281 
282  mehSiPixelADC[amend]->setAxisTitle("ADC", 1);
283  mehSiPixelADC[amend]->setAxisTitle("Count", 2);
284  mehSiPixelRow[amend] =
285  ibooker.book1D("hSiPixelRow_" + SiPixelString[amend], SiPixelString[amend] + " Row", 100, 0.0, 100.);
286 
287  mehSiPixelRow[amend]->setAxisTitle("Row Number", 1);
288  mehSiPixelRow[amend]->setAxisTitle("Count", 2);
289  mehSiPixelCol[amend] =
290  ibooker.book1D("hSiPixelColumn_" + SiPixelString[amend], SiPixelString[amend] + " Column", 200, 0.0, 500.);
291 
292  mehSiPixelCol[amend]->setAxisTitle("Column Number", 1);
293  mehSiPixelCol[amend]->setAxisTitle("Count", 2);
294  }
295 
296  // Muons ***DONE****
297  ibooker.setCurrentFolder("GlobalDigisV/Muons");
298  std::string MuonString[4] = {"MB1", "MB2", "MB3", "MB4"};
299 
300  for (int i = 0; i < 4; ++i) {
301  mehDtMuonn[i] = nullptr;
302  mehDtMuonLayer[i] = nullptr;
303  mehDtMuonTime[i] = nullptr;
304  mehDtMuonTimevLayer[i] = nullptr;
305  }
306 
307  for (int j = 0; j < 4; ++j) {
308  mehDtMuonn[j] = ibooker.book1D("hDtMuonn_" + MuonString[j], MuonString[j] + " digis", 25, 0., 50.);
309 
310  mehDtMuonn[j]->setAxisTitle("Number of Digis", 1);
311  mehDtMuonn[j]->setAxisTitle("Count", 2);
312  mehDtMuonLayer[j] = ibooker.book1D("hDtLayer_" + MuonString[j], MuonString[j] + " Layer", 12, 1., 13.);
313 
314  mehDtMuonLayer[j]->setAxisTitle("4 * (SuperLayer - 1) + Layer", 1);
315  mehDtMuonLayer[j]->setAxisTitle("Count", 2);
316  mehDtMuonTime[j] = ibooker.book1D("hDtMuonTime_" + MuonString[j], MuonString[j] + " Time", 300, 400., 1000.);
317 
318  mehDtMuonTime[j]->setAxisTitle("Time", 1);
319  mehDtMuonTime[j]->setAxisTitle("Count", 2);
320  mehDtMuonTimevLayer[j] = ibooker.bookProfile(
321  "hDtMuonTimevLayer_" + MuonString[j], MuonString[j] + " Time vs. Layer", 12, 1., 13., 300, 400., 1000., "");
322 
323  mehDtMuonTimevLayer[j]->setAxisTitle("4 * (SuperLayer - 1) + Layer", 1);
324  mehDtMuonTimevLayer[j]->setAxisTitle("Time", 2);
325  }
326 
327  // **** Have to do CSC and RPC now *****
328  // CSC
329  mehCSCStripn = nullptr;
330  mehCSCStripn = ibooker.book1D("hCSCStripn", "CSC Strip digis", 25, 0., 50.);
331  mehCSCStripn->setAxisTitle("Number of Digis", 1);
332  mehCSCStripn->setAxisTitle("Count", 2);
333 
334  mehCSCStripADC = nullptr;
335  mehCSCStripADC = ibooker.book1D("hCSCStripADC", "CSC Strip ADC", 110, 0., 1100.);
336  mehCSCStripADC->setAxisTitle("ADC", 1);
337  mehCSCStripADC->setAxisTitle("Count", 2);
338 
339  mehCSCWiren = nullptr;
340  mehCSCWiren = ibooker.book1D("hCSCWiren", "CSC Wire digis", 25, 0., 50.);
341  mehCSCWiren->setAxisTitle("Number of Digis", 1);
342  mehCSCWiren->setAxisTitle("Count", 2);
343 
344  mehCSCWireTime = nullptr;
345  mehCSCWiren = ibooker.book1D("hCSCWireTime", "CSC Wire Time", 10, 0., 10.);
346  mehCSCWiren->setAxisTitle("Time", 1);
347  mehCSCWiren->setAxisTitle("Count", 2);
348 
349 } // close bookHistograms
MonitorElement * mehDtMuonLayer[4]
MonitorElement * mehEcalMultvAEE[2]
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:36
MonitorElement * mehHcalAEESHE[4]
MonitorElement * mehSiPixelCol[7]
MonitorElement * mehHcalSHEvAEE[4]
MonitorElement * mehHcalSHE[4]
MonitorElement * mehDtMuonTimevLayer[4]
MonitorElement * mehSiStripADC[19]
MonitorElement * mehEcalSHEvAEESHE[2]
MonitorElement * bookProfile(TString const &name, TString const &title, int nchX, double lowX, double highX, int, double lowY, double highY, char const *option="s", FUNC onbooking=NOOP())
Definition: DQMStore.h:399
MonitorElement * mehEcalSHE[2]
MonitorElement * mehHcalAEE[4]
MonitorElement * mehSiPixelRow[7]
MonitorElement * mehSiPixelADC[7]
MonitorElement * mehDtMuonTime[4]
MonitorElement * mehSiStripStrip[19]
MonitorElement * mehEScalADC[3]
MonitorElement * mehEcalAEE[2]
MonitorElement * mehEcalMaxPos[2]
MonitorElement * mehSiStripn[19]
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)

Member Data Documentation

◆ count

unsigned int GlobalDigisHistogrammer::count
private

Definition at line 124 of file GlobalDigisHistogrammer.h.

Referenced by analyze().

◆ doOutput

bool GlobalDigisHistogrammer::doOutput
private

Definition at line 70 of file GlobalDigisHistogrammer.h.

Referenced by GlobalDigisHistogrammer().

◆ fName

std::string GlobalDigisHistogrammer::fName
private

Definition at line 62 of file GlobalDigisHistogrammer.h.

Referenced by GlobalDigisHistogrammer().

◆ frequency

int GlobalDigisHistogrammer::frequency
private

Definition at line 64 of file GlobalDigisHistogrammer.h.

Referenced by analyze(), and GlobalDigisHistogrammer().

◆ getAllProvenances

bool GlobalDigisHistogrammer::getAllProvenances
private

Definition at line 66 of file GlobalDigisHistogrammer.h.

Referenced by analyze(), and GlobalDigisHistogrammer().

◆ GlobalDigisSrc_

edm::InputTag GlobalDigisHistogrammer::GlobalDigisSrc_
private

Definition at line 72 of file GlobalDigisHistogrammer.h.

Referenced by GlobalDigisHistogrammer().

◆ GlobalDigisSrc_Token_

edm::EDGetTokenT<PGlobalDigi> GlobalDigisHistogrammer::GlobalDigisSrc_Token_
private

Definition at line 74 of file GlobalDigisHistogrammer.h.

Referenced by analyze(), and GlobalDigisHistogrammer().

◆ label

std::string GlobalDigisHistogrammer::label
private

Definition at line 65 of file GlobalDigisHistogrammer.h.

◆ mehCSCStripADC

MonitorElement* GlobalDigisHistogrammer::mehCSCStripADC
private

Definition at line 117 of file GlobalDigisHistogrammer.h.

Referenced by analyze(), and bookHistograms().

◆ mehCSCStripn

MonitorElement* GlobalDigisHistogrammer::mehCSCStripn
private

Definition at line 116 of file GlobalDigisHistogrammer.h.

Referenced by analyze(), and bookHistograms().

◆ mehCSCWiren

MonitorElement* GlobalDigisHistogrammer::mehCSCWiren
private

Definition at line 118 of file GlobalDigisHistogrammer.h.

Referenced by analyze(), and bookHistograms().

◆ mehCSCWireTime

MonitorElement* GlobalDigisHistogrammer::mehCSCWireTime
private

Definition at line 119 of file GlobalDigisHistogrammer.h.

Referenced by analyze(), and bookHistograms().

◆ mehDtMuonLayer

MonitorElement* GlobalDigisHistogrammer::mehDtMuonLayer[4]
private

Definition at line 110 of file GlobalDigisHistogrammer.h.

Referenced by analyze(), and bookHistograms().

◆ mehDtMuonn

MonitorElement* GlobalDigisHistogrammer::mehDtMuonn[4]
private

Definition at line 109 of file GlobalDigisHistogrammer.h.

Referenced by analyze(), and bookHistograms().

◆ mehDtMuonTime

MonitorElement* GlobalDigisHistogrammer::mehDtMuonTime[4]
private

Definition at line 111 of file GlobalDigisHistogrammer.h.

Referenced by analyze(), and bookHistograms().

◆ mehDtMuonTimevLayer

MonitorElement* GlobalDigisHistogrammer::mehDtMuonTimevLayer[4]
private

Definition at line 112 of file GlobalDigisHistogrammer.h.

Referenced by analyze(), and bookHistograms().

◆ mehEcalAEE

MonitorElement* GlobalDigisHistogrammer::mehEcalAEE[2]
private

Definition at line 79 of file GlobalDigisHistogrammer.h.

Referenced by analyze(), and bookHistograms().

◆ mehEcalMaxPos

MonitorElement* GlobalDigisHistogrammer::mehEcalMaxPos[2]
private

Definition at line 81 of file GlobalDigisHistogrammer.h.

Referenced by analyze(), and bookHistograms().

◆ mehEcalMultvAEE

MonitorElement* GlobalDigisHistogrammer::mehEcalMultvAEE[2]
private

Definition at line 82 of file GlobalDigisHistogrammer.h.

Referenced by analyze(), and bookHistograms().

◆ mehEcaln

MonitorElement* GlobalDigisHistogrammer::mehEcaln[3]
private

Definition at line 78 of file GlobalDigisHistogrammer.h.

Referenced by analyze(), and bookHistograms().

◆ mehEcalSHE

MonitorElement* GlobalDigisHistogrammer::mehEcalSHE[2]
private

Definition at line 80 of file GlobalDigisHistogrammer.h.

Referenced by analyze(), and bookHistograms().

◆ mehEcalSHEvAEESHE

MonitorElement* GlobalDigisHistogrammer::mehEcalSHEvAEESHE[2]
private

Definition at line 83 of file GlobalDigisHistogrammer.h.

Referenced by analyze(), and bookHistograms().

◆ mehEScalADC

MonitorElement* GlobalDigisHistogrammer::mehEScalADC[3]
private

Definition at line 84 of file GlobalDigisHistogrammer.h.

Referenced by analyze(), and bookHistograms().

◆ mehHcalAEE

MonitorElement* GlobalDigisHistogrammer::mehHcalAEE[4]
private

Definition at line 88 of file GlobalDigisHistogrammer.h.

Referenced by analyze(), and bookHistograms().

◆ mehHcalAEESHE

MonitorElement* GlobalDigisHistogrammer::mehHcalAEESHE[4]
private

Definition at line 90 of file GlobalDigisHistogrammer.h.

Referenced by analyze(), and bookHistograms().

◆ mehHcaln

MonitorElement* GlobalDigisHistogrammer::mehHcaln[4]
private

Definition at line 87 of file GlobalDigisHistogrammer.h.

Referenced by analyze(), and bookHistograms().

◆ mehHcalSHE

MonitorElement* GlobalDigisHistogrammer::mehHcalSHE[4]
private

Definition at line 89 of file GlobalDigisHistogrammer.h.

Referenced by analyze(), and bookHistograms().

◆ mehHcalSHEvAEE

MonitorElement* GlobalDigisHistogrammer::mehHcalSHEvAEE[4]
private

Definition at line 91 of file GlobalDigisHistogrammer.h.

Referenced by analyze(), and bookHistograms().

◆ mehSiPixelADC

MonitorElement* GlobalDigisHistogrammer::mehSiPixelADC[7]
private

Definition at line 103 of file GlobalDigisHistogrammer.h.

Referenced by analyze(), and bookHistograms().

◆ mehSiPixelCol

MonitorElement* GlobalDigisHistogrammer::mehSiPixelCol[7]
private

Definition at line 105 of file GlobalDigisHistogrammer.h.

Referenced by analyze(), and bookHistograms().

◆ mehSiPixeln

MonitorElement* GlobalDigisHistogrammer::mehSiPixeln[7]
private

Definition at line 102 of file GlobalDigisHistogrammer.h.

Referenced by analyze(), and bookHistograms().

◆ mehSiPixelRow

MonitorElement* GlobalDigisHistogrammer::mehSiPixelRow[7]
private

Definition at line 104 of file GlobalDigisHistogrammer.h.

Referenced by analyze(), and bookHistograms().

◆ mehSiStripADC

MonitorElement* GlobalDigisHistogrammer::mehSiStripADC[19]
private

Definition at line 97 of file GlobalDigisHistogrammer.h.

Referenced by analyze(), and bookHistograms().

◆ mehSiStripn

MonitorElement* GlobalDigisHistogrammer::mehSiStripn[19]
private

Definition at line 96 of file GlobalDigisHistogrammer.h.

Referenced by analyze(), and bookHistograms().

◆ mehSiStripStrip

MonitorElement* GlobalDigisHistogrammer::mehSiStripStrip[19]
private

Definition at line 98 of file GlobalDigisHistogrammer.h.

Referenced by analyze(), and bookHistograms().

◆ outputfile

std::string GlobalDigisHistogrammer::outputfile
private

Definition at line 69 of file GlobalDigisHistogrammer.h.

Referenced by GlobalDigisHistogrammer().

◆ printProvenanceInfo

bool GlobalDigisHistogrammer::printProvenanceInfo
private

Definition at line 67 of file GlobalDigisHistogrammer.h.

Referenced by analyze(), and GlobalDigisHistogrammer().

◆ theCSCStripPedestalCount

int GlobalDigisHistogrammer::theCSCStripPedestalCount
private

Definition at line 122 of file GlobalDigisHistogrammer.h.

◆ theCSCStripPedestalSum

float GlobalDigisHistogrammer::theCSCStripPedestalSum
private

Definition at line 121 of file GlobalDigisHistogrammer.h.

◆ verbosity

int GlobalDigisHistogrammer::verbosity
private

Definition at line 63 of file GlobalDigisHistogrammer.h.

Referenced by analyze(), and GlobalDigisHistogrammer().