CMS 3D CMS Logo

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

#include <GlobalHitsAnalyzer.h>

Inheritance diagram for GlobalHitsAnalyzer:
DQMEDAnalyzer edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > > edm::stream::EDAnalyzerBase edm::EDConsumerBase

Public Member Functions

virtual void analyze (const edm::Event &, const edm::EventSetup &) override
 
 GlobalHitsAnalyzer (const edm::ParameterSet &)
 
virtual ~GlobalHitsAnalyzer ()
 
- Public Member Functions inherited from DQMEDAnalyzer
virtual void beginRun (edm::Run const &, edm::EventSetup const &) final
 
virtual void beginStream (edm::StreamID id) final
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer (void)
 
virtual void endLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
virtual void endRunSummary (edm::Run const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
uint32_t streamId () const
 
- Public Member Functions inherited from edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
 EDAnalyzer ()=default
 
- Public Member Functions inherited from edm::stream::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDAnalyzerBase ()
 
- 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
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
virtual ~EDConsumerBase () noexcept(false)
 

Protected Member Functions

void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
- 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)
 

Private Member Functions

void fillECal (const edm::Event &, const edm::EventSetup &)
 
void fillG4MC (const edm::Event &)
 
void fillHCal (const edm::Event &, const edm::EventSetup &)
 
void fillMuon (const edm::Event &, const edm::EventSetup &)
 
void fillTrk (const edm::Event &, const edm::EventSetup &)
 

Private Attributes

unsigned int count
 
edm::InputTag ECalEBSrc_
 
edm::EDGetTokenT< edm::PCaloHitContainerECalEBSrc_Token_
 
edm::InputTag ECalEESrc_
 
edm::EDGetTokenT< edm::PCaloHitContainerECalEESrc_Token_
 
edm::InputTag ECalESSrc_
 
edm::EDGetTokenT< edm::PCaloHitContainerECalESSrc_Token_
 
std::string fName
 
int frequency
 
edm::InputTag G4TrkSrc_
 
edm::EDGetTokenT< edm::SimTrackContainerG4TrkSrc_Token_
 
edm::InputTag G4VtxSrc_
 
edm::EDGetTokenT< edm::SimVertexContainerG4VtxSrc_Token_
 
bool getAllProvenances
 
edm::InputTag HCalSrc_
 
edm::EDGetTokenT< edm::PCaloHitContainerHCalSrc_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
 
MonitorElementmeGeantVtxEta
 
MonitorElementmeGeantVtxMulti
 
MonitorElementmeGeantVtxPhi
 
MonitorElementmeGeantVtxRad [2]
 
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
 
edm::InputTag MuonCscSrc_
 
edm::EDGetTokenT< edm::PSimHitContainerMuonCscSrc_Token_
 
edm::InputTag MuonDtSrc_
 
edm::EDGetTokenT< edm::PSimHitContainerMuonDtSrc_Token_
 
edm::InputTag MuonRpcSrc_
 
edm::EDGetTokenT< edm::PSimHitContainerMuonRpcSrc_Token_
 
int nMuonHits
 
int nPxlHits
 
int nRawGenPart
 
int nSiHits
 
bool printProvenanceInfo
 
edm::InputTag PxlBrlHighSrc_
 
edm::EDGetTokenT< edm::PSimHitContainerPxlBrlHighSrc_Token_
 
edm::InputTag PxlBrlLowSrc_
 
edm::EDGetTokenT< edm::PSimHitContainerPxlBrlLowSrc_Token_
 
edm::InputTag PxlFwdHighSrc_
 
edm::EDGetTokenT< edm::PSimHitContainerPxlFwdHighSrc_Token_
 
edm::InputTag PxlFwdLowSrc_
 
edm::EDGetTokenT< edm::PSimHitContainerPxlFwdLowSrc_Token_
 
edm::InputTag SiTECHighSrc_
 
edm::EDGetTokenT< edm::PSimHitContainerSiTECHighSrc_Token_
 
edm::InputTag SiTECLowSrc_
 
edm::EDGetTokenT< edm::PSimHitContainerSiTECLowSrc_Token_
 
edm::InputTag SiTIBHighSrc_
 
edm::EDGetTokenT< edm::PSimHitContainerSiTIBHighSrc_Token_
 
edm::InputTag SiTIBLowSrc_
 
edm::EDGetTokenT< edm::PSimHitContainerSiTIBLowSrc_Token_
 
edm::InputTag SiTIDHighSrc_
 
edm::EDGetTokenT< edm::PSimHitContainerSiTIDHighSrc_Token_
 
edm::InputTag SiTIDLowSrc_
 
edm::EDGetTokenT< edm::PSimHitContainerSiTIDLowSrc_Token_
 
edm::InputTag SiTOBHighSrc_
 
edm::EDGetTokenT< edm::PSimHitContainerSiTOBHighSrc_Token_
 
edm::InputTag SiTOBLowSrc_
 
edm::EDGetTokenT< edm::PSimHitContainerSiTOBLowSrc_Token_
 
bool testNumber
 
bool validEB
 
bool validEE
 
bool validG4trkContainer
 
bool validG4VtxContainer
 
bool validHcal
 
bool validHepMCevt
 
bool validMuonCSC
 
bool validMuonDt
 
bool validMuonRPC
 
bool validPresh
 
bool validPxlBrlHigh
 
bool validPxlBrlLow
 
bool validPxlFwdHigh
 
bool validPxlFwdLow
 
bool validSiTECHigh
 
bool validSiTECLow
 
bool validSiTIBHigh
 
bool validSiTIBLow
 
bool validSiTIDHigh
 
bool validSiTIDLow
 
bool validSiTOBHigh
 
bool validSiTOBLow
 
int verbosity
 
int vtxunit
 

Additional Inherited Members

- Public Types inherited from edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Public Types inherited from edm::stream::EDAnalyzerBase
typedef EDAnalyzerAdaptorBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static std::shared_ptr< dqmDetails::NoCacheglobalBeginLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *)
 
static std::shared_ptr< dqmDetails::NoCacheglobalBeginRunSummary (edm::Run const &, edm::EventSetup const &, RunContext const *)
 
static void globalEndLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *, dqmDetails::NoCache *)
 
static void globalEndRunSummary (edm::Run const &, edm::EventSetup const &, RunContext const *, dqmDetails::NoCache *)
 
- Static Public Member Functions inherited from edm::stream::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Detailed Description

Class to fill dqm monitor elements from existing EDM file

Author
M. Strang SUNY-Buffalo

Definition at line 74 of file GlobalHitsAnalyzer.h.

Constructor & Destructor Documentation

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

Definition at line 17 of file GlobalHitsAnalyzer.cc.

References ECalEBSrc_, ECalEBSrc_Token_, ECalEESrc_, ECalEESrc_Token_, ECalESSrc_, ECalESSrc_Token_, fName, frequency, getAllProvenances, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), HCalSrc_, HCalSrc_Token_, mps_fire::i, edm::InputTag::instance(), edm::InputTag::label(), meCaloEcal, meCaloEcalE, meCaloEcalEta, meCaloEcalPhi, meCaloEcalToF, meCaloHcal, meCaloHcalE, meCaloHcalEta, meCaloHcalPhi, meCaloHcalToF, meCaloPreSh, meCaloPreShE, meCaloPreShEta, meCaloPreShPhi, meCaloPreShToF, meGeantTrkE, meGeantTrkPt, meGeantVtxEta, meGeantVtxMulti, meGeantVtxPhi, meGeantVtxRad, 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, MuonCscSrc_, MuonCscSrc_Token_, MuonDtSrc_, MuonDtSrc_Token_, MuonRpcSrc_, MuonRpcSrc_Token_, printProvenanceInfo, PxlBrlHighSrc_, PxlBrlHighSrc_Token_, PxlBrlLowSrc_, PxlBrlLowSrc_Token_, PxlFwdHighSrc_, PxlFwdHighSrc_Token_, PxlFwdLowSrc_, PxlFwdLowSrc_Token_, SiTECHighSrc_, SiTECHighSrc_Token_, SiTECLowSrc_, SiTECLowSrc_Token_, SiTIBHighSrc_, SiTIBHighSrc_Token_, SiTIBLowSrc_, SiTIBLowSrc_Token_, SiTIDHighSrc_, SiTIDHighSrc_Token_, SiTIDLowSrc_, SiTIDLowSrc_Token_, SiTOBHighSrc_, SiTOBHighSrc_Token_, SiTOBLowSrc_, SiTOBLowSrc_Token_, AlCaHLTBitMon_QueryRunRegistry::string, testNumber, validEB, validEE, validG4trkContainer, validG4VtxContainer, validHcal, validHepMCevt, validMuonCSC, validMuonDt, validMuonRPC, validPresh, validPxlBrlHigh, validPxlBrlLow, validPxlFwdHigh, validPxlFwdLow, validSiTECHigh, validSiTECLow, validSiTIBHigh, validSiTIBLow, validSiTIDHigh, validSiTIDLow, validSiTOBHigh, validSiTOBLow, verbosity, and vtxunit.

17  :
18  fName(""), verbosity(0), frequency(0), vtxunit(0), label(""),
19  getAllProvenances(false), printProvenanceInfo(false), testNumber(false),
20  G4VtxSrc_Token_( consumes<edm::SimVertexContainer>((iPSet.getParameter<edm::InputTag>("G4VtxSrc"))) ),
21  G4TrkSrc_Token_( consumes<edm::SimTrackContainer>(iPSet.getParameter<edm::InputTag>("G4TrkSrc")) ),
22  count(0)
23 {
24  consumesMany<edm::HepMCProduct>();
25  std::string MsgLoggerCat = "GlobalHitsAnalyzer_GlobalHitsAnalyzer";
26 
27  // get information from parameter set
28  fName = iPSet.getUntrackedParameter<std::string>("Name");
29  verbosity = iPSet.getUntrackedParameter<int>("Verbosity");
30  frequency = iPSet.getUntrackedParameter<int>("Frequency");
31  vtxunit = iPSet.getUntrackedParameter<int>("VtxUnit");
32  edm::ParameterSet m_Prov =
33  iPSet.getParameter<edm::ParameterSet>("ProvenanceLookup");
35  m_Prov.getUntrackedParameter<bool>("GetAllProvenances");
37  m_Prov.getUntrackedParameter<bool>("PrintProvenanceInfo");
38  testNumber = iPSet.getUntrackedParameter<bool>("testNumber");
39 
40  //get Labels to use to extract information
41  PxlBrlLowSrc_ = iPSet.getParameter<edm::InputTag>("PxlBrlLowSrc");
42  PxlBrlHighSrc_ = iPSet.getParameter<edm::InputTag>("PxlBrlHighSrc");
43  PxlFwdLowSrc_ = iPSet.getParameter<edm::InputTag>("PxlFwdLowSrc");
44  PxlFwdHighSrc_ = iPSet.getParameter<edm::InputTag>("PxlFwdHighSrc");
45 
46  SiTIBLowSrc_ = iPSet.getParameter<edm::InputTag>("SiTIBLowSrc");
47  SiTIBHighSrc_ = iPSet.getParameter<edm::InputTag>("SiTIBHighSrc");
48  SiTOBLowSrc_ = iPSet.getParameter<edm::InputTag>("SiTOBLowSrc");
49  SiTOBHighSrc_ = iPSet.getParameter<edm::InputTag>("SiTOBHighSrc");
50  SiTIDLowSrc_ = iPSet.getParameter<edm::InputTag>("SiTIDLowSrc");
51  SiTIDHighSrc_ = iPSet.getParameter<edm::InputTag>("SiTIDHighSrc");
52  SiTECLowSrc_ = iPSet.getParameter<edm::InputTag>("SiTECLowSrc");
53  SiTECHighSrc_ = iPSet.getParameter<edm::InputTag>("SiTECHighSrc");
54 
55  MuonCscSrc_ = iPSet.getParameter<edm::InputTag>("MuonCscSrc");
56  MuonDtSrc_ = iPSet.getParameter<edm::InputTag>("MuonDtSrc");
57  MuonRpcSrc_ = iPSet.getParameter<edm::InputTag>("MuonRpcSrc");
58 
59  ECalEBSrc_ = iPSet.getParameter<edm::InputTag>("ECalEBSrc");
60  ECalEESrc_ = iPSet.getParameter<edm::InputTag>("ECalEESrc");
61  ECalESSrc_ = iPSet.getParameter<edm::InputTag>("ECalESSrc");
62 
63  HCalSrc_ = iPSet.getParameter<edm::InputTag>("HCalSrc");
64 
65  // fix for consumes
66  PxlBrlLowSrc_Token_ = consumes<edm::PSimHitContainer>(iPSet.getParameter<edm::InputTag>("PxlBrlLowSrc"));
67  PxlBrlHighSrc_Token_ = consumes<edm::PSimHitContainer>(iPSet.getParameter<edm::InputTag>("PxlBrlHighSrc"));
68  PxlFwdLowSrc_Token_ = consumes<edm::PSimHitContainer>(iPSet.getParameter<edm::InputTag>("PxlFwdLowSrc"));
69  PxlFwdHighSrc_Token_ = consumes<edm::PSimHitContainer>(iPSet.getParameter<edm::InputTag>("PxlFwdHighSrc"));
70 
71  SiTIBLowSrc_Token_ = consumes<edm::PSimHitContainer>(iPSet.getParameter<edm::InputTag>("SiTIBLowSrc"));
72  SiTIBHighSrc_Token_ = consumes<edm::PSimHitContainer>(iPSet.getParameter<edm::InputTag>("SiTIBHighSrc"));
73  SiTOBLowSrc_Token_ = consumes<edm::PSimHitContainer>(iPSet.getParameter<edm::InputTag>("SiTOBLowSrc"));
74  SiTOBHighSrc_Token_ = consumes<edm::PSimHitContainer>(iPSet.getParameter<edm::InputTag>("SiTOBHighSrc"));
75  SiTIDLowSrc_Token_ = consumes<edm::PSimHitContainer>(iPSet.getParameter<edm::InputTag>("SiTIDLowSrc"));
76  SiTIDHighSrc_Token_ = consumes<edm::PSimHitContainer>(iPSet.getParameter<edm::InputTag>("SiTIDHighSrc"));
77  SiTECLowSrc_Token_ = consumes<edm::PSimHitContainer>(iPSet.getParameter<edm::InputTag>("SiTECLowSrc"));
78  SiTECHighSrc_Token_ = consumes<edm::PSimHitContainer>(iPSet.getParameter<edm::InputTag>("SiTECHighSrc"));
79 
80  MuonCscSrc_Token_ = consumes<edm::PSimHitContainer>(iPSet.getParameter<edm::InputTag>("MuonCscSrc"));
81  MuonDtSrc_Token_ = consumes<edm::PSimHitContainer>(iPSet.getParameter<edm::InputTag>("MuonDtSrc"));
82  MuonRpcSrc_Token_ = consumes<edm::PSimHitContainer>(iPSet.getParameter<edm::InputTag>("MuonRpcSrc"));
83 
84  ECalEBSrc_Token_ = consumes<edm::PCaloHitContainer>(iPSet.getParameter<edm::InputTag>("ECalEBSrc"));
85  ECalEESrc_Token_ = consumes<edm::PCaloHitContainer>(iPSet.getParameter<edm::InputTag>("ECalEESrc"));
86  ECalESSrc_Token_ = consumes<edm::PCaloHitContainer>(iPSet.getParameter<edm::InputTag>("ECalESSrc"));
87  HCalSrc_Token_ = consumes<edm::PCaloHitContainer>(iPSet.getParameter<edm::InputTag>("HCalSrc"));
88 
89  // determine whether to process subdetector or not
90  validHepMCevt = iPSet.getUntrackedParameter<bool>("validHepMCevt");
92  iPSet.getUntrackedParameter<bool>("validG4VtxContainer");
94  iPSet.getUntrackedParameter<bool>("validG4trkContainer");
95  validPxlBrlLow = iPSet.getUntrackedParameter<bool>("validPxlBrlLow",true);
96  validPxlBrlHigh = iPSet.getUntrackedParameter<bool>("validPxlBrlHigh",true);
97  validPxlFwdLow = iPSet.getUntrackedParameter<bool>("validPxlFwdLow",true);
98  validPxlFwdHigh = iPSet.getUntrackedParameter<bool>("validPxlFwdHigh",true);
99  validSiTIBLow = iPSet.getUntrackedParameter<bool>("validSiTIBLow",true);
100  validSiTIBHigh = iPSet.getUntrackedParameter<bool>("validSiTIBHigh",true);
101  validSiTOBLow = iPSet.getUntrackedParameter<bool>("validSiTOBLow",true);
102  validSiTOBHigh = iPSet.getUntrackedParameter<bool>("validSiTOBHigh",true);
103  validSiTIDLow = iPSet.getUntrackedParameter<bool>("validSiTIDLow",true);
104  validSiTIDHigh = iPSet.getUntrackedParameter<bool>("validSiTIDHigh",true);
105  validSiTECLow = iPSet.getUntrackedParameter<bool>("validSiTECLow",true);
106  validSiTECHigh = iPSet.getUntrackedParameter<bool>("validSiTECHigh",true);
107  validMuonCSC = iPSet.getUntrackedParameter<bool>("validMuonCSC",true);
108  validMuonDt = iPSet.getUntrackedParameter<bool>("validMuonDt",true);
109  validMuonRPC = iPSet.getUntrackedParameter<bool>("validMuonRPC",true);
110  validEB = iPSet.getUntrackedParameter<bool>("validEB",true);
111  validEE = iPSet.getUntrackedParameter<bool>("validEE",true);
112  validPresh = iPSet.getUntrackedParameter<bool>("validPresh",true);
113  validHcal = iPSet.getUntrackedParameter<bool>("validHcal",true);
114 
115  // use value of first digit to determine default output level (inclusive)
116  // 0 is none, 1 is basic, 2 is fill output, 3 is gather output
117  verbosity %= 10;
118 
119  // print out Parameter Set information being used
120  if (verbosity >= 0) {
121  edm::LogInfo(MsgLoggerCat)
122  << "\n===============================\n"
123  << "Initialized as EDAnalyzer with parameter values:\n"
124  << " Name = " << fName << "\n"
125  << " Verbosity = " << verbosity << "\n"
126  << " Frequency = " << frequency << "\n"
127  << " VtxUnit = " << vtxunit << "\n"
128  << " GetProv = " << getAllProvenances << "\n"
129  << " PrintProv = " << printProvenanceInfo << "\n"
130  << " PxlBrlLowSrc = " << PxlBrlLowSrc_.label()
131  << ":" << PxlBrlLowSrc_.instance() << "\n"
132  << " PxlBrlHighSrc = " << PxlBrlHighSrc_.label()
133  << ":" << PxlBrlHighSrc_.instance() << "\n"
134  << " PxlFwdLowSrc = " << PxlFwdLowSrc_.label()
135  << ":" << PxlBrlLowSrc_.instance() << "\n"
136  << " PxlFwdHighSrc = " << PxlFwdHighSrc_.label()
137  << ":" << PxlBrlHighSrc_.instance() << "\n"
138  << " SiTIBLowSrc = " << SiTIBLowSrc_.label()
139  << ":" << SiTIBLowSrc_.instance() << "\n"
140  << " SiTIBHighSrc = " << SiTIBHighSrc_.label()
141  << ":" << SiTIBHighSrc_.instance() << "\n"
142  << " SiTOBLowSrc = " << SiTOBLowSrc_.label()
143  << ":" << SiTOBLowSrc_.instance() << "\n"
144  << " SiTOBHighSrc = " << SiTOBHighSrc_.label()
145  << ":" << SiTOBHighSrc_.instance() << "\n"
146  << " SiTIDLowSrc = " << SiTIDLowSrc_.label()
147  << ":" << SiTIDLowSrc_.instance() << "\n"
148  << " SiTIDHighSrc = " << SiTIDHighSrc_.label()
149  << ":" << SiTIDHighSrc_.instance() << "\n"
150  << " SiTECLowSrc = " << SiTECLowSrc_.label()
151  << ":" << SiTECLowSrc_.instance() << "\n"
152  << " SiTECHighSrc = " << SiTECHighSrc_.label()
153  << ":" << SiTECHighSrc_.instance() << "\n"
154  << " MuonCscSrc = " << MuonCscSrc_.label()
155  << ":" << MuonCscSrc_.instance() << "\n"
156  << " MuonDtSrc = " << MuonDtSrc_.label()
157  << ":" << MuonDtSrc_.instance() << "\n"
158  << " MuonRpcSrc = " << MuonRpcSrc_.label()
159  << ":" << MuonRpcSrc_.instance() << "\n"
160  << " ECalEBSrc = " << ECalEBSrc_.label()
161  << ":" << ECalEBSrc_.instance() << "\n"
162  << " ECalEESrc = " << ECalEESrc_.label()
163  << ":" << ECalEESrc_.instance() << "\n"
164  << " ECalESSrc = " << ECalESSrc_.label()
165  << ":" << ECalESSrc_.instance() << "\n"
166  << " HCalSrc = " << HCalSrc_.label()
167  << ":" << HCalSrc_.instance() << "\n"
168  << "\n"
169  << " validHepMCevt = "
170  << ":" << validHepMCevt << "\n"
171  << " validG4VtxContainer = "
172  << ":" << validG4VtxContainer << "\n"
173  << " validG4trkContainer = "
174  << ":" << validG4trkContainer << "\n"
175  << " validPxlBrlLow = "
176  << ":" << validPxlBrlLow << "\n"
177  << " validPxlBrlHigh = "
178  << ":" << validPxlBrlHigh << "\n"
179  << " validPxlFwdLow = "
180  << ":" << validPxlFwdLow << "\n"
181  << " validPxlFwdHigh = "
182  << ":" << validPxlFwdHigh << "\n"
183  << " validSiTIBLow = "
184  << ":" << validSiTIBLow << "\n"
185  << " validSiTIBHigh = "
186  << ":" << validSiTIBHigh << "\n"
187  << " validSiTOBLow = "
188  << ":" << validSiTOBLow << "\n"
189  << " validSiTOBHigh = "
190  << ":" << validSiTOBHigh << "\n"
191  << " validSiTIDLow = "
192  << ":" << validSiTIDLow << "\n"
193  << " validSiTIDHigh = "
194  << ":" << validSiTIDHigh << "\n"
195  << " validSiTECLow = "
196  << ":" << validSiTECLow << "\n"
197  << " validSiTECHigh = "
198  << ":" << validSiTECHigh << "\n"
199  << " validMuonCSC = "
200  << ":" << validMuonCSC << "\n"
201  << " validMuonDt = "
202  << ":" << validMuonDt << "\n"
203  << " validMuonRPC = "
204  << ":" << validMuonRPC << "\n"
205  << " validEB = "
206  << ":" << validEB << "\n"
207  << " validEE = "
208  << ":" << validEE << "\n"
209  << " validPresh = "
210  << ":" << validPresh << "\n"
211  << " validHcal = "
212  << ":" << validHcal << "\n"
213  << "===============================\n";
214  }
215 
216  // initialize monitor elements
217  for (Int_t i = 0; i < 2; ++i) {
218  meMCRGP[i] = 0;
219  meMCG4Vtx[i] = 0;
220  meGeantVtxX[i] = 0;
221  meGeantVtxY[i] = 0;
222  meGeantVtxZ[i] = 0;
223  meMCG4Trk[i] = 0;
224  meCaloEcal[i] = 0;
225  meCaloEcalE[i] = 0;
226  meCaloEcalToF[i] = 0;
227  meCaloPreSh[i] = 0;
228  meCaloPreShE[i] = 0;
229  meCaloPreShToF[i] = 0;
230  meCaloHcal[i] = 0;
231  meCaloHcalE[i] = 0;
232  meCaloHcalToF[i] = 0;
233  meTrackerPx[i] = 0;
234  meTrackerSi[i] = 0;
235  meMuon[i] = 0;
236  meMuonDtToF[i] = 0;
237  meMuonCscToF[i] = 0;
238  meMuonRpcFToF[i] = 0;
239  meMuonRpcBToF[i] = 0;
240  meGeantVtxRad[i] = 0;
241  }
242  meGeantTrkPt = 0;
243  meGeantTrkE = 0;
244  meGeantVtxEta = 0;
245  meGeantVtxPhi = 0;
246  meGeantVtxMulti = 0;
247  meCaloEcalPhi = 0;
248  meCaloEcalEta = 0;
249  meCaloPreShPhi = 0;
250  meCaloPreShEta = 0;
251  meCaloHcalPhi = 0;
252  meCaloHcalEta = 0;
253  meTrackerPxPhi = 0;
254  meTrackerPxEta = 0;
255  meTrackerPxBToF = 0;
256  meTrackerPxBR = 0;
257  meTrackerPxFToF = 0;
258  meTrackerPxFZ = 0;
259  meTrackerSiPhi = 0;
260  meTrackerSiEta = 0;
261  meTrackerSiBToF = 0;
262  meTrackerSiBR = 0;
263  meTrackerSiFToF = 0;
264  meTrackerSiFZ = 0;
265  meMuonPhi = 0;
266  meMuonEta = 0;
267  meMuonDtR = 0;
268  meMuonCscZ = 0;
269  meMuonRpcBR = 0;
270  meMuonRpcFZ = 0;
271 
272 }
MonitorElement * meTrackerSiPhi
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
edm::EDGetTokenT< edm::PSimHitContainer > SiTIDLowSrc_Token_
edm::InputTag SiTECLowSrc_
edm::EDGetTokenT< edm::PSimHitContainer > SiTECHighSrc_Token_
edm::InputTag PxlBrlLowSrc_
edm::InputTag MuonDtSrc_
MonitorElement * meMuonDtToF[2]
MonitorElement * meGeantVtxRad[2]
MonitorElement * meCaloHcal[2]
MonitorElement * meMCG4Trk[2]
MonitorElement * meTrackerPxPhi
MonitorElement * meCaloHcalToF[2]
edm::EDGetTokenT< edm::PSimHitContainer > SiTIDHighSrc_Token_
MonitorElement * meCaloPreSh[2]
edm::EDGetTokenT< edm::PCaloHitContainer > ECalEESrc_Token_
MonitorElement * meTrackerSiEta
MonitorElement * meTrackerSiBToF
MonitorElement * meTrackerSi[2]
edm::EDGetTokenT< edm::SimTrackContainer > G4TrkSrc_Token_
edm::EDGetTokenT< edm::PSimHitContainer > SiTIBHighSrc_Token_
MonitorElement * meMCG4Vtx[2]
edm::InputTag SiTIBHighSrc_
MonitorElement * meGeantVtxY[2]
MonitorElement * meGeantVtxMulti
MonitorElement * meTrackerPxFZ
edm::InputTag MuonCscSrc_
edm::InputTag PxlBrlHighSrc_
MonitorElement * meMuonCscToF[2]
MonitorElement * meCaloPreShPhi
MonitorElement * meGeantTrkE
MonitorElement * meCaloEcalEta
MonitorElement * meTrackerPxBR
MonitorElement * meCaloPreShE[2]
edm::InputTag PxlFwdLowSrc_
MonitorElement * meTrackerPxBToF
MonitorElement * meGeantVtxPhi
edm::InputTag SiTIDLowSrc_
edm::InputTag ECalESSrc_
MonitorElement * meCaloEcalPhi
edm::EDGetTokenT< edm::PSimHitContainer > SiTIBLowSrc_Token_
MonitorElement * meTrackerPx[2]
MonitorElement * meGeantTrkPt
MonitorElement * meGeantVtxEta
edm::InputTag PxlFwdHighSrc_
MonitorElement * meMuonRpcFZ
edm::EDGetTokenT< edm::PSimHitContainer > PxlBrlHighSrc_Token_
edm::InputTag SiTECHighSrc_
edm::EDGetTokenT< edm::PCaloHitContainer > ECalEBSrc_Token_
MonitorElement * meMCRGP[2]
edm::EDGetTokenT< edm::PSimHitContainer > PxlBrlLowSrc_Token_
MonitorElement * meMuonRpcBToF[2]
MonitorElement * meCaloHcalE[2]
MonitorElement * meMuonCscZ
MonitorElement * meGeantVtxX[2]
edm::EDGetTokenT< edm::PSimHitContainer > SiTOBLowSrc_Token_
edm::EDGetTokenT< edm::PSimHitContainer > MuonRpcSrc_Token_
MonitorElement * meCaloEcal[2]
edm::EDGetTokenT< edm::PSimHitContainer > PxlFwdLowSrc_Token_
MonitorElement * meTrackerSiFZ
MonitorElement * meGeantVtxZ[2]
MonitorElement * meCaloEcalToF[2]
edm::EDGetTokenT< edm::PSimHitContainer > SiTOBHighSrc_Token_
edm::EDGetTokenT< edm::PSimHitContainer > MuonCscSrc_Token_
edm::InputTag SiTIDHighSrc_
MonitorElement * meMuon[2]
MonitorElement * meMuonRpcFToF[2]
MonitorElement * meCaloPreShToF[2]
MonitorElement * meCaloPreShEta
std::string const & label() const
Definition: InputTag.h:36
MonitorElement * meTrackerSiFToF
MonitorElement * meTrackerPxFToF
edm::InputTag MuonRpcSrc_
edm::EDGetTokenT< edm::SimVertexContainer > G4VtxSrc_Token_
MonitorElement * meMuonEta
edm::InputTag SiTOBLowSrc_
edm::InputTag SiTOBHighSrc_
MonitorElement * meMuonDtR
edm::InputTag ECalEBSrc_
edm::EDGetTokenT< edm::PCaloHitContainer > HCalSrc_Token_
edm::EDGetTokenT< edm::PSimHitContainer > PxlFwdHighSrc_Token_
edm::InputTag SiTIBLowSrc_
MonitorElement * meCaloHcalPhi
MonitorElement * meMuonRpcBR
edm::InputTag ECalEESrc_
MonitorElement * meTrackerPxEta
edm::EDGetTokenT< edm::PCaloHitContainer > ECalESSrc_Token_
MonitorElement * meCaloHcalEta
std::string const & instance() const
Definition: InputTag.h:37
MonitorElement * meMuonPhi
edm::EDGetTokenT< edm::PSimHitContainer > MuonDtSrc_Token_
edm::EDGetTokenT< edm::PSimHitContainer > SiTECLowSrc_Token_
MonitorElement * meTrackerSiBR
MonitorElement * meCaloEcalE[2]
GlobalHitsAnalyzer::~GlobalHitsAnalyzer ( )
virtual

Definition at line 274 of file GlobalHitsAnalyzer.cc.

274 {}

Member Function Documentation

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

Definition at line 689 of file GlobalHitsAnalyzer.cc.

References count, edm::EventID::event(), fillECal(), fillG4MC(), fillHCal(), fillMuon(), fillTrk(), frequency, getAllProvenances, edm::Event::getAllStableProvenance(), mps_fire::i, edm::EventBase::id(), nevt, printProvenanceInfo, edm::EventID::run(), AlCaHLTBitMon_QueryRunRegistry::string, and verbosity.

691 {
692  std::string MsgLoggerCat = "GlobalHitsAnalyzer_analyze";
693 
694  // keep track of number of events processed
695  ++count;
696 
697  // get event id information
698  edm::RunNumber_t nrun = iEvent.id().run();
699  edm::EventNumber_t nevt = iEvent.id().event();
700 
701  if (verbosity > 0) {
702  edm::LogInfo(MsgLoggerCat)
703  << "Processing run " << nrun << ", event " << nevt
704  << " (" << count << " events total)";
705  } else if (verbosity == 0) {
706  if (nevt%frequency == 0 || nevt == 1) {
707  edm::LogInfo(MsgLoggerCat)
708  << "Processing run " << nrun << ", event " << nevt
709  << " (" << count << " events total)";
710  }
711  }
712 
713  // look at information available in the event
714  if (getAllProvenances) {
715 
716  std::vector<const edm::StableProvenance*> AllProv;
717  iEvent.getAllStableProvenance(AllProv);
718 
719  if (verbosity >= 0)
720  edm::LogInfo(MsgLoggerCat)
721  << "Number of Provenances = " << AllProv.size();
722 
723  if (printProvenanceInfo && (verbosity >= 0)) {
724  TString eventout("\nProvenance info:\n");
725 
726  for (unsigned int i = 0; i < AllProv.size(); ++i) {
727  eventout += "\n ******************************";
728  eventout += "\n Module : ";
729  eventout += AllProv[i]->moduleLabel();
730  eventout += "\n ProductID : ";
731  eventout += AllProv[i]->productID().id();
732  eventout += "\n ClassName : ";
733  eventout += AllProv[i]->className();
734  eventout += "\n InstanceName : ";
735  eventout += AllProv[i]->productInstanceName();
736  eventout += "\n BranchName : ";
737  eventout += AllProv[i]->branchName();
738  }
739  eventout += "\n ******************************\n";
740  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
741  printProvenanceInfo = false;
742  }
743  getAllProvenances = false;
744  }
745 
746  // call fill functions
747  //gather G4MC information from event
748  fillG4MC(iEvent);
749  // gather Tracker information from event
750  fillTrk(iEvent,iSetup);
751  // gather muon information from event
752  fillMuon(iEvent, iSetup);
753  // gather Ecal information from event
754  fillECal(iEvent, iSetup);
755  // gather Hcal information from event
756  fillHCal(iEvent, iSetup);
757 
758  if (verbosity > 0)
759  edm::LogInfo (MsgLoggerCat)
760  << "Done gathering data from event.";
761 
762  return;
763 }
RunNumber_t run() const
Definition: EventID.h:39
EventNumber_t event() const
Definition: EventID.h:41
void fillG4MC(const edm::Event &)
unsigned long long EventNumber_t
void fillHCal(const edm::Event &, const edm::EventSetup &)
void fillTrk(const edm::Event &, const edm::EventSetup &)
void fillMuon(const edm::Event &, const edm::EventSetup &)
void fillECal(const edm::Event &, const edm::EventSetup &)
edm::EventID id() const
Definition: EventBase.h:60
unsigned int RunNumber_t
void getAllStableProvenance(std::vector< StableProvenance const * > &provenances) const
Definition: Event.cc:96
void GlobalHitsAnalyzer::bookHistograms ( DQMStore::IBooker iBooker,
edm::Run const &  run,
edm::EventSetup const &  es 
)
overrideprotectedvirtual

Implements DQMEDAnalyzer.

Definition at line 276 of file GlobalHitsAnalyzer.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, meGeantVtxEta, meGeantVtxMulti, meGeantVtxPhi, meGeantVtxRad, 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().

276  {
277  // book histograms
278  Char_t hname[200];
279  Char_t htitle[200];
280 
281  // MCGeant
282  iBooker.setCurrentFolder("GlobalHitsV/MCGeant");
283  sprintf(hname,"hMCRGP1");
284  sprintf(htitle,"RawGenParticles");
285  meMCRGP[0] = iBooker.book1D(hname,htitle,100,0.,5000.);
286  sprintf(hname,"hMCRGP2");
287  meMCRGP[1] = iBooker.book1D(hname,htitle,100,0.,500.);
288  for (Int_t i = 0; i < 2; ++i) {
289  meMCRGP[i]->setAxisTitle("Number of Raw Generated Particles",1);
290  meMCRGP[i]->setAxisTitle("Count",2);
291  }
292 
293  sprintf(hname,"hMCG4Vtx1");
294  sprintf(htitle,"G4 Vertices");
295  meMCG4Vtx[0] = iBooker.book1D(hname,htitle,150,0.,15000.);
296  sprintf(hname,"hMCG4Vtx2");
297  meMCG4Vtx[1] = iBooker.book1D(hname,htitle,100,-0.5,99.5);
298  for (Int_t i = 0; i < 2; ++i) {
299  meMCG4Vtx[i]->setAxisTitle("Number of Vertices",1);
300  meMCG4Vtx[i]->setAxisTitle("Count",2);
301  }
302 
303  sprintf(hname,"hMCG4Trk1");
304  sprintf(htitle,"G4 Tracks");
305  meMCG4Trk[0] = iBooker.book1D(hname,htitle,150,0.,15000.);
306  sprintf(hname,"hMCG4Trk2");
307  meMCG4Trk[1] = iBooker.book1D(hname,htitle,150,-0.5,99.5);
308  for (Int_t i = 0; i < 2; ++i) {
309  meMCG4Trk[i]->setAxisTitle("Number of Tracks",1);
310  meMCG4Trk[i]->setAxisTitle("Count",2);
311  }
312 
313  sprintf(hname,"hGeantVtxX1");
314  sprintf(htitle,"Geant vertex x/micrometer");
315  meGeantVtxX[0] = iBooker.book1D(hname,htitle,100,-8000000.,8000000.);
316  sprintf(hname,"hGeantVtxX2");
317  meGeantVtxX[1] = iBooker.book1D(hname,htitle,100,-50.,50.);
318  for (Int_t i = 0; i < 2; ++i) {
319  meGeantVtxX[i]->setAxisTitle("x of Vertex (um)",1);
320  meGeantVtxX[i]->setAxisTitle("Count",2);
321  }
322 
323  sprintf(hname,"hGeantVtxY1");
324  sprintf(htitle,"Geant vertex y/micrometer");
325  meGeantVtxY[0] = iBooker.book1D(hname,htitle,100,-8000000,8000000.);
326  sprintf(hname,"hGeantVtxY2");
327  meGeantVtxY[1] = iBooker.book1D(hname,htitle,100,-50.,50.);
328  for (Int_t i = 0; i < 2; ++i) {
329  meGeantVtxY[i]->setAxisTitle("y of Vertex (um)",1);
330  meGeantVtxY[i]->setAxisTitle("Count",2);
331  }
332 
333  sprintf(hname,"hGeantVtxZ1");
334  sprintf(htitle,"Geant vertex z/millimeter");
335  meGeantVtxZ[0] = iBooker.book1D(hname,htitle,100,-11000.,11000.);
336  sprintf(hname,"hGeantVtxZ2");
337  meGeantVtxZ[1] = iBooker.book1D(hname,htitle,200,-500.,500.);
338  //meGeantVtxZ[1] = iBooker.book1D(hname,htitle,100,-250.,250.);
339  for (Int_t i = 0; i < 2; ++i) {
340  meGeantVtxZ[i]->setAxisTitle("z of Vertex (mm)",1);
341  meGeantVtxZ[i]->setAxisTitle("Count",2);
342  }
343 
344  sprintf(hname,"hGeantTrkPt");
345  sprintf(htitle,"Log10 Geant track pt/GeV");
346  meGeantTrkPt = iBooker.book1D(hname,htitle,80,-4.,4.);
347  meGeantTrkPt->setAxisTitle("Log10 pT of Track (GeV)",1);
348  meGeantTrkPt->setAxisTitle("Count",2);
349 
350  sprintf(hname,"hGeantTrkE");
351  sprintf(htitle,"Log10 Geant track E/GeV");
352  meGeantTrkE = iBooker.book1D(hname,htitle,80,-4.,4.);
353  meGeantTrkE->setAxisTitle("Log10 E of Track (GeV)",1);
354  meGeantTrkE->setAxisTitle("Count",2);
355 
356  sprintf(hname,"hGeantVtxEta");
357  sprintf(htitle,"Geant vertices eta");
358  meGeantVtxEta = iBooker.book1D(hname,htitle,220,-5.5,5.5);
359  meGeantVtxEta->setAxisTitle("eta of SimVertex",1);
360  meGeantVtxEta->setAxisTitle("Count",2);
361 
362  sprintf(hname,"hGeantVtxPhi");
363  sprintf(htitle,"Geant vertices phi/rad");
364  meGeantVtxPhi = iBooker.book1D(hname,htitle,100,-3.2,3.2);
365  meGeantVtxPhi->setAxisTitle("phi of SimVertex (rad)",1);
366  meGeantVtxPhi->setAxisTitle("Count",2);
367 
368  sprintf(hname,"hGeantVtxRad1");
369  sprintf(htitle,"Geant vertices radius/cm");
370  meGeantVtxRad[0] = iBooker.book1D(hname,htitle,130,0.,130.);
371  sprintf(hname,"hGeantVtxRad2");
372  meGeantVtxRad[1] = iBooker.book1D(hname,htitle,100,0.,1000.);
373  for (Int_t i = 0; i < 2; ++i) {
374  meGeantVtxRad[i]->setAxisTitle("radius of SimVertex (cm)",1);
375  meGeantVtxRad[i]->setAxisTitle("Count",2);
376  }
377 
378  sprintf(hname,"hGeantVtxMulti");
379  sprintf(htitle,"Geant vertices outgoing multiplicity");
380  meGeantVtxMulti = iBooker.book1D(hname,htitle,20,0.,20);
381  meGeantVtxMulti->setAxisTitle("multiplicity of particles attached to a SimVertex",1);
382  meGeantVtxMulti->setAxisTitle("Count",2);
383 
384  // ECal
385  iBooker.setCurrentFolder("GlobalHitsV/ECals");
386  sprintf(hname,"hCaloEcal1");
387  sprintf(htitle,"Ecal hits");
388  meCaloEcal[0] = iBooker.book1D(hname,htitle,100,0.,10000.);
389  sprintf(hname,"hCaloEcal2");
390  meCaloEcal[1] = iBooker.book1D(hname,htitle,100,-0.5,99.5);
391 
392  sprintf(hname,"hCaloEcalE1");
393  sprintf(htitle,"Ecal hits, energy/GeV");
394  meCaloEcalE[0] = iBooker.book1D(hname,htitle,100,0.,10.);
395  sprintf(hname,"hCaloEcalE2");
396  meCaloEcalE[1] = iBooker.book1D(hname,htitle,100,0.,0.1);
397  sprintf(hname,"hCaloEcalToF1");
398  sprintf(htitle,"Ecal hits, ToF/ns");
399  meCaloEcalToF[0] = iBooker.book1D(hname,htitle,100,0.,1000.);
400  sprintf(hname,"hCaloEcalToF2");
401  meCaloEcalToF[1] = iBooker.book1D(hname,htitle,100,0.,100.);
402 
403  for (Int_t i = 0; i < 2; ++i) {
404  meCaloEcal[i]->setAxisTitle("Number of Hits",1);
405  meCaloEcal[i]->setAxisTitle("Count",2);
406  meCaloEcalE[i]->setAxisTitle("Energy of Hits (GeV)",1);
407  meCaloEcalE[i]->setAxisTitle("Count",2);
408  meCaloEcalToF[i]->setAxisTitle("Time of Flight of Hits (ns)",1);
409  meCaloEcalToF[i]->setAxisTitle("Count",2);
410  }
411 
412  sprintf(hname,"hCaloEcalPhi");
413  sprintf(htitle,"Ecal hits, phi/rad");
414  meCaloEcalPhi = iBooker.book1D(hname,htitle,100,-3.2,3.2);
415  meCaloEcalPhi->setAxisTitle("Phi of Hits (rad)",1);
416  meCaloEcalPhi->setAxisTitle("Count",2);
417 
418  sprintf(hname,"hCaloEcalEta");
419  sprintf(htitle,"Ecal hits, eta");
420  meCaloEcalEta = iBooker.book1D(hname,htitle,100,-5.5,5.5);
421  meCaloEcalEta->setAxisTitle("Eta of Hits",1);
422  meCaloEcalEta->setAxisTitle("Count",2);
423 
424  sprintf(hname,"hCaloPreSh1");
425  sprintf(htitle,"PreSh hits");
426  meCaloPreSh[0] = iBooker.book1D(hname,htitle,100,0.,10000.);
427  sprintf(hname,"hCaloPreSh2");
428  meCaloPreSh[1] = iBooker.book1D(hname,htitle,100,-0.5,99.5);
429 
430  sprintf(hname,"hCaloPreShE1");
431  sprintf(htitle,"PreSh hits, energy/GeV");
432  meCaloPreShE[0] = iBooker.book1D(hname,htitle,100,0.,10.);
433  sprintf(hname,"hCaloPreShE2");
434  meCaloPreShE[1] = iBooker.book1D(hname,htitle,100,0.,0.1);
435 
436  sprintf(hname,"hCaloPreShToF1");
437  sprintf(htitle,"PreSh hits, ToF/ns");
438  meCaloPreShToF[0] = iBooker.book1D(hname,htitle,100,0.,1000.);
439  sprintf(hname,"hCaloPreShToF2");
440  meCaloPreShToF[1] = iBooker.book1D(hname,htitle,100,0.,100.);
441 
442  for (Int_t i = 0; i < 2; ++i) {
443  meCaloPreSh[i]->setAxisTitle("Number of Hits",1);
444  meCaloPreSh[i]->setAxisTitle("Count",2);
445  meCaloPreShE[i]->setAxisTitle("Energy of Hits (GeV)",1);
446  meCaloPreShE[i]->setAxisTitle("Count",2);
447  meCaloPreShToF[i]->setAxisTitle("Time of Flight of Hits (ns)",1);
448  meCaloPreShToF[i]->setAxisTitle("Count",2);
449  }
450 
451  sprintf(hname,"hCaloPreShPhi");
452  sprintf(htitle,"PreSh hits, phi/rad");
453  meCaloPreShPhi = iBooker.book1D(hname,htitle,100,-3.2,3.2);
454  meCaloPreShPhi->setAxisTitle("Phi of Hits (rad)",1);
455  meCaloPreShPhi->setAxisTitle("Count",2);
456 
457  sprintf(hname,"hCaloPreShEta");
458  sprintf(htitle,"PreSh hits, eta");
459  meCaloPreShEta = iBooker.book1D(hname,htitle,100,-5.5,5.5);
460  meCaloPreShEta->setAxisTitle("Eta of Hits",1);
461  meCaloPreShEta->setAxisTitle("Count",2);
462 
463  // Hcal
464  iBooker.setCurrentFolder("GlobalHitsV/HCals");
465  sprintf(hname,"hCaloHcal1");
466  sprintf(htitle,"Hcal hits");
467  meCaloHcal[0] = iBooker.book1D(hname,htitle,100,0.,10000.);
468  sprintf(hname,"hCaloHcal2");
469  meCaloHcal[1] = iBooker.book1D(hname,htitle,100,-0.5,99.5);
470 
471  sprintf(hname,"hCaloHcalE1");
472  sprintf(htitle,"Hcal hits, energy/GeV");
473  meCaloHcalE[0] = iBooker.book1D(hname,htitle,100,0.,10.);
474  sprintf(hname,"hCaloHcalE2");
475  meCaloHcalE[1] = iBooker.book1D(hname,htitle,100,0.,0.1);
476 
477  sprintf(hname,"hCaloHcalToF1");
478  sprintf(htitle,"Hcal hits, ToF/ns");
479  meCaloHcalToF[0] = iBooker.book1D(hname,htitle,100,0.,1000.);
480  sprintf(hname,"hCaloHcalToF2");
481  meCaloHcalToF[1] = iBooker.book1D(hname,htitle,100,0.,100.);
482 
483  for (Int_t i = 0; i < 2; ++i) {
484  meCaloHcal[i]->setAxisTitle("Number of Hits",1);
485  meCaloHcal[i]->setAxisTitle("Count",2);
486  meCaloHcalE[i]->setAxisTitle("Energy of Hits (GeV)",1);
487  meCaloHcalE[i]->setAxisTitle("Count",2);
488  meCaloHcalToF[i]->setAxisTitle("Time of Flight of Hits (ns)",1);
489  meCaloHcalToF[i]->setAxisTitle("Count",2);
490  }
491 
492  sprintf(hname,"hCaloHcalPhi");
493  sprintf(htitle,"Hcal hits, phi/rad");
494  meCaloHcalPhi = iBooker.book1D(hname,htitle,100,-3.2,3.2);
495  meCaloHcalPhi->setAxisTitle("Phi of Hits (rad)",1);
496  meCaloHcalPhi->setAxisTitle("Count",2);
497 
498  sprintf(hname,"hCaloHcalEta");
499  sprintf(htitle,"Hcal hits, eta");
500  meCaloHcalEta = iBooker.book1D(hname,htitle,100,-5.5,5.5);
501  meCaloHcalEta->setAxisTitle("Eta of Hits",1);
502  meCaloHcalEta->setAxisTitle("Count",2);
503 
504  // SiPixels
505  iBooker.setCurrentFolder("GlobalHitsV/SiPixels");
506  sprintf(hname,"hTrackerPx1");
507  sprintf(htitle,"Pixel hits");
508  meTrackerPx[0] = iBooker.book1D(hname,htitle,100,0.,10000.);
509  sprintf(hname,"hTrackerPx2");
510  meTrackerPx[1] = iBooker.book1D(hname,htitle,100,-0.5,99.5);
511  for (Int_t i = 0; i < 2; ++i) {
512  meTrackerPx[i]->setAxisTitle("Number of Pixel Hits",1);
513  meTrackerPx[i]->setAxisTitle("Count",2);
514  }
515 
516  sprintf(hname,"hTrackerPxPhi");
517  sprintf(htitle,"Pixel hits phi/rad");
518  meTrackerPxPhi = iBooker.book1D(hname,htitle,100,-3.2,3.2);
519  meTrackerPxPhi->setAxisTitle("Phi of Hits (rad)",1);
520  meTrackerPxPhi->setAxisTitle("Count",2);
521 
522  sprintf(hname,"hTrackerPxEta");
523  sprintf(htitle,"Pixel hits eta");
524  meTrackerPxEta = iBooker.book1D(hname,htitle,100,-3.5,3.5);
525  meTrackerPxEta->setAxisTitle("Eta of Hits",1);
526  meTrackerPxEta->setAxisTitle("Count",2);
527 
528  sprintf(hname,"hTrackerPxBToF");
529  sprintf(htitle,"Pixel barrel hits, ToF/ns");
530  meTrackerPxBToF = iBooker.book1D(hname,htitle,100,0.,40.);
531  meTrackerPxBToF->setAxisTitle("Time of Flight of Hits (ns)",1);
532  meTrackerPxBToF->setAxisTitle("Count",2);
533 
534  sprintf(hname,"hTrackerPxBR");
535  sprintf(htitle,"Pixel barrel hits, R/cm");
536  meTrackerPxBR = iBooker.book1D(hname,htitle,100,0.,50.);
537  meTrackerPxBR->setAxisTitle("R of Hits (cm)",1);
538  meTrackerPxBR->setAxisTitle("Count",2);
539 
540  sprintf(hname,"hTrackerPxFToF");
541  sprintf(htitle,"Pixel forward hits, ToF/ns");
542  meTrackerPxFToF = iBooker.book1D(hname,htitle,100,0.,50.);
543  meTrackerPxFToF->setAxisTitle("Time of Flight of Hits (ns)",1);
544  meTrackerPxFToF->setAxisTitle("Count",2);
545 
546  sprintf(hname,"hTrackerPxFZ");
547  sprintf(htitle,"Pixel forward hits, Z/cm");
548  meTrackerPxFZ =
549  iBooker.book1D(hname,htitle,200,-100.,100.);
550  meTrackerPxFZ->setAxisTitle("Z of Hits (cm)",1);
551  meTrackerPxFZ->setAxisTitle("Count",2);
552 
553  // SiStrips
554  iBooker.setCurrentFolder("GlobalHitsV/SiStrips");
555  sprintf(hname,"hTrackerSi1");
556  sprintf(htitle,"Silicon hits");
557  meTrackerSi[0] = iBooker.book1D(hname,htitle,100,0.,10000.);
558  sprintf(hname,"hTrackerSi2");
559  meTrackerSi[1] = iBooker.book1D(hname,htitle,100,-0.5,99.5);
560  for (Int_t i = 0; i < 2; ++i) {
561  meTrackerSi[i]->setAxisTitle("Number of Silicon Hits",1);
562  meTrackerSi[i]->setAxisTitle("Count",2);
563  }
564 
565  sprintf(hname,"hTrackerSiPhi");
566  sprintf(htitle,"Silicon hits phi/rad");
567  meTrackerSiPhi = iBooker.book1D(hname,htitle,100,-3.2,3.2);
568  meTrackerSiPhi->setAxisTitle("Phi of Hits (rad)",1);
569  meTrackerSiPhi->setAxisTitle("Count",2);
570 
571  sprintf(hname,"hTrackerSiEta");
572  sprintf(htitle,"Silicon hits eta");
573  meTrackerSiEta = iBooker.book1D(hname,htitle,100,-3.5,3.5);
574  meTrackerSiEta->setAxisTitle("Eta of Hits",1);
575  meTrackerSiEta->setAxisTitle("Count",2);
576 
577  sprintf(hname,"hTrackerSiBToF");
578  sprintf(htitle,"Silicon barrel hits, ToF/ns");
579  meTrackerSiBToF = iBooker.book1D(hname,htitle,100,0.,50.);
580  meTrackerSiBToF->setAxisTitle("Time of Flight of Hits (ns)",1);
581  meTrackerSiBToF->setAxisTitle("Count",2);
582 
583  sprintf(hname,"hTrackerSiBR");
584  sprintf(htitle,"Silicon barrel hits, R/cm");
585  meTrackerSiBR = iBooker.book1D(hname,htitle,100,0.,200.);
586  meTrackerSiBR->setAxisTitle("R of Hits (cm)",1);
587  meTrackerSiBR->setAxisTitle("Count",2);
588 
589  sprintf(hname,"hTrackerSiFToF");
590  sprintf(htitle,"Silicon forward hits, ToF/ns");
591  meTrackerSiFToF = iBooker.book1D(hname,htitle,100,0.,75.);
592  meTrackerSiFToF->setAxisTitle("Time of Flight of Hits (ns)",1);
593  meTrackerSiFToF->setAxisTitle("Count",2);
594 
595  sprintf(hname,"hTrackerSiFZ");
596  sprintf(htitle,"Silicon forward hits, Z/cm");
597  meTrackerSiFZ = iBooker.book1D(hname,htitle,200,-300.,300.);
598  meTrackerSiFZ->setAxisTitle("Z of Hits (cm)",1);
599  meTrackerSiFZ->setAxisTitle("Count",2);
600 
601  // Muon
602  iBooker.setCurrentFolder("GlobalHitsV/Muons");
603  sprintf(hname,"hMuon1");
604  sprintf(htitle,"Muon hits");
605  meMuon[0] = iBooker.book1D(hname,htitle,100,0.,10000.);
606  sprintf(hname,"hMuon2");
607  meMuon[1] = iBooker.book1D(hname,htitle,100,-0.5,99.5);
608  for (Int_t i = 0; i < 2; ++i) {
609  meMuon[i]->setAxisTitle("Number of Muon Hits",1);
610  meMuon[i]->setAxisTitle("Count",2);
611  }
612 
613  sprintf(hname,"hMuonPhi");
614  sprintf(htitle,"Muon hits phi/rad");
615  meMuonPhi = iBooker.book1D(hname,htitle,100,-3.2,3.2);
616  meMuonPhi->setAxisTitle("Phi of Hits (rad)",1);
617  meMuonPhi->setAxisTitle("Count",2);
618 
619  sprintf(hname,"hMuonEta");
620  sprintf(htitle,"Muon hits eta");
621  meMuonEta = iBooker.book1D(hname,htitle,100,-3.5,3.5);
622  meMuonEta->setAxisTitle("Eta of Hits",1);
623  meMuonEta->setAxisTitle("Count",2);
624 
625  sprintf(hname,"hMuonCscToF1");
626  sprintf(htitle,"Muon CSC hits, ToF/ns");
627  meMuonCscToF[0] = iBooker.book1D(hname,htitle,100,0.,250.);
628  sprintf(hname,"hMuonCscToF2");
629  meMuonCscToF[1] = iBooker.book1D(hname,htitle,100,0.,50.);
630  for (Int_t i = 0; i < 2; ++i) {
631  meMuonCscToF[i]->setAxisTitle("Time of Flight of Hits (ns)",1);
632  meMuonCscToF[i]->setAxisTitle("Count",2);
633  }
634 
635  sprintf(hname,"hMuonCscZ");
636  sprintf(htitle,"Muon CSC hits, Z/cm");
637  meMuonCscZ = iBooker.book1D(hname,htitle,200,-1500.,1500.);
638  meMuonCscZ->setAxisTitle("Z of Hits (cm)",1);
639  meMuonCscZ->setAxisTitle("Count",2);
640 
641  sprintf(hname,"hMuonDtToF1");
642  sprintf(htitle,"Muon DT hits, ToF/ns");
643  meMuonDtToF[0] = iBooker.book1D(hname,htitle,100,0.,250.);
644  sprintf(hname,"hMuonDtToF2");
645  meMuonDtToF[1] = iBooker.book1D(hname,htitle,100,0.,50.);
646  for (Int_t i = 0; i < 2; ++i) {
647  meMuonDtToF[i]->setAxisTitle("Time of Flight of Hits (ns)",1);
648  meMuonDtToF[i]->setAxisTitle("Count",2);
649  }
650 
651  sprintf(hname,"hMuonDtR");
652  sprintf(htitle,"Muon DT hits, R/cm");
653  meMuonDtR = iBooker.book1D(hname,htitle,100,0.,1500.);
654  meMuonDtR->setAxisTitle("R of Hits (cm)",1);
655  meMuonDtR->setAxisTitle("Count",2);
656 
657  sprintf(hname,"hMuonRpcFToF1");
658  sprintf(htitle,"Muon RPC forward hits, ToF/ns");
659  meMuonRpcFToF[0] = iBooker.book1D(hname,htitle,100,0.,250.);
660  sprintf(hname,"hMuonRpcFToF2");
661  meMuonRpcFToF[1] = iBooker.book1D(hname,htitle,100,0.,50.);
662  for (Int_t i = 0; i < 2; ++i) {
663  meMuonRpcFToF[i]->setAxisTitle("Time of Flight of Hits (ns)",1);
664  meMuonRpcFToF[i]->setAxisTitle("Count",2);
665  }
666  sprintf(hname,"hMuonRpcFZ");
667  sprintf(htitle,"Muon RPC forward hits, Z/cm");
668  meMuonRpcFZ = iBooker.book1D(hname,htitle,201,-1500.,1500.);
669  meMuonRpcFZ->setAxisTitle("Z of Hits (cm)",1);
670  meMuonRpcFZ->setAxisTitle("Count",2);
671 
672  sprintf(hname,"hMuonRpcBToF1");
673  sprintf(htitle,"Muon RPC barrel hits, ToF/ns");
674  meMuonRpcBToF[0] = iBooker.book1D(hname,htitle,100,0.,250.);
675  sprintf(hname,"hMuonRpcBToF2");
676  meMuonRpcBToF[1] = iBooker.book1D(hname,htitle,100,0.,50.);
677  for (Int_t i = 0; i < 2; ++i) {
678  meMuonRpcBToF[i]->setAxisTitle("Time of Flight of Hits (ns)",1);
679  meMuonRpcBToF[i]->setAxisTitle("Count",2);
680  }
681 
682  sprintf(hname,"hMuonRpcBR");
683  sprintf(htitle,"Muon RPC barrel hits, R/cm");
684  meMuonRpcBR = iBooker.book1D(hname,htitle,100,0.,1500.);
685  meMuonRpcBR->setAxisTitle("R of Hits (cm)",1);
686  meMuonRpcBR->setAxisTitle("Count",2);
687 }
MonitorElement * meTrackerSiPhi
MonitorElement * meMuonDtToF[2]
MonitorElement * meGeantVtxRad[2]
MonitorElement * meCaloHcal[2]
MonitorElement * meMCG4Trk[2]
MonitorElement * meTrackerPxPhi
MonitorElement * meCaloHcalToF[2]
MonitorElement * meCaloPreSh[2]
MonitorElement * meTrackerSiEta
MonitorElement * meTrackerSiBToF
MonitorElement * meTrackerSi[2]
MonitorElement * meMCG4Vtx[2]
MonitorElement * meGeantVtxY[2]
MonitorElement * meGeantVtxMulti
MonitorElement * meTrackerPxFZ
MonitorElement * meMuonCscToF[2]
MonitorElement * meCaloPreShPhi
MonitorElement * meGeantTrkE
MonitorElement * meCaloEcalEta
MonitorElement * meTrackerPxBR
MonitorElement * meCaloPreShE[2]
MonitorElement * meTrackerPxBToF
MonitorElement * meGeantVtxPhi
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:115
MonitorElement * meCaloEcalPhi
MonitorElement * meTrackerPx[2]
MonitorElement * meGeantTrkPt
MonitorElement * meGeantVtxEta
MonitorElement * meMuonRpcFZ
MonitorElement * meMCRGP[2]
MonitorElement * meMuonRpcBToF[2]
MonitorElement * meCaloHcalE[2]
MonitorElement * meMuonCscZ
MonitorElement * meGeantVtxX[2]
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:277
MonitorElement * meCaloEcal[2]
MonitorElement * meTrackerSiFZ
MonitorElement * meGeantVtxZ[2]
MonitorElement * meCaloEcalToF[2]
MonitorElement * meMuon[2]
MonitorElement * meMuonRpcFToF[2]
MonitorElement * meCaloPreShToF[2]
MonitorElement * meCaloPreShEta
MonitorElement * meTrackerSiFToF
MonitorElement * meTrackerPxFToF
MonitorElement * meMuonEta
MonitorElement * meMuonDtR
MonitorElement * meCaloHcalPhi
MonitorElement * meMuonRpcBR
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
MonitorElement * meTrackerPxEta
MonitorElement * meCaloHcalEta
MonitorElement * meMuonPhi
MonitorElement * meTrackerSiBR
MonitorElement * meCaloEcalE[2]
void GlobalHitsAnalyzer::fillECal ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
private

Definition at line 1646 of file GlobalHitsAnalyzer.cc.

References dEcal, gamEcalExtractorBlocks_cff::detector, ECalEBSrc_Token_, ECalEESrc_Token_, ECalESSrc_Token_, PV3DBase< T, PVType, FrameType >::eta(), MonitorElement::Fill(), edm::EventSetup::get(), edm::Event::getByToken(), CaloGeometry::getGeometry(), CaloCellGeometry::getPosition(), mps_fire::i, edm::ESHandleBase::isValid(), edm::HandleBase::isValid(), LogDebug, meCaloEcal, meCaloEcalE, meCaloEcalEta, meCaloEcalPhi, meCaloEcalToF, meCaloPreSh, meCaloPreShE, meCaloPreShEta, meCaloPreShPhi, meCaloPreShToF, PV3DBase< T, PVType, FrameType >::phi(), sdEcalBrl, sdEcalFwd, sdEcalPS, AlCaHLTBitMon_QueryRunRegistry::string, subdetector, validEB, validEE, validPresh, and verbosity.

Referenced by analyze().

1648 {
1649  std::string MsgLoggerCat = "GlobalHitsAnalyzer_fillECal";
1650 
1651  TString eventout;
1652  if (verbosity > 0)
1653  eventout = "\nGathering info:";
1654 
1655  // access the calorimeter geometry
1656  edm::ESHandle<CaloGeometry> theCaloGeometry;
1657  iSetup.get<CaloGeometryRecord>().get(theCaloGeometry);
1658  if (!theCaloGeometry.isValid()) {
1659  edm::LogWarning(MsgLoggerCat)
1660  << "Unable to find CaloGeometryRecord in event!";
1661  return;
1662  }
1663  const CaloGeometry& theCalo(*theCaloGeometry);
1664 
1665  // iterator to access containers
1666  edm::PCaloHitContainer::const_iterator itHit;
1667 
1669  // get ECal information
1671  edm::PCaloHitContainer theECalHits;
1672  // extract EB container
1674  iEvent.getByToken(ECalEBSrc_Token_,EBContainer);
1675  if (!EBContainer.isValid()) {
1676  LogDebug(MsgLoggerCat)
1677  << "Unable to find EcalHitsEB in event!";
1678  validEB = false;
1679  }
1680  // extract EE container
1682  iEvent.getByToken(ECalEESrc_Token_,EEContainer);
1683  if (!EEContainer.isValid()) {
1684  LogDebug(MsgLoggerCat)
1685  << "Unable to find EcalHitsEE in event!";
1686  validEE = false;
1687  }
1688  // place both containers into new container
1689  if (validEB)
1690  theECalHits.insert(theECalHits.end(),EBContainer->begin(),
1691  EBContainer->end());
1692  if (validEE)
1693  theECalHits.insert(theECalHits.end(),EEContainer->begin(),
1694  EEContainer->end());
1695 
1696  // cycle through new container
1697  int i = 0, j = 0;
1698  for (itHit = theECalHits.begin(); itHit != theECalHits.end(); ++itHit) {
1699 
1700  ++i;
1701 
1702  // create a DetId from the detUnitId
1703  DetId theDetUnitId(itHit->id());
1704  int detector = theDetUnitId.det();
1705  int subdetector = theDetUnitId.subdetId();
1706 
1707  // check that expected detector is returned
1708  if ((detector == dEcal) &&
1709  ((subdetector == sdEcalBrl) ||
1710  (subdetector == sdEcalFwd))) {
1711 
1712  // get the Cell geometry
1713  const CaloCellGeometry *theDet = theCalo.
1714  getSubdetectorGeometry(theDetUnitId)->getGeometry(theDetUnitId);
1715 
1716  if (!theDet) {
1717  edm::LogWarning(MsgLoggerCat)
1718  << "Unable to get CaloCellGeometry from ECalHits for Hit " << i;
1719  continue;
1720  }
1721 
1722  ++j;
1723 
1724  // get the global position of the cell
1725  const GlobalPoint& globalposition = theDet->getPosition();
1726 
1727  if (meCaloEcalE[0]) meCaloEcalE[0]->Fill(itHit->energy());
1728  if (meCaloEcalE[1]) meCaloEcalE[1]->Fill(itHit->energy());
1729  if (meCaloEcalToF[0]) meCaloEcalToF[0]->Fill(itHit->time());
1730  if (meCaloEcalToF[1]) meCaloEcalToF[1]->Fill(itHit->time());
1731  if (meCaloEcalPhi) meCaloEcalPhi->Fill(globalposition.phi());
1732  if (meCaloEcalEta) meCaloEcalEta->Fill(globalposition.eta());
1733 
1734  } else {
1735  edm::LogWarning(MsgLoggerCat)
1736  << "ECal PCaloHit " << i
1737  << " is expected to be (det,subdet) = ("
1738  << dEcal << "," << sdEcalBrl
1739  << " || " << sdEcalFwd << "); value returned is: ("
1740  << detector << "," << subdetector << ")";
1741  continue;
1742  } // end detector type check
1743  } // end loop through ECal Hits
1744 
1745  if (verbosity > 1) {
1746  eventout += "\n Number of ECal Hits collected:............. ";
1747  eventout += j;
1748  }
1749 
1750  if (meCaloEcal[0]) meCaloEcal[0]->Fill((float)j);
1751  if (meCaloEcal[1]) meCaloEcal[1]->Fill((float)j);
1752 
1754  // Get Preshower information
1756  // extract PreShower container
1757  edm::Handle<edm::PCaloHitContainer> PreShContainer;
1758  iEvent.getByToken(ECalESSrc_Token_,PreShContainer);
1759  if (!PreShContainer.isValid()) {
1760  LogDebug(MsgLoggerCat)
1761  << "Unable to find EcalHitsES in event!";
1762  validPresh = false;
1763  }
1764 
1765  if (validPresh) {
1766  // cycle through container
1767  int i = 0, j = 0;
1768  for (itHit = PreShContainer->begin();
1769  itHit != PreShContainer->end(); ++itHit) {
1770 
1771  ++i;
1772 
1773  // create a DetId from the detUnitId
1774  DetId theDetUnitId(itHit->id());
1775  int detector = theDetUnitId.det();
1776  int subdetector = theDetUnitId.subdetId();
1777 
1778  // check that expected detector is returned
1779  if ((detector == dEcal) &&
1780  (subdetector == sdEcalPS)) {
1781 
1782  // get the Cell geometry
1783  const CaloCellGeometry *theDet = theCalo.
1784  getSubdetectorGeometry(theDetUnitId)->getGeometry(theDetUnitId);
1785 
1786  if (!theDet) {
1787  edm::LogWarning(MsgLoggerCat)
1788  << "Unable to get CaloCellGeometry from PreShContainer for Hit "
1789  << i;
1790  continue;
1791  }
1792 
1793  ++j;
1794 
1795  // get the global position of the cell
1796  const GlobalPoint& globalposition = theDet->getPosition();
1797 
1798  if (meCaloPreShE[0]) meCaloPreShE[0]->Fill(itHit->energy());
1799  if (meCaloPreShE[1]) meCaloPreShE[1]->Fill(itHit->energy());
1800  if (meCaloPreShToF[0]) meCaloPreShToF[0]->Fill(itHit->time());
1801  if (meCaloPreShToF[1]) meCaloPreShToF[1]->Fill(itHit->time());
1802  if (meCaloPreShPhi) meCaloPreShPhi->Fill(globalposition.phi());
1803  if (meCaloPreShEta) meCaloPreShEta->Fill(globalposition.eta());
1804 
1805  } else {
1806  edm::LogWarning(MsgLoggerCat)
1807  << "PreSh PCaloHit " << i
1808  << " is expected to be (det,subdet) = ("
1809  << dEcal << "," << sdEcalPS
1810  << "); value returned is: ("
1811  << detector << "," << subdetector << ")";
1812  continue;
1813  } // end detector type check
1814  } // end loop through PreShower Hits
1815 
1816  if (verbosity > 1) {
1817  eventout += "\n Number of PreSh Hits collected:............ ";
1818  eventout += j;
1819  }
1820 
1821  if (meCaloPreSh[0]) meCaloPreSh[0]->Fill((float)j);
1822  if (meCaloPreSh[1]) meCaloPreSh[1]->Fill((float)j);
1823  }
1824 
1825  if (verbosity > 0)
1826  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
1827 
1828  return;
1829 }
#define LogDebug(id)
static const int dEcal
std::vector< PCaloHit > PCaloHitContainer
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:460
TString subdetector
Geom::Phi< T > phi() const
Definition: PV3DBase.h:69
MonitorElement * meCaloPreSh[2]
static const int sdEcalPS
edm::EDGetTokenT< edm::PCaloHitContainer > ECalEESrc_Token_
void Fill(long long x)
MonitorElement * meCaloPreShPhi
MonitorElement * meCaloEcalEta
MonitorElement * meCaloPreShE[2]
static const int sdEcalFwd
MonitorElement * meCaloEcalPhi
static const int sdEcalBrl
edm::EDGetTokenT< edm::PCaloHitContainer > ECalEBSrc_Token_
bool isValid() const
Definition: HandleBase.h:74
Definition: DetId.h:18
MonitorElement * meCaloEcal[2]
MonitorElement * meCaloEcalToF[2]
const T & get() const
Definition: EventSetup.h:56
MonitorElement * meCaloPreShToF[2]
MonitorElement * meCaloPreShEta
T eta() const
Definition: PV3DBase.h:76
bool isValid() const
Definition: ESHandle.h:47
Detector det() const
get the detector field from this detid
Definition: DetId.h:35
const GlobalPoint & getPosition() const
Returns the position of reference for this cell.
edm::EDGetTokenT< edm::PCaloHitContainer > ECalESSrc_Token_
MonitorElement * meCaloEcalE[2]
void GlobalHitsAnalyzer::fillG4MC ( const edm::Event iEvent)
private

Definition at line 766 of file GlobalHitsAnalyzer.cc.

References edm::Provenance::branchDescription(), MonitorElement::Fill(), HcalObjRepresent::Fill(), G4TrkSrc_Token_, G4VtxSrc_Token_, edm::Event::getByToken(), edm::HepMCProduct::GetEvent(), edm::Event::getManyByType(), mps_fire::i, edm::HandleBase::isValid(), LogDebug, hpstanc_transforms::max, meGeantTrkE, meGeantTrkPt, meGeantVtxEta, meGeantVtxMulti, meGeantVtxPhi, meGeantVtxRad, meGeantVtxX, meGeantVtxY, meGeantVtxZ, meMCG4Trk, meMCG4Vtx, meMCRGP, trackerHitRTTI::multi, nRawGenPart, edm::HandleBase::provenance(), mathSSE::sqrt(), AlCaHLTBitMon_QueryRunRegistry::string, csvLumiCalc::unit, validG4trkContainer, validG4VtxContainer, validHepMCevt, verbosity, and vtxunit.

Referenced by analyze().

767 {
768 
769  std::string MsgLoggerCat = "GlobalHitsAnalyzer_fillG4MC";
770 
771  TString eventout;
772  if (verbosity > 0)
773  eventout = "\nGathering info:";
774 
776  // get MC information
779  std::vector<edm::Handle<edm::HepMCProduct> > AllHepMCEvt;
780  iEvent.getManyByType(AllHepMCEvt);
781 
782  // loop through products and extract VtxSmearing if available. Any of them
783  // should have the information needed
784  for (unsigned int i = 0; i < AllHepMCEvt.size(); ++i) {
785  HepMCEvt = AllHepMCEvt[i];
786  if ((HepMCEvt.provenance()->branchDescription()).moduleLabel() == "generatorSmeared")
787  break;
788  }
789 
790  if (!HepMCEvt.isValid()) {
791  LogDebug(MsgLoggerCat)
792  << "Unable to find HepMCProduct in event!";
793  validHepMCevt = false;
794  } else {
795  eventout += "\n Using HepMCProduct: ";
796  eventout += (HepMCEvt.provenance()->branchDescription()).moduleLabel();
797  }
798  if (validHepMCevt) {
799  const HepMC::GenEvent* MCEvt = HepMCEvt->GetEvent();
800  nRawGenPart = MCEvt->particles_size();
801 
802 
803  if (verbosity > 1) {
804  eventout += "\n Number of Raw Particles collected:......... ";
805  eventout += nRawGenPart;
806  }
807 
808  if (meMCRGP[0]) meMCRGP[0]->Fill((float)nRawGenPart);
809  if (meMCRGP[1]) meMCRGP[1]->Fill((float)nRawGenPart);
810  }
811 
812 
814  // get G4Vertex information
816  // convert unit stored in SimVertex to mm
817  float unit = 0.;
818  if (vtxunit == 0) unit = 1.; // already in mm
819  if (vtxunit == 1) unit = 10.; // stored in cm, convert to mm
820 
822  iEvent.getByToken(G4VtxSrc_Token_, G4VtxContainer);
823 
824  // needed here by vertex multiplicity
826  iEvent.getByToken(G4TrkSrc_Token_, G4TrkContainer);
827 
828  if (!G4VtxContainer.isValid()) {
829  LogDebug(MsgLoggerCat)
830  << "Unable to find SimVertex in event!";
831  validG4VtxContainer = false;
832  }
833  if (validG4VtxContainer) {
834  int i = 0;
835  edm::SimVertexContainer::const_iterator itVtx;
836  for (itVtx = G4VtxContainer->begin(); itVtx != G4VtxContainer->end();
837  ++itVtx) {
838 
839  ++i;
840 
841  const math::XYZTLorentzVector G4Vtx1(itVtx->position().x(),
842  itVtx->position().y(),
843  itVtx->position().z(),
844  itVtx->position().e());
845 
846  double G4Vtx[4];
847  G4Vtx1.GetCoordinates(G4Vtx);
848 
849  if (meGeantVtxX[0]) meGeantVtxX[0]->Fill((G4Vtx[0]*unit)/micrometer);
850  if (meGeantVtxX[1]) meGeantVtxX[1]->Fill((G4Vtx[0]*unit)/micrometer);
851 
852  if (meGeantVtxY[0]) meGeantVtxY[0]->Fill((G4Vtx[1]*unit)/micrometer);
853  if (meGeantVtxY[1]) meGeantVtxY[1]->Fill((G4Vtx[1]*unit)/micrometer);
854 
855  if (meGeantVtxZ[0]) meGeantVtxZ[0]->Fill((G4Vtx[2]*unit)/millimeter);
856  if (meGeantVtxZ[1]) meGeantVtxZ[1]->Fill((G4Vtx[2]*unit)/millimeter);
857 
858  if (meGeantVtxEta) meGeantVtxEta->Fill(G4Vtx1.eta());
859  if (meGeantVtxPhi) meGeantVtxPhi->Fill(G4Vtx1.phi());
860  if (meGeantVtxRad[0]) meGeantVtxRad[0]->Fill(G4Vtx1.rho());
861  if (meGeantVtxRad[1]) meGeantVtxRad[1]->Fill(G4Vtx1.rho());
862 
863  if (meGeantVtxMulti) {
864  int multi = 0;
865  if ( G4TrkContainer.isValid() ) {
866  edm::SimTrackContainer::const_iterator itTrk;
867  for (itTrk = G4TrkContainer->begin(); itTrk != G4TrkContainer->end();
868  ++itTrk) {
869  if ( (*itTrk).vertIndex() == i ) { multi++; }
870  }
871  }
872  meGeantVtxMulti->Fill(((double)multi+0.5));
873  }
874 
875  }
876 
877  if (verbosity > 1) {
878  eventout += "\n Number of G4Vertices collected:............ ";
879  eventout += i;
880  }
881 
882  if (meMCG4Vtx[0]) meMCG4Vtx[0]->Fill((float)i);
883  if (meMCG4Vtx[1]) meMCG4Vtx[1]->Fill((float)i);
884 
885  }
886 
888  // get G4Track information
890  if (!G4TrkContainer.isValid()) {
891  LogDebug(MsgLoggerCat)
892  << "Unable to find SimTrack in event!";
893  validG4trkContainer = false;
894  }
895  if (validG4trkContainer) {
896  int i = 0;
897  edm::SimTrackContainer::const_iterator itTrk;
898  for (itTrk = G4TrkContainer->begin(); itTrk != G4TrkContainer->end();
899  ++itTrk) {
900 
901  ++i;
902 
903  const math::XYZTLorentzVector G4Trk1(itTrk->momentum().x(),
904  itTrk->momentum().y(),
905  itTrk->momentum().z(),
906  itTrk->momentum().e());
907  double G4Trk[4];
908  G4Trk1.GetCoordinates(G4Trk);
909 
911  Fill(std::log10(std::max(sqrt(G4Trk[0]*G4Trk[0]+G4Trk[1]*G4Trk[1]),-9.)));
912  if (meGeantTrkE) meGeantTrkE->Fill(std::log10(std::max(G4Trk[3],-9.)));
913  }
914 
915  if (verbosity > 1) {
916  eventout += "\n Number of G4Tracks collected:.............. ";
917  eventout += i;
918  }
919 
920  if (meMCG4Trk[0]) meMCG4Trk[0]->Fill((float)i);
921  if (meMCG4Trk[1]) meMCG4Trk[1]->Fill((float)i);
922  }
923 
924  if (verbosity > 0)
925  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
926 
927  return;
928 }
#define LogDebug(id)
void getManyByType(std::vector< Handle< PROD > > &results) const
Definition: Event.h:450
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:460
MonitorElement * meGeantVtxRad[2]
MonitorElement * meMCG4Trk[2]
edm::EDGetTokenT< edm::SimTrackContainer > G4TrkSrc_Token_
MonitorElement * meMCG4Vtx[2]
MonitorElement * meGeantVtxY[2]
MonitorElement * meGeantVtxMulti
void Fill(long long x)
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:29
MonitorElement * meGeantTrkE
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
T sqrt(T t)
Definition: SSEVec.h:18
MonitorElement * meGeantVtxPhi
MonitorElement * meGeantTrkPt
MonitorElement * meGeantVtxEta
bool isValid() const
Definition: HandleBase.h:74
MonitorElement * meMCRGP[2]
MonitorElement * meGeantVtxX[2]
const HepMC::GenEvent * GetEvent() const
Definition: HepMCProduct.h:38
BranchDescription const & branchDescription() const
Definition: Provenance.h:43
MonitorElement * meGeantVtxZ[2]
edm::EDGetTokenT< edm::SimVertexContainer > G4VtxSrc_Token_
Provenance const * provenance() const
Definition: HandleBase.h:83
void GlobalHitsAnalyzer::fillHCal ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
private

Definition at line 1831 of file GlobalHitsAnalyzer.cc.

References DetId::det(), gamEcalExtractorBlocks_cff::detector, dHcal, PV3DBase< T, PVType, FrameType >::eta(), MonitorElement::Fill(), edm::EventSetup::get(), edm::Event::getByToken(), CaloGeometry::getGeometry(), CaloCellGeometry::getPosition(), HCalSrc_Token_, mps_fire::i, edm::ESHandleBase::isValid(), edm::HandleBase::isValid(), LogDebug, meCaloHcal, meCaloHcalE, meCaloHcalEta, meCaloHcalPhi, meCaloHcalToF, PV3DBase< T, PVType, FrameType >::phi(), HcalHitRelabeller::relabel(), sdHcalBrl, sdHcalEC, sdHcalFwd, sdHcalOut, AlCaHLTBitMon_QueryRunRegistry::string, subdetector, DetId::subdetId(), testNumber, validHcal, and verbosity.

Referenced by analyze().

1833 {
1834  std::string MsgLoggerCat = "GlobalHitsAnalyzer_fillHCal";
1835 
1836  TString eventout;
1837  if (verbosity > 0)
1838  eventout = "\nGathering info:";
1839 
1840  // access the calorimeter geometry
1841  edm::ESHandle<CaloGeometry> theCaloGeometry;
1842  iSetup.get<CaloGeometryRecord>().get(theCaloGeometry);
1843  if (!theCaloGeometry.isValid()) {
1844  edm::LogWarning(MsgLoggerCat)
1845  << "Unable to find CaloGeometryRecord in event!";
1846  return;
1847  }
1848  const CaloGeometry& theCalo(*theCaloGeometry);
1849 
1851  iSetup.get<HcalRecNumberingRecord>().get( pHRNDC );
1852  const HcalDDDRecConstants* hcons = &(*pHRNDC);
1853 
1854  // iterator to access containers
1855  edm::PCaloHitContainer::const_iterator itHit;
1856 
1858  // get HCal information
1860  // extract HCal container
1862  iEvent.getByToken(HCalSrc_Token_,HCalContainer);
1863  if (!HCalContainer.isValid()) {
1864  LogDebug(MsgLoggerCat)
1865  << "Unable to find HCalHits in event!";
1866  validHcal = false;
1867  }
1868 
1869  if (validHcal) {
1870  // cycle through container
1871  int i = 0, j = 0;
1872  for (itHit = HCalContainer->begin();
1873  itHit != HCalContainer->end(); ++itHit) {
1874 
1875  ++i;
1876 
1877  // create a DetId from the detUnitId
1878  DetId theDetUnitId;
1879  unsigned int id_ = itHit->id();
1880  if(testNumber) theDetUnitId = HcalHitRelabeller::relabel(id_,hcons);
1881  else theDetUnitId = id_;
1882 
1883  int detector = theDetUnitId.det();
1884  int subdetector = theDetUnitId.subdetId();
1885 
1886  // check that expected detector is returned
1887  if ((detector == dHcal) &&
1888  ((subdetector == sdHcalBrl) ||
1889  (subdetector == sdHcalEC) ||
1890  (subdetector == sdHcalOut) ||
1891  (subdetector == sdHcalFwd))) {
1892 
1893  // get the Cell geometry
1894  const CaloCellGeometry *theDet = theCalo.
1895  getSubdetectorGeometry(theDetUnitId)->getGeometry(theDetUnitId);
1896 
1897  if (!theDet) {
1898  edm::LogWarning(MsgLoggerCat)
1899  << "Unable to get CaloCellGeometry from HCalContainer for Hit "
1900  << i;
1901  continue;
1902  }
1903 
1904  ++j;
1905 
1906  // get the global position of the cell
1907  const GlobalPoint& globalposition = theDet->getPosition();
1908 
1909  if (meCaloHcalE[0]) meCaloHcalE[0]->Fill(itHit->energy());
1910  if (meCaloHcalE[1]) meCaloHcalE[1]->Fill(itHit->energy());
1911  if (meCaloHcalToF[0]) meCaloHcalToF[0]->Fill(itHit->time());
1912  if (meCaloHcalToF[1]) meCaloHcalToF[1]->Fill(itHit->time());
1913  if (meCaloHcalPhi) meCaloHcalPhi->Fill(globalposition.phi());
1914  if (meCaloHcalEta) meCaloHcalEta->Fill(globalposition.eta());
1915 
1916  } else {
1917  edm::LogWarning(MsgLoggerCat)
1918  << "HCal PCaloHit " << i
1919  << " is expected to be (det,subdet) = ("
1920  << dHcal << "," << sdHcalBrl
1921  << " || " << sdHcalEC << " || " << sdHcalOut << " || " << sdHcalFwd
1922  << "); value returned is: ("
1923  << detector << "," << subdetector << ")";
1924  continue;
1925  } // end detector type check
1926  } // end loop through HCal Hits
1927 
1928  if (verbosity > 1) {
1929  eventout += "\n Number of HCal Hits collected:............. ";
1930  eventout += j;
1931  }
1932 
1933  if (meCaloHcal[0]) meCaloHcal[0]->Fill((float)j);
1934  if (meCaloHcal[1]) meCaloHcal[1]->Fill((float)j);
1935  }
1936 
1937  if (verbosity > 0)
1938  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
1939 
1940  return;
1941 }
#define LogDebug(id)
static const int sdHcalOut
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:460
TString subdetector
MonitorElement * meCaloHcal[2]
Geom::Phi< T > phi() const
Definition: PV3DBase.h:69
MonitorElement * meCaloHcalToF[2]
void Fill(long long x)
bool isValid() const
Definition: HandleBase.h:74
int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:37
MonitorElement * meCaloHcalE[2]
Definition: DetId.h:18
static const int dHcal
const T & get() const
Definition: EventSetup.h:56
static const int sdHcalFwd
static const int sdHcalBrl
T eta() const
Definition: PV3DBase.h:76
edm::EDGetTokenT< edm::PCaloHitContainer > HCalSrc_Token_
DetId relabel(const uint32_t testId) const
MonitorElement * meCaloHcalPhi
bool isValid() const
Definition: ESHandle.h:47
Detector det() const
get the detector field from this detid
Definition: DetId.h:35
const GlobalPoint & getPosition() const
Returns the position of reference for this cell.
MonitorElement * meCaloHcalEta
static const int sdHcalEC
void GlobalHitsAnalyzer::fillMuon ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
private

Definition at line 1343 of file GlobalHitsAnalyzer.cc.

References gamEcalExtractorBlocks_cff::detector, dMuon, stringResolutionProvider_cfi::eta, MonitorElement::Fill(), edm::EventSetup::get(), edm::Event::getByToken(), mps_fire::i, RPCGeometry::idToDetUnit(), CSCGeometry::idToDetUnit(), edm::ESHandleBase::isValid(), edm::HandleBase::isValid(), DTGeometry::layer(), LogDebug, meMuon, meMuonCscToF, meMuonCscZ, meMuonDtR, meMuonDtToF, meMuonEta, meMuonPhi, meMuonRpcBR, meMuonRpcBToF, meMuonRpcFToF, meMuonRpcFZ, MuonCscSrc_Token_, MuonDtSrc_Token_, MuonRpcSrc_Token_, nMuonHits, perp(), phi, RPCDetId::region(), sdMuonCSC, sdMuonDT, sdMuonRPC, sdMuonRPCRgnBrl, sdMuonRPCRgnFwdn, sdMuonRPCRgnFwdp, AlCaHLTBitMon_QueryRunRegistry::string, subdetector, GeomDet::surface(), validMuonCSC, validMuonDt, validMuonRPC, verbosity, and z.

Referenced by analyze().

1345 {
1346  nMuonHits = 0;
1347  std::string MsgLoggerCat = "GlobalHitsAnalyzer_fillMuon";
1348 
1349  TString eventout;
1350  if (verbosity > 0)
1351  eventout = "\nGathering info:";
1352 
1353  // iterator to access containers
1354  edm::PSimHitContainer::const_iterator itHit;
1355 
1357  // access the CSC Muon
1359  // access the CSC Muon geometry
1360  edm::ESHandle<CSCGeometry> theCSCGeometry;
1361  iSetup.get<MuonGeometryRecord>().get(theCSCGeometry);
1362  if (!theCSCGeometry.isValid()) {
1363  edm::LogWarning(MsgLoggerCat)
1364  << "Unable to find MuonGeometryRecord for the CSCGeometry in event!";
1365  return;
1366  }
1367  const CSCGeometry& theCSCMuon(*theCSCGeometry);
1368 
1369  // get Muon CSC information
1370  edm::Handle<edm::PSimHitContainer> MuonCSCContainer;
1371  iEvent.getByToken(MuonCscSrc_Token_,MuonCSCContainer);
1372  if (!MuonCSCContainer.isValid()) {
1373  LogDebug(MsgLoggerCat)
1374  << "Unable to find MuonCSCHits in event!";
1375  validMuonCSC = false;
1376  }
1377 
1378  if (validMuonCSC) {
1379  // cycle through container
1380  int i = 0, j = 0;
1381  for (itHit = MuonCSCContainer->begin(); itHit != MuonCSCContainer->end();
1382  ++itHit) {
1383 
1384  ++i;
1385 
1386  // create a DetId from the detUnitId
1387  DetId theDetUnitId(itHit->detUnitId());
1388  int detector = theDetUnitId.det();
1389  int subdetector = theDetUnitId.subdetId();
1390 
1391  // check that expected detector is returned
1392  if ((detector == dMuon) &&
1393  (subdetector == sdMuonCSC)) {
1394 
1395  // get the GeomDetUnit from the geometry using theDetUnitID
1396  const GeomDetUnit *theDet = theCSCMuon.idToDetUnit(theDetUnitId);
1397 
1398  if (!theDet) {
1399  edm::LogWarning(MsgLoggerCat)
1400  << "Unable to get GeomDetUnit from theCSCMuon for hit " << i;
1401  continue;
1402  }
1403 
1404  ++j;
1405 
1406  // get the Surface of the hit (knows how to go from local <-> global)
1407  const BoundPlane& bSurface = theDet->surface();
1408 
1409  if (meMuonCscToF[0]) meMuonCscToF[0]->Fill(itHit->tof());
1410  if (meMuonCscToF[1]) meMuonCscToF[1]->Fill(itHit->tof());
1411  if (meMuonCscZ)
1412  meMuonCscZ->Fill(bSurface.toGlobal(itHit->localPosition()).z());
1413  if (meMuonPhi)
1414  meMuonPhi->Fill(bSurface.toGlobal(itHit->localPosition()).phi());
1415  if (meMuonEta)
1416  meMuonEta->Fill(bSurface.toGlobal(itHit->localPosition()).eta());
1417 
1418  } else {
1419  edm::LogWarning(MsgLoggerCat)
1420  << "MuonCsc PSimHit " << i
1421  << " is expected to be (det,subdet) = ("
1422  << dMuon << "," << sdMuonCSC
1423  << "); value returned is: ("
1424  << detector << "," << subdetector << ")";
1425  continue;
1426  } // end detector type check
1427  } // end loop through CSC Hits
1428 
1429  if (verbosity > 1) {
1430  eventout += "\n Number of CSC muon Hits collected:......... ";
1431  eventout += j;
1432  }
1433 
1434  nMuonHits += j;
1435  }
1436 
1438  // access the DT Muon
1440  // access the DT Muon geometry
1441  edm::ESHandle<DTGeometry> theDTGeometry;
1442  iSetup.get<MuonGeometryRecord>().get(theDTGeometry);
1443  if (!theDTGeometry.isValid()) {
1444  edm::LogWarning(MsgLoggerCat)
1445  << "Unable to find MuonGeometryRecord for the DTGeometry in event!";
1446  return;
1447  }
1448  const DTGeometry& theDTMuon(*theDTGeometry);
1449 
1450  // get Muon DT information
1451  edm::Handle<edm::PSimHitContainer> MuonDtContainer;
1452  iEvent.getByToken(MuonDtSrc_Token_,MuonDtContainer);
1453  if (!MuonDtContainer.isValid()) {
1454  LogDebug(MsgLoggerCat)
1455  << "Unable to find MuonDTHits in event!";
1456  validMuonDt = false;
1457  }
1458 
1459  if (validMuonDt) {
1460  // cycle through container
1461  int i = 0, j = 0;
1462  for (itHit = MuonDtContainer->begin(); itHit != MuonDtContainer->end();
1463  ++itHit) {
1464 
1465  ++i;
1466 
1467  // create a DetId from the detUnitId
1468  DetId theDetUnitId(itHit->detUnitId());
1469  int detector = theDetUnitId.det();
1470  int subdetector = theDetUnitId.subdetId();
1471 
1472  // check that expected detector is returned
1473  if ((detector == dMuon) &&
1474  (subdetector == sdMuonDT)) {
1475 
1476  // CSC uses wires and layers rather than the full detID
1477  // get the wireId
1478  DTWireId wireId(itHit->detUnitId());
1479 
1480  // get the DTLayer from the geometry using the wireID
1481  const DTLayer *theDet = theDTMuon.layer(wireId.layerId());
1482 
1483  if (!theDet) {
1484  edm::LogWarning(MsgLoggerCat)
1485  << "Unable to get GeomDetUnit from theDtMuon for hit " << i;
1486  continue;
1487  }
1488 
1489  ++j;
1490 
1491  // get the Surface of the hit (knows how to go from local <-> global)
1492  const BoundPlane& bSurface = theDet->surface();
1493 
1494  if (meMuonDtToF[0]) meMuonDtToF[0]->Fill(itHit->tof());
1495  if (meMuonDtToF[1]) meMuonDtToF[1]->Fill(itHit->tof());
1496  if (meMuonDtR)
1497  meMuonDtR->Fill(bSurface.toGlobal(itHit->localPosition()).perp());
1498  if (meMuonPhi)
1499  meMuonPhi->Fill(bSurface.toGlobal(itHit->localPosition()).phi());
1500  if (meMuonEta)
1501  meMuonEta->Fill(bSurface.toGlobal(itHit->localPosition()).eta());
1502 
1503  } else {
1504  edm::LogWarning(MsgLoggerCat)
1505  << "MuonDt PSimHit " << i
1506  << " is expected to be (det,subdet) = ("
1507  << dMuon << "," << sdMuonDT
1508  << "); value returned is: ("
1509  << detector << "," << subdetector << ")";
1510  continue;
1511  } // end detector type check
1512  } // end loop through DT Hits
1513 
1514  if (verbosity > 1) {
1515  eventout += "\n Number of DT muon Hits collected:.......... ";
1516  eventout += j;
1517  }
1518 
1519  nMuonHits += j;
1520  }
1521 
1522  //int RPCBrl = 0, RPCFwd = 0;
1524  // access the RPC Muon
1526  // access the RPC Muon geometry
1527  edm::ESHandle<RPCGeometry> theRPCGeometry;
1528  iSetup.get<MuonGeometryRecord>().get(theRPCGeometry);
1529  if (!theRPCGeometry.isValid()) {
1530  edm::LogWarning(MsgLoggerCat)
1531  << "Unable to find MuonGeometryRecord for the RPCGeometry in event!";
1532  return;
1533  }
1534  const RPCGeometry& theRPCMuon(*theRPCGeometry);
1535 
1536  // get Muon RPC information
1537  edm::Handle<edm::PSimHitContainer> MuonRPCContainer;
1538  iEvent.getByToken(MuonRpcSrc_Token_,MuonRPCContainer);
1539  if (!MuonRPCContainer.isValid()) {
1540  LogDebug(MsgLoggerCat)
1541  << "Unable to find MuonRPCHits in event!";
1542  validMuonRPC = false;
1543  }
1544 
1545  if (validMuonRPC) {
1546  // cycle through container
1547  int i = 0, j = 0;
1548  int RPCBrl =0, RPCFwd = 0;
1549  for (itHit = MuonRPCContainer->begin(); itHit != MuonRPCContainer->end();
1550  ++itHit) {
1551 
1552  ++i;
1553 
1554  // create a DetID from the detUnitId
1555  DetId theDetUnitId(itHit->detUnitId());
1556  int detector = theDetUnitId.det();
1557  int subdetector = theDetUnitId.subdetId();
1558 
1559  // check that expected detector is returned
1560  if ((detector == dMuon) &&
1561  (subdetector == sdMuonRPC)) {
1562 
1563  // get an RPCDetID from the detUnitID
1564  RPCDetId RPCId(itHit->detUnitId());
1565 
1566  // find the region of the RPC hit
1567  int region = RPCId.region();
1568 
1569  // get the GeomDetUnit from the geometry using the RPCDetId
1570  const GeomDetUnit *theDet = theRPCMuon.idToDetUnit(theDetUnitId);
1571 
1572  if (!theDet) {
1573  edm::LogWarning(MsgLoggerCat)
1574  << "Unable to get GeomDetUnit from theRPCMuon for hit " << i;
1575  continue;
1576  }
1577 
1578  ++j;
1579 
1580  // get the Surface of the hit (knows how to go from local <-> global)
1581  const BoundPlane& bSurface = theDet->surface();
1582 
1583  // gather necessary information
1584  if ((region == sdMuonRPCRgnFwdp) || (region == sdMuonRPCRgnFwdn)) {
1585  ++RPCFwd;
1586 
1587  if (meMuonRpcFToF[0]) meMuonRpcFToF[0]->Fill(itHit->tof());
1588  if (meMuonRpcFToF[1]) meMuonRpcFToF[1]->Fill(itHit->tof());
1589  if (meMuonRpcFZ)
1590  meMuonRpcFZ->Fill(bSurface.toGlobal(itHit->localPosition()).z());
1591  if (meMuonPhi)
1592  meMuonPhi->Fill(bSurface.toGlobal(itHit->localPosition()).phi());
1593  if (meMuonEta)
1594  meMuonEta->Fill(bSurface.toGlobal(itHit->localPosition()).eta());
1595 
1596  } else if (region == sdMuonRPCRgnBrl) {
1597  ++RPCBrl;
1598 
1599  if (meMuonRpcBToF[0]) meMuonRpcBToF[0]->Fill(itHit->tof());
1600  if (meMuonRpcBToF[1]) meMuonRpcBToF[1]->Fill(itHit->tof());
1601  if (meMuonRpcBR)
1602  meMuonRpcBR->Fill(bSurface.toGlobal(itHit->
1603  localPosition()).perp());
1604  if (meMuonPhi)
1605  meMuonPhi->Fill(bSurface.toGlobal(itHit->localPosition()).phi());
1606  if (meMuonEta)
1607  meMuonEta->Fill(bSurface.toGlobal(itHit->localPosition()).eta());
1608 
1609  } else {
1610  edm::LogWarning(MsgLoggerCat)
1611  << "Invalid region for RPC Muon hit" << i;
1612  continue;
1613  } // end check of region
1614  } else {
1615  edm::LogWarning(MsgLoggerCat)
1616  << "MuonRpc PSimHit " << i
1617  << " is expected to be (det,subdet) = ("
1618  << dMuon << "," << sdMuonRPC
1619  << "); value returned is: ("
1620  << detector << "," << subdetector << ")";
1621  continue;
1622  } // end detector type check
1623  } // end loop through RPC Hits
1624 
1625  if (verbosity > 1) {
1626  eventout += "\n Number of RPC muon Hits collected:......... ";
1627  eventout += j;
1628  eventout += "\n RPC Barrel muon Hits:............ ";
1629  eventout += RPCBrl;
1630  eventout += "\n RPC Forward muon Hits:........... ";
1631  eventout += RPCFwd;
1632  }
1633 
1634  nMuonHits += j;
1635  }
1636 
1637  if (meMuon[0]) meMuon[0]->Fill((float)nMuonHits);
1638  if (meMuon[1]) meMuon[1]->Fill((float)nMuonHits);
1639 
1640  if (verbosity > 0)
1641  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
1642 
1643  return;
1644 }
#define LogDebug(id)
static const int sdMuonRPCRgnFwdn
MonitorElement * meMuonDtToF[2]
static const int sdMuonDT
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:460
TString subdetector
static const int sdMuonRPC
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:42
void Fill(long long x)
MonitorElement * meMuonCscToF[2]
static const int sdMuonCSC
MonitorElement * meMuonRpcFZ
static const int sdMuonRPCRgnFwdp
static const int sdMuonRPCRgnBrl
bool isValid() const
Definition: HandleBase.h:74
MonitorElement * meMuonRpcBToF[2]
MonitorElement * meMuonCscZ
Definition: DetId.h:18
edm::EDGetTokenT< edm::PSimHitContainer > MuonRpcSrc_Token_
const T & get() const
Definition: EventSetup.h:56
edm::EDGetTokenT< edm::PSimHitContainer > MuonCscSrc_Token_
MonitorElement * meMuon[2]
MonitorElement * meMuonRpcFToF[2]
T perp() const
Magnitude of transverse component.
static const int dMuon
MonitorElement * meMuonEta
MonitorElement * meMuonDtR
bool isValid() const
Definition: ESHandle.h:47
Detector det() const
get the detector field from this detid
Definition: DetId.h:35
MonitorElement * meMuonRpcBR
MonitorElement * meMuonPhi
edm::EDGetTokenT< edm::PSimHitContainer > MuonDtSrc_Token_
int region() const
Region id: 0 for Barrel, +/-1 For +/- Endcap.
Definition: RPCDetId.h:63
void GlobalHitsAnalyzer::fillTrk ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
private

Definition at line 930 of file GlobalHitsAnalyzer.cc.

References gamEcalExtractorBlocks_cff::detector, dTrk, stringResolutionProvider_cfi::eta, MonitorElement::Fill(), edm::EventSetup::get(), edm::Event::getByToken(), mps_fire::i, TrackerGeometry::idToDetUnit(), edm::ESHandleBase::isValid(), edm::HandleBase::isValid(), LogDebug, meTrackerPx, meTrackerPxBR, meTrackerPxBToF, meTrackerPxEta, meTrackerPxFToF, meTrackerPxFZ, meTrackerPxPhi, meTrackerSi, meTrackerSiBR, meTrackerSiBToF, meTrackerSiEta, meTrackerSiFToF, meTrackerSiFZ, meTrackerSiPhi, nPxlHits, nSiHits, perp(), phi, PxlBrlHighSrc_Token_, PxlBrlLowSrc_Token_, PxlFwdHighSrc_Token_, PxlFwdLowSrc_Token_, sdPxlBrl, sdPxlFwd, sdSiTEC, sdSiTIB, sdSiTID, sdSiTOB, SiTECHighSrc_Token_, SiTECLowSrc_Token_, SiTIBHighSrc_Token_, SiTIBLowSrc_Token_, SiTIDHighSrc_Token_, SiTIDLowSrc_Token_, SiTOBHighSrc_Token_, SiTOBLowSrc_Token_, AlCaHLTBitMon_QueryRunRegistry::string, subdetector, GeomDet::surface(), validPxlBrlHigh, validPxlBrlLow, validPxlFwdHigh, validPxlFwdLow, validSiTECHigh, validSiTECLow, validSiTIBHigh, validSiTIBLow, validSiTIDHigh, validSiTIDLow, validSiTOBHigh, validSiTOBLow, verbosity, and z.

Referenced by analyze().

932 {
933 
934  nPxlHits = 0;
935  std::string MsgLoggerCat = "GlobalHitsAnalyzer_fillTrk";
936 
937  TString eventout;
938  if (verbosity > 0)
939  eventout = "\nGathering info:";
940 
941  // access the tracker geometry
942  edm::ESHandle<TrackerGeometry> theTrackerGeometry;
943  iSetup.get<TrackerDigiGeometryRecord>().get(theTrackerGeometry);
944  if (!theTrackerGeometry.isValid()) {
945  edm::LogWarning(MsgLoggerCat)
946  << "Unable to find TrackerDigiGeometryRecord in event!";
947  return;
948  }
949  const TrackerGeometry& theTracker(*theTrackerGeometry);
950 
951  // iterator to access containers
952  edm::PSimHitContainer::const_iterator itHit;
953 
955  // get Pixel Barrel information
957  edm::PSimHitContainer thePxlBrlHits;
958  // extract low container
959  edm::Handle<edm::PSimHitContainer> PxlBrlLowContainer;
960  iEvent.getByToken(PxlBrlLowSrc_Token_,PxlBrlLowContainer);
961  if (!PxlBrlLowContainer.isValid()) {
962  LogDebug(MsgLoggerCat)
963  << "Unable to find TrackerHitsPixelBarrelLowTof in event!";
964  validPxlBrlLow = false;
965  }
966  // extract high container
967  edm::Handle<edm::PSimHitContainer> PxlBrlHighContainer;
968  iEvent.getByToken(PxlBrlHighSrc_Token_,PxlBrlHighContainer);
969  if (!PxlBrlHighContainer.isValid()) {
970  LogDebug(MsgLoggerCat)
971  << "Unable to find TrackerHitsPixelBarrelHighTof in event!";
972  validPxlBrlHigh = false;
973  }
974  // place both containers into new container
975  if (validPxlBrlLow)
976  thePxlBrlHits.insert(thePxlBrlHits.end(),PxlBrlLowContainer->begin(),
977  PxlBrlLowContainer->end());
978  if(validPxlBrlHigh)
979  thePxlBrlHits.insert(thePxlBrlHits.end(),PxlBrlHighContainer->begin(),
980  PxlBrlHighContainer->end());
981 
982  // cycle through new container
983  int i = 0, j = 0;
984  for (itHit = thePxlBrlHits.begin(); itHit != thePxlBrlHits.end(); ++itHit) {
985 
986  ++i;
987 
988  // create a DetId from the detUnitId
989  DetId theDetUnitId(itHit->detUnitId());
990  int detector = theDetUnitId.det();
991  int subdetector = theDetUnitId.subdetId();
992 
993  // check that expected detector is returned
994  if ((detector == dTrk) && (subdetector == sdPxlBrl)) {
995 
996  // get the GeomDetUnit from the geometry using theDetUnitID
997  const GeomDetUnit *theDet = theTracker.idToDetUnit(theDetUnitId);
998 
999  if (!theDet) {
1000  edm::LogWarning(MsgLoggerCat)
1001  << "Unable to get GeomDetUnit from PxlBrlHits for Hit " << i;
1002  continue;
1003  }
1004 
1005  ++j;
1006 
1007  // get the Surface of the hit (knows how to go from local <-> global)
1008  const BoundPlane& bSurface = theDet->surface();
1009 
1010  if(meTrackerPxBToF) meTrackerPxBToF->Fill(itHit->tof());
1011  if(meTrackerPxBR)
1012  meTrackerPxBR->Fill(bSurface.toGlobal(itHit->localPosition()).perp());
1013  if(meTrackerPxPhi)
1014  meTrackerPxPhi->Fill(bSurface.toGlobal(itHit->localPosition()).phi());
1015  if(meTrackerPxEta)
1016  meTrackerPxEta->Fill(bSurface.toGlobal(itHit->localPosition()).eta());
1017 
1018  } else {
1019  edm::LogWarning(MsgLoggerCat)
1020  << "PxlBrl PSimHit " << i
1021  << " is expected to be (det,subdet) = ("
1022  << dTrk << "," << sdPxlBrl
1023  << "); value returned is: ("
1024  << detector << "," << subdetector << ")";
1025  continue;
1026  } // end detector type check
1027  } // end loop through PxlBrl Hits
1028 
1029  if (verbosity > 1) {
1030  eventout += "\n Number of Pixel Barrel Hits collected:..... ";
1031  eventout += j;
1032  }
1033 
1034  nPxlHits += j;
1035 
1037  // get Pixel Forward information
1039  edm::PSimHitContainer thePxlFwdHits;
1040  // extract low container
1041  edm::Handle<edm::PSimHitContainer> PxlFwdLowContainer;
1042  iEvent.getByToken(PxlFwdLowSrc_Token_,PxlFwdLowContainer);
1043  if (!PxlFwdLowContainer.isValid()) {
1044  LogDebug(MsgLoggerCat)
1045  << "Unable to find TrackerHitsPixelEndcapLowTof in event!";
1046  validPxlFwdLow = false;
1047  }
1048  // extract high container
1049  edm::Handle<edm::PSimHitContainer> PxlFwdHighContainer;
1050  iEvent.getByToken(PxlFwdHighSrc_Token_,PxlFwdHighContainer);
1051  if (!PxlFwdHighContainer.isValid()) {
1052  LogDebug("GlobalHitsAnalyzer_fillTrk")
1053  << "Unable to find TrackerHitsPixelEndcapHighTof in event!";
1054  validPxlFwdHigh = false;
1055  }
1056  // place both containers into new container
1057  if (validPxlFwdLow)
1058  thePxlFwdHits.insert(thePxlFwdHits.end(),PxlFwdLowContainer->begin(),
1059  PxlFwdLowContainer->end());
1060  if (validPxlFwdHigh)
1061  thePxlFwdHits.insert(thePxlFwdHits.end(),PxlFwdHighContainer->begin(),
1062  PxlFwdHighContainer->end());
1063 
1064  // cycle through new container
1065  i = 0; j = 0;
1066  for (itHit = thePxlFwdHits.begin(); itHit != thePxlFwdHits.end(); ++itHit) {
1067 
1068  ++i;
1069 
1070  // create a DetId from the detUnitId
1071  DetId theDetUnitId(itHit->detUnitId());
1072  int detector = theDetUnitId.det();
1073  int subdetector = theDetUnitId.subdetId();
1074 
1075  // check that expected detector is returned
1076  if ((detector == dTrk) && (subdetector == sdPxlFwd)) {
1077 
1078  // get the GeomDetUnit from the geometry using theDetUnitID
1079  const GeomDetUnit *theDet = theTracker.idToDetUnit(theDetUnitId);
1080 
1081  if (!theDet) {
1082  edm::LogWarning(MsgLoggerCat)
1083  << "Unable to get GeomDetUnit from PxlFwdHits for Hit " << i;;
1084  continue;
1085  }
1086 
1087  ++j;
1088 
1089  // get the Surface of the hit (knows how to go from local <-> global)
1090  const BoundPlane& bSurface = theDet->surface();
1091 
1092  if(meTrackerPxFToF) meTrackerPxFToF->Fill(itHit->tof());
1093  if(meTrackerPxFZ)
1094  meTrackerPxFZ->Fill(bSurface.toGlobal(itHit->localPosition()).z());
1095  if(meTrackerPxPhi)
1096  meTrackerPxPhi->Fill(bSurface.toGlobal(itHit->localPosition()).phi());
1097  if(meTrackerPxEta)
1098  meTrackerPxEta->Fill(bSurface.toGlobal(itHit->localPosition()).eta());
1099 
1100  } else {
1101  edm::LogWarning(MsgLoggerCat)
1102  << "PxlFwd PSimHit " << i
1103  << " is expected to be (det,subdet) = ("
1104  << dTrk << "," << sdPxlFwd
1105  << "); value returned is: ("
1106  << detector << "," << subdetector << ")";
1107  continue;
1108  } // end detector type check
1109  } // end loop through PxlFwd Hits
1110 
1111  if (verbosity > 1) {
1112  eventout += "\n Number of Pixel Forward Hits collected:.... ";
1113  eventout += j;
1114  }
1115 
1116  nPxlHits += j;
1117 
1118  if (meTrackerPx[0]) meTrackerPx[0]->Fill((float)nPxlHits);
1119  if (meTrackerPx[1]) meTrackerPx[1]->Fill((float)nPxlHits);
1120 
1122  // get Silicon Barrel information
1124  nSiHits = 0;
1125  edm::PSimHitContainer theSiBrlHits;
1126  // extract TIB low container
1127  edm::Handle<edm::PSimHitContainer> SiTIBLowContainer;
1128  iEvent.getByToken(SiTIBLowSrc_Token_,SiTIBLowContainer);
1129  if (!SiTIBLowContainer.isValid()) {
1130  LogDebug(MsgLoggerCat)
1131  << "Unable to find TrackerHitsTIBLowTof in event!";
1132  validSiTIBLow = false;
1133  }
1134  // extract TIB high container
1135  edm::Handle<edm::PSimHitContainer> SiTIBHighContainer;
1136  iEvent.getByToken(SiTIBHighSrc_Token_,SiTIBHighContainer);
1137  if (!SiTIBHighContainer.isValid()) {
1138  LogDebug(MsgLoggerCat)
1139  << "Unable to find TrackerHitsTIBHighTof in event!";
1140  validSiTIBHigh = false;
1141  }
1142  // extract TOB low container
1143  edm::Handle<edm::PSimHitContainer> SiTOBLowContainer;
1144  iEvent.getByToken(SiTOBLowSrc_Token_,SiTOBLowContainer);
1145  if (!SiTOBLowContainer.isValid()) {
1146  LogDebug(MsgLoggerCat)
1147  << "Unable to find TrackerHitsTOBLowTof in event!";
1148  validSiTOBLow = false;
1149  }
1150  // extract TOB high container
1151  edm::Handle<edm::PSimHitContainer> SiTOBHighContainer;
1152  iEvent.getByToken(SiTOBHighSrc_Token_,SiTOBHighContainer);
1153  if (!SiTOBHighContainer.isValid()) {
1154  LogDebug(MsgLoggerCat)
1155  << "Unable to find TrackerHitsTOBHighTof in event!";
1156  validSiTOBHigh = false;
1157  }
1158  // place all containers into new container
1159  if (validSiTIBLow)
1160  theSiBrlHits.insert(theSiBrlHits.end(),SiTIBLowContainer->begin(),
1161  SiTIBLowContainer->end());
1162  if (validSiTIBHigh)
1163  theSiBrlHits.insert(theSiBrlHits.end(),SiTIBHighContainer->begin(),
1164  SiTIBHighContainer->end());
1165  if (validSiTOBLow)
1166  theSiBrlHits.insert(theSiBrlHits.end(),SiTOBLowContainer->begin(),
1167  SiTOBLowContainer->end());
1168  if (validSiTOBHigh)
1169  theSiBrlHits.insert(theSiBrlHits.end(),SiTOBHighContainer->begin(),
1170  SiTOBHighContainer->end());
1171 
1172  // cycle through new container
1173  i = 0; j = 0;
1174  for (itHit = theSiBrlHits.begin(); itHit != theSiBrlHits.end(); ++itHit) {
1175 
1176  ++i;
1177 
1178  // create a DetId from the detUnitId
1179  DetId theDetUnitId(itHit->detUnitId());
1180  int detector = theDetUnitId.det();
1181  int subdetector = theDetUnitId.subdetId();
1182 
1183  // check that expected detector is returned
1184  if ((detector == dTrk) &&
1185  ((subdetector == sdSiTIB) ||
1186  (subdetector == sdSiTOB))) {
1187 
1188  // get the GeomDetUnit from the geometry using theDetUnitID
1189  const GeomDetUnit *theDet = theTracker.idToDetUnit(theDetUnitId);
1190 
1191  if (!theDet) {
1192  edm::LogWarning(MsgLoggerCat)
1193  << "Unable to get GeomDetUnit from SiBrlHits for Hit " << i;
1194  continue;
1195  }
1196 
1197  ++j;
1198 
1199  // get the Surface of the hit (knows how to go from local <-> global)
1200  const BoundPlane& bSurface = theDet->surface();
1201 
1202  if(meTrackerSiBToF) meTrackerSiBToF->Fill(itHit->tof());
1203  if(meTrackerSiBR)
1204  meTrackerSiBR->Fill(bSurface.toGlobal(itHit->localPosition()).perp());
1205  if(meTrackerSiPhi)
1206  meTrackerSiPhi->Fill(bSurface.toGlobal(itHit->localPosition()).phi());
1207  if(meTrackerSiEta)
1208  meTrackerSiEta->Fill(bSurface.toGlobal(itHit->localPosition()).eta());
1209 
1210  } else {
1211  edm::LogWarning(MsgLoggerCat)
1212  << "SiBrl PSimHit " << i
1213  << " is expected to be (det,subdet) = ("
1214  << dTrk << "," << sdSiTIB
1215  << " || " << sdSiTOB << "); value returned is: ("
1216  << detector << "," << subdetector << ")";
1217  continue;
1218  } // end detector type check
1219  } // end loop through SiBrl Hits
1220 
1221  if (verbosity > 1) {
1222  eventout += "\n Number of Silicon Barrel Hits collected:... ";
1223  eventout += j;
1224  }
1225 
1226  nSiHits += j;
1227 
1229  // get Silicon Forward information
1231  edm::PSimHitContainer theSiFwdHits;
1232  // extract TID low container
1233  edm::Handle<edm::PSimHitContainer> SiTIDLowContainer;
1234  iEvent.getByToken(SiTIDLowSrc_Token_,SiTIDLowContainer);
1235  if (!SiTIDLowContainer.isValid()) {
1236  LogDebug(MsgLoggerCat)
1237  << "Unable to find TrackerHitsTIDLowTof in event!";
1238  validSiTIDLow = false;
1239  }
1240  // extract TID high container
1241  edm::Handle<edm::PSimHitContainer> SiTIDHighContainer;
1242  iEvent.getByToken(SiTIDHighSrc_Token_,SiTIDHighContainer);
1243  if (!SiTIDHighContainer.isValid()) {
1244  LogDebug("GlobalHitsAnalyzer_fillTrk")
1245  << "Unable to find TrackerHitsTIDHighTof in event!";
1246  validSiTIDHigh = false;
1247  }
1248  // extract TEC low container
1249  edm::Handle<edm::PSimHitContainer> SiTECLowContainer;
1250  iEvent.getByToken(SiTECLowSrc_Token_,SiTECLowContainer);
1251  if (!SiTECLowContainer.isValid()) {
1252  LogDebug(MsgLoggerCat)
1253  << "Unable to find TrackerHitsTECLowTof in event!";
1254  validSiTECLow = false;
1255  }
1256  // extract TEC high container
1257  edm::Handle<edm::PSimHitContainer> SiTECHighContainer;
1258  iEvent.getByToken(SiTECHighSrc_Token_,SiTECHighContainer);
1259  if (!SiTECHighContainer.isValid()) {
1260  LogDebug(MsgLoggerCat)
1261  << "Unable to find TrackerHitsTECHighTof in event!";
1262  validSiTECHigh = false;
1263  }
1264  // place all containers into new container
1265  if (validSiTIDLow)
1266  theSiFwdHits.insert(theSiFwdHits.end(),SiTIDLowContainer->begin(),
1267  SiTIDLowContainer->end());
1268  if (validSiTIDHigh)
1269  theSiFwdHits.insert(theSiFwdHits.end(),SiTIDHighContainer->begin(),
1270  SiTIDHighContainer->end());
1271  if (validSiTECLow)
1272  theSiFwdHits.insert(theSiFwdHits.end(),SiTECLowContainer->begin(),
1273  SiTECLowContainer->end());
1274  if (validSiTECHigh)
1275  theSiFwdHits.insert(theSiFwdHits.end(),SiTECHighContainer->begin(),
1276  SiTECHighContainer->end());
1277 
1278  // cycle through container
1279  i = 0; j = 0;
1280  for (itHit = theSiFwdHits.begin(); itHit != theSiFwdHits.end(); ++itHit) {
1281 
1282  ++i;
1283 
1284  // create a DetId from the detUnitId
1285  DetId theDetUnitId(itHit->detUnitId());
1286  int detector = theDetUnitId.det();
1287  int subdetector = theDetUnitId.subdetId();
1288 
1289  // check that expected detector is returned
1290  if ((detector == dTrk) &&
1291  ((subdetector == sdSiTID) ||
1292  (subdetector == sdSiTEC))) {
1293 
1294  // get the GeomDetUnit from the geometry using theDetUnitID
1295  const GeomDetUnit *theDet = theTracker.idToDetUnit(theDetUnitId);
1296 
1297  if (!theDet) {
1298  edm::LogWarning(MsgLoggerCat)
1299  << "Unable to get GeomDetUnit from SiFwdHits Hit " << i;
1300  return;
1301  }
1302 
1303  ++j;
1304 
1305  // get the Surface of the hit (knows how to go from local <-> global)
1306  const BoundPlane& bSurface = theDet->surface();
1307 
1308  if(meTrackerSiFToF) meTrackerSiFToF->Fill(itHit->tof());
1309  if(meTrackerSiFZ)
1310  meTrackerSiFZ->Fill(bSurface.toGlobal(itHit->localPosition()).z());
1311  if(meTrackerSiPhi)
1312  meTrackerSiPhi->Fill(bSurface.toGlobal(itHit->localPosition()).phi());
1313  if(meTrackerSiEta)
1314  meTrackerSiEta->Fill(bSurface.toGlobal(itHit->localPosition()).eta());
1315 
1316  } else {
1317  edm::LogWarning(MsgLoggerCat)
1318  << "SiFwd PSimHit " << i
1319  << " is expected to be (det,subdet) = ("
1320  << dTrk << "," << sdSiTOB
1321  << " || " << sdSiTEC << "); value returned is: ("
1322  << detector << "," << subdetector << ")";
1323  continue;
1324  } // end check detector type
1325  } // end loop through SiFwd Hits
1326 
1327  if (verbosity > 1) {
1328  eventout += "\n Number of Silicon Forward Hits collected:.. ";
1329  eventout += j;
1330  }
1331 
1332  nSiHits +=j;
1333 
1334  if (meTrackerSi[0]) meTrackerSi[0]->Fill((float)nSiHits);
1335  if (meTrackerSi[1]) meTrackerSi[1]->Fill((float)nSiHits);
1336 
1337  if (verbosity > 0)
1338  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
1339 
1340  return;
1341 }
#define LogDebug(id)
MonitorElement * meTrackerSiPhi
edm::EDGetTokenT< edm::PSimHitContainer > SiTIDLowSrc_Token_
static const int dTrk
edm::EDGetTokenT< edm::PSimHitContainer > SiTECHighSrc_Token_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:460
TString subdetector
static const int sdSiTID
MonitorElement * meTrackerPxPhi
edm::EDGetTokenT< edm::PSimHitContainer > SiTIDHighSrc_Token_
MonitorElement * meTrackerSiEta
MonitorElement * meTrackerSiBToF
MonitorElement * meTrackerSi[2]
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:42
edm::EDGetTokenT< edm::PSimHitContainer > SiTIBHighSrc_Token_
void Fill(long long x)
MonitorElement * meTrackerPxFZ
static const int sdSiTIB
static const int sdPxlBrl
MonitorElement * meTrackerPxBR
MonitorElement * meTrackerPxBToF
edm::EDGetTokenT< edm::PSimHitContainer > SiTIBLowSrc_Token_
MonitorElement * meTrackerPx[2]
edm::EDGetTokenT< edm::PSimHitContainer > PxlBrlHighSrc_Token_
static const int sdSiTOB
bool isValid() const
Definition: HandleBase.h:74
edm::EDGetTokenT< edm::PSimHitContainer > PxlBrlLowSrc_Token_
Definition: DetId.h:18
edm::EDGetTokenT< edm::PSimHitContainer > SiTOBLowSrc_Token_
edm::EDGetTokenT< edm::PSimHitContainer > PxlFwdLowSrc_Token_
MonitorElement * meTrackerSiFZ
edm::EDGetTokenT< edm::PSimHitContainer > SiTOBHighSrc_Token_
const T & get() const
Definition: EventSetup.h:56
MonitorElement * meTrackerSiFToF
MonitorElement * meTrackerPxFToF
static const int sdSiTEC
T perp() const
Magnitude of transverse component.
std::vector< PSimHit > PSimHitContainer
edm::EDGetTokenT< edm::PSimHitContainer > PxlFwdHighSrc_Token_
static const int sdPxlFwd
bool isValid() const
Definition: ESHandle.h:47
Detector det() const
get the detector field from this detid
Definition: DetId.h:35
MonitorElement * meTrackerPxEta
edm::EDGetTokenT< edm::PSimHitContainer > SiTECLowSrc_Token_
MonitorElement * meTrackerSiBR

Member Data Documentation

unsigned int GlobalHitsAnalyzer::count
private

Definition at line 254 of file GlobalHitsAnalyzer.h.

Referenced by analyze().

edm::InputTag GlobalHitsAnalyzer::ECalEBSrc_
private

Definition at line 160 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

edm::EDGetTokenT<edm::PCaloHitContainer> GlobalHitsAnalyzer::ECalEBSrc_Token_
private

Definition at line 162 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::ECalEESrc_
private

Definition at line 161 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

edm::EDGetTokenT<edm::PCaloHitContainer> GlobalHitsAnalyzer::ECalEESrc_Token_
private

Definition at line 163 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::ECalESSrc_
private

Definition at line 171 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

edm::EDGetTokenT<edm::PCaloHitContainer> GlobalHitsAnalyzer::ECalESSrc_Token_
private

Definition at line 172 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

std::string GlobalHitsAnalyzer::fName
private

Definition at line 101 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

int GlobalHitsAnalyzer::frequency
private

Definition at line 103 of file GlobalHitsAnalyzer.h.

Referenced by analyze(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::G4TrkSrc_
private

Definition at line 149 of file GlobalHitsAnalyzer.h.

edm::EDGetTokenT<edm::SimTrackContainer> GlobalHitsAnalyzer::G4TrkSrc_Token_
private

Definition at line 151 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC().

edm::InputTag GlobalHitsAnalyzer::G4VtxSrc_
private

Definition at line 148 of file GlobalHitsAnalyzer.h.

edm::EDGetTokenT<edm::SimVertexContainer> GlobalHitsAnalyzer::G4VtxSrc_Token_
private

Definition at line 150 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC().

bool GlobalHitsAnalyzer::getAllProvenances
private

Definition at line 106 of file GlobalHitsAnalyzer.h.

Referenced by analyze(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::HCalSrc_
private

Definition at line 181 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

edm::EDGetTokenT<edm::PCaloHitContainer> GlobalHitsAnalyzer::HCalSrc_Token_
private

Definition at line 182 of file GlobalHitsAnalyzer.h.

Referenced by fillHCal(), and GlobalHitsAnalyzer().

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

Definition at line 155 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillECal(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meCaloEcalE[2]
private

Definition at line 156 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillECal(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meCaloEcalEta
private

Definition at line 159 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillECal(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meCaloEcalPhi
private

Definition at line 158 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillECal(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meCaloEcalToF[2]
private

Definition at line 157 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillECal(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meCaloHcal[2]
private

Definition at line 176 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillHCal(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meCaloHcalE[2]
private

Definition at line 177 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillHCal(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meCaloHcalEta
private

Definition at line 180 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillHCal(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meCaloHcalPhi
private

Definition at line 179 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillHCal(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meCaloHcalToF[2]
private

Definition at line 178 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillHCal(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meCaloPreSh[2]
private

Definition at line 166 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillECal(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meCaloPreShE[2]
private

Definition at line 167 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillECal(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meCaloPreShEta
private

Definition at line 170 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillECal(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meCaloPreShPhi
private

Definition at line 169 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillECal(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meCaloPreShToF[2]
private

Definition at line 168 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillECal(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meGeantTrkE
private

Definition at line 141 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillG4MC(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meGeantTrkPt
private

Definition at line 140 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillG4MC(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meGeantVtxEta
private

Definition at line 142 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillG4MC(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meGeantVtxMulti
private

Definition at line 145 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillG4MC(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meGeantVtxPhi
private

Definition at line 143 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillG4MC(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meGeantVtxRad[2]
private

Definition at line 144 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillG4MC(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meGeantVtxX[2]
private

Definition at line 136 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillG4MC(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meGeantVtxY[2]
private

Definition at line 137 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillG4MC(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meGeantVtxZ[2]
private

Definition at line 138 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillG4MC(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meMCG4Trk[2]
private

Definition at line 139 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillG4MC(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meMCG4Vtx[2]
private

Definition at line 135 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillG4MC(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meMCRGP[2]
private

Definition at line 134 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillG4MC(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meMuon[2]
private

Definition at line 230 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillMuon(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meMuonCscToF[2]
private

Definition at line 241 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillMuon(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meMuonCscZ
private

Definition at line 242 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillMuon(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meMuonDtR
private

Definition at line 237 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillMuon(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meMuonDtToF[2]
private

Definition at line 236 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillMuon(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meMuonEta
private

Definition at line 232 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillMuon(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meMuonPhi
private

Definition at line 231 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillMuon(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meMuonRpcBR
private

Definition at line 249 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillMuon(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meMuonRpcBToF[2]
private

Definition at line 248 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillMuon(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meMuonRpcFToF[2]
private

Definition at line 246 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillMuon(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meMuonRpcFZ
private

Definition at line 247 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillMuon(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meTrackerPx[2]
private

Definition at line 187 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillTrk(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meTrackerPxBR
private

Definition at line 191 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillTrk(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meTrackerPxBToF
private

Definition at line 190 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillTrk(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meTrackerPxEta
private

Definition at line 189 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillTrk(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meTrackerPxFToF
private

Definition at line 192 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillTrk(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meTrackerPxFZ
private

Definition at line 193 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillTrk(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meTrackerPxPhi
private

Definition at line 188 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillTrk(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meTrackerSi[2]
private

Definition at line 205 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillTrk(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meTrackerSiBR
private

Definition at line 209 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillTrk(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meTrackerSiBToF
private

Definition at line 208 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillTrk(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meTrackerSiEta
private

Definition at line 207 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillTrk(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meTrackerSiFToF
private

Definition at line 210 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillTrk(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meTrackerSiFZ
private

Definition at line 211 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillTrk(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meTrackerSiPhi
private

Definition at line 206 of file GlobalHitsAnalyzer.h.

Referenced by bookHistograms(), fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::MuonCscSrc_
private

Definition at line 243 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

edm::EDGetTokenT<edm::PSimHitContainer> GlobalHitsAnalyzer::MuonCscSrc_Token_
private

Definition at line 244 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::MuonDtSrc_
private

Definition at line 238 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

edm::EDGetTokenT<edm::PSimHitContainer> GlobalHitsAnalyzer::MuonDtSrc_Token_
private

Definition at line 239 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::MuonRpcSrc_
private

Definition at line 250 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

edm::EDGetTokenT<edm::PSimHitContainer> GlobalHitsAnalyzer::MuonRpcSrc_Token_
private

Definition at line 251 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

int GlobalHitsAnalyzer::nMuonHits
private

Definition at line 233 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon().

int GlobalHitsAnalyzer::nPxlHits
private

Definition at line 186 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk().

int GlobalHitsAnalyzer::nRawGenPart
private

Definition at line 146 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC().

int GlobalHitsAnalyzer::nSiHits
private

Definition at line 204 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk().

bool GlobalHitsAnalyzer::printProvenanceInfo
private

Definition at line 107 of file GlobalHitsAnalyzer.h.

Referenced by analyze(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::PxlBrlHighSrc_
private

Definition at line 195 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

edm::EDGetTokenT<edm::PSimHitContainer> GlobalHitsAnalyzer::PxlBrlHighSrc_Token_
private

Definition at line 199 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::PxlBrlLowSrc_
private

Definition at line 194 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

edm::EDGetTokenT<edm::PSimHitContainer> GlobalHitsAnalyzer::PxlBrlLowSrc_Token_
private

Definition at line 198 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::PxlFwdHighSrc_
private

Definition at line 197 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

edm::EDGetTokenT<edm::PSimHitContainer> GlobalHitsAnalyzer::PxlFwdHighSrc_Token_
private

Definition at line 201 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::PxlFwdLowSrc_
private

Definition at line 196 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

edm::EDGetTokenT<edm::PSimHitContainer> GlobalHitsAnalyzer::PxlFwdLowSrc_Token_
private

Definition at line 200 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::SiTECHighSrc_
private

Definition at line 219 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

edm::EDGetTokenT<edm::PSimHitContainer> GlobalHitsAnalyzer::SiTECHighSrc_Token_
private

Definition at line 227 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::SiTECLowSrc_
private

Definition at line 218 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

edm::EDGetTokenT<edm::PSimHitContainer> GlobalHitsAnalyzer::SiTECLowSrc_Token_
private

Definition at line 226 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::SiTIBHighSrc_
private

Definition at line 213 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

edm::EDGetTokenT<edm::PSimHitContainer> GlobalHitsAnalyzer::SiTIBHighSrc_Token_
private

Definition at line 221 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::SiTIBLowSrc_
private

Definition at line 212 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

edm::EDGetTokenT<edm::PSimHitContainer> GlobalHitsAnalyzer::SiTIBLowSrc_Token_
private

Definition at line 220 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::SiTIDHighSrc_
private

Definition at line 217 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

edm::EDGetTokenT<edm::PSimHitContainer> GlobalHitsAnalyzer::SiTIDHighSrc_Token_
private

Definition at line 225 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::SiTIDLowSrc_
private

Definition at line 216 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

edm::EDGetTokenT<edm::PSimHitContainer> GlobalHitsAnalyzer::SiTIDLowSrc_Token_
private

Definition at line 224 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::SiTOBHighSrc_
private

Definition at line 215 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

edm::EDGetTokenT<edm::PSimHitContainer> GlobalHitsAnalyzer::SiTOBHighSrc_Token_
private

Definition at line 223 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::SiTOBLowSrc_
private

Definition at line 214 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

edm::EDGetTokenT<edm::PSimHitContainer> GlobalHitsAnalyzer::SiTOBLowSrc_Token_
private

Definition at line 222 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::testNumber
private

Definition at line 108 of file GlobalHitsAnalyzer.h.

Referenced by fillHCal(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validEB
private

Definition at line 128 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validEE
private

Definition at line 129 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validG4trkContainer
private

Definition at line 112 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validG4VtxContainer
private

Definition at line 111 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validHcal
private

Definition at line 131 of file GlobalHitsAnalyzer.h.

Referenced by fillHCal(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validHepMCevt
private

Definition at line 110 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validMuonCSC
private

Definition at line 125 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validMuonDt
private

Definition at line 126 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validMuonRPC
private

Definition at line 127 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validPresh
private

Definition at line 130 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validPxlBrlHigh
private

Definition at line 114 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validPxlBrlLow
private

Definition at line 113 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validPxlFwdHigh
private

Definition at line 116 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validPxlFwdLow
private

Definition at line 115 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTECHigh
private

Definition at line 124 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTECLow
private

Definition at line 123 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTIBHigh
private

Definition at line 118 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTIBLow
private

Definition at line 117 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTIDHigh
private

Definition at line 122 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTIDLow
private

Definition at line 121 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTOBHigh
private

Definition at line 120 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTOBLow
private

Definition at line 119 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

int GlobalHitsAnalyzer::verbosity
private
int GlobalHitsAnalyzer::vtxunit
private

Definition at line 104 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC(), and GlobalHitsAnalyzer().