CMS 3D CMS Logo

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

#include <GlobalHitsAnalyzer.h>

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

Public Member Functions

virtual void analyze (const edm::Event &, const edm::EventSetup &)
 
 GlobalHitsAnalyzer (const edm::ParameterSet &)
 
virtual ~GlobalHitsAnalyzer ()
 
- Public Member Functions inherited from DQMEDAnalyzer
virtual void beginRun (edm::Run const &, edm::EventSetup const &) final
 
virtual void beginStream (edm::StreamID id) final
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer (void)
 
virtual void endLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
virtual void endRunSummary (edm::Run const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
uint32_t streamId () const
 
- Public Member Functions inherited from edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
 EDAnalyzer ()=default
 
- Public Member Functions inherited from edm::stream::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDAnalyzerBase ()
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (std::string const &iProcessName, std::string const &iModuleLabel, bool iPrint, std::vector< char const * > &oModuleLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Protected Member Functions

void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Private Member Functions

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

Private Attributes

unsigned int count
 
edm::InputTag ECalEBSrc_
 
edm::EDGetTokenT
< edm::PCaloHitContainer
ECalEBSrc_Token_
 
edm::InputTag ECalEESrc_
 
edm::EDGetTokenT
< edm::PCaloHitContainer
ECalEESrc_Token_
 
edm::InputTag ECalESSrc_
 
edm::EDGetTokenT
< edm::PCaloHitContainer
ECalESSrc_Token_
 
std::string fName
 
int frequency
 
edm::InputTag G4TrkSrc_
 
edm::EDGetTokenT
< edm::SimTrackContainer
G4TrkSrc_Token_
 
edm::InputTag G4VtxSrc_
 
edm::EDGetTokenT
< edm::SimVertexContainer
G4VtxSrc_Token_
 
bool getAllProvenances
 
edm::InputTag HCalSrc_
 
edm::EDGetTokenT
< edm::PCaloHitContainer
HCalSrc_Token_
 
std::string label
 
MonitorElementmeCaloEcal [2]
 
MonitorElementmeCaloEcalE [2]
 
MonitorElementmeCaloEcalEta
 
MonitorElementmeCaloEcalPhi
 
MonitorElementmeCaloEcalToF [2]
 
MonitorElementmeCaloHcal [2]
 
MonitorElementmeCaloHcalE [2]
 
MonitorElementmeCaloHcalEta
 
MonitorElementmeCaloHcalPhi
 
MonitorElementmeCaloHcalToF [2]
 
MonitorElementmeCaloPreSh [2]
 
MonitorElementmeCaloPreShE [2]
 
MonitorElementmeCaloPreShEta
 
MonitorElementmeCaloPreShPhi
 
MonitorElementmeCaloPreShToF [2]
 
MonitorElementmeGeantTrkE
 
MonitorElementmeGeantTrkPt
 
MonitorElementmeGeantVtxEta
 
MonitorElementmeGeantVtxMulti
 
MonitorElementmeGeantVtxPhi
 
MonitorElementmeGeantVtxRad [2]
 
MonitorElementmeGeantVtxX [2]
 
MonitorElementmeGeantVtxY [2]
 
MonitorElementmeGeantVtxZ [2]
 
MonitorElementmeMCG4Trk [2]
 
MonitorElementmeMCG4Vtx [2]
 
MonitorElementmeMCRGP [2]
 
MonitorElementmeMuon [2]
 
MonitorElementmeMuonCscToF [2]
 
MonitorElementmeMuonCscZ
 
MonitorElementmeMuonDtR
 
MonitorElementmeMuonDtToF [2]
 
MonitorElementmeMuonEta
 
MonitorElementmeMuonPhi
 
MonitorElementmeMuonRpcBR
 
MonitorElementmeMuonRpcBToF [2]
 
MonitorElementmeMuonRpcFToF [2]
 
MonitorElementmeMuonRpcFZ
 
MonitorElementmeTrackerPx [2]
 
MonitorElementmeTrackerPxBR
 
MonitorElementmeTrackerPxBToF
 
MonitorElementmeTrackerPxEta
 
MonitorElementmeTrackerPxFToF
 
MonitorElementmeTrackerPxFZ
 
MonitorElementmeTrackerPxPhi
 
MonitorElementmeTrackerSi [2]
 
MonitorElementmeTrackerSiBR
 
MonitorElementmeTrackerSiBToF
 
MonitorElementmeTrackerSiEta
 
MonitorElementmeTrackerSiFToF
 
MonitorElementmeTrackerSiFZ
 
MonitorElementmeTrackerSiPhi
 
edm::InputTag MuonCscSrc_
 
edm::EDGetTokenT
< edm::PSimHitContainer
MuonCscSrc_Token_
 
edm::InputTag MuonDtSrc_
 
edm::EDGetTokenT
< edm::PSimHitContainer
MuonDtSrc_Token_
 
edm::InputTag MuonRpcSrc_
 
edm::EDGetTokenT
< edm::PSimHitContainer
MuonRpcSrc_Token_
 
int nMuonHits
 
int nPxlHits
 
int nRawGenPart
 
int nSiHits
 
bool printProvenanceInfo
 
edm::InputTag PxlBrlHighSrc_
 
edm::EDGetTokenT
< edm::PSimHitContainer
PxlBrlHighSrc_Token_
 
edm::InputTag PxlBrlLowSrc_
 
edm::EDGetTokenT
< edm::PSimHitContainer
PxlBrlLowSrc_Token_
 
edm::InputTag PxlFwdHighSrc_
 
edm::EDGetTokenT
< edm::PSimHitContainer
PxlFwdHighSrc_Token_
 
edm::InputTag PxlFwdLowSrc_
 
edm::EDGetTokenT
< edm::PSimHitContainer
PxlFwdLowSrc_Token_
 
edm::InputTag SiTECHighSrc_
 
edm::EDGetTokenT
< edm::PSimHitContainer
SiTECHighSrc_Token_
 
edm::InputTag SiTECLowSrc_
 
edm::EDGetTokenT
< edm::PSimHitContainer
SiTECLowSrc_Token_
 
edm::InputTag SiTIBHighSrc_
 
edm::EDGetTokenT
< edm::PSimHitContainer
SiTIBHighSrc_Token_
 
edm::InputTag SiTIBLowSrc_
 
edm::EDGetTokenT
< edm::PSimHitContainer
SiTIBLowSrc_Token_
 
edm::InputTag SiTIDHighSrc_
 
edm::EDGetTokenT
< edm::PSimHitContainer
SiTIDHighSrc_Token_
 
edm::InputTag SiTIDLowSrc_
 
edm::EDGetTokenT
< edm::PSimHitContainer
SiTIDLowSrc_Token_
 
edm::InputTag SiTOBHighSrc_
 
edm::EDGetTokenT
< edm::PSimHitContainer
SiTOBHighSrc_Token_
 
edm::InputTag SiTOBLowSrc_
 
edm::EDGetTokenT
< edm::PSimHitContainer
SiTOBLowSrc_Token_
 
bool validEB
 
bool validEE
 
bool validG4trkContainer
 
bool validG4VtxContainer
 
bool validHcal
 
bool validHepMCevt
 
bool validMuonCSC
 
bool validMuonDt
 
bool validMuonRPC
 
bool validPresh
 
bool validPxlBrlHigh
 
bool validPxlBrlLow
 
bool validPxlFwdHigh
 
bool validPxlFwdLow
 
bool validSiTECHigh
 
bool validSiTECLow
 
bool validSiTIBHigh
 
bool validSiTIBLow
 
bool validSiTIDHigh
 
bool validSiTIDLow
 
bool validSiTOBHigh
 
bool validSiTOBLow
 
int verbosity
 
int vtxunit
 

Additional Inherited Members

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

Detailed Description

Class to fill dqm monitor elements from existing EDM file

Author
M. Strang SUNY-Buffalo

Definition at line 74 of file GlobalHitsAnalyzer.h.

Constructor & Destructor Documentation

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

Definition at line 12 of file GlobalHitsAnalyzer.cc.

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

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

Definition at line 268 of file GlobalHitsAnalyzer.cc.

268 {}

Member Function Documentation

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

Implements edm::stream::EDAnalyzerBase.

Definition at line 683 of file GlobalHitsAnalyzer.cc.

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

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

Implements DQMEDAnalyzer.

Definition at line 270 of file GlobalHitsAnalyzer.cc.

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

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

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

Referenced by analyze().

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

Definition at line 760 of file GlobalHitsAnalyzer.cc.

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

Referenced by analyze().

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

Definition at line 1825 of file GlobalHitsAnalyzer.cc.

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

Referenced by analyze().

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

Definition at line 1337 of file GlobalHitsAnalyzer.cc.

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

Referenced by analyze().

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

Definition at line 924 of file GlobalHitsAnalyzer.cc.

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

Referenced by analyze().

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

Member Data Documentation

unsigned int GlobalHitsAnalyzer::count
private

Definition at line 253 of file GlobalHitsAnalyzer.h.

Referenced by analyze().

edm::InputTag GlobalHitsAnalyzer::ECalEBSrc_
private

Definition at line 159 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 161 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::ECalEESrc_
private

Definition at line 160 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 162 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::ECalESSrc_
private

Definition at line 170 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 171 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

std::string GlobalHitsAnalyzer::fName
private

Definition at line 101 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

int GlobalHitsAnalyzer::frequency
private

Definition at line 103 of file GlobalHitsAnalyzer.h.

Referenced by analyze(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::G4TrkSrc_
private

Definition at line 148 of file GlobalHitsAnalyzer.h.

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

Definition at line 150 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC().

edm::InputTag GlobalHitsAnalyzer::G4VtxSrc_
private

Definition at line 147 of file GlobalHitsAnalyzer.h.

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

Definition at line 149 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC().

bool GlobalHitsAnalyzer::getAllProvenances
private

Definition at line 106 of file GlobalHitsAnalyzer.h.

Referenced by analyze(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::HCalSrc_
private

Definition at line 180 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 181 of file GlobalHitsAnalyzer.h.

Referenced by fillHCal(), and GlobalHitsAnalyzer().

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

Definition at line 154 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloEcalE[2]
private

Definition at line 155 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloEcalEta
private

Definition at line 158 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloEcalPhi
private

Definition at line 157 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloEcalToF[2]
private

Definition at line 156 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloHcal[2]
private

Definition at line 175 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloHcalE[2]
private

Definition at line 176 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloHcalEta
private

Definition at line 179 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloHcalPhi
private

Definition at line 178 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloHcalToF[2]
private

Definition at line 177 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloPreSh[2]
private

Definition at line 165 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloPreShE[2]
private

Definition at line 166 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloPreShEta
private

Definition at line 169 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloPreShPhi
private

Definition at line 168 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meCaloPreShToF[2]
private

Definition at line 167 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meGeantTrkE
private

Definition at line 140 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meGeantTrkPt
private

Definition at line 139 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meGeantVtxEta
private

Definition at line 141 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meGeantVtxMulti
private

Definition at line 144 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meGeantVtxPhi
private

Definition at line 142 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meGeantVtxRad[2]
private

Definition at line 143 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meGeantVtxX[2]
private

Definition at line 135 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meGeantVtxY[2]
private

Definition at line 136 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meGeantVtxZ[2]
private

Definition at line 137 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMCG4Trk[2]
private

Definition at line 138 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMCG4Vtx[2]
private

Definition at line 134 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMCRGP[2]
private

Definition at line 133 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMuon[2]
private

Definition at line 229 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMuonCscToF[2]
private

Definition at line 240 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMuonCscZ
private

Definition at line 241 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMuonDtR
private

Definition at line 236 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMuonDtToF[2]
private

Definition at line 235 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMuonEta
private

Definition at line 231 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMuonPhi
private

Definition at line 230 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMuonRpcBR
private

Definition at line 248 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMuonRpcBToF[2]
private

Definition at line 247 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMuonRpcFToF[2]
private

Definition at line 245 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meMuonRpcFZ
private

Definition at line 246 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerPx[2]
private

Definition at line 186 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerPxBR
private

Definition at line 190 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerPxBToF
private

Definition at line 189 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerPxEta
private

Definition at line 188 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerPxFToF
private

Definition at line 191 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerPxFZ
private

Definition at line 192 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerPxPhi
private

Definition at line 187 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerSi[2]
private

Definition at line 204 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerSiBR
private

Definition at line 208 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerSiBToF
private

Definition at line 207 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerSiEta
private

Definition at line 206 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerSiFToF
private

Definition at line 209 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerSiFZ
private

Definition at line 210 of file GlobalHitsAnalyzer.h.

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

MonitorElement* GlobalHitsAnalyzer::meTrackerSiPhi
private

Definition at line 205 of file GlobalHitsAnalyzer.h.

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

edm::InputTag GlobalHitsAnalyzer::MuonCscSrc_
private

Definition at line 242 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 243 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::MuonDtSrc_
private

Definition at line 237 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 238 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::MuonRpcSrc_
private

Definition at line 249 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 250 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

int GlobalHitsAnalyzer::nMuonHits
private

Definition at line 232 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon().

int GlobalHitsAnalyzer::nPxlHits
private

Definition at line 185 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk().

int GlobalHitsAnalyzer::nRawGenPart
private

Definition at line 145 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC().

int GlobalHitsAnalyzer::nSiHits
private

Definition at line 203 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk().

bool GlobalHitsAnalyzer::printProvenanceInfo
private

Definition at line 107 of file GlobalHitsAnalyzer.h.

Referenced by analyze(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::PxlBrlHighSrc_
private

Definition at line 194 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 198 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::PxlBrlLowSrc_
private

Definition at line 193 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 197 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::PxlFwdHighSrc_
private

Definition at line 196 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 200 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::PxlFwdLowSrc_
private

Definition at line 195 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 199 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::SiTECHighSrc_
private

Definition at line 218 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 226 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::SiTECLowSrc_
private

Definition at line 217 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 225 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::SiTIBHighSrc_
private

Definition at line 212 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 220 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::SiTIBLowSrc_
private

Definition at line 211 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 219 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::SiTIDHighSrc_
private

Definition at line 216 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 224 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::SiTIDLowSrc_
private

Definition at line 215 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 223 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::SiTOBHighSrc_
private

Definition at line 214 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 222 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::SiTOBLowSrc_
private

Definition at line 213 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

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

Definition at line 221 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validEB
private

Definition at line 127 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validEE
private

Definition at line 128 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validG4trkContainer
private

Definition at line 111 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validG4VtxContainer
private

Definition at line 110 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validHcal
private

Definition at line 130 of file GlobalHitsAnalyzer.h.

Referenced by fillHCal(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validHepMCevt
private

Definition at line 109 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validMuonCSC
private

Definition at line 124 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validMuonDt
private

Definition at line 125 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validMuonRPC
private

Definition at line 126 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validPresh
private

Definition at line 129 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validPxlBrlHigh
private

Definition at line 113 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validPxlBrlLow
private

Definition at line 112 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validPxlFwdHigh
private

Definition at line 115 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validPxlFwdLow
private

Definition at line 114 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTECHigh
private

Definition at line 123 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTECLow
private

Definition at line 122 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTIBHigh
private

Definition at line 117 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTIBLow
private

Definition at line 116 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTIDHigh
private

Definition at line 121 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTIDLow
private

Definition at line 120 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTOBHigh
private

Definition at line 119 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTOBLow
private

Definition at line 118 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

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

Definition at line 104 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC(), and GlobalHitsAnalyzer().