CMS 3D CMS Logo

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

#include <GlobalHitsHistogrammer.h>

Inheritance diagram for GlobalHitsHistogrammer:
DQMEDAnalyzer edm::one::EDProducer< edm::Accumulator, edm::EndLuminosityBlockProducer, edm::EndRunProducer, edm::one::WatchLuminosityBlocks, edm::one::WatchRuns > edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
 GlobalHitsHistogrammer (const edm::ParameterSet &)
 
 ~GlobalHitsHistogrammer () override
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &ev, edm::EventSetup const &es) final
 
virtual void analyze (edm::Event const &, edm::EventSetup const &)
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) override
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer ()
 
 DQMEDAnalyzer (DQMEDAnalyzer const &)=delete
 
 DQMEDAnalyzer (DQMEDAnalyzer &&)=delete
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) override
 
void endLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &run, edm::EventSetup const &setup) override
 
void endRunProduce (edm::Run &run, edm::EventSetup const &setup) override
 
 ~DQMEDAnalyzer () override=default
 
- Public Member Functions inherited from edm::one::EDProducer< edm::Accumulator, edm::EndLuminosityBlockProducer, edm::EndRunProducer, edm::one::WatchLuminosityBlocks, edm::one::WatchRuns >
 EDProducer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInLumis () const final
 
bool hasAbilityToProduceInRuns () const final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDProducerBase () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Attributes

unsigned int count
 
bool doOutput
 
std::string fName
 
int frequency
 
bool getAllProvenances
 
edm::InputTag GlobalHitSrc_
 
edm::EDGetTokenT< PGlobalSimHitGlobalHitSrc_Token_
 
std::string label
 
MonitorElementmeCaloEcal [2]
 
MonitorElementmeCaloEcalE [2]
 
MonitorElementmeCaloEcalEta
 
MonitorElementmeCaloEcalPhi
 
MonitorElementmeCaloEcalToF [2]
 
MonitorElementmeCaloHcal [2]
 
MonitorElementmeCaloHcalE [2]
 
MonitorElementmeCaloHcalEta
 
MonitorElementmeCaloHcalPhi
 
MonitorElementmeCaloHcalToF [2]
 
MonitorElementmeCaloPreSh [2]
 
MonitorElementmeCaloPreShE [2]
 
MonitorElementmeCaloPreShEta
 
MonitorElementmeCaloPreShPhi
 
MonitorElementmeCaloPreShToF [2]
 
MonitorElementmeGeantTrkE
 
MonitorElementmeGeantTrkPt
 
MonitorElementmeGeantVtxX [2]
 
MonitorElementmeGeantVtxY [2]
 
MonitorElementmeGeantVtxZ [2]
 
MonitorElementmeMCG4Trk [2]
 
MonitorElementmeMCG4Vtx [2]
 
MonitorElementmeMCRGP [2]
 
MonitorElementmeMuon [2]
 
MonitorElementmeMuonCscToF [2]
 
MonitorElementmeMuonCscZ
 
MonitorElementmeMuonDtR
 
MonitorElementmeMuonDtToF [2]
 
MonitorElementmeMuonEta
 
MonitorElementmeMuonPhi
 
MonitorElementmeMuonRpcBR
 
MonitorElementmeMuonRpcBToF [2]
 
MonitorElementmeMuonRpcFToF [2]
 
MonitorElementmeMuonRpcFZ
 
MonitorElementmeTrackerPx [2]
 
MonitorElementmeTrackerPxBR
 
MonitorElementmeTrackerPxBToF
 
MonitorElementmeTrackerPxEta
 
MonitorElementmeTrackerPxFToF
 
MonitorElementmeTrackerPxFZ
 
MonitorElementmeTrackerPxPhi
 
MonitorElementmeTrackerSi [2]
 
MonitorElementmeTrackerSiBR
 
MonitorElementmeTrackerSiBToF
 
MonitorElementmeTrackerSiEta
 
MonitorElementmeTrackerSiFToF
 
MonitorElementmeTrackerSiFZ
 
MonitorElementmeTrackerSiPhi
 
int nMuonCscHits
 
int nMuonDtHits
 
int nMuonHits
 
int nMuonRpcBrlHits
 
int nMuonRpcFwdHits
 
int nPxlBrlHits
 
int nPxlFwdHits
 
int nPxlHits
 
int nSiBrlHits
 
int nSiFwdHits
 
int nSiHits
 
std::string outputfile
 
bool printProvenanceInfo
 
int verbosity
 
int vtxunit
 

Additional Inherited Members

- Public Types inherited from edm::one::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >>
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::one::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 

Detailed Description

Class to fill dqm monitor elements from existing EDM file

Author
M. Strang SUNY-Buffalo

Definition at line 74 of file GlobalHitsHistogrammer.h.

Constructor & Destructor Documentation

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

Definition at line 11 of file GlobalHitsHistogrammer.cc.

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

12  : fName(""), verbosity(0), frequency(0), vtxunit(0), label(""),
14 {
15  std::string MsgLoggerCat = "GlobalHitsHistogrammer_GlobalHitsHistogrammer";
16 
17  // get information from parameter set
18  fName = iPSet.getUntrackedParameter<std::string>("Name");
19  verbosity = iPSet.getUntrackedParameter<int>("Verbosity");
20  frequency = iPSet.getUntrackedParameter<int>("Frequency");
21  vtxunit = iPSet.getUntrackedParameter<int>("VtxUnit");
22  outputfile = iPSet.getParameter<std::string>("OutputFile");
23  doOutput = iPSet.getParameter<bool>("DoOutput");
24  edm::ParameterSet m_Prov =
25  iPSet.getParameter<edm::ParameterSet>("ProvenanceLookup");
27  m_Prov.getUntrackedParameter<bool>("GetAllProvenances");
29  m_Prov.getUntrackedParameter<bool>("PrintProvenanceInfo");
30 
31  //get Labels to use to extract information
32  GlobalHitSrc_ = iPSet.getParameter<edm::InputTag>("GlobalHitSrc");
33  // fix for consumes
34  GlobalHitSrc_Token_ = consumes<PGlobalSimHit>(iPSet.getParameter<edm::InputTag>("GlobalHitSrc"));
35 
36  // use value of first digit to determine default output level (inclusive)
37  // 0 is none, 1 is basic, 2 is fill output, 3 is gather output
38  verbosity %= 10;
39 
40  // print out Parameter Set information being used
41  if (verbosity >= 0) {
42  edm::LogInfo(MsgLoggerCat)
43  << "\n===============================\n"
44  << "Initialized as EDAnalyzer with parameter values:\n"
45  << " Name = " << fName << "\n"
46  << " Verbosity = " << verbosity << "\n"
47  << " Frequency = " << frequency << "\n"
48  << " VtxUnit = " << vtxunit << "\n"
49  << " OutputFile = " << outputfile << "\n"
50  << " DoOutput = " << doOutput << "\n"
51  << " GetProv = " << getAllProvenances << "\n"
52  << " PrintProv = " << printProvenanceInfo << "\n"
53  << " GlobalHitSrc = " << GlobalHitSrc_.label()
54  << ":" << GlobalHitSrc_.instance() << "\n"
55  << "===============================\n";
56  }
57 
58 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
std::string const & label() const
Definition: InputTag.h:36
edm::EDGetTokenT< PGlobalSimHit > GlobalHitSrc_Token_
std::string const & instance() const
Definition: InputTag.h:37
GlobalHitsHistogrammer::~GlobalHitsHistogrammer ( )
override

Definition at line 501 of file GlobalHitsHistogrammer.cc.

502 {
503 
504 }

Member Function Documentation

void GlobalHitsHistogrammer::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
override

Definition at line 506 of file GlobalHitsHistogrammer.cc.

References count, MillePedeFileConverter_cfg::e, PVValHelper::eta, edm::EventID::event(), MonitorElement::Fill(), frequency, getAllProvenances, edm::Event::getAllStableProvenance(), edm::Event::getByToken(), PGlobalSimHit::getECalHits(), PGlobalSimHit::getG4Trk(), PGlobalSimHit::getG4Vtx(), PGlobalSimHit::getHCalHits(), PGlobalSimHit::getMuonCscHits(), PGlobalSimHit::getMuonDtHits(), PGlobalSimHit::getMuonRpcBrlHits(), PGlobalSimHit::getMuonRpcFwdHits(), PGlobalSimHit::getnECalHits(), PGlobalSimHit::getnG4Trk(), PGlobalSimHit::getnG4Vtx(), PGlobalSimHit::getnHCalHits(), PGlobalSimHit::getnMuonCscHits(), PGlobalSimHit::getnMuonDtHits(), PGlobalSimHit::getnMuonRpcBrlHits(), PGlobalSimHit::getnMuonRpcFwdHits(), PGlobalSimHit::getnPreShHits(), PGlobalSimHit::getnPxlBrlHits(), PGlobalSimHit::getnPxlFwdHits(), PGlobalSimHit::getnRawGenPart(), PGlobalSimHit::getnSiBrlHits(), PGlobalSimHit::getnSiFwdHits(), PGlobalSimHit::getPreShHits(), PGlobalSimHit::getPxlBrlHits(), PGlobalSimHit::getPxlFwdHits(), PGlobalSimHit::getSiBrlHits(), PGlobalSimHit::getSiFwdHits(), GlobalHitSrc_Token_, mps_fire::i, edm::EventBase::id(), edm::HandleBase::isValid(), meCaloEcal, meCaloEcalE, meCaloEcalEta, meCaloEcalPhi, meCaloEcalToF, meCaloHcal, meCaloHcalE, meCaloHcalEta, meCaloHcalPhi, meCaloHcalToF, meCaloPreSh, meCaloPreShE, meCaloPreShEta, meCaloPreShPhi, meCaloPreShToF, meGeantTrkE, meGeantTrkPt, meGeantVtxX, meGeantVtxY, meGeantVtxZ, meMCG4Trk, meMCG4Vtx, meMCRGP, meMuon, meMuonCscToF, meMuonCscZ, meMuonDtR, meMuonDtToF, meMuonEta, meMuonPhi, meMuonRpcBR, meMuonRpcBToF, meMuonRpcFToF, meMuonRpcFZ, meTrackerPx, meTrackerPxBR, meTrackerPxBToF, meTrackerPxEta, meTrackerPxFToF, meTrackerPxFZ, meTrackerPxPhi, meTrackerSi, meTrackerSiBR, meTrackerSiBToF, meTrackerSiEta, meTrackerSiFToF, meTrackerSiFZ, meTrackerSiPhi, nevt, nMuonCscHits, nMuonDtHits, nMuonHits, nMuonRpcBrlHits, nMuonRpcFwdHits, nPxlBrlHits, nPxlFwdHits, nPxlHits, nSiBrlHits, nSiFwdHits, nSiHits, phi, printProvenanceInfo, EnergyCorrector::pt, alignCSCRings::r, edm::EventID::run(), AlCaHLTBitMon_QueryRunRegistry::string, verbosity, x, y, and z.

508 {
509  std::string MsgLoggerCat = "GlobalHitsHistogrammer_analyze";
510 
511  // keep track of number of events processed
512  ++count;
513 
514  // get event id information
515  edm::RunNumber_t nrun = iEvent.id().run();
516  edm::EventNumber_t nevt = iEvent.id().event();
517 
518  if (verbosity > 0) {
519  edm::LogInfo(MsgLoggerCat)
520  << "Processing run " << nrun << ", event " << nevt
521  << " (" << count << " events total)";
522  } else if (verbosity == 0) {
523  if (nevt%frequency == 0 || nevt == 1) {
524  edm::LogInfo(MsgLoggerCat)
525  << "Processing run " << nrun << ", event " << nevt
526  << " (" << count << " events total)";
527  }
528  }
529 
530  // look at information available in the event
531  if (getAllProvenances) {
532 
533  std::vector<const edm::StableProvenance*> AllProv;
534  iEvent.getAllStableProvenance(AllProv);
535 
536  if (verbosity >= 0)
537  edm::LogInfo(MsgLoggerCat)
538  << "Number of Provenances = " << AllProv.size();
539 
540  if (printProvenanceInfo && (verbosity >= 0)) {
541  TString eventout("\nProvenance info:\n");
542 
543  for (unsigned int i = 0; i < AllProv.size(); ++i) {
544  eventout += "\n ******************************";
545  eventout += "\n Module : ";
546  eventout += AllProv[i]->moduleLabel();
547  eventout += "\n ProductID : ";
548  eventout += AllProv[i]->productID().id();
549  eventout += "\n ClassName : ";
550  eventout += AllProv[i]->className();
551  eventout += "\n InstanceName : ";
552  eventout += AllProv[i]->productInstanceName();
553  eventout += "\n BranchName : ";
554  eventout += AllProv[i]->branchName();
555  }
556  eventout += "\n ******************************\n";
557  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
558  printProvenanceInfo = false;
559  }
560  getAllProvenances = false;
561  }
562 
563  // fill histograms
564  edm::Handle<PGlobalSimHit> srcGlobalHits;
565  iEvent.getByToken(GlobalHitSrc_Token_,srcGlobalHits);
566  if (!srcGlobalHits.isValid()) {
567  edm::LogWarning(MsgLoggerCat)
568  << "Unable to find PGlobalSimHit in event!";
569  return;
570  }
571 
572  nPxlBrlHits = srcGlobalHits->getnPxlBrlHits();
573  nPxlFwdHits = srcGlobalHits->getnPxlFwdHits();
575  nSiBrlHits = srcGlobalHits->getnSiBrlHits();
576  nSiFwdHits = srcGlobalHits->getnSiFwdHits();
578  nMuonDtHits = srcGlobalHits->getnMuonDtHits();
579  nMuonCscHits = srcGlobalHits->getnMuonCscHits();
580  nMuonRpcBrlHits = srcGlobalHits->getnMuonRpcBrlHits();
581  nMuonRpcFwdHits = srcGlobalHits->getnMuonRpcFwdHits();
583 
584  for (Int_t i = 0; i < 2; ++i) {
585  meMCRGP[i]->Fill((float)srcGlobalHits->getnRawGenPart());
586  meMCG4Vtx[i]->Fill((float)srcGlobalHits->getnG4Vtx());
587  meMCG4Trk[i]->Fill((float)srcGlobalHits->getnG4Trk());
588  meCaloEcal[i]->Fill((float)srcGlobalHits->getnECalHits());
589  meCaloPreSh[i]->Fill((float)srcGlobalHits->getnPreShHits());
590  meCaloHcal[i]->Fill((float)srcGlobalHits->getnHCalHits());
591  meTrackerPx[i]->Fill((float)nPxlHits);
592  meTrackerSi[i]->Fill((float)nSiHits);
593  meMuon[i]->Fill((float)nMuonHits);
594  }
595 
596  // get G4Vertex info
597  std::vector<PGlobalSimHit::Vtx> G4Vtx = srcGlobalHits->getG4Vtx();
598  for (unsigned int i = 0; i < G4Vtx.size(); ++i) {
599  for (int j = 0; j < 2; ++j) {
600  meGeantVtxX[j]->Fill(G4Vtx[i].x);
601  meGeantVtxY[j]->Fill(G4Vtx[i].y);
602  meGeantVtxZ[j]->Fill(G4Vtx[i].z);
603  }
604  }
605 
606  // get G4Track info
607  std::vector<PGlobalSimHit::Trk> G4Trk = srcGlobalHits->getG4Trk();
608  for (unsigned int i = 0; i < G4Trk.size(); ++i) {
609  meGeantTrkPt->Fill(G4Trk[i].pt);
610  meGeantTrkE->Fill(G4Trk[i].e);
611  }
612 
613  // get Ecal info
614  std::vector<PGlobalSimHit::CalHit> ECalHits =
615  srcGlobalHits->getECalHits();
616  for (unsigned int i = 0; i < ECalHits.size(); ++i) {
617  for (Int_t j = 0; j < 2; ++j) {
618  meCaloEcalE[j]->Fill(ECalHits[i].e);
619  meCaloEcalToF[j]->Fill(ECalHits[i].tof);
620  }
621  meCaloEcalPhi->Fill(ECalHits[i].phi);
622  meCaloEcalEta->Fill(ECalHits[i].eta);
623  }
624 
625  // get PreShower info
626  std::vector<PGlobalSimHit::CalHit> PreShHits =
627  srcGlobalHits->getPreShHits();
628  for (unsigned int i = 0; i < PreShHits.size(); ++i) {
629  for (Int_t j = 0; j < 2; ++j) {
630  meCaloPreShE[j]->Fill(PreShHits[i].e);
631  meCaloPreShToF[j]->Fill(PreShHits[i].tof);
632  }
633  meCaloPreShPhi->Fill(PreShHits[i].phi);
634  meCaloPreShEta->Fill(PreShHits[i].eta);
635  }
636 
637  // get Hcal info
638  std::vector<PGlobalSimHit::CalHit> HCalHits =
639  srcGlobalHits->getHCalHits();
640  for (unsigned int i = 0; i < HCalHits.size(); ++i) {
641  for (Int_t j = 0; j < 2; ++j) {
642  meCaloHcalE[j]->Fill(HCalHits[i].e);
643  meCaloHcalToF[j]->Fill(HCalHits[i].tof);
644  }
645  meCaloHcalPhi->Fill(HCalHits[i].phi);
646  meCaloHcalEta->Fill(HCalHits[i].eta);
647  }
648 
649  // get Pixel Barrel info
650  std::vector<PGlobalSimHit::BrlHit> PxlBrlHits =
651  srcGlobalHits->getPxlBrlHits();
652  for (unsigned int i = 0; i < PxlBrlHits.size(); ++i) {
653  meTrackerPxPhi->Fill(PxlBrlHits[i].phi);
654  meTrackerPxEta->Fill(PxlBrlHits[i].eta);
655  meTrackerPxBToF->Fill(PxlBrlHits[i].tof);
656  meTrackerPxBR->Fill(PxlBrlHits[i].r);
657  }
658 
659  // get Pixel Forward info
660  std::vector<PGlobalSimHit::FwdHit> PxlFwdHits =
661  srcGlobalHits->getPxlFwdHits();
662  for (unsigned int i = 0; i < PxlFwdHits.size(); ++i) {
663  meTrackerPxPhi->Fill(PxlFwdHits[i].phi);
664  meTrackerPxEta->Fill(PxlFwdHits[i].eta);
665  meTrackerPxFToF->Fill(PxlFwdHits[i].tof);
666  meTrackerPxFZ->Fill(PxlFwdHits[i].z);
667  }
668 
669  // get Strip Barrel info
670  std::vector<PGlobalSimHit::BrlHit> SiBrlHits =
671  srcGlobalHits->getSiBrlHits();
672  for (unsigned int i = 0; i < SiBrlHits.size(); ++i) {
673  meTrackerSiPhi->Fill(SiBrlHits[i].phi);
674  meTrackerSiEta->Fill(SiBrlHits[i].eta);
675  meTrackerSiBToF->Fill(SiBrlHits[i].tof);
676  meTrackerSiBR->Fill(SiBrlHits[i].r);
677  }
678 
679  // get Strip Forward info
680  std::vector<PGlobalSimHit::FwdHit> SiFwdHits =
681  srcGlobalHits->getSiFwdHits();
682  for (unsigned int i = 0; i < SiFwdHits.size(); ++i) {
683  meTrackerSiPhi->Fill(SiFwdHits[i].phi);
684  meTrackerSiEta->Fill(SiFwdHits[i].eta);
685  meTrackerSiFToF->Fill(SiFwdHits[i].tof);
686  meTrackerSiFZ->Fill(SiFwdHits[i].z);
687  }
688 
689  // get Muon CSC info
690  std::vector<PGlobalSimHit::FwdHit> MuonCscHits =
691  srcGlobalHits->getMuonCscHits();
692  for (unsigned int i = 0; i < MuonCscHits.size(); ++i) {
693  meMuonPhi->Fill(MuonCscHits[i].phi);
694  meMuonEta->Fill(MuonCscHits[i].eta);
695  for (Int_t j = 0; j < 2; ++j) {
696  meMuonCscToF[j]->Fill(MuonCscHits[i].tof);
697  }
698  meMuonCscZ->Fill(MuonCscHits[i].z);
699  }
700 
701  // get Muon DT info
702  std::vector<PGlobalSimHit::BrlHit> MuonDtHits =
703  srcGlobalHits->getMuonDtHits();
704  for (unsigned int i = 0; i < MuonDtHits.size(); ++i) {
705  meMuonPhi->Fill(MuonDtHits[i].phi);
706  meMuonEta->Fill(MuonDtHits[i].eta);
707  for (Int_t j = 0; j < 2; ++j) {
708  meMuonDtToF[j]->Fill(MuonDtHits[i].tof);
709  }
710  meMuonDtR->Fill(MuonDtHits[i].r);
711  }
712 
713  // get Muon RPC forward info
714  std::vector<PGlobalSimHit::FwdHit> MuonRpcFwdHits =
715  srcGlobalHits->getMuonRpcFwdHits();
716  for (unsigned int i = 0; i < MuonRpcFwdHits.size(); ++i) {
717  meMuonPhi->Fill(MuonRpcFwdHits[i].phi);
718  meMuonEta->Fill(MuonRpcFwdHits[i].eta);
719  for (Int_t j = 0; j < 2; ++j) {
720  meMuonRpcFToF[j]->Fill(MuonRpcFwdHits[i].tof);
721  }
722  meMuonRpcFZ->Fill(MuonRpcFwdHits[i].z);
723  }
724 
725  // get Muon RPC barrel info
726  std::vector<PGlobalSimHit::BrlHit> MuonRpcBrlHits =
727  srcGlobalHits->getMuonRpcBrlHits();
728  for (unsigned int i = 0; i < MuonRpcBrlHits.size(); ++i) {
729  meMuonPhi->Fill(MuonRpcBrlHits[i].phi);
730  meMuonEta->Fill(MuonRpcBrlHits[i].eta);
731  for (Int_t j = 0; j < 2; ++j) {
732  meMuonRpcBToF[j]->Fill(MuonRpcBrlHits[i].tof);
733  }
734  meMuonRpcBR->Fill(MuonRpcBrlHits[i].r);
735  }
736 
737  return;
738 }
RunNumber_t run() const
Definition: EventID.h:39
CalVector getPreShHits() const
BrlVector getPxlBrlHits() const
EventNumber_t event() const
Definition: EventID.h:41
MonitorElement * meMCG4Vtx[2]
FwdVector getMuonCscHits() const
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:579
MonitorElement * meCaloHcal[2]
MonitorElement * meCaloEcalE[2]
int getnRawGenPart() const
unsigned long long EventNumber_t
int getnSiFwdHits() const
int getnHCalHits() const
int getnMuonCscHits() const
FwdVector getPxlFwdHits() const
MonitorElement * meMuonRpcBToF[2]
int getnMuonRpcFwdHits() const
MonitorElement * meCaloPreSh[2]
int getnMuonDtHits() const
int getnPreShHits() const
void Fill(long long x)
MonitorElement * meMuonCscToF[2]
MonitorElement * meGeantVtxY[2]
MonitorElement * meMuonDtToF[2]
FwdVector getSiFwdHits() const
MonitorElement * meCaloPreShE[2]
TrkVector getG4Trk() const
bool isValid() const
Definition: HandleBase.h:74
int getnPxlFwdHits() const
MonitorElement * meCaloHcalE[2]
BrlVector getMuonDtHits() const
int getnG4Trk() const
MonitorElement * meTrackerSi[2]
VtxVector getG4Vtx() const
MonitorElement * meMCG4Trk[2]
MonitorElement * meCaloEcal[2]
int getnG4Vtx() const
MonitorElement * meCaloPreShToF[2]
int getnMuonRpcBrlHits() const
int getnECalHits() const
edm::EDGetTokenT< PGlobalSimHit > GlobalHitSrc_Token_
edm::EventID id() const
Definition: EventBase.h:60
MonitorElement * meCaloEcalToF[2]
MonitorElement * meMuonRpcFToF[2]
CalVector getHCalHits() const
MonitorElement * meTrackerPx[2]
CalVector getECalHits() const
unsigned int RunNumber_t
int getnSiBrlHits() const
MonitorElement * meGeantVtxZ[2]
BrlVector getMuonRpcBrlHits() const
MonitorElement * meGeantVtxX[2]
BrlVector getSiBrlHits() const
MonitorElement * meCaloHcalToF[2]
int getnPxlBrlHits() const
FwdVector getMuonRpcFwdHits() const
void getAllStableProvenance(std::vector< StableProvenance const * > &provenances) const
Definition: Event.cc:144
void GlobalHitsHistogrammer::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  ,
edm::EventSetup const &   
)
overridevirtual

Implements DQMEDAnalyzer.

Definition at line 60 of file GlobalHitsHistogrammer.cc.

References DQMStore::IBooker::book1D(), mps_fire::i, meCaloEcal, meCaloEcalE, meCaloEcalEta, meCaloEcalPhi, meCaloEcalToF, meCaloHcal, meCaloHcalE, meCaloHcalEta, meCaloHcalPhi, meCaloHcalToF, meCaloPreSh, meCaloPreShE, meCaloPreShEta, meCaloPreShPhi, meCaloPreShToF, meGeantTrkE, meGeantTrkPt, meGeantVtxX, meGeantVtxY, meGeantVtxZ, meMCG4Trk, meMCG4Vtx, meMCRGP, meMuon, meMuonCscToF, meMuonCscZ, meMuonDtR, meMuonDtToF, meMuonEta, meMuonPhi, meMuonRpcBR, meMuonRpcBToF, meMuonRpcFToF, meMuonRpcFZ, meTrackerPx, meTrackerPxBR, meTrackerPxBToF, meTrackerPxEta, meTrackerPxFToF, meTrackerPxFZ, meTrackerPxPhi, meTrackerSi, meTrackerSiBR, meTrackerSiBToF, meTrackerSiEta, meTrackerSiFToF, meTrackerSiFZ, meTrackerSiPhi, MonitorElement::setAxisTitle(), and DQMStore::IBooker::setCurrentFolder().

61  {
62 
63  // initialize monitor elements
64  for (Int_t i = 0; i < 2; ++i) {
65  meMCRGP[i] = nullptr;
66  meMCG4Vtx[i] = nullptr;
67  meGeantVtxX[i] = nullptr;
68  meGeantVtxY[i] = nullptr;
69  meGeantVtxZ[i] = nullptr;
70  meMCG4Trk[i] = nullptr;
71  meCaloEcal[i] = nullptr;
72  meCaloEcalE[i] = nullptr;
73  meCaloEcalToF[i] = nullptr;
74  meCaloPreSh[i] = nullptr;
75  meCaloPreShE[i] = nullptr;
76  meCaloPreShToF[i] = nullptr;
77  meCaloHcal[i] = nullptr;
78  meCaloHcalE[i] = nullptr;
79  meCaloHcalToF[i] = nullptr;
80  meTrackerPx[i] = nullptr;
81  meTrackerSi[i] = nullptr;
82  meMuon[i] = nullptr;
83  meMuonDtToF[i] = nullptr;
84  meMuonCscToF[i] = nullptr;
85  meMuonRpcFToF[i] = nullptr;
86  meMuonRpcBToF[i] = nullptr;
87  }
88  meGeantTrkPt = nullptr;
89  meGeantTrkE = nullptr;
90  meCaloEcalPhi = nullptr;
91  meCaloEcalEta = nullptr;
92  meCaloPreShPhi = nullptr;
93  meCaloPreShEta = nullptr;
94  meCaloHcalPhi = nullptr;
95  meCaloHcalEta = nullptr;
96  meTrackerPxPhi = nullptr;
97  meTrackerPxEta = nullptr;
98  meTrackerPxBToF = nullptr;
99  meTrackerPxBR = nullptr;
100  meTrackerPxFToF = nullptr;
101  meTrackerPxFZ = nullptr;
102  meTrackerSiPhi = nullptr;
103  meTrackerSiEta = nullptr;
104  meTrackerSiBToF = nullptr;
105  meTrackerSiBR = nullptr;
106  meTrackerSiFToF = nullptr;
107  meTrackerSiFZ = nullptr;
108  meMuonPhi = nullptr;
109  meMuonEta = nullptr;
110  meMuonDtR = nullptr;
111  meMuonCscZ = nullptr;
112  meMuonRpcBR = nullptr;
113  meMuonRpcFZ = nullptr;
114 
115  //create histograms
116  Char_t hname[200];
117  Char_t htitle[200];
118 
119  // MCGeant
120  ibooker.setCurrentFolder("GlobalHitsV/MCGeant");
121  sprintf(hname, "hMCRGP1");
122  sprintf(htitle, "RawGenParticles");
123  meMCRGP[0] = ibooker.book1D(hname, htitle, 100, 0., 5000.);
124  sprintf(hname, "hMCRGP2");
125  meMCRGP[1] = ibooker.book1D(hname, htitle, 100, 0., 500.);
126  for (Int_t i = 0; i < 2; ++i) {
127  meMCRGP[i]->setAxisTitle("Number of Raw Generated Particles", 1);
128  meMCRGP[i]->setAxisTitle("Count", 2);
129  }
130 
131  sprintf(hname, "hMCG4Vtx1");
132  sprintf(htitle, "G4 Vertices");
133  meMCG4Vtx[0] = ibooker.book1D(hname, htitle, 100, 0., 50000.);
134  sprintf(hname, "hMCG4Vtx2");
135  meMCG4Vtx[1] = ibooker.book1D(hname, htitle, 100, -0.5, 99.5);
136  for (Int_t i = 0; i < 2; ++i) {
137  meMCG4Vtx[i]->setAxisTitle("Number of Vertices", 1);
138  meMCG4Vtx[i]->setAxisTitle("Count", 2);
139  }
140 
141  sprintf(hname, "hMCG4Trk1");
142  sprintf(htitle, "G4 Tracks");
143  meMCG4Trk[0] = ibooker.book1D(hname, htitle, 150, 0., 15000.);
144  sprintf(hname, "hMCG4Trk2");
145  meMCG4Trk[1] = ibooker.book1D(hname, htitle, 150, -0.5, 99.5);
146  for (Int_t i = 0; i < 2; ++i) {
147  meMCG4Trk[i]->setAxisTitle("Number of Tracks", 1);
148  meMCG4Trk[i]->setAxisTitle("Count", 2);
149  }
150 
151  sprintf(hname, "hGeantVtxX1");
152  sprintf(htitle, "Geant vertex x/micrometer");
153  meGeantVtxX[0] = ibooker.book1D(hname, htitle, 100, -8000000., 8000000.);
154  sprintf(hname, "hGeantVtxX2");
155  meGeantVtxX[1] = ibooker.book1D(hname, htitle, 100, -50., 50.);
156  for (Int_t i = 0; i < 2; ++i) {
157  meGeantVtxX[i]->setAxisTitle("x of Vertex (um)", 1);
158  meGeantVtxX[i]->setAxisTitle("Count", 2);
159  }
160 
161  sprintf(hname, "hGeantVtxY1");
162  sprintf(htitle, "Geant vertex y/micrometer");
163  meGeantVtxY[0] = ibooker.book1D(hname, htitle, 100, -8000000, 8000000.);
164  sprintf(hname, "hGeantVtxY2");
165  meGeantVtxY[1] = ibooker.book1D(hname, htitle, 100, -50., 50.);
166  for (Int_t i = 0; i < 2; ++i) {
167  meGeantVtxY[i]->setAxisTitle("y of Vertex (um)", 1);
168  meGeantVtxY[i]->setAxisTitle("Count", 2);
169  }
170 
171  sprintf(hname, "hGeantVtxZ1");
172  sprintf(htitle, "Geant vertex z/millimeter");
173  meGeantVtxZ[0] = ibooker.book1D(hname, htitle, 100, -11000., 11000.);
174  sprintf(hname, "hGeantVtxZ2");
175  meGeantVtxZ[1] = ibooker.book1D(hname, htitle, 100, -250., 250.);
176  for (Int_t i = 0; i < 2; ++i) {
177  meGeantVtxZ[i]->setAxisTitle("z of Vertex (mm)", 1);
178  meGeantVtxZ[i]->setAxisTitle("Count", 2);
179  }
180 
181  sprintf(hname, "hGeantTrkPt");
182  sprintf(htitle, "Geant track pt/GeV");
183  meGeantTrkPt = ibooker.book1D(hname, htitle, 100, 0., 200.);
184  meGeantTrkPt->setAxisTitle("pT of Track (GeV)", 1);
185  meGeantTrkPt->setAxisTitle("Count", 2);
186 
187  sprintf(hname, "hGeantTrkE");
188  sprintf(htitle, "Geant track E/GeV");
189  meGeantTrkE = ibooker.book1D(hname, htitle, 100, 0., 5000.);
190  meGeantTrkE->setAxisTitle("E of Track (GeV)", 1);
191  meGeantTrkE->setAxisTitle("Count", 2);
192 
193  // ECal
194  ibooker.setCurrentFolder("GlobalHitsV/ECals");
195 
196  sprintf(hname, "hCaloEcal1");
197  sprintf(htitle, "Ecal hits");
198  meCaloEcal[0] = ibooker.book1D(hname, htitle, 100, 0., 10000.);
199  sprintf(hname, "hCaloEcal2");
200  meCaloEcal[1] = ibooker.book1D(hname, htitle, 100, -0.5, 99.5);
201 
202  sprintf(hname, "hCaloEcalE1");
203  sprintf(htitle, "Ecal hits, energy/GeV");
204  meCaloEcalE[0] = ibooker.book1D(hname, htitle, 100, 0., 10.);
205  sprintf(hname, "hCaloEcalE2");
206  meCaloEcalE[1] = ibooker.book1D(hname, htitle, 100, 0., 0.1);
207 
208  sprintf(hname, "hCaloEcalToF1");
209  sprintf(htitle, "Ecal hits, ToF/ns");
210  meCaloEcalToF[0] = ibooker.book1D(hname, htitle, 100, 0., 1000.);
211  sprintf(hname, "hCaloEcalToF2");
212  meCaloEcalToF[1] = ibooker.book1D(hname, htitle, 100, 0., 100.);
213 
214  for (Int_t i = 0; i < 2; ++i) {
215  meCaloEcal[i]->setAxisTitle("Number of Hits", 1);
216  meCaloEcal[i]->setAxisTitle("Count", 2);
217  meCaloEcalE[i]->setAxisTitle("Energy of Hits (GeV)", 1);
218  meCaloEcalE[i]->setAxisTitle("Count", 2);
219  meCaloEcalToF[i]->setAxisTitle("Time of Flight of Hits (ns)", 1);
220  meCaloEcalToF[i]->setAxisTitle("Count", 2);
221  }
222 
223  sprintf(hname, "hCaloEcalPhi");
224  sprintf(htitle, "Ecal hits, phi/rad");
225  meCaloEcalPhi = ibooker.book1D(hname, htitle, 100, -3.2, 3.2);
226  meCaloEcalPhi->setAxisTitle("Phi of Hits (rad)", 1);
227  meCaloEcalPhi->setAxisTitle("Count", 2);
228 
229  sprintf(hname, "hCaloEcalEta");
230  sprintf(htitle, "Ecal hits, eta");
231  meCaloEcalEta = ibooker.book1D(hname, htitle, 100, -5.5, 5.5);
232  meCaloEcalEta->setAxisTitle("Eta of Hits", 1);
233  meCaloEcalEta->setAxisTitle("Count", 2);
234 
235  sprintf(hname, "hCaloPreSh1");
236  sprintf(htitle, "PreSh hits");
237  meCaloPreSh[0] = ibooker.book1D(hname, htitle, 100, 0., 10000.);
238  sprintf(hname, "hCaloPreSh2");
239  meCaloPreSh[1] = ibooker.book1D(hname, htitle, 100, -0.5, 99.5);
240 
241  sprintf(hname, "hCaloPreShE1");
242  sprintf(htitle, "PreSh hits, energy/GeV");
243  meCaloPreShE[0] = ibooker.book1D(hname, htitle, 100, 0., 10.);
244  sprintf(hname, "hCaloPreShE2");
245  meCaloPreShE[1] = ibooker.book1D(hname, htitle, 100, 0., 0.1);
246 
247  sprintf(hname, "hCaloPreShToF1");
248  sprintf(htitle, "PreSh hits, ToF/ns");
249  meCaloPreShToF[0] = ibooker.book1D(hname, htitle, 100, 0., 1000.);
250  sprintf(hname, "hCaloPreShToF2");
251  meCaloPreShToF[1] = ibooker.book1D(hname, htitle, 100, 0., 100.);
252 
253  for (Int_t i = 0; i < 2; ++i) {
254  meCaloPreSh[i]->setAxisTitle("Number of Hits", 1);
255  meCaloPreSh[i]->setAxisTitle("Count", 2);
256  meCaloPreShE[i]->setAxisTitle("Energy of Hits (GeV)", 1);
257  meCaloPreShE[i]->setAxisTitle("Count", 2);
258  meCaloPreShToF[i]->setAxisTitle("Time of Flight of Hits (ns)", 1);
259  meCaloPreShToF[i]->setAxisTitle("Count", 2);
260  }
261 
262  sprintf(hname, "hCaloPreShPhi");
263  sprintf(htitle, "PreSh hits, phi/rad");
264  meCaloPreShPhi = ibooker.book1D(hname, htitle, 100, -3.2, 3.2);
265  meCaloPreShPhi->setAxisTitle("Phi of Hits (rad)", 1);
266  meCaloPreShPhi->setAxisTitle("Count", 2);
267 
268  sprintf(hname, "hCaloPreShEta");
269  sprintf(htitle, "PreSh hits, eta");
270  meCaloPreShEta = ibooker.book1D(hname, htitle, 100, -5.5, 5.5);
271  meCaloPreShEta->setAxisTitle("Eta of Hits", 1);
272  meCaloPreShEta->setAxisTitle("Count", 2);
273 
274  // Hcal
275  ibooker.setCurrentFolder("GlobalHitsV/HCals");
276  sprintf(hname, "hCaloHcal1");
277  sprintf(htitle, "Hcal hits");
278  meCaloHcal[0] = ibooker.book1D(hname, htitle, 100, 0., 10000.);
279  sprintf(hname, "hCaloHcal2");
280  meCaloHcal[1] = ibooker.book1D(hname, htitle, 100, -0.5, 99.5);
281 
282  sprintf(hname, "hCaloHcalE1");
283  sprintf(htitle, "Hcal hits, energy/GeV");
284  meCaloHcalE[0] = ibooker.book1D(hname, htitle, 100, 0., 10.);
285  sprintf(hname, "hCaloHcalE2");
286  meCaloHcalE[1] = ibooker.book1D(hname, htitle, 100, 0., 0.1);
287 
288  sprintf(hname, "hCaloHcalToF1");
289  sprintf(htitle, "Hcal hits, ToF/ns");
290  meCaloHcalToF[0] = ibooker.book1D(hname, htitle, 100, 0., 1000.);
291  sprintf(hname, "hCaloHcalToF2");
292  meCaloHcalToF[1] = ibooker.book1D(hname, htitle, 100, 0., 100.);
293 
294  for (Int_t i = 0; i < 2; ++i) {
295  meCaloHcal[i]->setAxisTitle("Number of Hits", 1);
296  meCaloHcal[i]->setAxisTitle("Count", 2);
297  meCaloHcalE[i]->setAxisTitle("Energy of Hits (GeV)", 1);
298  meCaloHcalE[i]->setAxisTitle("Count", 2);
299  meCaloHcalToF[i]->setAxisTitle("Time of Flight of Hits (ns)", 1);
300  meCaloHcalToF[i]->setAxisTitle("Count", 2);
301  }
302 
303  sprintf(hname, "hCaloHcalPhi");
304  sprintf(htitle, "Hcal hits, phi/rad");
305  meCaloHcalPhi = ibooker.book1D(hname, htitle, 100, -3.2, 3.2);
306  meCaloHcalPhi->setAxisTitle("Phi of Hits (rad)", 1);
307  meCaloHcalPhi->setAxisTitle("Count", 2);
308 
309  sprintf(hname, "hCaloHcalEta");
310  sprintf(htitle, "Hcal hits, eta");
311  meCaloHcalEta = ibooker.book1D(hname, htitle, 100, -5.5, 5.5);
312  meCaloHcalEta->setAxisTitle("Eta of Hits", 1);
313  meCaloHcalEta->setAxisTitle("Count", 2);
314 
315  // SiPixels
316  ibooker.setCurrentFolder("GlobalHitsV/SiPixels");
317  sprintf(hname, "hTrackerPx1");
318  sprintf(htitle, "Pixel hits");
319  meTrackerPx[0] = ibooker.book1D(hname, htitle, 100, 0., 10000.);
320  sprintf(hname, "hTrackerPx2");
321  meTrackerPx[1] = ibooker.book1D(hname, htitle, 100, -0.5, 99.5);
322  for (Int_t i = 0; i < 2; ++i) {
323  meTrackerPx[i]->setAxisTitle("Number of Pixel Hits", 1);
324  meTrackerPx[i]->setAxisTitle("Count", 2);
325  }
326 
327  sprintf(hname, "hTrackerPxPhi");
328  sprintf(htitle, "Pixel hits phi/rad");
329  meTrackerPxPhi = ibooker.book1D(hname, htitle, 100, -3.2, 3.2);
330  meTrackerPxPhi->setAxisTitle("Phi of Hits (rad)", 1);
331  meTrackerPxPhi->setAxisTitle("Count", 2);
332 
333  sprintf(hname, "hTrackerPxEta");
334  sprintf(htitle, "Pixel hits eta");
335  meTrackerPxEta = ibooker.book1D(hname, htitle, 100, -3.5, 3.5);
336  meTrackerPxEta->setAxisTitle("Eta of Hits", 1);
337  meTrackerPxEta->setAxisTitle("Count", 2);
338 
339  sprintf(hname, "hTrackerPxBToF");
340  sprintf(htitle, "Pixel barrel hits, ToF/ns");
341  meTrackerPxBToF = ibooker.book1D(hname, htitle, 100, 0., 40.);
342  meTrackerPxBToF->setAxisTitle("Time of Flight of Hits (ns)", 1);
343  meTrackerPxBToF->setAxisTitle("Count", 2);
344 
345  sprintf(hname, "hTrackerPxBR");
346  sprintf(htitle, "Pixel barrel hits, R/cm");
347  meTrackerPxBR = ibooker.book1D(hname, htitle, 100, 0., 50.);
348  meTrackerPxBR->setAxisTitle("R of Hits (cm)", 1);
349  meTrackerPxBR->setAxisTitle("Count", 2);
350 
351  sprintf(hname, "hTrackerPxFToF");
352  sprintf(htitle, "Pixel forward hits, ToF/ns");
353  meTrackerPxFToF = ibooker.book1D(hname, htitle, 100, 0., 50.);
354  meTrackerPxFToF->setAxisTitle("Time of Flight of Hits (ns)", 1);
355  meTrackerPxFToF->setAxisTitle("Count", 2);
356 
357  sprintf(hname, "hTrackerPxFZ");
358  sprintf(htitle, "Pixel forward hits, Z/cm");
359  meTrackerPxFZ = ibooker.book1D(hname, htitle, 200, -100., 100.);
360  meTrackerPxFZ->setAxisTitle("Z of Hits (cm)", 1);
361  meTrackerPxFZ->setAxisTitle("Count", 2);
362 
363  // SiStrips
364  ibooker.setCurrentFolder("GlobalHitsV/SiPixels");
365  sprintf(hname, "hTrackerSi1");
366  sprintf(htitle, "Silicon hits");
367  meTrackerSi[0] = ibooker.book1D(hname, htitle, 100, 0., 10000.);
368  sprintf(hname, "hTrackerSi2");
369  meTrackerSi[1] = ibooker.book1D(hname, htitle, 100, -0.5, 99.5);
370  for (Int_t i = 0; i < 2; ++i) {
371  meTrackerSi[i]->setAxisTitle("Number of Silicon Hits", 1);
372  meTrackerSi[i]->setAxisTitle("Count", 2);
373  }
374 
375  sprintf(hname, "hTrackerSiPhi");
376  sprintf(htitle, "Silicon hits phi/rad");
377  meTrackerSiPhi = ibooker.book1D(hname, htitle, 100, -3.2, 3.2);
378  meTrackerSiPhi->setAxisTitle("Phi of Hits (rad)", 1);
379  meTrackerSiPhi->setAxisTitle("Count", 2);
380 
381  sprintf(hname, "hTrackerSiEta");
382  sprintf(htitle, "Silicon hits eta");
383  meTrackerSiEta = ibooker.book1D(hname, htitle, 100, -3.5, 3.5);
384  meTrackerSiEta->setAxisTitle("Eta of Hits", 1);
385  meTrackerSiEta->setAxisTitle("Count", 2);
386 
387  sprintf(hname, "hTrackerSiBToF");
388  sprintf(htitle, "Silicon barrel hits, ToF/ns");
389  meTrackerSiBToF = ibooker.book1D(hname, htitle, 100, 0., 50.);
390  meTrackerSiBToF->setAxisTitle("Time of Flight of Hits (ns)", 1);
391  meTrackerSiBToF->setAxisTitle("Count", 2);
392 
393  sprintf(hname, "hTrackerSiBR");
394  sprintf(htitle, "Silicon barrel hits, R/cm");
395  meTrackerSiBR = ibooker.book1D(hname, htitle, 100, 0., 200.);
396  meTrackerSiBR->setAxisTitle("R of Hits (cm)", 1);
397  meTrackerSiBR->setAxisTitle("Count", 2);
398 
399  sprintf(hname, "hTrackerSiFToF");
400  sprintf(htitle, "Silicon forward hits, ToF/ns");
401  meTrackerSiFToF = ibooker.book1D(hname, htitle, 100, 0., 75.);
402  meTrackerSiFToF->setAxisTitle("Time of Flight of Hits (ns)", 1);
403  meTrackerSiFToF->setAxisTitle("Count", 2);
404 
405  sprintf(hname, "hTrackerSiFZ");
406  sprintf(htitle, "Silicon forward hits, Z/cm");
407  meTrackerSiFZ = ibooker.book1D(hname, htitle, 200, -300., 300.);
408  meTrackerSiFZ->setAxisTitle("Z of Hits (cm)", 1);
409  meTrackerSiFZ->setAxisTitle("Count", 2);
410 
411  // muon
412  ibooker.setCurrentFolder("GlobalHitsV/Muons");
413  sprintf(hname, "hMuon1");
414  sprintf(htitle, "Muon hits");
415  meMuon[0] = ibooker.book1D(hname, htitle, 100, 0., 10000.);
416  sprintf(hname, "hMuon2");
417  meMuon[1] = ibooker.book1D(hname, htitle, 100, -0.5, 99.5);
418  for (Int_t i = 0; i < 2; ++i) {
419  meMuon[i]->setAxisTitle("Number of Muon Hits", 1);
420  meMuon[i]->setAxisTitle("Count", 2);
421  }
422 
423  sprintf(hname, "hMuonPhi");
424  sprintf(htitle, "Muon hits phi/rad");
425  meMuonPhi = ibooker.book1D(hname, htitle, 100, -3.2, 3.2);
426  meMuonPhi->setAxisTitle("Phi of Hits (rad)", 1);
427  meMuonPhi->setAxisTitle("Count", 2);
428 
429  sprintf(hname, "hMuonEta");
430  sprintf(htitle, "Muon hits eta");
431  meMuonEta = ibooker.book1D(hname, htitle, 100, -3.5, 3.5);
432  meMuonEta->setAxisTitle("Eta of Hits", 1);
433  meMuonEta->setAxisTitle("Count", 2);
434 
435  sprintf(hname, "hMuonCscToF1");
436  sprintf(htitle, "Muon CSC hits, ToF/ns");
437  meMuonCscToF[0] = ibooker.book1D(hname, htitle, 100, 0., 250.);
438  sprintf(hname, "hMuonCscToF2");
439  meMuonCscToF[1] = ibooker.book1D(hname, htitle, 100, 0., 50.);
440  for (Int_t i = 0; i < 2; ++i) {
441  meMuonCscToF[i]->setAxisTitle("Time of Flight of Hits (ns)", 1);
442  meMuonCscToF[i]->setAxisTitle("Count", 2);
443  }
444 
445  sprintf(hname, "hMuonCscZ");
446  sprintf(htitle, "Muon CSC hits, Z/cm");
447  meMuonCscZ = ibooker.book1D(hname, htitle, 200, -1500., 1500.);
448  meMuonCscZ->setAxisTitle("Z of Hits (cm)", 1);
449  meMuonCscZ->setAxisTitle("Count", 2);
450 
451  sprintf(hname, "hMuonDtToF1");
452  sprintf(htitle, "Muon DT hits, ToF/ns");
453  meMuonDtToF[0] = ibooker.book1D(hname, htitle, 100, 0., 250.);
454  sprintf(hname, "hMuonDtToF2");
455  meMuonDtToF[1] = ibooker.book1D(hname, htitle, 100, 0., 50.);
456  for (Int_t i = 0; i < 2; ++i) {
457  meMuonDtToF[i]->setAxisTitle("Time of Flight of Hits (ns)", 1);
458  meMuonDtToF[i]->setAxisTitle("Count", 2);
459  }
460 
461  sprintf(hname, "hMuonDtR");
462  sprintf(htitle, "Muon DT hits, R/cm");
463  meMuonDtR = ibooker.book1D(hname, htitle, 100, 0., 1500.);
464  meMuonDtR->setAxisTitle("R of Hits (cm)", 1);
465  meMuonDtR->setAxisTitle("Count", 2);
466 
467  sprintf(hname, "hMuonRpcFToF1");
468  sprintf(htitle, "Muon RPC forward hits, ToF/ns");
469  meMuonRpcFToF[0] = ibooker.book1D(hname, htitle, 100, 0., 250.);
470  sprintf(hname, "hMuonRpcFToF2_4305");
471  meMuonRpcFToF[1] = ibooker.book1D(hname, htitle, 100, 0., 50.);
472  for (Int_t i = 0; i < 2; ++i) {
473  meMuonRpcFToF[i]->setAxisTitle("Time of Flight of Hits (ns)", 1);
474  meMuonRpcFToF[i]->setAxisTitle("Count", 2);
475  }
476 
477  sprintf(hname, "hMuonRpcFZ");
478  sprintf(htitle, "Muon RPC forward hits, Z/cm");
479  meMuonRpcFZ = ibooker.book1D(hname, htitle, 201, -1500., 1500.);
480  meMuonRpcFZ->setAxisTitle("Z of Hits (cm)", 1);
481  meMuonRpcFZ->setAxisTitle("Count", 2);
482 
483  sprintf(hname, "hMuonRpcBToF1");
484  sprintf(htitle, "Muon RPC barrel hits, ToF/ns");
485  meMuonRpcBToF[0] = ibooker.book1D(hname, htitle, 100, 0., 250.);
486  sprintf(hname, "hMuonRpcBToF2");
487  meMuonRpcBToF[1] = ibooker.book1D(hname, htitle, 100, 0., 50.);
488  for (Int_t i = 0; i < 2; ++i) {
489  meMuonRpcBToF[i]->setAxisTitle("Time of Flight of Hits (ns)", 1);
490  meMuonRpcBToF[i]->setAxisTitle("Count", 2);
491  }
492 
493  sprintf(hname, "hMuonRpcBR");
494  sprintf(htitle, "Muon RPC barrel hits, R/cm");
495  meMuonRpcBR = ibooker.book1D(hname, htitle, 100, 0., 1500.);
496  meMuonRpcBR->setAxisTitle("R of Hits (cm)", 1);
497  meMuonRpcBR->setAxisTitle("Count", 2);
498 
499 }
MonitorElement * meMCG4Vtx[2]
MonitorElement * meCaloHcal[2]
MonitorElement * meCaloEcalE[2]
MonitorElement * meMuonRpcBToF[2]
MonitorElement * meCaloPreSh[2]
MonitorElement * meMuonCscToF[2]
MonitorElement * meGeantVtxY[2]
MonitorElement * meMuonDtToF[2]
MonitorElement * meCaloPreShE[2]
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:118
MonitorElement * meCaloHcalE[2]
MonitorElement * meTrackerSi[2]
MonitorElement * meMCG4Trk[2]
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:274
MonitorElement * meCaloEcal[2]
MonitorElement * meCaloPreShToF[2]
MonitorElement * meCaloEcalToF[2]
MonitorElement * meMuonRpcFToF[2]
MonitorElement * meTrackerPx[2]
MonitorElement * meGeantVtxZ[2]
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
MonitorElement * meGeantVtxX[2]
MonitorElement * meCaloHcalToF[2]

Member Data Documentation

unsigned int GlobalHitsHistogrammer::count
private

Definition at line 186 of file GlobalHitsHistogrammer.h.

Referenced by analyze().

bool GlobalHitsHistogrammer::doOutput
private

Definition at line 98 of file GlobalHitsHistogrammer.h.

Referenced by GlobalHitsHistogrammer().

std::string GlobalHitsHistogrammer::fName
private

Definition at line 89 of file GlobalHitsHistogrammer.h.

Referenced by GlobalHitsHistogrammer().

int GlobalHitsHistogrammer::frequency
private

Definition at line 91 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and GlobalHitsHistogrammer().

bool GlobalHitsHistogrammer::getAllProvenances
private

Definition at line 94 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and GlobalHitsHistogrammer().

edm::InputTag GlobalHitsHistogrammer::GlobalHitSrc_
private

Definition at line 100 of file GlobalHitsHistogrammer.h.

Referenced by GlobalHitsHistogrammer().

edm::EDGetTokenT<PGlobalSimHit> GlobalHitsHistogrammer::GlobalHitSrc_Token_
private

Definition at line 101 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and GlobalHitsHistogrammer().

std::string GlobalHitsHistogrammer::label
private
MonitorElement* GlobalHitsHistogrammer::meCaloEcal[2]
private

Definition at line 115 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* GlobalHitsHistogrammer::meCaloEcalE[2]
private

Definition at line 116 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* GlobalHitsHistogrammer::meCaloEcalEta
private

Definition at line 119 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* GlobalHitsHistogrammer::meCaloEcalPhi
private

Definition at line 118 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* GlobalHitsHistogrammer::meCaloEcalToF[2]
private

Definition at line 117 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* GlobalHitsHistogrammer::meCaloHcal[2]
private

Definition at line 130 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* GlobalHitsHistogrammer::meCaloHcalE[2]
private

Definition at line 131 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* GlobalHitsHistogrammer::meCaloHcalEta
private

Definition at line 134 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* GlobalHitsHistogrammer::meCaloHcalPhi
private

Definition at line 133 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* GlobalHitsHistogrammer::meCaloHcalToF[2]
private

Definition at line 132 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* GlobalHitsHistogrammer::meCaloPreSh[2]
private

Definition at line 122 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* GlobalHitsHistogrammer::meCaloPreShE[2]
private

Definition at line 123 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* GlobalHitsHistogrammer::meCaloPreShEta
private

Definition at line 126 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* GlobalHitsHistogrammer::meCaloPreShPhi
private

Definition at line 125 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* GlobalHitsHistogrammer::meCaloPreShToF[2]
private

Definition at line 124 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* GlobalHitsHistogrammer::meGeantTrkE
private

Definition at line 111 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* GlobalHitsHistogrammer::meGeantTrkPt
private

Definition at line 110 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* GlobalHitsHistogrammer::meGeantVtxX[2]
private

Definition at line 106 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* GlobalHitsHistogrammer::meGeantVtxY[2]
private

Definition at line 107 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* GlobalHitsHistogrammer::meGeantVtxZ[2]
private

Definition at line 108 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* GlobalHitsHistogrammer::meMCG4Trk[2]
private

Definition at line 109 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* GlobalHitsHistogrammer::meMCG4Vtx[2]
private

Definition at line 105 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* GlobalHitsHistogrammer::meMCRGP[2]
private

Definition at line 104 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* GlobalHitsHistogrammer::meMuon[2]
private

Definition at line 162 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* GlobalHitsHistogrammer::meMuonCscToF[2]
private

Definition at line 174 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* GlobalHitsHistogrammer::meMuonCscZ
private

Definition at line 175 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* GlobalHitsHistogrammer::meMuonDtR
private

Definition at line 170 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* GlobalHitsHistogrammer::meMuonDtToF[2]
private

Definition at line 169 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* GlobalHitsHistogrammer::meMuonEta
private

Definition at line 164 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* GlobalHitsHistogrammer::meMuonPhi
private

Definition at line 163 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* GlobalHitsHistogrammer::meMuonRpcBR
private

Definition at line 183 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* GlobalHitsHistogrammer::meMuonRpcBToF[2]
private

Definition at line 182 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* GlobalHitsHistogrammer::meMuonRpcFToF[2]
private

Definition at line 180 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* GlobalHitsHistogrammer::meMuonRpcFZ
private

Definition at line 181 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* GlobalHitsHistogrammer::meTrackerPx[2]
private

Definition at line 141 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* GlobalHitsHistogrammer::meTrackerPxBR
private

Definition at line 145 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* GlobalHitsHistogrammer::meTrackerPxBToF
private

Definition at line 144 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* GlobalHitsHistogrammer::meTrackerPxEta
private

Definition at line 143 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* GlobalHitsHistogrammer::meTrackerPxFToF
private

Definition at line 146 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* GlobalHitsHistogrammer::meTrackerPxFZ
private

Definition at line 147 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* GlobalHitsHistogrammer::meTrackerPxPhi
private

Definition at line 142 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* GlobalHitsHistogrammer::meTrackerSi[2]
private

Definition at line 153 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* GlobalHitsHistogrammer::meTrackerSiBR
private

Definition at line 157 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* GlobalHitsHistogrammer::meTrackerSiBToF
private

Definition at line 156 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* GlobalHitsHistogrammer::meTrackerSiEta
private

Definition at line 155 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* GlobalHitsHistogrammer::meTrackerSiFToF
private

Definition at line 158 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* GlobalHitsHistogrammer::meTrackerSiFZ
private

Definition at line 159 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* GlobalHitsHistogrammer::meTrackerSiPhi
private

Definition at line 154 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and bookHistograms().

int GlobalHitsHistogrammer::nMuonCscHits
private

Definition at line 173 of file GlobalHitsHistogrammer.h.

Referenced by analyze().

int GlobalHitsHistogrammer::nMuonDtHits
private

Definition at line 168 of file GlobalHitsHistogrammer.h.

Referenced by analyze().

int GlobalHitsHistogrammer::nMuonHits
private

Definition at line 165 of file GlobalHitsHistogrammer.h.

Referenced by analyze().

int GlobalHitsHistogrammer::nMuonRpcBrlHits
private

Definition at line 178 of file GlobalHitsHistogrammer.h.

Referenced by analyze().

int GlobalHitsHistogrammer::nMuonRpcFwdHits
private

Definition at line 179 of file GlobalHitsHistogrammer.h.

Referenced by analyze().

int GlobalHitsHistogrammer::nPxlBrlHits
private

Definition at line 138 of file GlobalHitsHistogrammer.h.

Referenced by analyze().

int GlobalHitsHistogrammer::nPxlFwdHits
private

Definition at line 139 of file GlobalHitsHistogrammer.h.

Referenced by analyze().

int GlobalHitsHistogrammer::nPxlHits
private

Definition at line 140 of file GlobalHitsHistogrammer.h.

Referenced by analyze().

int GlobalHitsHistogrammer::nSiBrlHits
private

Definition at line 151 of file GlobalHitsHistogrammer.h.

Referenced by analyze().

int GlobalHitsHistogrammer::nSiFwdHits
private

Definition at line 152 of file GlobalHitsHistogrammer.h.

Referenced by analyze().

int GlobalHitsHistogrammer::nSiHits
private

Definition at line 150 of file GlobalHitsHistogrammer.h.

Referenced by analyze().

std::string GlobalHitsHistogrammer::outputfile
private

Definition at line 97 of file GlobalHitsHistogrammer.h.

Referenced by GlobalHitsHistogrammer().

bool GlobalHitsHistogrammer::printProvenanceInfo
private

Definition at line 95 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and GlobalHitsHistogrammer().

int GlobalHitsHistogrammer::verbosity
private

Definition at line 90 of file GlobalHitsHistogrammer.h.

Referenced by analyze(), and GlobalHitsHistogrammer().

int GlobalHitsHistogrammer::vtxunit
private

Definition at line 92 of file GlobalHitsHistogrammer.h.

Referenced by GlobalHitsHistogrammer().