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.

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

255 {}

Member Function Documentation

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

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

669  {
670  std::string MsgLoggerCat = "GlobalHitsAnalyzer_analyze";
671 
672  // keep track of number of events processed
673  ++count;
674 
675  // get event id information
676  edm::RunNumber_t nrun = iEvent.id().run();
677  edm::EventNumber_t nevt = iEvent.id().event();
678 
679  if (verbosity > 0) {
680  edm::LogInfo(MsgLoggerCat) << "Processing run " << nrun << ", event " << nevt << " (" << count << " events total)";
681  } else if (verbosity == 0) {
682  if (nevt % frequency == 0 || nevt == 1) {
683  edm::LogInfo(MsgLoggerCat) << "Processing run " << nrun << ", event " << nevt << " (" << count
684  << " events total)";
685  }
686  }
687 
688  // look at information available in the event
689  if (getAllProvenances) {
690  std::vector<const edm::StableProvenance *> AllProv;
691  iEvent.getAllStableProvenance(AllProv);
692 
693  if (verbosity >= 0)
694  edm::LogInfo(MsgLoggerCat) << "Number of Provenances = " << AllProv.size();
695 
696  if (printProvenanceInfo && (verbosity >= 0)) {
697  TString eventout("\nProvenance info:\n");
698 
699  for (unsigned int i = 0; i < AllProv.size(); ++i) {
700  eventout += "\n ******************************";
701  eventout += "\n Module : ";
702  eventout += AllProv[i]->moduleLabel();
703  eventout += "\n ProductID : ";
704  eventout += AllProv[i]->productID().id();
705  eventout += "\n ClassName : ";
706  eventout += AllProv[i]->className();
707  eventout += "\n InstanceName : ";
708  eventout += AllProv[i]->productInstanceName();
709  eventout += "\n BranchName : ";
710  eventout += AllProv[i]->branchName();
711  }
712  eventout += "\n ******************************\n";
713  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
714  printProvenanceInfo = false;
715  }
716  getAllProvenances = false;
717  }
718 
719  // call fill functions
720  // gather G4MC information from event
721  fillG4MC(iEvent);
722  // gather Tracker information from event
723  fillTrk(iEvent, iSetup);
724  // gather muon information from event
725  fillMuon(iEvent, iSetup);
726  // gather Ecal information from event
727  fillECal(iEvent, iSetup);
728  // gather Hcal information from event
729  fillHCal(iEvent, iSetup);
730 
731  if (verbosity > 0)
732  edm::LogInfo(MsgLoggerCat) << "Done gathering data from event.";
733 
734  return;
735 }
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:59
unsigned int RunNumber_t
void getAllStableProvenance(std::vector< StableProvenance const * > &provenances) const
Definition: Event.cc:117
void GlobalHitsAnalyzer::bookHistograms ( DQMStore::IBooker iBooker,
edm::Run const &  run,
edm::EventSetup const &  es 
)
overrideprotected

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

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

1550  {
1551  std::string MsgLoggerCat = "GlobalHitsAnalyzer_fillECal";
1552 
1553  TString eventout;
1554  if (verbosity > 0)
1555  eventout = "\nGathering info:";
1556 
1557  // access the calorimeter geometry
1558  edm::ESHandle<CaloGeometry> theCaloGeometry;
1559  iSetup.get<CaloGeometryRecord>().get(theCaloGeometry);
1560  if (!theCaloGeometry.isValid()) {
1561  edm::LogWarning(MsgLoggerCat) << "Unable to find CaloGeometryRecord in event!";
1562  return;
1563  }
1564  const CaloGeometry &theCalo(*theCaloGeometry);
1565 
1566  // iterator to access containers
1567  edm::PCaloHitContainer::const_iterator itHit;
1568 
1570  // get ECal information
1572  edm::PCaloHitContainer theECalHits;
1573  // extract EB container
1575  iEvent.getByToken(ECalEBSrc_Token_, EBContainer);
1576  if (!EBContainer.isValid()) {
1577  LogDebug(MsgLoggerCat) << "Unable to find EcalHitsEB in event!";
1578  validEB = false;
1579  }
1580  // extract EE container
1582  iEvent.getByToken(ECalEESrc_Token_, EEContainer);
1583  if (!EEContainer.isValid()) {
1584  LogDebug(MsgLoggerCat) << "Unable to find EcalHitsEE in event!";
1585  validEE = false;
1586  }
1587  // place both containers into new container
1588  if (validEB)
1589  theECalHits.insert(theECalHits.end(), EBContainer->begin(), EBContainer->end());
1590  if (validEE)
1591  theECalHits.insert(theECalHits.end(), EEContainer->begin(), EEContainer->end());
1592 
1593  // cycle through new container
1594  int i = 0, j = 0;
1595  for (itHit = theECalHits.begin(); itHit != theECalHits.end(); ++itHit) {
1596  ++i;
1597 
1598  // create a DetId from the detUnitId
1599  DetId theDetUnitId(itHit->id());
1600  int detector = theDetUnitId.det();
1601  int subdetector = theDetUnitId.subdetId();
1602 
1603  // check that expected detector is returned
1604  if ((detector == dEcal) && ((subdetector == sdEcalBrl) || (subdetector == sdEcalFwd))) {
1605  // get the Cell geometry
1606  auto theDet = (theCalo.getSubdetectorGeometry(theDetUnitId))->getGeometry(theDetUnitId);
1607 
1608  if (!theDet) {
1609  edm::LogWarning(MsgLoggerCat) << "Unable to get CaloCellGeometry from ECalHits for Hit " << i;
1610  continue;
1611  }
1612 
1613  ++j;
1614 
1615  // get the global position of the cell
1616  const GlobalPoint &globalposition = theDet->getPosition();
1617 
1618  if (meCaloEcalE[0])
1619  meCaloEcalE[0]->Fill(itHit->energy());
1620  if (meCaloEcalE[1])
1621  meCaloEcalE[1]->Fill(itHit->energy());
1622  if (meCaloEcalToF[0])
1623  meCaloEcalToF[0]->Fill(itHit->time());
1624  if (meCaloEcalToF[1])
1625  meCaloEcalToF[1]->Fill(itHit->time());
1626  if (meCaloEcalPhi)
1627  meCaloEcalPhi->Fill(globalposition.phi());
1628  if (meCaloEcalEta)
1629  meCaloEcalEta->Fill(globalposition.eta());
1630 
1631  } else {
1632  edm::LogWarning(MsgLoggerCat) << "ECal PCaloHit " << i << " is expected to be (det,subdet) = (" << dEcal << ","
1633  << sdEcalBrl << " || " << sdEcalFwd << "); value returned is: (" << detector << ","
1634  << subdetector << ")";
1635  continue;
1636  } // end detector type check
1637  } // end loop through ECal Hits
1638 
1639  if (verbosity > 1) {
1640  eventout += "\n Number of ECal Hits collected:............. ";
1641  eventout += j;
1642  }
1643 
1644  if (meCaloEcal[0])
1645  meCaloEcal[0]->Fill((float)j);
1646  if (meCaloEcal[1])
1647  meCaloEcal[1]->Fill((float)j);
1648 
1650  // Get Preshower information
1652  // extract PreShower container
1653  edm::Handle<edm::PCaloHitContainer> PreShContainer;
1654  iEvent.getByToken(ECalESSrc_Token_, PreShContainer);
1655  if (!PreShContainer.isValid()) {
1656  LogDebug(MsgLoggerCat) << "Unable to find EcalHitsES in event!";
1657  validPresh = false;
1658  }
1659 
1660  if (validPresh) {
1661  // cycle through container
1662  int i = 0, j = 0;
1663  for (itHit = PreShContainer->begin(); itHit != PreShContainer->end(); ++itHit) {
1664  ++i;
1665 
1666  // create a DetId from the detUnitId
1667  DetId theDetUnitId(itHit->id());
1668  int detector = theDetUnitId.det();
1669  int subdetector = theDetUnitId.subdetId();
1670 
1671  // check that expected detector is returned
1672  if ((detector == dEcal) && (subdetector == sdEcalPS)) {
1673  // get the Cell geometry
1674  auto theDet = (theCalo.getSubdetectorGeometry(theDetUnitId))->getGeometry(theDetUnitId);
1675 
1676  if (!theDet) {
1677  edm::LogWarning(MsgLoggerCat) << "Unable to get CaloCellGeometry from PreShContainer for Hit " << i;
1678  continue;
1679  }
1680 
1681  ++j;
1682 
1683  // get the global position of the cell
1684  const GlobalPoint &globalposition = theDet->getPosition();
1685 
1686  if (meCaloPreShE[0])
1687  meCaloPreShE[0]->Fill(itHit->energy());
1688  if (meCaloPreShE[1])
1689  meCaloPreShE[1]->Fill(itHit->energy());
1690  if (meCaloPreShToF[0])
1691  meCaloPreShToF[0]->Fill(itHit->time());
1692  if (meCaloPreShToF[1])
1693  meCaloPreShToF[1]->Fill(itHit->time());
1694  if (meCaloPreShPhi)
1695  meCaloPreShPhi->Fill(globalposition.phi());
1696  if (meCaloPreShEta)
1697  meCaloPreShEta->Fill(globalposition.eta());
1698 
1699  } else {
1700  edm::LogWarning(MsgLoggerCat) << "PreSh PCaloHit " << i << " is expected to be (det,subdet) = (" << dEcal << ","
1701  << sdEcalPS << "); value returned is: (" << detector << "," << subdetector << ")";
1702  continue;
1703  } // end detector type check
1704  } // end loop through PreShower Hits
1705 
1706  if (verbosity > 1) {
1707  eventout += "\n Number of PreSh Hits collected:............ ";
1708  eventout += j;
1709  }
1710 
1711  if (meCaloPreSh[0])
1712  meCaloPreSh[0]->Fill((float)j);
1713  if (meCaloPreSh[1])
1714  meCaloPreSh[1]->Fill((float)j);
1715  }
1716 
1717  if (verbosity > 0)
1718  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
1719 
1720  return;
1721 }
#define LogDebug(id)
static const int dEcal
std::vector< PCaloHit > PCaloHitContainer
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:517
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:71
bool isValid() const
Definition: ESHandle.h:44
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 738 of file GlobalHitsAnalyzer.cc.

References edm::Provenance::branchDescription(), MonitorElement::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().

738  {
739  std::string MsgLoggerCat = "GlobalHitsAnalyzer_fillG4MC";
740 
741  TString eventout;
742  if (verbosity > 0)
743  eventout = "\nGathering info:";
744 
746  // get MC information
749  std::vector<edm::Handle<edm::HepMCProduct>> AllHepMCEvt;
750  iEvent.getManyByType(AllHepMCEvt);
751 
752  // loop through products and extract VtxSmearing if available. Any of them
753  // should have the information needed
754  for (unsigned int i = 0; i < AllHepMCEvt.size(); ++i) {
755  HepMCEvt = AllHepMCEvt[i];
756  if ((HepMCEvt.provenance()->branchDescription()).moduleLabel() == "generatorSmeared")
757  break;
758  }
759 
760  if (!HepMCEvt.isValid()) {
761  LogDebug(MsgLoggerCat) << "Unable to find HepMCProduct in event!";
762  validHepMCevt = false;
763  } else {
764  eventout += "\n Using HepMCProduct: ";
765  eventout += (HepMCEvt.provenance()->branchDescription()).moduleLabel();
766  }
767  if (validHepMCevt) {
768  const HepMC::GenEvent *MCEvt = HepMCEvt->GetEvent();
769  nRawGenPart = MCEvt->particles_size();
770 
771  if (verbosity > 1) {
772  eventout += "\n Number of Raw Particles collected:......... ";
773  eventout += nRawGenPart;
774  }
775 
776  if (meMCRGP[0])
777  meMCRGP[0]->Fill((float)nRawGenPart);
778  if (meMCRGP[1])
779  meMCRGP[1]->Fill((float)nRawGenPart);
780  }
781 
783  // get G4Vertex information
785  // convert unit stored in SimVertex to mm
786  float unit = 0.;
787  if (vtxunit == 0)
788  unit = 1.; // already in mm
789  if (vtxunit == 1)
790  unit = 10.; // stored in cm, convert to mm
791 
793  iEvent.getByToken(G4VtxSrc_Token_, G4VtxContainer);
794 
795  // needed here by vertex multiplicity
797  iEvent.getByToken(G4TrkSrc_Token_, G4TrkContainer);
798 
799  if (!G4VtxContainer.isValid()) {
800  LogDebug(MsgLoggerCat) << "Unable to find SimVertex in event!";
801  validG4VtxContainer = false;
802  }
803  if (validG4VtxContainer) {
804  int i = 0;
805  edm::SimVertexContainer::const_iterator itVtx;
806  for (itVtx = G4VtxContainer->begin(); itVtx != G4VtxContainer->end(); ++itVtx) {
807  ++i;
808 
809  const math::XYZTLorentzVector G4Vtx1(
810  itVtx->position().x(), itVtx->position().y(), itVtx->position().z(), itVtx->position().e());
811 
812  double G4Vtx[4];
813  G4Vtx1.GetCoordinates(G4Vtx);
814 
815  if (meGeantVtxX[0])
816  meGeantVtxX[0]->Fill((G4Vtx[0] * unit) / micrometer);
817  if (meGeantVtxX[1])
818  meGeantVtxX[1]->Fill((G4Vtx[0] * unit) / micrometer);
819 
820  if (meGeantVtxY[0])
821  meGeantVtxY[0]->Fill((G4Vtx[1] * unit) / micrometer);
822  if (meGeantVtxY[1])
823  meGeantVtxY[1]->Fill((G4Vtx[1] * unit) / micrometer);
824 
825  if (meGeantVtxZ[0])
826  meGeantVtxZ[0]->Fill((G4Vtx[2] * unit) / millimeter);
827  if (meGeantVtxZ[1])
828  meGeantVtxZ[1]->Fill((G4Vtx[2] * unit) / millimeter);
829 
830  if (meGeantVtxEta)
831  meGeantVtxEta->Fill(G4Vtx1.eta());
832  if (meGeantVtxPhi)
833  meGeantVtxPhi->Fill(G4Vtx1.phi());
834  if (meGeantVtxRad[0])
835  meGeantVtxRad[0]->Fill(G4Vtx1.rho());
836  if (meGeantVtxRad[1])
837  meGeantVtxRad[1]->Fill(G4Vtx1.rho());
838 
839  if (meGeantVtxMulti) {
840  int multi = 0;
841  if (G4TrkContainer.isValid()) {
842  edm::SimTrackContainer::const_iterator itTrk;
843  for (itTrk = G4TrkContainer->begin(); itTrk != G4TrkContainer->end(); ++itTrk) {
844  if ((*itTrk).vertIndex() == i) {
845  multi++;
846  }
847  }
848  }
849  meGeantVtxMulti->Fill(((double)multi + 0.5));
850  }
851  }
852 
853  if (verbosity > 1) {
854  eventout += "\n Number of G4Vertices collected:............ ";
855  eventout += i;
856  }
857 
858  if (meMCG4Vtx[0])
859  meMCG4Vtx[0]->Fill((float)i);
860  if (meMCG4Vtx[1])
861  meMCG4Vtx[1]->Fill((float)i);
862  }
863 
865  // get G4Track information
867  if (!G4TrkContainer.isValid()) {
868  LogDebug(MsgLoggerCat) << "Unable to find SimTrack in event!";
869  validG4trkContainer = false;
870  }
871  if (validG4trkContainer) {
872  int i = 0;
873  edm::SimTrackContainer::const_iterator itTrk;
874  for (itTrk = G4TrkContainer->begin(); itTrk != G4TrkContainer->end(); ++itTrk) {
875  ++i;
876 
877  const math::XYZTLorentzVector G4Trk1(
878  itTrk->momentum().x(), itTrk->momentum().y(), itTrk->momentum().z(), itTrk->momentum().e());
879  double G4Trk[4];
880  G4Trk1.GetCoordinates(G4Trk);
881 
882  if (meGeantTrkPt)
883  meGeantTrkPt->Fill(std::log10(std::max(sqrt(G4Trk[0] * G4Trk[0] + G4Trk[1] * G4Trk[1]), -9.)));
884  if (meGeantTrkE)
885  meGeantTrkE->Fill(std::log10(std::max(G4Trk[3], -9.)));
886  }
887 
888  if (verbosity > 1) {
889  eventout += "\n Number of G4Tracks collected:.............. ";
890  eventout += i;
891  }
892 
893  if (meMCG4Trk[0])
894  meMCG4Trk[0]->Fill((float)i);
895  if (meMCG4Trk[1])
896  meMCG4Trk[1]->Fill((float)i);
897  }
898 
899  if (verbosity > 0)
900  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
901 
902  return;
903 }
#define LogDebug(id)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:517
MonitorElement * meGeantVtxRad[2]
MonitorElement * meMCG4Trk[2]
void getManyByType(std::vector< Handle< PROD >> &results) const
Definition: Event.h:508
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
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 1723 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().

1723  {
1724  std::string MsgLoggerCat = "GlobalHitsAnalyzer_fillHCal";
1725 
1726  TString eventout;
1727  if (verbosity > 0)
1728  eventout = "\nGathering info:";
1729 
1730  // access the calorimeter geometry
1731  edm::ESHandle<CaloGeometry> theCaloGeometry;
1732  iSetup.get<CaloGeometryRecord>().get(theCaloGeometry);
1733  if (!theCaloGeometry.isValid()) {
1734  edm::LogWarning(MsgLoggerCat) << "Unable to find CaloGeometryRecord in event!";
1735  return;
1736  }
1737  const CaloGeometry &theCalo(*theCaloGeometry);
1738 
1740  iSetup.get<HcalRecNumberingRecord>().get(pHRNDC);
1741  const HcalDDDRecConstants *hcons = &(*pHRNDC);
1742 
1743  // iterator to access containers
1744  edm::PCaloHitContainer::const_iterator itHit;
1745 
1747  // get HCal information
1749  // extract HCal container
1751  iEvent.getByToken(HCalSrc_Token_, HCalContainer);
1752  if (!HCalContainer.isValid()) {
1753  LogDebug(MsgLoggerCat) << "Unable to find HCalHits in event!";
1754  validHcal = false;
1755  }
1756 
1757  if (validHcal) {
1758  // cycle through container
1759  int i = 0, j = 0;
1760  for (itHit = HCalContainer->begin(); itHit != HCalContainer->end(); ++itHit) {
1761  ++i;
1762 
1763  // create a DetId from the detUnitId
1764  DetId theDetUnitId;
1765  unsigned int id_ = itHit->id();
1766  if (testNumber)
1767  theDetUnitId = HcalHitRelabeller::relabel(id_, hcons);
1768  else
1769  theDetUnitId = id_;
1770 
1771  int detector = theDetUnitId.det();
1772  int subdetector = theDetUnitId.subdetId();
1773 
1774  // check that expected detector is returned
1775  if ((detector == dHcal) && ((subdetector == sdHcalBrl) || (subdetector == sdHcalEC) ||
1776  (subdetector == sdHcalOut) || (subdetector == sdHcalFwd))) {
1777  // get the Cell geometry
1778  const HcalGeometry *theDet = dynamic_cast<const HcalGeometry *>(theCalo.getSubdetectorGeometry(theDetUnitId));
1779 
1780  if (!theDet) {
1781  edm::LogWarning(MsgLoggerCat) << "Unable to get HcalGeometry from HCalContainer for Hit " << i;
1782  continue;
1783  }
1784 
1785  ++j;
1786 
1787  // get the global position of the cell
1788  const GlobalPoint &globalposition = theDet->getPosition(theDetUnitId);
1789 
1790  if (meCaloHcalE[0])
1791  meCaloHcalE[0]->Fill(itHit->energy());
1792  if (meCaloHcalE[1])
1793  meCaloHcalE[1]->Fill(itHit->energy());
1794  if (meCaloHcalToF[0])
1795  meCaloHcalToF[0]->Fill(itHit->time());
1796  if (meCaloHcalToF[1])
1797  meCaloHcalToF[1]->Fill(itHit->time());
1798  if (meCaloHcalPhi)
1799  meCaloHcalPhi->Fill(globalposition.phi());
1800  if (meCaloHcalEta)
1801  meCaloHcalEta->Fill(globalposition.eta());
1802 
1803  } else {
1804  edm::LogWarning(MsgLoggerCat) << "HCal PCaloHit " << i << " is expected to be (det,subdet) = (" << dHcal << ","
1805  << sdHcalBrl << " || " << sdHcalEC << " || " << sdHcalOut << " || " << sdHcalFwd
1806  << "); value returned is: (" << detector << "," << subdetector << ")";
1807  continue;
1808  } // end detector type check
1809  } // end loop through HCal Hits
1810 
1811  if (verbosity > 1) {
1812  eventout += "\n Number of HCal Hits collected:............. ";
1813  eventout += j;
1814  }
1815 
1816  if (meCaloHcal[0])
1817  meCaloHcal[0]->Fill((float)j);
1818  if (meCaloHcal[1])
1819  meCaloHcal[1]->Fill((float)j);
1820  }
1821 
1822  if (verbosity > 0)
1823  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
1824 
1825  return;
1826 }
#define LogDebug(id)
static const int sdHcalOut
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:517
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:71
edm::EDGetTokenT< edm::PCaloHitContainer > HCalSrc_Token_
DetId relabel(const uint32_t testId) const
MonitorElement * meCaloHcalPhi
bool isValid() const
Definition: ESHandle.h:44
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 1272 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().

1272  {
1273  nMuonHits = 0;
1274  std::string MsgLoggerCat = "GlobalHitsAnalyzer_fillMuon";
1275 
1276  TString eventout;
1277  if (verbosity > 0)
1278  eventout = "\nGathering info:";
1279 
1280  // iterator to access containers
1281  edm::PSimHitContainer::const_iterator itHit;
1282 
1284  // access the CSC Muon
1286  // access the CSC Muon geometry
1287  edm::ESHandle<CSCGeometry> theCSCGeometry;
1288  iSetup.get<MuonGeometryRecord>().get(theCSCGeometry);
1289  if (!theCSCGeometry.isValid()) {
1290  edm::LogWarning(MsgLoggerCat) << "Unable to find MuonGeometryRecord for the CSCGeometry in event!";
1291  return;
1292  }
1293  const CSCGeometry &theCSCMuon(*theCSCGeometry);
1294 
1295  // get Muon CSC information
1296  edm::Handle<edm::PSimHitContainer> MuonCSCContainer;
1297  iEvent.getByToken(MuonCscSrc_Token_, MuonCSCContainer);
1298  if (!MuonCSCContainer.isValid()) {
1299  LogDebug(MsgLoggerCat) << "Unable to find MuonCSCHits in event!";
1300  validMuonCSC = false;
1301  }
1302 
1303  if (validMuonCSC) {
1304  // cycle through container
1305  int i = 0, j = 0;
1306  for (itHit = MuonCSCContainer->begin(); itHit != MuonCSCContainer->end(); ++itHit) {
1307  ++i;
1308 
1309  // create a DetId from the detUnitId
1310  DetId theDetUnitId(itHit->detUnitId());
1311  int detector = theDetUnitId.det();
1312  int subdetector = theDetUnitId.subdetId();
1313 
1314  // check that expected detector is returned
1315  if ((detector == dMuon) && (subdetector == sdMuonCSC)) {
1316  // get the GeomDetUnit from the geometry using theDetUnitID
1317  const GeomDetUnit *theDet = theCSCMuon.idToDetUnit(theDetUnitId);
1318 
1319  if (!theDet) {
1320  edm::LogWarning(MsgLoggerCat) << "Unable to get GeomDetUnit from theCSCMuon for hit " << i;
1321  continue;
1322  }
1323 
1324  ++j;
1325 
1326  // get the Surface of the hit (knows how to go from local <-> global)
1327  const BoundPlane &bSurface = theDet->surface();
1328 
1329  if (meMuonCscToF[0])
1330  meMuonCscToF[0]->Fill(itHit->tof());
1331  if (meMuonCscToF[1])
1332  meMuonCscToF[1]->Fill(itHit->tof());
1333  if (meMuonCscZ)
1334  meMuonCscZ->Fill(bSurface.toGlobal(itHit->localPosition()).z());
1335  if (meMuonPhi)
1336  meMuonPhi->Fill(bSurface.toGlobal(itHit->localPosition()).phi());
1337  if (meMuonEta)
1338  meMuonEta->Fill(bSurface.toGlobal(itHit->localPosition()).eta());
1339 
1340  } else {
1341  edm::LogWarning(MsgLoggerCat) << "MuonCsc PSimHit " << i << " is expected to be (det,subdet) = (" << dMuon
1342  << "," << sdMuonCSC << "); value returned is: (" << detector << "," << subdetector
1343  << ")";
1344  continue;
1345  } // end detector type check
1346  } // end loop through CSC Hits
1347 
1348  if (verbosity > 1) {
1349  eventout += "\n Number of CSC muon Hits collected:......... ";
1350  eventout += j;
1351  }
1352 
1353  nMuonHits += j;
1354  }
1355 
1357  // access the DT Muon
1359  // access the DT Muon geometry
1360  edm::ESHandle<DTGeometry> theDTGeometry;
1361  iSetup.get<MuonGeometryRecord>().get(theDTGeometry);
1362  if (!theDTGeometry.isValid()) {
1363  edm::LogWarning(MsgLoggerCat) << "Unable to find MuonGeometryRecord for the DTGeometry in event!";
1364  return;
1365  }
1366  const DTGeometry &theDTMuon(*theDTGeometry);
1367 
1368  // get Muon DT information
1369  edm::Handle<edm::PSimHitContainer> MuonDtContainer;
1370  iEvent.getByToken(MuonDtSrc_Token_, MuonDtContainer);
1371  if (!MuonDtContainer.isValid()) {
1372  LogDebug(MsgLoggerCat) << "Unable to find MuonDTHits in event!";
1373  validMuonDt = false;
1374  }
1375 
1376  if (validMuonDt) {
1377  // cycle through container
1378  int i = 0, j = 0;
1379  for (itHit = MuonDtContainer->begin(); itHit != MuonDtContainer->end(); ++itHit) {
1380  ++i;
1381 
1382  // create a DetId from the detUnitId
1383  DetId theDetUnitId(itHit->detUnitId());
1384  int detector = theDetUnitId.det();
1385  int subdetector = theDetUnitId.subdetId();
1386 
1387  // check that expected detector is returned
1388  if ((detector == dMuon) && (subdetector == sdMuonDT)) {
1389  // CSC uses wires and layers rather than the full detID
1390  // get the wireId
1391  DTWireId wireId(itHit->detUnitId());
1392 
1393  // get the DTLayer from the geometry using the wireID
1394  const DTLayer *theDet = theDTMuon.layer(wireId.layerId());
1395 
1396  if (!theDet) {
1397  edm::LogWarning(MsgLoggerCat) << "Unable to get GeomDetUnit from theDtMuon for hit " << i;
1398  continue;
1399  }
1400 
1401  ++j;
1402 
1403  // get the Surface of the hit (knows how to go from local <-> global)
1404  const BoundPlane &bSurface = theDet->surface();
1405 
1406  if (meMuonDtToF[0])
1407  meMuonDtToF[0]->Fill(itHit->tof());
1408  if (meMuonDtToF[1])
1409  meMuonDtToF[1]->Fill(itHit->tof());
1410  if (meMuonDtR)
1411  meMuonDtR->Fill(bSurface.toGlobal(itHit->localPosition()).perp());
1412  if (meMuonPhi)
1413  meMuonPhi->Fill(bSurface.toGlobal(itHit->localPosition()).phi());
1414  if (meMuonEta)
1415  meMuonEta->Fill(bSurface.toGlobal(itHit->localPosition()).eta());
1416 
1417  } else {
1418  edm::LogWarning(MsgLoggerCat) << "MuonDt PSimHit " << i << " is expected to be (det,subdet) = (" << dMuon << ","
1419  << sdMuonDT << "); value returned is: (" << detector << "," << subdetector << ")";
1420  continue;
1421  } // end detector type check
1422  } // end loop through DT Hits
1423 
1424  if (verbosity > 1) {
1425  eventout += "\n Number of DT muon Hits collected:.......... ";
1426  eventout += j;
1427  }
1428 
1429  nMuonHits += j;
1430  }
1431 
1432  // int RPCBrl = 0, RPCFwd = 0;
1434  // access the RPC Muon
1436  // access the RPC Muon geometry
1437  edm::ESHandle<RPCGeometry> theRPCGeometry;
1438  iSetup.get<MuonGeometryRecord>().get(theRPCGeometry);
1439  if (!theRPCGeometry.isValid()) {
1440  edm::LogWarning(MsgLoggerCat) << "Unable to find MuonGeometryRecord for the RPCGeometry in event!";
1441  return;
1442  }
1443  const RPCGeometry &theRPCMuon(*theRPCGeometry);
1444 
1445  // get Muon RPC information
1446  edm::Handle<edm::PSimHitContainer> MuonRPCContainer;
1447  iEvent.getByToken(MuonRpcSrc_Token_, MuonRPCContainer);
1448  if (!MuonRPCContainer.isValid()) {
1449  LogDebug(MsgLoggerCat) << "Unable to find MuonRPCHits in event!";
1450  validMuonRPC = false;
1451  }
1452 
1453  if (validMuonRPC) {
1454  // cycle through container
1455  int i = 0, j = 0;
1456  int RPCBrl = 0, RPCFwd = 0;
1457  for (itHit = MuonRPCContainer->begin(); itHit != MuonRPCContainer->end(); ++itHit) {
1458  ++i;
1459 
1460  // create a DetID from the detUnitId
1461  DetId theDetUnitId(itHit->detUnitId());
1462  int detector = theDetUnitId.det();
1463  int subdetector = theDetUnitId.subdetId();
1464 
1465  // check that expected detector is returned
1466  if ((detector == dMuon) && (subdetector == sdMuonRPC)) {
1467  // get an RPCDetID from the detUnitID
1468  RPCDetId RPCId(itHit->detUnitId());
1469 
1470  // find the region of the RPC hit
1471  int region = RPCId.region();
1472 
1473  // get the GeomDetUnit from the geometry using the RPCDetId
1474  const GeomDetUnit *theDet = theRPCMuon.idToDetUnit(theDetUnitId);
1475 
1476  if (!theDet) {
1477  edm::LogWarning(MsgLoggerCat) << "Unable to get GeomDetUnit from theRPCMuon for hit " << i;
1478  continue;
1479  }
1480 
1481  ++j;
1482 
1483  // get the Surface of the hit (knows how to go from local <-> global)
1484  const BoundPlane &bSurface = theDet->surface();
1485 
1486  // gather necessary information
1487  if ((region == sdMuonRPCRgnFwdp) || (region == sdMuonRPCRgnFwdn)) {
1488  ++RPCFwd;
1489 
1490  if (meMuonRpcFToF[0])
1491  meMuonRpcFToF[0]->Fill(itHit->tof());
1492  if (meMuonRpcFToF[1])
1493  meMuonRpcFToF[1]->Fill(itHit->tof());
1494  if (meMuonRpcFZ)
1495  meMuonRpcFZ->Fill(bSurface.toGlobal(itHit->localPosition()).z());
1496  if (meMuonPhi)
1497  meMuonPhi->Fill(bSurface.toGlobal(itHit->localPosition()).phi());
1498  if (meMuonEta)
1499  meMuonEta->Fill(bSurface.toGlobal(itHit->localPosition()).eta());
1500 
1501  } else if (region == sdMuonRPCRgnBrl) {
1502  ++RPCBrl;
1503 
1504  if (meMuonRpcBToF[0])
1505  meMuonRpcBToF[0]->Fill(itHit->tof());
1506  if (meMuonRpcBToF[1])
1507  meMuonRpcBToF[1]->Fill(itHit->tof());
1508  if (meMuonRpcBR)
1509  meMuonRpcBR->Fill(bSurface.toGlobal(itHit->localPosition()).perp());
1510  if (meMuonPhi)
1511  meMuonPhi->Fill(bSurface.toGlobal(itHit->localPosition()).phi());
1512  if (meMuonEta)
1513  meMuonEta->Fill(bSurface.toGlobal(itHit->localPosition()).eta());
1514 
1515  } else {
1516  edm::LogWarning(MsgLoggerCat) << "Invalid region for RPC Muon hit" << i;
1517  continue;
1518  } // end check of region
1519  } else {
1520  edm::LogWarning(MsgLoggerCat) << "MuonRpc PSimHit " << i << " is expected to be (det,subdet) = (" << dMuon
1521  << "," << sdMuonRPC << "); value returned is: (" << detector << "," << subdetector
1522  << ")";
1523  continue;
1524  } // end detector type check
1525  } // end loop through RPC Hits
1526 
1527  if (verbosity > 1) {
1528  eventout += "\n Number of RPC muon Hits collected:......... ";
1529  eventout += j;
1530  eventout += "\n RPC Barrel muon Hits:............ ";
1531  eventout += RPCBrl;
1532  eventout += "\n RPC Forward muon Hits:........... ";
1533  eventout += RPCFwd;
1534  }
1535 
1536  nMuonHits += j;
1537  }
1538 
1539  if (meMuon[0])
1540  meMuon[0]->Fill((float)nMuonHits);
1541  if (meMuon[1])
1542  meMuon[1]->Fill((float)nMuonHits);
1543 
1544  if (verbosity > 0)
1545  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
1546 
1547  return;
1548 }
#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:517
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:71
MonitorElement * meMuonDtR
bool isValid() const
Definition: ESHandle.h:44
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 905 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().

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

Referenced by analyze().

edm::InputTag GlobalHitsAnalyzer::ECalEBSrc_
private

Definition at line 154 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 156 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::ECalEESrc_
private

Definition at line 155 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 157 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::ECalESSrc_
private

Definition at line 165 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 166 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

std::string GlobalHitsAnalyzer::fName
private

Definition at line 95 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

int GlobalHitsAnalyzer::frequency
private

Definition at line 97 of file GlobalHitsAnalyzer.h.

Referenced by analyze(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::G4TrkSrc_
private

Definition at line 143 of file GlobalHitsAnalyzer.h.

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

Definition at line 145 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC().

edm::InputTag GlobalHitsAnalyzer::G4VtxSrc_
private

Definition at line 142 of file GlobalHitsAnalyzer.h.

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

Definition at line 144 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC().

bool GlobalHitsAnalyzer::getAllProvenances
private

Definition at line 100 of file GlobalHitsAnalyzer.h.

Referenced by analyze(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::HCalSrc_
private

Definition at line 175 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 176 of file GlobalHitsAnalyzer.h.

Referenced by fillHCal(), and GlobalHitsAnalyzer().

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

Definition at line 149 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloEcalE[2]
private

Definition at line 150 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloEcalEta
private

Definition at line 153 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloEcalPhi
private

Definition at line 152 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloEcalToF[2]
private

Definition at line 151 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloHcal[2]
private

Definition at line 170 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloHcalE[2]
private

Definition at line 171 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloHcalEta
private

Definition at line 174 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloHcalPhi
private

Definition at line 173 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloHcalToF[2]
private

Definition at line 172 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloPreSh[2]
private

Definition at line 160 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloPreShE[2]
private

Definition at line 161 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloPreShEta
private

Definition at line 164 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloPreShPhi
private

Definition at line 163 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloPreShToF[2]
private

Definition at line 162 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meGeantTrkE
private

Definition at line 135 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meGeantTrkPt
private

Definition at line 134 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meGeantVtxEta
private

Definition at line 136 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meGeantVtxMulti
private

Definition at line 139 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meGeantVtxPhi
private

Definition at line 137 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meGeantVtxRad[2]
private

Definition at line 138 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meGeantVtxX[2]
private

Definition at line 130 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meGeantVtxY[2]
private

Definition at line 131 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meGeantVtxZ[2]
private

Definition at line 132 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMCG4Trk[2]
private

Definition at line 133 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMCG4Vtx[2]
private

Definition at line 129 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMCRGP[2]
private

Definition at line 128 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMuon[2]
private

Definition at line 224 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMuonCscToF[2]
private

Definition at line 235 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMuonCscZ
private

Definition at line 236 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMuonDtR
private

Definition at line 231 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMuonDtToF[2]
private

Definition at line 230 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMuonEta
private

Definition at line 226 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMuonPhi
private

Definition at line 225 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMuonRpcBR
private

Definition at line 243 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMuonRpcBToF[2]
private

Definition at line 242 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMuonRpcFToF[2]
private

Definition at line 240 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMuonRpcFZ
private

Definition at line 241 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerPx[2]
private

Definition at line 181 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerPxBR
private

Definition at line 185 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerPxBToF
private

Definition at line 184 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerPxEta
private

Definition at line 183 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerPxFToF
private

Definition at line 186 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerPxFZ
private

Definition at line 187 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerPxPhi
private

Definition at line 182 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerSi[2]
private

Definition at line 199 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerSiBR
private

Definition at line 203 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerSiBToF
private

Definition at line 202 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerSiEta
private

Definition at line 201 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerSiFToF
private

Definition at line 204 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerSiFZ
private

Definition at line 205 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerSiPhi
private

Definition at line 200 of file GlobalHitsAnalyzer.h.

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

edm::InputTag GlobalHitsAnalyzer::MuonCscSrc_
private

Definition at line 237 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 238 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::MuonDtSrc_
private

Definition at line 232 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 233 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::MuonRpcSrc_
private

Definition at line 244 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 245 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

int GlobalHitsAnalyzer::nMuonHits
private

Definition at line 227 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon().

int GlobalHitsAnalyzer::nPxlHits
private

Definition at line 180 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk().

int GlobalHitsAnalyzer::nRawGenPart
private

Definition at line 140 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC().

int GlobalHitsAnalyzer::nSiHits
private

Definition at line 198 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk().

bool GlobalHitsAnalyzer::printProvenanceInfo
private

Definition at line 101 of file GlobalHitsAnalyzer.h.

Referenced by analyze(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::PxlBrlHighSrc_
private

Definition at line 189 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 193 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::PxlBrlLowSrc_
private

Definition at line 188 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 192 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::PxlFwdHighSrc_
private

Definition at line 191 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 195 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::PxlFwdLowSrc_
private

Definition at line 190 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 194 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::SiTECHighSrc_
private

Definition at line 213 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 221 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::SiTECLowSrc_
private

Definition at line 212 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 220 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::SiTIBHighSrc_
private

Definition at line 207 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 215 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::SiTIBLowSrc_
private

Definition at line 206 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 214 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::SiTIDHighSrc_
private

Definition at line 211 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 219 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::SiTIDLowSrc_
private

Definition at line 210 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 218 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::SiTOBHighSrc_
private

Definition at line 209 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 217 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::SiTOBLowSrc_
private

Definition at line 208 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 216 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::testNumber
private

Definition at line 102 of file GlobalHitsAnalyzer.h.

Referenced by fillHCal(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validEB
private

Definition at line 122 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validEE
private

Definition at line 123 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validG4trkContainer
private

Definition at line 106 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validG4VtxContainer
private

Definition at line 105 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validHcal
private

Definition at line 125 of file GlobalHitsAnalyzer.h.

Referenced by fillHCal(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validHepMCevt
private

Definition at line 104 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validMuonCSC
private

Definition at line 119 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validMuonDt
private

Definition at line 120 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validMuonRPC
private

Definition at line 121 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validPresh
private

Definition at line 124 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validPxlBrlHigh
private

Definition at line 108 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validPxlBrlLow
private

Definition at line 107 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validPxlFwdHigh
private

Definition at line 110 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validPxlFwdLow
private

Definition at line 109 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTECHigh
private

Definition at line 118 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTECLow
private

Definition at line 117 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTIBHigh
private

Definition at line 112 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTIBLow
private

Definition at line 111 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTIDHigh
private

Definition at line 116 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTIDLow
private

Definition at line 115 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTOBHigh
private

Definition at line 114 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTOBLow
private

Definition at line 113 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

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

Definition at line 98 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC(), and GlobalHitsAnalyzer().