CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 &)
 
 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
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDAnalyzerBase ()
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (const std::string &iProcessName, std::vector< const char * > &oModuleLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Protected Member Functions

void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
- Protected Member Functions inherited from edm::stream::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
- 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::PCaloHitContainer
ECalEBSrc_Token_
 
edm::InputTag ECalEESrc_
 
edm::EDGetTokenT
< edm::PCaloHitContainer
ECalEESrc_Token_
 
edm::InputTag ECalESSrc_
 
edm::EDGetTokenT
< edm::PCaloHitContainer
ECalESSrc_Token_
 
std::string fName
 
int frequency
 
edm::InputTag G4TrkSrc_
 
edm::EDGetTokenT
< edm::SimTrackContainer
G4TrkSrc_Token_
 
edm::InputTag G4VtxSrc_
 
edm::EDGetTokenT
< edm::SimVertexContainer
G4VtxSrc_Token_
 
bool getAllProvenances
 
edm::InputTag HCalSrc_
 
edm::EDGetTokenT
< edm::PCaloHitContainer
HCalSrc_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::PSimHitContainer
MuonCscSrc_Token_
 
edm::InputTag MuonDtSrc_
 
edm::EDGetTokenT
< edm::PSimHitContainer
MuonDtSrc_Token_
 
edm::InputTag MuonRpcSrc_
 
edm::EDGetTokenT
< edm::PSimHitContainer
MuonRpcSrc_Token_
 
int nMuonHits
 
int nPxlHits
 
int nRawGenPart
 
int nSiHits
 
bool printProvenanceInfo
 
edm::InputTag PxlBrlHighSrc_
 
edm::EDGetTokenT
< edm::PSimHitContainer
PxlBrlHighSrc_Token_
 
edm::InputTag PxlBrlLowSrc_
 
edm::EDGetTokenT
< edm::PSimHitContainer
PxlBrlLowSrc_Token_
 
edm::InputTag PxlFwdHighSrc_
 
edm::EDGetTokenT
< edm::PSimHitContainer
PxlFwdHighSrc_Token_
 
edm::InputTag PxlFwdLowSrc_
 
edm::EDGetTokenT
< edm::PSimHitContainer
PxlFwdLowSrc_Token_
 
edm::InputTag SiTECHighSrc_
 
edm::EDGetTokenT
< edm::PSimHitContainer
SiTECHighSrc_Token_
 
edm::InputTag SiTECLowSrc_
 
edm::EDGetTokenT
< edm::PSimHitContainer
SiTECLowSrc_Token_
 
edm::InputTag SiTIBHighSrc_
 
edm::EDGetTokenT
< edm::PSimHitContainer
SiTIBHighSrc_Token_
 
edm::InputTag SiTIBLowSrc_
 
edm::EDGetTokenT
< edm::PSimHitContainer
SiTIBLowSrc_Token_
 
edm::InputTag SiTIDHighSrc_
 
edm::EDGetTokenT
< edm::PSimHitContainer
SiTIDHighSrc_Token_
 
edm::InputTag SiTIDLowSrc_
 
edm::EDGetTokenT
< edm::PSimHitContainer
SiTIDLowSrc_Token_
 
edm::InputTag SiTOBHighSrc_
 
edm::EDGetTokenT
< edm::PSimHitContainer
SiTOBHighSrc_Token_
 
edm::InputTag SiTOBLowSrc_
 
edm::EDGetTokenT
< edm::PSimHitContainer
SiTOBLowSrc_Token_
 
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, GlobalCache
LuminosityBlockContext
 
typedef
CacheTypes::LuminosityBlockSummaryCache 
LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache,
GlobalCache
RunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Public Types inherited from edm::stream::EDAnalyzerBase
typedef EDAnalyzerAdaptorBase ModuleType
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static std::shared_ptr
< dqmDetails::NoCache
globalBeginLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *)
 
static std::shared_ptr
< dqmDetails::NoCache
globalBeginRunSummary (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 12 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_, 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, 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.

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

267 {}

Member Function Documentation

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

Implements edm::stream::EDAnalyzerBase.

Definition at line 682 of file GlobalHitsAnalyzer.cc.

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

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

Implements DQMEDAnalyzer.

Definition at line 269 of file GlobalHitsAnalyzer.cc.

References DQMStore::IBooker::book1D(), 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().

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

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

Referenced by analyze().

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

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

Referenced by analyze().

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

Definition at line 1824 of file GlobalHitsAnalyzer.cc.

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

Referenced by analyze().

1826 {
1827  std::string MsgLoggerCat = "GlobalHitsAnalyzer_fillHCal";
1828 
1829  TString eventout;
1830  if (verbosity > 0)
1831  eventout = "\nGathering info:";
1832 
1833  // access the calorimeter geometry
1834  edm::ESHandle<CaloGeometry> theCaloGeometry;
1835  iSetup.get<CaloGeometryRecord>().get(theCaloGeometry);
1836  if (!theCaloGeometry.isValid()) {
1837  edm::LogWarning(MsgLoggerCat)
1838  << "Unable to find CaloGeometryRecord in event!";
1839  return;
1840  }
1841  const CaloGeometry& theCalo(*theCaloGeometry);
1842 
1843  // iterator to access containers
1844  edm::PCaloHitContainer::const_iterator itHit;
1845 
1847  // get HCal information
1849  // extract HCal container
1851  iEvent.getByToken(HCalSrc_Token_,HCalContainer);
1852  if (!HCalContainer.isValid()) {
1853  LogDebug(MsgLoggerCat)
1854  << "Unable to find HCalHits in event!";
1855  validHcal = false;
1856  }
1857 
1858  if (validHcal) {
1859  // cycle through container
1860  int i = 0, j = 0;
1861  for (itHit = HCalContainer->begin();
1862  itHit != HCalContainer->end(); ++itHit) {
1863 
1864  ++i;
1865 
1866  // create a DetId from the detUnitId
1867  DetId theDetUnitId(itHit->id());
1868  int detector = theDetUnitId.det();
1869  int subdetector = theDetUnitId.subdetId();
1870 
1871  // check that expected detector is returned
1872  if ((detector == dHcal) &&
1873  ((subdetector == sdHcalBrl) ||
1874  (subdetector == sdHcalEC) ||
1875  (subdetector == sdHcalOut) ||
1876  (subdetector == sdHcalFwd))) {
1877 
1878  // get the Cell geometry
1879  const CaloCellGeometry *theDet = theCalo.
1880  getSubdetectorGeometry(theDetUnitId)->getGeometry(theDetUnitId);
1881 
1882  if (!theDet) {
1883  edm::LogWarning(MsgLoggerCat)
1884  << "Unable to get CaloCellGeometry from HCalContainer for Hit "
1885  << i;
1886  continue;
1887  }
1888 
1889  ++j;
1890 
1891  // get the global position of the cell
1892  const GlobalPoint& globalposition = theDet->getPosition();
1893 
1894  if (meCaloHcalE[0]) meCaloHcalE[0]->Fill(itHit->energy());
1895  if (meCaloHcalE[1]) meCaloHcalE[1]->Fill(itHit->energy());
1896  if (meCaloHcalToF[0]) meCaloHcalToF[0]->Fill(itHit->time());
1897  if (meCaloHcalToF[1]) meCaloHcalToF[1]->Fill(itHit->time());
1898  if (meCaloHcalPhi) meCaloHcalPhi->Fill(globalposition.phi());
1899  if (meCaloHcalEta) meCaloHcalEta->Fill(globalposition.eta());
1900 
1901  } else {
1902  edm::LogWarning(MsgLoggerCat)
1903  << "HCal PCaloHit " << i
1904  << " is expected to be (det,subdet) = ("
1905  << dHcal << "," << sdHcalBrl
1906  << " || " << sdHcalEC << " || " << sdHcalOut << " || " << sdHcalFwd
1907  << "); value returned is: ("
1908  << detector << "," << subdetector << ")";
1909  continue;
1910  } // end detector type check
1911  } // end loop through HCal Hits
1912 
1913  if (verbosity > 1) {
1914  eventout += "\n Number of HCal Hits collected:............. ";
1915  eventout += j;
1916  }
1917 
1918  if (meCaloHcal[0]) meCaloHcal[0]->Fill((float)j);
1919  if (meCaloHcal[1]) meCaloHcal[1]->Fill((float)j);
1920  }
1921 
1922  if (verbosity > 0)
1923  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
1924 
1925  return;
1926 }
#define LogDebug(id)
int i
Definition: DBlmapReader.cc:9
static const int sdHcalOut
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:449
MonitorElement * meCaloHcal[2]
Geom::Phi< T > phi() const
Definition: PV3DBase.h:69
MonitorElement * meCaloHcalToF[2]
void Fill(long long x)
int j
Definition: DBlmapReader.cc:9
bool isValid() const
Definition: HandleBase.h:75
MonitorElement * meCaloHcalE[2]
Definition: DetId.h:18
static const int dHcal
const T & get() const
Definition: EventSetup.h:55
static const int sdHcalFwd
static const int sdHcalBrl
T eta() const
Definition: PV3DBase.h:76
edm::EDGetTokenT< edm::PCaloHitContainer > HCalSrc_Token_
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 1336 of file GlobalHitsAnalyzer.cc.

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

Referenced by analyze().

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

Definition at line 923 of file GlobalHitsAnalyzer.cc.

References DetId::det(), dTrk, eta(), MonitorElement::Fill(), edm::EventSetup::get(), edm::Event::getByToken(), i, TrackerGeometry::idToDetUnit(), edm::ESHandleBase::isValid(), edm::HandleBase::isValid(), j, 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, GeomDet::surface(), validPxlBrlHigh, validPxlBrlLow, validPxlFwdHigh, validPxlFwdLow, validSiTECHigh, validSiTECLow, validSiTIBHigh, validSiTIBLow, validSiTIDHigh, validSiTIDLow, validSiTOBHigh, validSiTOBLow, verbosity, and detailsBasic3DVector::z.

Referenced by analyze().

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

Member Data Documentation

unsigned int GlobalHitsAnalyzer::count
private

Definition at line 253 of file GlobalHitsAnalyzer.h.

Referenced by analyze().

edm::InputTag GlobalHitsAnalyzer::ECalEBSrc_
private

Definition at line 159 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 161 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::ECalEESrc_
private

Definition at line 160 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 162 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::ECalESSrc_
private

Definition at line 170 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 171 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 148 of file GlobalHitsAnalyzer.h.

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

Definition at line 150 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC().

edm::InputTag GlobalHitsAnalyzer::G4VtxSrc_
private

Definition at line 147 of file GlobalHitsAnalyzer.h.

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

Definition at line 149 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 180 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 181 of file GlobalHitsAnalyzer.h.

Referenced by fillHCal(), and GlobalHitsAnalyzer().

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

Definition at line 154 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloEcalE[2]
private

Definition at line 155 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloEcalEta
private

Definition at line 158 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloEcalPhi
private

Definition at line 157 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloEcalToF[2]
private

Definition at line 156 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloHcal[2]
private

Definition at line 175 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloHcalE[2]
private

Definition at line 176 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloHcalEta
private

Definition at line 179 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloHcalPhi
private

Definition at line 178 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloHcalToF[2]
private

Definition at line 177 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloPreSh[2]
private

Definition at line 165 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloPreShE[2]
private

Definition at line 166 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloPreShEta
private

Definition at line 169 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloPreShPhi
private

Definition at line 168 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloPreShToF[2]
private

Definition at line 167 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meGeantTrkE
private

Definition at line 140 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meGeantTrkPt
private

Definition at line 139 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meGeantVtxEta
private

Definition at line 141 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meGeantVtxMulti
private

Definition at line 144 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meGeantVtxPhi
private

Definition at line 142 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meGeantVtxRad[2]
private

Definition at line 143 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meGeantVtxX[2]
private

Definition at line 135 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meGeantVtxY[2]
private

Definition at line 136 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meGeantVtxZ[2]
private

Definition at line 137 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMCG4Trk[2]
private

Definition at line 138 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMCG4Vtx[2]
private

Definition at line 134 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMCRGP[2]
private

Definition at line 133 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMuon[2]
private

Definition at line 229 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMuonCscToF[2]
private

Definition at line 240 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMuonCscZ
private

Definition at line 241 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMuonDtR
private

Definition at line 236 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMuonDtToF[2]
private

Definition at line 235 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMuonEta
private

Definition at line 231 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMuonPhi
private

Definition at line 230 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMuonRpcBR
private

Definition at line 248 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMuonRpcBToF[2]
private

Definition at line 247 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMuonRpcFToF[2]
private

Definition at line 245 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMuonRpcFZ
private

Definition at line 246 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerPx[2]
private

Definition at line 186 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerPxBR
private

Definition at line 190 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerPxBToF
private

Definition at line 189 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerPxEta
private

Definition at line 188 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerPxFToF
private

Definition at line 191 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerPxFZ
private

Definition at line 192 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerPxPhi
private

Definition at line 187 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerSi[2]
private

Definition at line 204 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerSiBR
private

Definition at line 208 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerSiBToF
private

Definition at line 207 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerSiEta
private

Definition at line 206 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerSiFToF
private

Definition at line 209 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerSiFZ
private

Definition at line 210 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerSiPhi
private

Definition at line 205 of file GlobalHitsAnalyzer.h.

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

edm::InputTag GlobalHitsAnalyzer::MuonCscSrc_
private

Definition at line 242 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 243 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::MuonDtSrc_
private

Definition at line 237 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 238 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::MuonRpcSrc_
private

Definition at line 249 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 250 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

int GlobalHitsAnalyzer::nMuonHits
private

Definition at line 232 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon().

int GlobalHitsAnalyzer::nPxlHits
private

Definition at line 185 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk().

int GlobalHitsAnalyzer::nRawGenPart
private

Definition at line 145 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC().

int GlobalHitsAnalyzer::nSiHits
private

Definition at line 203 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 194 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 198 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::PxlBrlLowSrc_
private

Definition at line 193 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 197 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::PxlFwdHighSrc_
private

Definition at line 196 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 200 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::PxlFwdLowSrc_
private

Definition at line 195 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 199 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::SiTECHighSrc_
private

Definition at line 218 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 226 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::SiTECLowSrc_
private

Definition at line 217 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 225 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::SiTIBHighSrc_
private

Definition at line 212 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 220 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::SiTIBLowSrc_
private

Definition at line 211 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 219 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::SiTIDHighSrc_
private

Definition at line 216 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 224 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::SiTIDLowSrc_
private

Definition at line 215 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 223 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::SiTOBHighSrc_
private

Definition at line 214 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 222 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::SiTOBLowSrc_
private

Definition at line 213 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 221 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validEB
private

Definition at line 127 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validEE
private

Definition at line 128 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validG4trkContainer
private

Definition at line 111 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validG4VtxContainer
private

Definition at line 110 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validHcal
private

Definition at line 130 of file GlobalHitsAnalyzer.h.

Referenced by fillHCal(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validHepMCevt
private

Definition at line 109 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validMuonCSC
private

Definition at line 124 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validMuonDt
private

Definition at line 125 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validMuonRPC
private

Definition at line 126 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validPresh
private

Definition at line 129 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validPxlBrlHigh
private

Definition at line 113 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validPxlBrlLow
private

Definition at line 112 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validPxlFwdHigh
private

Definition at line 115 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validPxlFwdLow
private

Definition at line 114 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTECHigh
private

Definition at line 123 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTECLow
private

Definition at line 122 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTIBHigh
private

Definition at line 117 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTIBLow
private

Definition at line 116 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTIDHigh
private

Definition at line 121 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTIDLow
private

Definition at line 120 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTOBHigh
private

Definition at line 119 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTOBLow
private

Definition at line 118 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().