CMS 3D CMS Logo

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

#include <GlobalHitsAnalyzer.h>

Inheritance diagram for GlobalHitsAnalyzer:
one::DQMEDAnalyzer< T > one::dqmimplementation::DQMBaseClass< T... >

Public Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
 GlobalHitsAnalyzer (const edm::ParameterSet &)
 
 ~GlobalHitsAnalyzer () override
 
- Public Member Functions inherited from one::DQMEDAnalyzer< T >
 DQMEDAnalyzer ()=default
 
 DQMEDAnalyzer (DQMEDAnalyzer< T... > const &)=delete
 
 DQMEDAnalyzer (DQMEDAnalyzer< T... > &&)=delete
 
 ~DQMEDAnalyzer () override=default
 

Protected Member Functions

void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 

Private Member Functions

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

Private Attributes

unsigned int count
 
edm::InputTag ECalEBSrc_
 
edm::EDGetTokenT< edm::PCaloHitContainerECalEBSrc_Token_
 
edm::InputTag ECalEESrc_
 
edm::EDGetTokenT< edm::PCaloHitContainerECalEESrc_Token_
 
edm::InputTag ECalESSrc_
 
edm::EDGetTokenT< edm::PCaloHitContainerECalESSrc_Token_
 
std::string fName
 
int frequency
 
edm::InputTag G4TrkSrc_
 
edm::EDGetTokenT< edm::SimTrackContainerG4TrkSrc_Token_
 
edm::InputTag G4VtxSrc_
 
edm::EDGetTokenT< edm::SimVertexContainerG4VtxSrc_Token_
 
bool getAllProvenances
 
edm::InputTag HCalSrc_
 
edm::EDGetTokenT< edm::PCaloHitContainerHCalSrc_Token_
 
std::string label
 
MonitorElementmeCaloEcal [2]
 
MonitorElementmeCaloEcalE [2]
 
MonitorElementmeCaloEcalEta
 
MonitorElementmeCaloEcalPhi
 
MonitorElementmeCaloEcalToF [2]
 
MonitorElementmeCaloHcal [2]
 
MonitorElementmeCaloHcalE [2]
 
MonitorElementmeCaloHcalEta
 
MonitorElementmeCaloHcalPhi
 
MonitorElementmeCaloHcalToF [2]
 
MonitorElementmeCaloPreSh [2]
 
MonitorElementmeCaloPreShE [2]
 
MonitorElementmeCaloPreShEta
 
MonitorElementmeCaloPreShPhi
 
MonitorElementmeCaloPreShToF [2]
 
MonitorElementmeGeantTrkE
 
MonitorElementmeGeantTrkPt
 
MonitorElementmeGeantVtxEta
 
MonitorElementmeGeantVtxMulti
 
MonitorElementmeGeantVtxPhi
 
MonitorElementmeGeantVtxRad [2]
 
MonitorElementmeGeantVtxX [2]
 
MonitorElementmeGeantVtxY [2]
 
MonitorElementmeGeantVtxZ [2]
 
MonitorElementmeMCG4Trk [2]
 
MonitorElementmeMCG4Vtx [2]
 
MonitorElementmeMCRGP [2]
 
MonitorElementmeMuon [2]
 
MonitorElementmeMuonCscToF [2]
 
MonitorElementmeMuonCscZ
 
MonitorElementmeMuonDtR
 
MonitorElementmeMuonDtToF [2]
 
MonitorElementmeMuonEta
 
MonitorElementmeMuonPhi
 
MonitorElementmeMuonRpcBR
 
MonitorElementmeMuonRpcBToF [2]
 
MonitorElementmeMuonRpcFToF [2]
 
MonitorElementmeMuonRpcFZ
 
MonitorElementmeTrackerPx [2]
 
MonitorElementmeTrackerPxBR
 
MonitorElementmeTrackerPxBToF
 
MonitorElementmeTrackerPxEta
 
MonitorElementmeTrackerPxFToF
 
MonitorElementmeTrackerPxFZ
 
MonitorElementmeTrackerPxPhi
 
MonitorElementmeTrackerSi [2]
 
MonitorElementmeTrackerSiBR
 
MonitorElementmeTrackerSiBToF
 
MonitorElementmeTrackerSiEta
 
MonitorElementmeTrackerSiFToF
 
MonitorElementmeTrackerSiFZ
 
MonitorElementmeTrackerSiPhi
 
edm::InputTag MuonCscSrc_
 
edm::EDGetTokenT< edm::PSimHitContainerMuonCscSrc_Token_
 
edm::InputTag MuonDtSrc_
 
edm::EDGetTokenT< edm::PSimHitContainerMuonDtSrc_Token_
 
edm::InputTag MuonRpcSrc_
 
edm::EDGetTokenT< edm::PSimHitContainerMuonRpcSrc_Token_
 
int nMuonHits
 
int nPxlHits
 
int nRawGenPart
 
int nSiHits
 
bool printProvenanceInfo
 
edm::InputTag PxlBrlHighSrc_
 
edm::EDGetTokenT< edm::PSimHitContainerPxlBrlHighSrc_Token_
 
edm::InputTag PxlBrlLowSrc_
 
edm::EDGetTokenT< edm::PSimHitContainerPxlBrlLowSrc_Token_
 
edm::InputTag PxlFwdHighSrc_
 
edm::EDGetTokenT< edm::PSimHitContainerPxlFwdHighSrc_Token_
 
edm::InputTag PxlFwdLowSrc_
 
edm::EDGetTokenT< edm::PSimHitContainerPxlFwdLowSrc_Token_
 
edm::InputTag SiTECHighSrc_
 
edm::EDGetTokenT< edm::PSimHitContainerSiTECHighSrc_Token_
 
edm::InputTag SiTECLowSrc_
 
edm::EDGetTokenT< edm::PSimHitContainerSiTECLowSrc_Token_
 
edm::InputTag SiTIBHighSrc_
 
edm::EDGetTokenT< edm::PSimHitContainerSiTIBHighSrc_Token_
 
edm::InputTag SiTIBLowSrc_
 
edm::EDGetTokenT< edm::PSimHitContainerSiTIBLowSrc_Token_
 
edm::InputTag SiTIDHighSrc_
 
edm::EDGetTokenT< edm::PSimHitContainerSiTIDHighSrc_Token_
 
edm::InputTag SiTIDLowSrc_
 
edm::EDGetTokenT< edm::PSimHitContainerSiTIDLowSrc_Token_
 
edm::InputTag SiTOBHighSrc_
 
edm::EDGetTokenT< edm::PSimHitContainerSiTOBHighSrc_Token_
 
edm::InputTag SiTOBLowSrc_
 
edm::EDGetTokenT< edm::PSimHitContainerSiTOBLowSrc_Token_
 
bool testNumber
 
bool validEB
 
bool validEE
 
bool validG4trkContainer
 
bool validG4VtxContainer
 
bool validHcal
 
bool validHepMCevt
 
bool validMuonCSC
 
bool validMuonDt
 
bool validMuonRPC
 
bool validPresh
 
bool validPxlBrlHigh
 
bool validPxlBrlLow
 
bool validPxlFwdHigh
 
bool validPxlFwdLow
 
bool validSiTECHigh
 
bool validSiTECLow
 
bool validSiTIBHigh
 
bool validSiTIBLow
 
bool validSiTIDHigh
 
bool validSiTIDLow
 
bool validSiTOBHigh
 
bool validSiTOBLow
 
int verbosity
 
int vtxunit
 

Detailed Description

Class to fill dqm monitor elements from existing EDM file

Author
M. Strang SUNY-Buffalo

Definition at line 74 of file GlobalHitsAnalyzer.h.

Constructor & Destructor Documentation

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

Definition at line 18 of file GlobalHitsAnalyzer.cc.

References ECalEBSrc_, ECalEBSrc_Token_, ECalEESrc_, ECalEESrc_Token_, ECalESSrc_, ECalESSrc_Token_, fName, frequency, getAllProvenances, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), HCalSrc_, HCalSrc_Token_, mps_fire::i, edm::InputTag::instance(), edm::InputTag::label(), meCaloEcal, meCaloEcalE, meCaloEcalEta, meCaloEcalPhi, meCaloEcalToF, meCaloHcal, meCaloHcalE, meCaloHcalEta, meCaloHcalPhi, meCaloHcalToF, meCaloPreSh, meCaloPreShE, meCaloPreShEta, meCaloPreShPhi, meCaloPreShToF, meGeantTrkE, meGeantTrkPt, meGeantVtxEta, meGeantVtxMulti, meGeantVtxPhi, meGeantVtxRad, meGeantVtxX, meGeantVtxY, meGeantVtxZ, meMCG4Trk, meMCG4Vtx, meMCRGP, meMuon, meMuonCscToF, meMuonCscZ, meMuonDtR, meMuonDtToF, meMuonEta, meMuonPhi, meMuonRpcBR, meMuonRpcBToF, meMuonRpcFToF, meMuonRpcFZ, meTrackerPx, meTrackerPxBR, meTrackerPxBToF, meTrackerPxEta, meTrackerPxFToF, meTrackerPxFZ, meTrackerPxPhi, meTrackerSi, meTrackerSiBR, meTrackerSiBToF, meTrackerSiEta, meTrackerSiFToF, meTrackerSiFZ, meTrackerSiPhi, MuonCscSrc_, MuonCscSrc_Token_, MuonDtSrc_, MuonDtSrc_Token_, MuonRpcSrc_, MuonRpcSrc_Token_, printProvenanceInfo, PxlBrlHighSrc_, PxlBrlHighSrc_Token_, PxlBrlLowSrc_, PxlBrlLowSrc_Token_, PxlFwdHighSrc_, PxlFwdHighSrc_Token_, PxlFwdLowSrc_, PxlFwdLowSrc_Token_, SiTECHighSrc_, SiTECHighSrc_Token_, SiTECLowSrc_, SiTECLowSrc_Token_, SiTIBHighSrc_, SiTIBHighSrc_Token_, SiTIBLowSrc_, SiTIBLowSrc_Token_, SiTIDHighSrc_, SiTIDHighSrc_Token_, SiTIDLowSrc_, SiTIDLowSrc_Token_, SiTOBHighSrc_, SiTOBHighSrc_Token_, SiTOBLowSrc_, SiTOBLowSrc_Token_, AlCaHLTBitMon_QueryRunRegistry::string, testNumber, validEB, validEE, validG4trkContainer, validG4VtxContainer, validHcal, validHepMCevt, validMuonCSC, validMuonDt, validMuonRPC, validPresh, validPxlBrlHigh, validPxlBrlLow, validPxlFwdHigh, validPxlFwdLow, validSiTECHigh, validSiTECLow, validSiTIBHigh, validSiTIBLow, validSiTIDHigh, validSiTIDLow, validSiTOBHigh, validSiTOBLow, verbosity, and vtxunit.

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

Definition at line 275 of file GlobalHitsAnalyzer.cc.

275 {}

Member Function Documentation

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

Definition at line 690 of file GlobalHitsAnalyzer.cc.

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

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

Definition at line 277 of file GlobalHitsAnalyzer.cc.

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

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

Definition at line 1647 of file GlobalHitsAnalyzer.cc.

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

Referenced by analyze().

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

Definition at line 767 of file GlobalHitsAnalyzer.cc.

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

Referenced by analyze().

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

Definition at line 1830 of file GlobalHitsAnalyzer.cc.

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

Referenced by analyze().

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

Definition at line 1344 of file GlobalHitsAnalyzer.cc.

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

Referenced by analyze().

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

Definition at line 931 of file GlobalHitsAnalyzer.cc.

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

Referenced by analyze().

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

Member Data Documentation

unsigned int GlobalHitsAnalyzer::count
private

Definition at line 254 of file GlobalHitsAnalyzer.h.

Referenced by analyze().

edm::InputTag GlobalHitsAnalyzer::ECalEBSrc_
private

Definition at line 160 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 162 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::ECalEESrc_
private

Definition at line 161 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 163 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::ECalESSrc_
private

Definition at line 171 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 172 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

std::string GlobalHitsAnalyzer::fName
private

Definition at line 101 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

int GlobalHitsAnalyzer::frequency
private

Definition at line 103 of file GlobalHitsAnalyzer.h.

Referenced by analyze(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::G4TrkSrc_
private

Definition at line 149 of file GlobalHitsAnalyzer.h.

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

Definition at line 151 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC().

edm::InputTag GlobalHitsAnalyzer::G4VtxSrc_
private

Definition at line 148 of file GlobalHitsAnalyzer.h.

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

Definition at line 150 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC().

bool GlobalHitsAnalyzer::getAllProvenances
private

Definition at line 106 of file GlobalHitsAnalyzer.h.

Referenced by analyze(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::HCalSrc_
private

Definition at line 181 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 182 of file GlobalHitsAnalyzer.h.

Referenced by fillHCal(), and GlobalHitsAnalyzer().

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

Definition at line 155 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloEcalE[2]
private

Definition at line 156 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloEcalEta
private

Definition at line 159 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloEcalPhi
private

Definition at line 158 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloEcalToF[2]
private

Definition at line 157 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloHcal[2]
private

Definition at line 176 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloHcalE[2]
private

Definition at line 177 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloHcalEta
private

Definition at line 180 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloHcalPhi
private

Definition at line 179 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloHcalToF[2]
private

Definition at line 178 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloPreSh[2]
private

Definition at line 166 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloPreShE[2]
private

Definition at line 167 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloPreShEta
private

Definition at line 170 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloPreShPhi
private

Definition at line 169 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloPreShToF[2]
private

Definition at line 168 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meGeantTrkE
private

Definition at line 141 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meGeantTrkPt
private

Definition at line 140 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meGeantVtxEta
private

Definition at line 142 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meGeantVtxMulti
private

Definition at line 145 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meGeantVtxPhi
private

Definition at line 143 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meGeantVtxRad[2]
private

Definition at line 144 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meGeantVtxX[2]
private

Definition at line 136 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meGeantVtxY[2]
private

Definition at line 137 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meGeantVtxZ[2]
private

Definition at line 138 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMCG4Trk[2]
private

Definition at line 139 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMCG4Vtx[2]
private

Definition at line 135 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMCRGP[2]
private

Definition at line 134 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMuon[2]
private

Definition at line 230 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMuonCscToF[2]
private

Definition at line 241 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMuonCscZ
private

Definition at line 242 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMuonDtR
private

Definition at line 237 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMuonDtToF[2]
private

Definition at line 236 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMuonEta
private

Definition at line 232 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMuonPhi
private

Definition at line 231 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMuonRpcBR
private

Definition at line 249 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMuonRpcBToF[2]
private

Definition at line 248 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMuonRpcFToF[2]
private

Definition at line 246 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMuonRpcFZ
private

Definition at line 247 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerPx[2]
private

Definition at line 187 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerPxBR
private

Definition at line 191 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerPxBToF
private

Definition at line 190 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerPxEta
private

Definition at line 189 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerPxFToF
private

Definition at line 192 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerPxFZ
private

Definition at line 193 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerPxPhi
private

Definition at line 188 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerSi[2]
private

Definition at line 205 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerSiBR
private

Definition at line 209 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerSiBToF
private

Definition at line 208 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerSiEta
private

Definition at line 207 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerSiFToF
private

Definition at line 210 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerSiFZ
private

Definition at line 211 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerSiPhi
private

Definition at line 206 of file GlobalHitsAnalyzer.h.

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

edm::InputTag GlobalHitsAnalyzer::MuonCscSrc_
private

Definition at line 243 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 244 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::MuonDtSrc_
private

Definition at line 238 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 239 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::MuonRpcSrc_
private

Definition at line 250 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 251 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

int GlobalHitsAnalyzer::nMuonHits
private

Definition at line 233 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon().

int GlobalHitsAnalyzer::nPxlHits
private

Definition at line 186 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk().

int GlobalHitsAnalyzer::nRawGenPart
private

Definition at line 146 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC().

int GlobalHitsAnalyzer::nSiHits
private

Definition at line 204 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk().

bool GlobalHitsAnalyzer::printProvenanceInfo
private

Definition at line 107 of file GlobalHitsAnalyzer.h.

Referenced by analyze(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::PxlBrlHighSrc_
private

Definition at line 195 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 199 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::PxlBrlLowSrc_
private

Definition at line 194 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 198 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::PxlFwdHighSrc_
private

Definition at line 197 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 201 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::PxlFwdLowSrc_
private

Definition at line 196 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 200 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::SiTECHighSrc_
private

Definition at line 219 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 227 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::SiTECLowSrc_
private

Definition at line 218 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 226 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::SiTIBHighSrc_
private

Definition at line 213 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 221 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::SiTIBLowSrc_
private

Definition at line 212 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 220 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::SiTIDHighSrc_
private

Definition at line 217 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 225 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::SiTIDLowSrc_
private

Definition at line 216 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 224 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::SiTOBHighSrc_
private

Definition at line 215 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 223 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::SiTOBLowSrc_
private

Definition at line 214 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 222 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::testNumber
private

Definition at line 108 of file GlobalHitsAnalyzer.h.

Referenced by fillHCal(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validEB
private

Definition at line 128 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validEE
private

Definition at line 129 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validG4trkContainer
private

Definition at line 112 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validG4VtxContainer
private

Definition at line 111 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validHcal
private

Definition at line 131 of file GlobalHitsAnalyzer.h.

Referenced by fillHCal(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validHepMCevt
private

Definition at line 110 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validMuonCSC
private

Definition at line 125 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validMuonDt
private

Definition at line 126 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validMuonRPC
private

Definition at line 127 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validPresh
private

Definition at line 130 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validPxlBrlHigh
private

Definition at line 114 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validPxlBrlLow
private

Definition at line 113 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validPxlFwdHigh
private

Definition at line 116 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validPxlFwdLow
private

Definition at line 115 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTECHigh
private

Definition at line 124 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTECLow
private

Definition at line 123 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTIBHigh
private

Definition at line 118 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTIBLow
private

Definition at line 117 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTIDHigh
private

Definition at line 122 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTIDLow
private

Definition at line 121 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTOBHigh
private

Definition at line 120 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTOBLow
private

Definition at line 119 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

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

Definition at line 104 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC(), and GlobalHitsAnalyzer().