CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
GlobalHitsAnalyzer Class Reference

#include <GlobalHitsAnalyzer.h>

Inheritance diagram for GlobalHitsAnalyzer:
edm::EDAnalyzer edm::EDConsumerBase

Public Member Functions

virtual void analyze (const edm::Event &, const edm::EventSetup &)
 
virtual void beginJob (void)
 
virtual void endJob ()
 
 GlobalHitsAnalyzer (const edm::ParameterSet &)
 
virtual ~GlobalHitsAnalyzer ()
 
- Public Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzer ()
 
ModuleDescription const & moduleDescription () const
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 
- Public Member Functions inherited from edm::EDConsumerBase
 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
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

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
 
DQMStoredbe
 
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::EDAnalyzer
typedef EDAnalyzer ModuleType
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
- 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)
 

Detailed Description

Class to fill dqm monitor elements from existing EDM file

Author
M. Strang SUNY-Buffalo

Definition at line 73 of file GlobalHitsAnalyzer.h.

Constructor & Destructor Documentation

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

Definition at line 12 of file GlobalHitsAnalyzer.cc.

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

Definition at line 694 of file GlobalHitsAnalyzer.cc.

694 {}

Member Function Documentation

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

Implements edm::EDAnalyzer.

Definition at line 710 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.

712 {
713  std::string MsgLoggerCat = "GlobalHitsAnalyzer_analyze";
714 
715  // keep track of number of events processed
716  ++count;
717 
718  // get event id information
719  int nrun = iEvent.id().run();
720  int nevt = iEvent.id().event();
721 
722  if (verbosity > 0) {
723  edm::LogInfo(MsgLoggerCat)
724  << "Processing run " << nrun << ", event " << nevt
725  << " (" << count << " events total)";
726  } else if (verbosity == 0) {
727  if (nevt%frequency == 0 || nevt == 1) {
728  edm::LogInfo(MsgLoggerCat)
729  << "Processing run " << nrun << ", event " << nevt
730  << " (" << count << " events total)";
731  }
732  }
733 
734  // look at information available in the event
735  if (getAllProvenances) {
736 
737  std::vector<const edm::Provenance*> AllProv;
738  iEvent.getAllProvenance(AllProv);
739 
740  if (verbosity >= 0)
741  edm::LogInfo(MsgLoggerCat)
742  << "Number of Provenances = " << AllProv.size();
743 
744  if (printProvenanceInfo && (verbosity >= 0)) {
745  TString eventout("\nProvenance info:\n");
746 
747  for (unsigned int i = 0; i < AllProv.size(); ++i) {
748  eventout += "\n ******************************";
749  eventout += "\n Module : ";
750  eventout += AllProv[i]->moduleLabel();
751  eventout += "\n ProductID : ";
752  eventout += AllProv[i]->productID().id();
753  eventout += "\n ClassName : ";
754  eventout += AllProv[i]->className();
755  eventout += "\n InstanceName : ";
756  eventout += AllProv[i]->productInstanceName();
757  eventout += "\n BranchName : ";
758  eventout += AllProv[i]->branchName();
759  }
760  eventout += "\n ******************************\n";
761  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
762  printProvenanceInfo = false;
763  }
764  getAllProvenances = false;
765  }
766 
767  // call fill functions
768  //gather G4MC information from event
769  fillG4MC(iEvent);
770  // gather Tracker information from event
771  fillTrk(iEvent,iSetup);
772  // gather muon information from event
773  fillMuon(iEvent, iSetup);
774  // gather Ecal information from event
775  fillECal(iEvent, iSetup);
776  // gather Hcal information from event
777  fillHCal(iEvent, iSetup);
778 
779  if (verbosity > 0)
780  edm::LogInfo (MsgLoggerCat)
781  << "Done gathering data from event.";
782 
783  return;
784 }
RunNumber_t run() const
Definition: EventID.h:42
EventNumber_t event() const
Definition: EventID.h:44
void getAllProvenance(std::vector< Provenance const * > &provenances) const
Definition: Event.cc:86
void fillG4MC(const edm::Event &)
int i
Definition: DBlmapReader.cc:9
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:56
void GlobalHitsAnalyzer::beginJob ( void  )
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 696 of file GlobalHitsAnalyzer.cc.

697 {
698  return;
699 }
void GlobalHitsAnalyzer::endJob ( void  )
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 701 of file GlobalHitsAnalyzer.cc.

References count, AlCaHLTBitMon_QueryRunRegistry::string, and verbosity.

702 {
703  std::string MsgLoggerCat = "GlobalHitsAnalyzer_endJob";
704  if (verbosity >= 0)
705  edm::LogInfo(MsgLoggerCat)
706  << "Terminating having processed " << count << " events.";
707  return;
708 }
void GlobalHitsAnalyzer::fillECal ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
private

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

1669 {
1670  std::string MsgLoggerCat = "GlobalHitsAnalyzer_fillECal";
1671 
1672  TString eventout;
1673  if (verbosity > 0)
1674  eventout = "\nGathering info:";
1675 
1676  // access the calorimeter geometry
1677  edm::ESHandle<CaloGeometry> theCaloGeometry;
1678  iSetup.get<CaloGeometryRecord>().get(theCaloGeometry);
1679  if (!theCaloGeometry.isValid()) {
1680  edm::LogWarning(MsgLoggerCat)
1681  << "Unable to find CaloGeometryRecord in event!";
1682  return;
1683  }
1684  const CaloGeometry& theCalo(*theCaloGeometry);
1685 
1686  // iterator to access containers
1687  edm::PCaloHitContainer::const_iterator itHit;
1688 
1690  // get ECal information
1692  edm::PCaloHitContainer theECalHits;
1693  // extract EB container
1695  iEvent.getByToken(ECalEBSrc_Token_,EBContainer);
1696  if (!EBContainer.isValid()) {
1697  LogDebug(MsgLoggerCat)
1698  << "Unable to find EcalHitsEB in event!";
1699  validEB = false;
1700  }
1701  // extract EE container
1703  iEvent.getByToken(ECalEESrc_Token_,EEContainer);
1704  if (!EEContainer.isValid()) {
1705  LogDebug(MsgLoggerCat)
1706  << "Unable to find EcalHitsEE in event!";
1707  validEE = false;
1708  }
1709  // place both containers into new container
1710  if (validEB)
1711  theECalHits.insert(theECalHits.end(),EBContainer->begin(),
1712  EBContainer->end());
1713  if (validEE)
1714  theECalHits.insert(theECalHits.end(),EEContainer->begin(),
1715  EEContainer->end());
1716 
1717  // cycle through new container
1718  int i = 0, j = 0;
1719  for (itHit = theECalHits.begin(); itHit != theECalHits.end(); ++itHit) {
1720 
1721  ++i;
1722 
1723  // create a DetId from the detUnitId
1724  DetId theDetUnitId(itHit->id());
1725  int detector = theDetUnitId.det();
1726  int subdetector = theDetUnitId.subdetId();
1727 
1728  // check that expected detector is returned
1729  if ((detector == dEcal) &&
1730  ((subdetector == sdEcalBrl) ||
1731  (subdetector == sdEcalFwd))) {
1732 
1733  // get the Cell geometry
1734  const CaloCellGeometry *theDet = theCalo.
1735  getSubdetectorGeometry(theDetUnitId)->getGeometry(theDetUnitId);
1736 
1737  if (!theDet) {
1738  edm::LogWarning(MsgLoggerCat)
1739  << "Unable to get CaloCellGeometry from ECalHits for Hit " << i;
1740  continue;
1741  }
1742 
1743  ++j;
1744 
1745  // get the global position of the cell
1746  const GlobalPoint& globalposition = theDet->getPosition();
1747 
1748  if (meCaloEcalE[0]) meCaloEcalE[0]->Fill(itHit->energy());
1749  if (meCaloEcalE[1]) meCaloEcalE[1]->Fill(itHit->energy());
1750  if (meCaloEcalToF[0]) meCaloEcalToF[0]->Fill(itHit->time());
1751  if (meCaloEcalToF[1]) meCaloEcalToF[1]->Fill(itHit->time());
1752  if (meCaloEcalPhi) meCaloEcalPhi->Fill(globalposition.phi());
1753  if (meCaloEcalEta) meCaloEcalEta->Fill(globalposition.eta());
1754 
1755  } else {
1756  edm::LogWarning(MsgLoggerCat)
1757  << "ECal PCaloHit " << i
1758  << " is expected to be (det,subdet) = ("
1759  << dEcal << "," << sdEcalBrl
1760  << " || " << sdEcalFwd << "); value returned is: ("
1761  << detector << "," << subdetector << ")";
1762  continue;
1763  } // end detector type check
1764  } // end loop through ECal Hits
1765 
1766  if (verbosity > 1) {
1767  eventout += "\n Number of ECal Hits collected:............. ";
1768  eventout += j;
1769  }
1770 
1771  if (meCaloEcal[0]) meCaloEcal[0]->Fill((float)j);
1772  if (meCaloEcal[1]) meCaloEcal[1]->Fill((float)j);
1773 
1775  // Get Preshower information
1777  // extract PreShower container
1778  edm::Handle<edm::PCaloHitContainer> PreShContainer;
1779  iEvent.getByToken(ECalESSrc_Token_,PreShContainer);
1780  if (!PreShContainer.isValid()) {
1781  LogDebug(MsgLoggerCat)
1782  << "Unable to find EcalHitsES in event!";
1783  validPresh = false;
1784  }
1785 
1786  if (validPresh) {
1787  // cycle through container
1788  int i = 0, j = 0;
1789  for (itHit = PreShContainer->begin();
1790  itHit != PreShContainer->end(); ++itHit) {
1791 
1792  ++i;
1793 
1794  // create a DetId from the detUnitId
1795  DetId theDetUnitId(itHit->id());
1796  int detector = theDetUnitId.det();
1797  int subdetector = theDetUnitId.subdetId();
1798 
1799  // check that expected detector is returned
1800  if ((detector == dEcal) &&
1801  (subdetector == sdEcalPS)) {
1802 
1803  // get the Cell geometry
1804  const CaloCellGeometry *theDet = theCalo.
1805  getSubdetectorGeometry(theDetUnitId)->getGeometry(theDetUnitId);
1806 
1807  if (!theDet) {
1808  edm::LogWarning(MsgLoggerCat)
1809  << "Unable to get CaloCellGeometry from PreShContainer for Hit "
1810  << i;
1811  continue;
1812  }
1813 
1814  ++j;
1815 
1816  // get the global position of the cell
1817  const GlobalPoint& globalposition = theDet->getPosition();
1818 
1819  if (meCaloPreShE[0]) meCaloPreShE[0]->Fill(itHit->energy());
1820  if (meCaloPreShE[1]) meCaloPreShE[1]->Fill(itHit->energy());
1821  if (meCaloPreShToF[0]) meCaloPreShToF[0]->Fill(itHit->time());
1822  if (meCaloPreShToF[1]) meCaloPreShToF[1]->Fill(itHit->time());
1823  if (meCaloPreShPhi) meCaloPreShPhi->Fill(globalposition.phi());
1824  if (meCaloPreShEta) meCaloPreShEta->Fill(globalposition.eta());
1825 
1826  } else {
1827  edm::LogWarning(MsgLoggerCat)
1828  << "PreSh PCaloHit " << i
1829  << " is expected to be (det,subdet) = ("
1830  << dEcal << "," << sdEcalPS
1831  << "); value returned is: ("
1832  << detector << "," << subdetector << ")";
1833  continue;
1834  } // end detector type check
1835  } // end loop through PreShower Hits
1836 
1837  if (verbosity > 1) {
1838  eventout += "\n Number of PreSh Hits collected:............ ";
1839  eventout += j;
1840  }
1841 
1842  if (meCaloPreSh[0]) meCaloPreSh[0]->Fill((float)j);
1843  if (meCaloPreSh[1]) meCaloPreSh[1]->Fill((float)j);
1844  }
1845 
1846  if (verbosity > 0)
1847  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
1848 
1849  return;
1850 }
#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:434
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:76
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:37
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 787 of file GlobalHitsAnalyzer.cc.

References MonitorElement::Fill(), HcalObjRepresent::Fill(), G4TrkSrc_Token_, G4VtxSrc_Token_, edm::Event::getByToken(), edm::Event::getManyByType(), i, edm::HandleBase::isValid(), LogDebug, 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().

788 {
789 
790  std::string MsgLoggerCat = "GlobalHitsAnalyzer_fillG4MC";
791 
792  TString eventout;
793  if (verbosity > 0)
794  eventout = "\nGathering info:";
795 
797  // get MC information
800  std::vector<edm::Handle<edm::HepMCProduct> > AllHepMCEvt;
801  iEvent.getManyByType(AllHepMCEvt);
802 
803  // loop through products and extract VtxSmearing if available. Any of them
804  // should have the information needed
805  for (unsigned int i = 0; i < AllHepMCEvt.size(); ++i) {
806  HepMCEvt = AllHepMCEvt[i];
807  if ((HepMCEvt.provenance()->product()).moduleLabel() == "VtxSmeared")
808  break;
809  }
810 
811  if (!HepMCEvt.isValid()) {
812  LogDebug(MsgLoggerCat)
813  << "Unable to find HepMCProduct in event!";
814  validHepMCevt = false;
815  } else {
816  eventout += "\n Using HepMCProduct: ";
817  eventout += (HepMCEvt.provenance()->product()).moduleLabel();
818  }
819  if (validHepMCevt) {
820  const HepMC::GenEvent* MCEvt = HepMCEvt->GetEvent();
821  nRawGenPart = MCEvt->particles_size();
822 
823 
824  if (verbosity > 1) {
825  eventout += "\n Number of Raw Particles collected:......... ";
826  eventout += nRawGenPart;
827  }
828 
829  if (meMCRGP[0]) meMCRGP[0]->Fill((float)nRawGenPart);
830  if (meMCRGP[1]) meMCRGP[1]->Fill((float)nRawGenPart);
831  }
832 
833 
835  // get G4Vertex information
837  // convert unit stored in SimVertex to mm
838  float unit = 0.;
839  if (vtxunit == 0) unit = 1.; // already in mm
840  if (vtxunit == 1) unit = 10.; // stored in cm, convert to mm
841 
843  iEvent.getByToken(G4VtxSrc_Token_, G4VtxContainer);
844 
845  // needed here by vertex multiplicity
847  iEvent.getByToken(G4TrkSrc_Token_, G4TrkContainer);
848 
849  if (!G4VtxContainer.isValid()) {
850  LogDebug(MsgLoggerCat)
851  << "Unable to find SimVertex in event!";
852  validG4VtxContainer = false;
853  }
854  if (validG4VtxContainer) {
855  int i = 0;
856  edm::SimVertexContainer::const_iterator itVtx;
857  for (itVtx = G4VtxContainer->begin(); itVtx != G4VtxContainer->end();
858  ++itVtx) {
859 
860  ++i;
861 
862  const math::XYZTLorentzVector G4Vtx1(itVtx->position().x(),
863  itVtx->position().y(),
864  itVtx->position().z(),
865  itVtx->position().e());
866 
867  double G4Vtx[4];
868  G4Vtx1.GetCoordinates(G4Vtx);
869 
870  if (meGeantVtxX[0]) meGeantVtxX[0]->Fill((G4Vtx[0]*unit)/micrometer);
871  if (meGeantVtxX[1]) meGeantVtxX[1]->Fill((G4Vtx[0]*unit)/micrometer);
872 
873  if (meGeantVtxY[0]) meGeantVtxY[0]->Fill((G4Vtx[1]*unit)/micrometer);
874  if (meGeantVtxY[1]) meGeantVtxY[1]->Fill((G4Vtx[1]*unit)/micrometer);
875 
876  if (meGeantVtxZ[0]) meGeantVtxZ[0]->Fill((G4Vtx[2]*unit)/millimeter);
877  if (meGeantVtxZ[1]) meGeantVtxZ[1]->Fill((G4Vtx[2]*unit)/millimeter);
878 
879  if (meGeantVtxEta) meGeantVtxEta->Fill(G4Vtx1.eta());
880  if (meGeantVtxPhi) meGeantVtxPhi->Fill(G4Vtx1.phi());
881  if (meGeantVtxRad[0]) meGeantVtxRad[0]->Fill(G4Vtx1.rho());
882  if (meGeantVtxRad[1]) meGeantVtxRad[1]->Fill(G4Vtx1.rho());
883 
884  if (meGeantVtxMulti) {
885  int multi = 0;
886  if ( G4TrkContainer.isValid() ) {
887  edm::SimTrackContainer::const_iterator itTrk;
888  for (itTrk = G4TrkContainer->begin(); itTrk != G4TrkContainer->end();
889  ++itTrk) {
890  if ( (*itTrk).vertIndex() == i ) { multi++; }
891  }
892  }
893  meGeantVtxMulti->Fill(((double)multi+0.5));
894  }
895 
896  }
897 
898  if (verbosity > 1) {
899  eventout += "\n Number of G4Vertices collected:............ ";
900  eventout += i;
901  }
902 
903  if (meMCG4Vtx[0]) meMCG4Vtx[0]->Fill((float)i);
904  if (meMCG4Vtx[1]) meMCG4Vtx[1]->Fill((float)i);
905 
906  }
907 
909  // get G4Track information
911  if (!G4TrkContainer.isValid()) {
912  LogDebug(MsgLoggerCat)
913  << "Unable to find SimTrack in event!";
914  validG4trkContainer = false;
915  }
916  if (validG4trkContainer) {
917  int i = 0;
918  edm::SimTrackContainer::const_iterator itTrk;
919  for (itTrk = G4TrkContainer->begin(); itTrk != G4TrkContainer->end();
920  ++itTrk) {
921 
922  ++i;
923 
924  const math::XYZTLorentzVector G4Trk1(itTrk->momentum().x(),
925  itTrk->momentum().y(),
926  itTrk->momentum().z(),
927  itTrk->momentum().e());
928  double G4Trk[4];
929  G4Trk1.GetCoordinates(G4Trk);
930 
932  Fill(std::log10(std::max(sqrt(G4Trk[0]*G4Trk[0]+G4Trk[1]*G4Trk[1]),-9.)));
933  if (meGeantTrkE) meGeantTrkE->Fill(std::log10(std::max(G4Trk[3],-9.)));
934  }
935 
936  if (verbosity > 1) {
937  eventout += "\n Number of G4Tracks collected:.............. ";
938  eventout += i;
939  }
940 
941  if (meMCG4Trk[0]) meMCG4Trk[0]->Fill((float)i);
942  if (meMCG4Trk[1]) meMCG4Trk[1]->Fill((float)i);
943  }
944 
945  if (verbosity > 0)
946  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
947 
948  return;
949 }
#define LogDebug(id)
void getManyByType(std::vector< Handle< PROD > > &results) const
Definition: Event.h:424
int i
Definition: DBlmapReader.cc:9
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:434
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
const T & max(const T &a, const T &b)
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:76
MonitorElement * meMCRGP[2]
MonitorElement * meGeantVtxX[2]
MonitorElement * meGeantVtxZ[2]
edm::EDGetTokenT< edm::SimVertexContainer > G4VtxSrc_Token_
Provenance const * provenance() const
Definition: HandleBase.h:85
void GlobalHitsAnalyzer::fillHCal ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
private

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

1854 {
1855  std::string MsgLoggerCat = "GlobalHitsAnalyzer_fillHCal";
1856 
1857  TString eventout;
1858  if (verbosity > 0)
1859  eventout = "\nGathering info:";
1860 
1861  // access the calorimeter geometry
1862  edm::ESHandle<CaloGeometry> theCaloGeometry;
1863  iSetup.get<CaloGeometryRecord>().get(theCaloGeometry);
1864  if (!theCaloGeometry.isValid()) {
1865  edm::LogWarning(MsgLoggerCat)
1866  << "Unable to find CaloGeometryRecord in event!";
1867  return;
1868  }
1869  const CaloGeometry& theCalo(*theCaloGeometry);
1870 
1871  // iterator to access containers
1872  edm::PCaloHitContainer::const_iterator itHit;
1873 
1875  // get HCal information
1877  // extract HCal container
1879  iEvent.getByToken(HCalSrc_Token_,HCalContainer);
1880  if (!HCalContainer.isValid()) {
1881  LogDebug(MsgLoggerCat)
1882  << "Unable to find HCalHits in event!";
1883  validHcal = false;
1884  }
1885 
1886  if (validHcal) {
1887  // cycle through container
1888  int i = 0, j = 0;
1889  for (itHit = HCalContainer->begin();
1890  itHit != HCalContainer->end(); ++itHit) {
1891 
1892  ++i;
1893 
1894  // create a DetId from the detUnitId
1895  DetId theDetUnitId(itHit->id());
1896  int detector = theDetUnitId.det();
1897  int subdetector = theDetUnitId.subdetId();
1898 
1899  // check that expected detector is returned
1900  if ((detector == dHcal) &&
1901  ((subdetector == sdHcalBrl) ||
1902  (subdetector == sdHcalEC) ||
1903  (subdetector == sdHcalOut) ||
1904  (subdetector == sdHcalFwd))) {
1905 
1906  // get the Cell geometry
1907  const CaloCellGeometry *theDet = theCalo.
1908  getSubdetectorGeometry(theDetUnitId)->getGeometry(theDetUnitId);
1909 
1910  if (!theDet) {
1911  edm::LogWarning(MsgLoggerCat)
1912  << "Unable to get CaloCellGeometry from HCalContainer for Hit "
1913  << i;
1914  continue;
1915  }
1916 
1917  ++j;
1918 
1919  // get the global position of the cell
1920  const GlobalPoint& globalposition = theDet->getPosition();
1921 
1922  if (meCaloHcalE[0]) meCaloHcalE[0]->Fill(itHit->energy());
1923  if (meCaloHcalE[1]) meCaloHcalE[1]->Fill(itHit->energy());
1924  if (meCaloHcalToF[0]) meCaloHcalToF[0]->Fill(itHit->time());
1925  if (meCaloHcalToF[1]) meCaloHcalToF[1]->Fill(itHit->time());
1926  if (meCaloHcalPhi) meCaloHcalPhi->Fill(globalposition.phi());
1927  if (meCaloHcalEta) meCaloHcalEta->Fill(globalposition.eta());
1928 
1929  } else {
1930  edm::LogWarning(MsgLoggerCat)
1931  << "HCal PCaloHit " << i
1932  << " is expected to be (det,subdet) = ("
1933  << dHcal << "," << sdHcalBrl
1934  << " || " << sdHcalEC << " || " << sdHcalOut << " || " << sdHcalFwd
1935  << "); value returned is: ("
1936  << detector << "," << subdetector << ")";
1937  continue;
1938  } // end detector type check
1939  } // end loop through HCal Hits
1940 
1941  if (verbosity > 1) {
1942  eventout += "\n Number of HCal Hits collected:............. ";
1943  eventout += j;
1944  }
1945 
1946  if (meCaloHcal[0]) meCaloHcal[0]->Fill((float)j);
1947  if (meCaloHcal[1]) meCaloHcal[1]->Fill((float)j);
1948  }
1949 
1950  if (verbosity > 0)
1951  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
1952 
1953  return;
1954 }
#define LogDebug(id)
int i
Definition: DBlmapReader.cc:9
static const int sdHcalOut
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:434
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:76
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:37
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 1364 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, RPCDetId::region(), sdMuonCSC, sdMuonDT, sdMuonRPC, sdMuonRPCRgnBrl, sdMuonRPCRgnFwdn, sdMuonRPCRgnFwdp, AlCaHLTBitMon_QueryRunRegistry::string, GeomDet::surface(), validMuonCSC, validMuonDt, validMuonRPC, verbosity, and detailsBasic3DVector::z.

Referenced by analyze().

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

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

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

DQMStore* GlobalHitsAnalyzer::dbe
private

Definition at line 130 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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 99 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

int GlobalHitsAnalyzer::frequency
private

Definition at line 101 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 104 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 fillECal(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meCaloEcalE[2]
private

Definition at line 155 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meCaloEcalEta
private

Definition at line 158 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meCaloEcalPhi
private

Definition at line 157 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meCaloEcalToF[2]
private

Definition at line 156 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meCaloHcal[2]
private

Definition at line 175 of file GlobalHitsAnalyzer.h.

Referenced by fillHCal(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meCaloHcalE[2]
private

Definition at line 176 of file GlobalHitsAnalyzer.h.

Referenced by fillHCal(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meCaloHcalEta
private

Definition at line 179 of file GlobalHitsAnalyzer.h.

Referenced by fillHCal(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meCaloHcalPhi
private

Definition at line 178 of file GlobalHitsAnalyzer.h.

Referenced by fillHCal(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meCaloHcalToF[2]
private

Definition at line 177 of file GlobalHitsAnalyzer.h.

Referenced by fillHCal(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meCaloPreSh[2]
private

Definition at line 165 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meCaloPreShE[2]
private

Definition at line 166 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meCaloPreShEta
private

Definition at line 169 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meCaloPreShPhi
private

Definition at line 168 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meCaloPreShToF[2]
private

Definition at line 167 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meGeantTrkE
private

Definition at line 140 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meGeantTrkPt
private

Definition at line 139 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meGeantVtxEta
private

Definition at line 141 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meGeantVtxMulti
private

Definition at line 144 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meGeantVtxPhi
private

Definition at line 142 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meGeantVtxRad[2]
private

Definition at line 143 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meGeantVtxX[2]
private

Definition at line 135 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meGeantVtxY[2]
private

Definition at line 136 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meGeantVtxZ[2]
private

Definition at line 137 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meMCG4Trk[2]
private

Definition at line 138 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meMCG4Vtx[2]
private

Definition at line 134 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meMCRGP[2]
private

Definition at line 133 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meMuon[2]
private

Definition at line 229 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meMuonCscToF[2]
private

Definition at line 240 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meMuonCscZ
private

Definition at line 241 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meMuonDtR
private

Definition at line 236 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meMuonDtToF[2]
private

Definition at line 235 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meMuonEta
private

Definition at line 231 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meMuonPhi
private

Definition at line 230 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meMuonRpcBR
private

Definition at line 248 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meMuonRpcBToF[2]
private

Definition at line 247 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meMuonRpcFToF[2]
private

Definition at line 245 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meMuonRpcFZ
private

Definition at line 246 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meTrackerPx[2]
private

Definition at line 186 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meTrackerPxBR
private

Definition at line 190 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meTrackerPxBToF
private

Definition at line 189 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meTrackerPxEta
private

Definition at line 188 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meTrackerPxFToF
private

Definition at line 191 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meTrackerPxFZ
private

Definition at line 192 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meTrackerPxPhi
private

Definition at line 187 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meTrackerSi[2]
private

Definition at line 204 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meTrackerSiBR
private

Definition at line 208 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meTrackerSiBToF
private

Definition at line 207 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meTrackerSiEta
private

Definition at line 206 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meTrackerSiFToF
private

Definition at line 209 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meTrackerSiFZ
private

Definition at line 210 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meTrackerSiPhi
private

Definition at line 205 of file GlobalHitsAnalyzer.h.

Referenced by 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 105 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 125 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validEE
private

Definition at line 126 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validG4trkContainer
private

Definition at line 109 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validG4VtxContainer
private

Definition at line 108 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validHcal
private

Definition at line 128 of file GlobalHitsAnalyzer.h.

Referenced by fillHCal(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validHepMCevt
private

Definition at line 107 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validMuonCSC
private

Definition at line 122 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validMuonDt
private

Definition at line 123 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validMuonRPC
private

Definition at line 124 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validPresh
private

Definition at line 127 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validPxlBrlHigh
private

Definition at line 111 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validPxlBrlLow
private

Definition at line 110 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validPxlFwdHigh
private

Definition at line 113 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validPxlFwdLow
private

Definition at line 112 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTECHigh
private

Definition at line 121 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTECLow
private

Definition at line 120 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTIBHigh
private

Definition at line 115 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTIBLow
private

Definition at line 114 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTIDHigh
private

Definition at line 119 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTIDLow
private

Definition at line 118 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTOBHigh
private

Definition at line 117 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTOBLow
private

Definition at line 116 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

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

Definition at line 102 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC(), and GlobalHitsAnalyzer().