CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
GlobalHitsProducer Class Reference

#include <GlobalHitsProducer.h>

Inheritance diagram for GlobalHitsProducer:
edm::one::EDProducer<> edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Types

typedef std::vector< float > FloatVector
 
- Public Types inherited from edm::one::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
template<typename T >
using BranchAliasSetterT = ProductRegistryHelper::BranchAliasSetterT< T >
 
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex > >
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 

Public Member Functions

void beginJob (void) override
 
void endJob () override
 
 GlobalHitsProducer (const edm::ParameterSet &)
 
void produce (edm::Event &, const edm::EventSetup &) override
 
 ~GlobalHitsProducer () override
 
- Public Member Functions inherited from edm::one::EDProducer<>
 EDProducer ()=default
 
 EDProducer (const EDProducer &)=delete
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
bool wantsInputProcessBlocks () const final
 
bool wantsProcessBlocks () const final
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDProducerBase () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
std::vector< bool > const & recordProvenanceList () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
TypeLabelList const & typeLabelList () const
 used by the fwk to register the list of products of this module More...
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESResolverIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESResolverIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::array< std::vector< ModuleDescription const *> *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const *> const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProductResolverIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Member Functions

void clear ()
 
void fillECal (edm::Event &, const edm::EventSetup &)
 
void fillG4MC (edm::Event &)
 
void fillHCal (edm::Event &, const edm::EventSetup &)
 
void fillMuon (edm::Event &, const edm::EventSetup &)
 
void fillTrk (edm::Event &, const edm::EventSetup &)
 
void storeECal (PGlobalSimHit &)
 
void storeG4MC (PGlobalSimHit &)
 
void storeHCal (PGlobalSimHit &)
 
void storeMuon (PGlobalSimHit &)
 
void storeTrk (PGlobalSimHit &)
 

Private Attributes

edm::ESGetToken< CaloGeometry, CaloGeometryRecordcaloGeomToken_
 
unsigned int count
 
edm::ESGetToken< CSCGeometry, MuonGeometryRecordcscGeomToken_
 
edm::ESGetToken< DTGeometry, MuonGeometryRecorddtGeomToken_
 
FloatVector ECalE
 
edm::InputTag ECalEBSrc_
 
edm::EDGetTokenT< edm::PCaloHitContainerECalEBSrc_Token_
 
edm::InputTag ECalEESrc_
 
edm::EDGetTokenT< edm::PCaloHitContainerECalEESrc_Token_
 
edm::InputTag ECalESSrc_
 
edm::EDGetTokenT< edm::PCaloHitContainerECalESSrc_Token_
 
FloatVector ECalEta
 
FloatVector ECalPhi
 
FloatVector ECalToF
 
std::string fName
 
int frequency
 
FloatVector G4TrkE
 
FloatVector G4TrkPt
 
edm::InputTag G4TrkSrc_
 
edm::EDGetTokenT< edm::SimTrackContainerG4TrkSrc_Token_
 
edm::InputTag G4VtxSrc_
 
edm::EDGetTokenT< edm::SimVertexContainerG4VtxSrc_Token_
 
FloatVector G4VtxX
 
FloatVector G4VtxY
 
FloatVector G4VtxZ
 
bool getAllProvenances
 
FloatVector HCalE
 
FloatVector HCalEta
 
FloatVector HCalPhi
 
edm::InputTag HCalSrc_
 
edm::EDGetTokenT< edm::PCaloHitContainerHCalSrc_Token_
 
FloatVector HCalToF
 
std::string label
 
FloatVector MuonCscEta
 
FloatVector MuonCscPhi
 
edm::InputTag MuonCscSrc_
 
edm::EDGetTokenT< edm::PSimHitContainerMuonCscSrc_Token_
 
FloatVector MuonCscToF
 
FloatVector MuonCscZ
 
FloatVector MuonDtEta
 
FloatVector MuonDtPhi
 
FloatVector MuonDtR
 
edm::InputTag MuonDtSrc_
 
edm::EDGetTokenT< edm::PSimHitContainerMuonDtSrc_Token_
 
FloatVector MuonDtToF
 
FloatVector MuonRpcBrlEta
 
FloatVector MuonRpcBrlPhi
 
FloatVector MuonRpcBrlR
 
FloatVector MuonRpcBrlToF
 
FloatVector MuonRpcFwdEta
 
FloatVector MuonRpcFwdPhi
 
FloatVector MuonRpcFwdToF
 
FloatVector MuonRpcFwdZ
 
edm::InputTag MuonRpcSrc_
 
edm::EDGetTokenT< edm::PSimHitContainerMuonRpcSrc_Token_
 
int nRawGenPart
 
FloatVector PreShE
 
FloatVector PreShEta
 
FloatVector PreShPhi
 
FloatVector PreShToF
 
bool printProvenanceInfo
 
FloatVector PxlBrlEta
 
edm::InputTag PxlBrlHighSrc_
 
edm::EDGetTokenT< edm::PSimHitContainerPxlBrlHighSrc_Token_
 
edm::InputTag PxlBrlLowSrc_
 
edm::EDGetTokenT< edm::PSimHitContainerPxlBrlLowSrc_Token_
 
FloatVector PxlBrlPhi
 
FloatVector PxlBrlR
 
FloatVector PxlBrlToF
 
FloatVector PxlFwdEta
 
edm::InputTag PxlFwdHighSrc_
 
edm::EDGetTokenT< edm::PSimHitContainerPxlFwdHighSrc_Token_
 
edm::InputTag PxlFwdLowSrc_
 
edm::EDGetTokenT< edm::PSimHitContainerPxlFwdLowSrc_Token_
 
FloatVector PxlFwdPhi
 
FloatVector PxlFwdToF
 
FloatVector PxlFwdZ
 
edm::ESGetToken< RPCGeometry, MuonGeometryRecordrpcGeomToken_
 
FloatVector SiBrlEta
 
FloatVector SiBrlPhi
 
FloatVector SiBrlR
 
FloatVector SiBrlToF
 
FloatVector SiFwdEta
 
FloatVector SiFwdPhi
 
FloatVector SiFwdToF
 
FloatVector SiFwdZ
 
edm::InputTag SiTECHighSrc_
 
edm::EDGetTokenT< edm::PSimHitContainerSiTECHighSrc_Token_
 
edm::InputTag SiTECLowSrc_
 
edm::EDGetTokenT< edm::PSimHitContainerSiTECLowSrc_Token_
 
edm::InputTag SiTIBHighSrc_
 
edm::EDGetTokenT< edm::PSimHitContainerSiTIBHighSrc_Token_
 
edm::InputTag SiTIBLowSrc_
 
edm::EDGetTokenT< edm::PSimHitContainerSiTIBLowSrc_Token_
 
edm::InputTag SiTIDHighSrc_
 
edm::EDGetTokenT< edm::PSimHitContainerSiTIDHighSrc_Token_
 
edm::InputTag SiTIDLowSrc_
 
edm::EDGetTokenT< edm::PSimHitContainerSiTIDLowSrc_Token_
 
edm::InputTag SiTOBHighSrc_
 
edm::EDGetTokenT< edm::PSimHitContainerSiTOBHighSrc_Token_
 
edm::InputTag SiTOBLowSrc_
 
edm::EDGetTokenT< edm::PSimHitContainerSiTOBLowSrc_Token_
 
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecordtGeomToken_
 
int verbosity
 
int vtxunit
 

Additional Inherited Members

- Static Public Member Functions inherited from edm::one::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::ProducerBase
template<Transition Tr = Transition::Event>
auto produces (std::string instanceName) noexcept
 declare what type of product will make and with which optional label More...
 
template<Transition B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<BranchType B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces ()
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces ()
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces ()
 
template<Transition Tr = Transition::Event>
auto produces () noexcept
 
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< Bconsumes (edm::InputTag tag) noexcept
 
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 ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes ()
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag)
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
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)
 
void resetItemsToGetFrom (BranchType iType)
 

Detailed Description

Class to fill PGlobalDigis object to be inserted into data stream containing information about various sub-systems in global coordinates with full geometry

Author
M. Strang SUNY-Buffalo

Class to fill PGlobalSimHit object to be inserted into data stream containing information about various sub-systems in global coordinates with full geometry

Author
M. Strang SUNY-Buffalo

Class to fill PGlobalRecHit object to be inserted into data stream containing information about various sub-systems in global coordinates with full geometry

Author
M. Strang SUNY-Buffalo

Definition at line 75 of file GlobalHitsProducer.h.

Member Typedef Documentation

◆ FloatVector

typedef std::vector<float> GlobalHitsProducer::FloatVector

Definition at line 77 of file GlobalHitsProducer.h.

Constructor & Destructor Documentation

◆ GlobalHitsProducer()

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

Definition at line 13 of file GlobalHitsProducer.cc.

References clear(), ECalEBSrc_, ECalEBSrc_Token_, ECalEESrc_, ECalEESrc_Token_, ECalESSrc_, ECalESSrc_Token_, fName, frequency, getAllProvenances, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), HCalSrc_, HCalSrc_Token_, edm::InputTag::instance(), edm::InputTag::label(), label, 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, verbosity, and vtxunit.

14  : fName(""),
15  verbosity(0),
16  frequency(0),
17  vtxunit(0),
18  label(""),
19  getAllProvenances(false),
20  printProvenanceInfo(false),
21  nRawGenPart(0),
22  G4VtxSrc_Token_(consumes<edm::SimVertexContainer>((iPSet.getParameter<edm::InputTag>("G4VtxSrc")))),
23  G4TrkSrc_Token_(consumes<edm::SimTrackContainer>(iPSet.getParameter<edm::InputTag>("G4TrkSrc"))),
29  count(0) {
30  std::string MsgLoggerCat = "GlobalHitsProducer_GlobalHitsProducer";
31 
32  // get information from parameter set
33  fName = iPSet.getUntrackedParameter<std::string>("Name");
34  verbosity = iPSet.getUntrackedParameter<int>("Verbosity");
35  frequency = iPSet.getUntrackedParameter<int>("Frequency");
36  vtxunit = iPSet.getUntrackedParameter<int>("VtxUnit");
37  label = iPSet.getParameter<std::string>("Label");
38  edm::ParameterSet m_Prov = iPSet.getParameter<edm::ParameterSet>("ProvenanceLookup");
39  getAllProvenances = m_Prov.getUntrackedParameter<bool>("GetAllProvenances");
40  printProvenanceInfo = m_Prov.getUntrackedParameter<bool>("PrintProvenanceInfo");
41 
42  // get Labels to use to extract information
43  PxlBrlLowSrc_ = iPSet.getParameter<edm::InputTag>("PxlBrlLowSrc");
44  PxlBrlHighSrc_ = iPSet.getParameter<edm::InputTag>("PxlBrlHighSrc");
45  PxlFwdLowSrc_ = iPSet.getParameter<edm::InputTag>("PxlFwdLowSrc");
46  PxlFwdHighSrc_ = iPSet.getParameter<edm::InputTag>("PxlFwdHighSrc");
47 
48  SiTIBLowSrc_ = iPSet.getParameter<edm::InputTag>("SiTIBLowSrc");
49  SiTIBHighSrc_ = iPSet.getParameter<edm::InputTag>("SiTIBHighSrc");
50  SiTOBLowSrc_ = iPSet.getParameter<edm::InputTag>("SiTOBLowSrc");
51  SiTOBHighSrc_ = iPSet.getParameter<edm::InputTag>("SiTOBHighSrc");
52  SiTIDLowSrc_ = iPSet.getParameter<edm::InputTag>("SiTIDLowSrc");
53  SiTIDHighSrc_ = iPSet.getParameter<edm::InputTag>("SiTIDHighSrc");
54  SiTECLowSrc_ = iPSet.getParameter<edm::InputTag>("SiTECLowSrc");
55  SiTECHighSrc_ = iPSet.getParameter<edm::InputTag>("SiTECHighSrc");
56 
57  MuonCscSrc_ = iPSet.getParameter<edm::InputTag>("MuonCscSrc");
58  MuonDtSrc_ = iPSet.getParameter<edm::InputTag>("MuonDtSrc");
59  MuonRpcSrc_ = iPSet.getParameter<edm::InputTag>("MuonRpcSrc");
60 
61  ECalEBSrc_ = iPSet.getParameter<edm::InputTag>("ECalEBSrc");
62  ECalEESrc_ = iPSet.getParameter<edm::InputTag>("ECalEESrc");
63  ECalESSrc_ = iPSet.getParameter<edm::InputTag>("ECalESSrc");
64 
65  HCalSrc_ = iPSet.getParameter<edm::InputTag>("HCalSrc");
66 
67  // fix for consumes
68  PxlBrlLowSrc_Token_ = consumes<edm::PSimHitContainer>(iPSet.getParameter<edm::InputTag>("PxlBrlLowSrc"));
69  PxlBrlHighSrc_Token_ = consumes<edm::PSimHitContainer>(iPSet.getParameter<edm::InputTag>("PxlBrlHighSrc"));
70  PxlFwdLowSrc_Token_ = consumes<edm::PSimHitContainer>(iPSet.getParameter<edm::InputTag>("PxlFwdLowSrc"));
71  PxlFwdHighSrc_Token_ = consumes<edm::PSimHitContainer>(iPSet.getParameter<edm::InputTag>("PxlFwdHighSrc"));
72 
73  SiTIBLowSrc_Token_ = consumes<edm::PSimHitContainer>(iPSet.getParameter<edm::InputTag>("SiTIBLowSrc"));
74  SiTIBHighSrc_Token_ = consumes<edm::PSimHitContainer>(iPSet.getParameter<edm::InputTag>("SiTIBHighSrc"));
75  SiTOBLowSrc_Token_ = consumes<edm::PSimHitContainer>(iPSet.getParameter<edm::InputTag>("SiTOBLowSrc"));
76  SiTOBHighSrc_Token_ = consumes<edm::PSimHitContainer>(iPSet.getParameter<edm::InputTag>("SiTOBHighSrc"));
77  SiTIDLowSrc_Token_ = consumes<edm::PSimHitContainer>(iPSet.getParameter<edm::InputTag>("SiTIDLowSrc"));
78  SiTIDHighSrc_Token_ = consumes<edm::PSimHitContainer>(iPSet.getParameter<edm::InputTag>("SiTIDHighSrc"));
79  SiTECLowSrc_Token_ = consumes<edm::PSimHitContainer>(iPSet.getParameter<edm::InputTag>("SiTECLowSrc"));
80  SiTECHighSrc_Token_ = consumes<edm::PSimHitContainer>(iPSet.getParameter<edm::InputTag>("SiTECHighSrc"));
81 
82  MuonCscSrc_Token_ = consumes<edm::PSimHitContainer>(iPSet.getParameter<edm::InputTag>("MuonCscSrc"));
83  MuonDtSrc_Token_ = consumes<edm::PSimHitContainer>(iPSet.getParameter<edm::InputTag>("MuonDtSrc"));
84  MuonRpcSrc_Token_ = consumes<edm::PSimHitContainer>(iPSet.getParameter<edm::InputTag>("MuonRpcSrc"));
85 
86  ECalEBSrc_Token_ = consumes<edm::PCaloHitContainer>(iPSet.getParameter<edm::InputTag>("ECalEBSrc"));
87  ECalEESrc_Token_ = consumes<edm::PCaloHitContainer>(iPSet.getParameter<edm::InputTag>("ECalEESrc"));
88  ECalESSrc_Token_ = consumes<edm::PCaloHitContainer>(iPSet.getParameter<edm::InputTag>("ECalESSrc"));
89  HCalSrc_Token_ = consumes<edm::PCaloHitContainer>(iPSet.getParameter<edm::InputTag>("HCalSrc"));
90 
91  // use value of first digit to determine default output level (inclusive)
92  // 0 is none, 1 is basic, 2 is fill output, 3 is gather output
93  verbosity %= 10;
94 
95  // create persistent object
96  produces<PGlobalSimHit>(label);
97 
98  // print out Parameter Set information being used
99  if (verbosity >= 0) {
100  edm::LogInfo(MsgLoggerCat)
101  << "\n===============================\n"
102  << "Initialized as EDProducer with parameter values:\n"
103  << " Name = " << fName << "\n"
104  << " Verbosity = " << verbosity << "\n"
105  << " Frequency = " << frequency << "\n"
106  << " VtxUnit = " << vtxunit << "\n"
107  << " Label = " << label << "\n"
108  << " GetProv = " << getAllProvenances << "\n"
109  << " PrintProv = " << printProvenanceInfo << "\n"
110  << " PxlBrlLowSrc = " << PxlBrlLowSrc_.label() << ":" << PxlBrlLowSrc_.instance() << "\n"
111  << " PxlBrlHighSrc = " << PxlBrlHighSrc_.label() << ":" << PxlBrlHighSrc_.instance() << "\n"
112  << " PxlFwdLowSrc = " << PxlFwdLowSrc_.label() << ":" << PxlBrlLowSrc_.instance() << "\n"
113  << " PxlFwdHighSrc = " << PxlFwdHighSrc_.label() << ":" << PxlBrlHighSrc_.instance() << "\n"
114  << " SiTIBLowSrc = " << SiTIBLowSrc_.label() << ":" << SiTIBLowSrc_.instance() << "\n"
115  << " SiTIBHighSrc = " << SiTIBHighSrc_.label() << ":" << SiTIBHighSrc_.instance() << "\n"
116  << " SiTOBLowSrc = " << SiTOBLowSrc_.label() << ":" << SiTOBLowSrc_.instance() << "\n"
117  << " SiTOBHighSrc = " << SiTOBHighSrc_.label() << ":" << SiTOBHighSrc_.instance() << "\n"
118  << " SiTIDLowSrc = " << SiTIDLowSrc_.label() << ":" << SiTIDLowSrc_.instance() << "\n"
119  << " SiTIDHighSrc = " << SiTIDHighSrc_.label() << ":" << SiTIDHighSrc_.instance() << "\n"
120  << " SiTECLowSrc = " << SiTECLowSrc_.label() << ":" << SiTECLowSrc_.instance() << "\n"
121  << " SiTECHighSrc = " << SiTECHighSrc_.label() << ":" << SiTECHighSrc_.instance() << "\n"
122  << " MuonCscSrc = " << MuonCscSrc_.label() << ":" << MuonCscSrc_.instance() << "\n"
123  << " MuonDtSrc = " << MuonDtSrc_.label() << ":" << MuonDtSrc_.instance() << "\n"
124  << " MuonRpcSrc = " << MuonRpcSrc_.label() << ":" << MuonRpcSrc_.instance() << "\n"
125  << " ECalEBSrc = " << ECalEBSrc_.label() << ":" << ECalEBSrc_.instance() << "\n"
126  << " ECalEESrc = " << ECalEESrc_.label() << ":" << ECalEESrc_.instance() << "\n"
127  << " ECalESSrc = " << ECalESSrc_.label() << ":" << ECalESSrc_.instance() << "\n"
128  << " HCalSrc = " << HCalSrc_.label() << ":" << HCalSrc_.instance() << "\n"
129  << "===============================\n";
130  }
131 
132  // migrated here from beginJob
133  clear();
134 }
edm::InputTag ECalESSrc_
edm::EDGetTokenT< edm::PSimHitContainer > SiTIBHighSrc_Token_
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
edm::EDGetTokenT< edm::PSimHitContainer > SiTECHighSrc_Token_
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > caloGeomToken_
edm::InputTag ECalEESrc_
edm::ESGetToken< CSCGeometry, MuonGeometryRecord > cscGeomToken_
edm::EDGetTokenT< edm::PSimHitContainer > MuonRpcSrc_Token_
edm::InputTag MuonCscSrc_
std::string const & instance() const
Definition: InputTag.h:37
edm::InputTag MuonDtSrc_
edm::InputTag SiTOBHighSrc_
edm::InputTag PxlBrlHighSrc_
edm::InputTag PxlBrlLowSrc_
edm::InputTag PxlFwdLowSrc_
std::string const & label() const
Definition: InputTag.h:36
edm::EDGetTokenT< edm::PSimHitContainer > PxlBrlHighSrc_Token_
edm::InputTag SiTIDLowSrc_
T getUntrackedParameter(std::string const &, T const &) const
edm::EDGetTokenT< edm::PSimHitContainer > PxlFwdHighSrc_Token_
edm::InputTag SiTECHighSrc_
edm::EDGetTokenT< edm::PSimHitContainer > SiTIBLowSrc_Token_
edm::InputTag ECalEBSrc_
edm::EDGetTokenT< edm::PCaloHitContainer > HCalSrc_Token_
edm::EDGetTokenT< edm::PSimHitContainer > MuonCscSrc_Token_
edm::InputTag SiTIBLowSrc_
edm::EDGetTokenT< edm::PSimHitContainer > SiTIDLowSrc_Token_
edm::InputTag SiTECLowSrc_
edm::InputTag SiTIDHighSrc_
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > tGeomToken_
edm::EDGetTokenT< edm::PSimHitContainer > SiTOBLowSrc_Token_
edm::EDGetTokenT< edm::SimTrackContainer > G4TrkSrc_Token_
edm::InputTag PxlFwdHighSrc_
edm::EDGetTokenT< edm::PCaloHitContainer > ECalESSrc_Token_
Log< level::Info, false > LogInfo
edm::EDGetTokenT< edm::PSimHitContainer > SiTOBHighSrc_Token_
edm::ESGetToken< RPCGeometry, MuonGeometryRecord > rpcGeomToken_
edm::EDGetTokenT< edm::PSimHitContainer > SiTIDHighSrc_Token_
edm::InputTag SiTOBLowSrc_
edm::EDGetTokenT< edm::PSimHitContainer > PxlFwdLowSrc_Token_
edm::EDGetTokenT< edm::PSimHitContainer > MuonDtSrc_Token_
edm::EDGetTokenT< edm::PSimHitContainer > PxlBrlLowSrc_Token_
edm::EDGetTokenT< edm::SimVertexContainer > G4VtxSrc_Token_
edm::EDGetTokenT< edm::PCaloHitContainer > ECalEBSrc_Token_
edm::EDGetTokenT< edm::PCaloHitContainer > ECalEESrc_Token_
edm::EDGetTokenT< edm::PSimHitContainer > SiTECLowSrc_Token_
edm::InputTag SiTIBHighSrc_
edm::InputTag MuonRpcSrc_
edm::ESGetToken< DTGeometry, MuonGeometryRecord > dtGeomToken_

◆ ~GlobalHitsProducer()

GlobalHitsProducer::~GlobalHitsProducer ( )
override

Definition at line 136 of file GlobalHitsProducer.cc.

136 {}

Member Function Documentation

◆ beginJob()

void GlobalHitsProducer::beginJob ( void  )
overridevirtual

Reimplemented from edm::one::EDProducerBase.

Definition at line 138 of file GlobalHitsProducer.cc.

138 { return; }

◆ clear()

void GlobalHitsProducer::clear ( void  )
private

Definition at line 1362 of file GlobalHitsProducer.cc.

References ECalE, ECalEta, ECalPhi, ECalToF, G4TrkE, G4TrkPt, G4VtxX, G4VtxY, G4VtxZ, HCalE, HCalEta, HCalPhi, HCalToF, MuonCscEta, MuonCscPhi, MuonCscToF, MuonCscZ, MuonDtEta, MuonDtPhi, MuonDtR, MuonDtToF, MuonRpcBrlEta, MuonRpcBrlPhi, MuonRpcBrlR, MuonRpcBrlToF, MuonRpcFwdEta, MuonRpcFwdPhi, MuonRpcFwdToF, MuonRpcFwdZ, nRawGenPart, PreShE, PreShEta, PreShPhi, PreShToF, PxlBrlEta, PxlBrlPhi, PxlBrlR, PxlBrlToF, PxlFwdEta, PxlFwdPhi, PxlFwdToF, PxlFwdZ, SiBrlEta, SiBrlPhi, SiBrlR, SiBrlToF, SiFwdEta, SiFwdPhi, SiFwdToF, SiFwdZ, AlCaHLTBitMon_QueryRunRegistry::string, and verbosity.

Referenced by GlobalHitsProducer(), and produce().

1362  {
1363  std::string MsgLoggerCat = "GlobalHitsProducer_clear";
1364 
1365  if (verbosity > 0)
1366  edm::LogInfo(MsgLoggerCat) << "Clearing event holders";
1367 
1368  // reset G4MC info
1369  nRawGenPart = 0;
1370  G4VtxX.clear();
1371  G4VtxY.clear();
1372  G4VtxZ.clear();
1373  G4TrkPt.clear();
1374  G4TrkE.clear();
1375 
1376  // reset electromagnetic info
1377  // reset ECal info
1378  ECalE.clear();
1379  ECalToF.clear();
1380  ECalPhi.clear();
1381  ECalEta.clear();
1382  // reset Preshower info
1383  PreShE.clear();
1384  PreShToF.clear();
1385  PreShPhi.clear();
1386  PreShEta.clear();
1387 
1388  // reset hadronic info
1389  // reset HCal info
1390  HCalE.clear();
1391  HCalToF.clear();
1392  HCalPhi.clear();
1393  HCalEta.clear();
1394 
1395  // reset tracker info
1396  // reset Pixel info
1397  PxlBrlToF.clear();
1398  PxlBrlR.clear();
1399  PxlBrlPhi.clear();
1400  PxlBrlEta.clear();
1401  PxlFwdToF.clear();
1402  PxlFwdZ.clear();
1403  PxlFwdPhi.clear();
1404  PxlFwdEta.clear();
1405  // reset strip info
1406  SiBrlToF.clear();
1407  SiBrlR.clear();
1408  SiBrlPhi.clear();
1409  SiBrlEta.clear();
1410  SiFwdToF.clear();
1411  SiFwdZ.clear();
1412  SiFwdPhi.clear();
1413  SiFwdEta.clear();
1414 
1415  // reset muon info
1416  // reset muon DT info
1417  MuonDtToF.clear();
1418  MuonDtR.clear();
1419  MuonDtPhi.clear();
1420  MuonDtEta.clear();
1421  // reset muon CSC info
1422  MuonCscToF.clear();
1423  MuonCscZ.clear();
1424  MuonCscPhi.clear();
1425  MuonCscEta.clear();
1426  // rest muon RPC info
1427  MuonRpcBrlToF.clear();
1428  MuonRpcBrlR.clear();
1429  MuonRpcBrlPhi.clear();
1430  MuonRpcBrlEta.clear();
1431  MuonRpcFwdToF.clear();
1432  MuonRpcFwdZ.clear();
1433  MuonRpcFwdPhi.clear();
1434  MuonRpcFwdEta.clear();
1435 
1436  return;
1437 }
Log< level::Info, false > LogInfo

◆ endJob()

void GlobalHitsProducer::endJob ( void  )
overridevirtual

Reimplemented from edm::one::EDProducerBase.

Definition at line 140 of file GlobalHitsProducer.cc.

References count, AlCaHLTBitMon_QueryRunRegistry::string, and verbosity.

140  {
141  std::string MsgLoggerCat = "GlobalHitsProducer_endJob";
142  if (verbosity >= 0)
143  edm::LogInfo(MsgLoggerCat) << "Terminating having processed " << count << " events.";
144  return;
145 }
Log< level::Info, false > LogInfo

◆ fillECal()

void GlobalHitsProducer::fillECal ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
private

Definition at line 1074 of file GlobalHitsProducer.cc.

References caloGeomToken_, dEcal, hgcalTestNeighbor_cfi::detector, ECalE, ECalEBSrc_Token_, ECalEESrc_Token_, ECalESSrc_Token_, ECalEta, ECalPhi, ECalToF, PV3DBase< T, PVType, FrameType >::eta(), edm::EventSetup::getHandle(), CaloGeometry::getSubdetectorGeometry(), mps_fire::i, iEvent, edm::HandleBase::isValid(), dqmiolumiharvest::j, PV3DBase< T, PVType, FrameType >::phi(), PreShE, PreShEta, PreShPhi, PreShToF, sdEcalBrl, sdEcalFwd, sdEcalPS, AlCaHLTBitMon_QueryRunRegistry::string, subdetector, and verbosity.

Referenced by produce().

1074  {
1075  std::string MsgLoggerCat = "GlobalHitsProducer_fillECal";
1076 
1077  TString eventout;
1078  if (verbosity > 0)
1079  eventout = "\nGathering info:";
1080 
1081  // access the calorimeter geometry
1082  const auto &theCaloGeometry = iSetup.getHandle(caloGeomToken_);
1083  if (!theCaloGeometry.isValid()) {
1084  edm::LogWarning(MsgLoggerCat) << "Unable to find CaloGeometryRecord in event!";
1085  return;
1086  }
1087  const CaloGeometry &theCalo(*theCaloGeometry);
1088 
1089  // iterator to access containers
1090  edm::PCaloHitContainer::const_iterator itHit;
1091 
1093  // get ECal information
1095  edm::PCaloHitContainer theECalHits;
1096  // extract EB container
1098  iEvent.getByToken(ECalEBSrc_Token_, EBContainer);
1099  if (!EBContainer.isValid()) {
1100  edm::LogWarning(MsgLoggerCat) << "Unable to find EcalHitsEB in event!";
1101  return;
1102  }
1103  // extract EE container
1105  iEvent.getByToken(ECalEESrc_Token_, EEContainer);
1106  if (!EEContainer.isValid()) {
1107  edm::LogWarning(MsgLoggerCat) << "Unable to find EcalHitsEE in event!";
1108  return;
1109  }
1110  // place both containers into new container
1111  theECalHits.insert(theECalHits.end(), EBContainer->begin(), EBContainer->end());
1112  theECalHits.insert(theECalHits.end(), EEContainer->begin(), EEContainer->end());
1113 
1114  // cycle through new container
1115  int i = 0, j = 0;
1116  for (itHit = theECalHits.begin(); itHit != theECalHits.end(); ++itHit) {
1117  ++i;
1118 
1119  // create a DetId from the detUnitId
1120  DetId theDetUnitId(itHit->id());
1121  int detector = theDetUnitId.det();
1122  int subdetector = theDetUnitId.subdetId();
1123 
1124  // check that expected detector is returned
1125  if ((detector == dEcal) && ((subdetector == sdEcalBrl) || (subdetector == sdEcalFwd))) {
1126  // get the Cell geometry
1127  auto theDet = (theCalo.getSubdetectorGeometry(theDetUnitId))->getGeometry(theDetUnitId);
1128 
1129  if (!theDet) {
1130  edm::LogWarning(MsgLoggerCat) << "Unable to get CaloCellGeometry from ECalHits for Hit " << i;
1131  continue;
1132  }
1133 
1134  ++j;
1135 
1136  // get the global position of the cell
1137  const GlobalPoint &globalposition = theDet->getPosition();
1138 
1139  // gather necessary information
1140  ECalE.push_back(itHit->energy());
1141  ECalToF.push_back(itHit->time());
1142  ECalPhi.push_back(globalposition.phi());
1143  ECalEta.push_back(globalposition.eta());
1144 
1145  } else {
1146  edm::LogWarning(MsgLoggerCat) << "ECal PCaloHit " << i << " is expected to be (det,subdet) = (" << dEcal << ","
1147  << sdEcalBrl << " || " << sdEcalFwd << "); value returned is: (" << detector << ","
1148  << subdetector << ")";
1149  continue;
1150  } // end detector type check
1151  } // end loop through ECal Hits
1152 
1153  if (verbosity > 1) {
1154  eventout += "\n Number of ECal Hits collected:............. ";
1155  eventout += j;
1156  }
1157 
1159  // Get Preshower information
1161  // extract PreShower container
1162  edm::Handle<edm::PCaloHitContainer> PreShContainer;
1163  iEvent.getByToken(ECalESSrc_Token_, PreShContainer);
1164  if (!PreShContainer.isValid()) {
1165  edm::LogWarning(MsgLoggerCat) << "Unable to find EcalHitsES in event!";
1166  return;
1167  }
1168 
1169  // cycle through container
1170  i = 0, j = 0;
1171  for (itHit = PreShContainer->begin(); itHit != PreShContainer->end(); ++itHit) {
1172  ++i;
1173 
1174  // create a DetId from the detUnitId
1175  DetId theDetUnitId(itHit->id());
1176  int detector = theDetUnitId.det();
1177  int subdetector = theDetUnitId.subdetId();
1178 
1179  // check that expected detector is returned
1180  if ((detector == dEcal) && (subdetector == sdEcalPS)) {
1181  // get the Cell geometry
1182  auto theDet = (theCalo.getSubdetectorGeometry(theDetUnitId))->getGeometry(theDetUnitId);
1183 
1184  if (!theDet) {
1185  edm::LogWarning(MsgLoggerCat) << "Unable to get CaloCellGeometry from PreShContainer for Hit " << i;
1186  continue;
1187  }
1188 
1189  ++j;
1190 
1191  // get the global position of the cell
1192  const GlobalPoint &globalposition = theDet->getPosition();
1193 
1194  // gather necessary information
1195  PreShE.push_back(itHit->energy());
1196  PreShToF.push_back(itHit->time());
1197  PreShPhi.push_back(globalposition.phi());
1198  PreShEta.push_back(globalposition.eta());
1199 
1200  } else {
1201  edm::LogWarning(MsgLoggerCat) << "PreSh PCaloHit " << i << " is expected to be (det,subdet) = (" << dEcal << ","
1202  << sdEcalPS << "); value returned is: (" << detector << "," << subdetector << ")";
1203  continue;
1204  } // end detector type check
1205  } // end loop through PreShower Hits
1206 
1207  if (verbosity > 1) {
1208  eventout += "\n Number of PreSh Hits collected:............ ";
1209  eventout += j;
1210  }
1211 
1212  if (verbosity > 0)
1213  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
1214 
1215  return;
1216 }
static const int dEcal
std::vector< PCaloHit > PCaloHitContainer
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > caloGeomToken_
TString subdetector
Geom::Phi< T > phi() const
Definition: PV3DBase.h:66
T eta() const
Definition: PV3DBase.h:73
static const int sdEcalPS
int iEvent
Definition: GenABIO.cc:224
static const int sdEcalFwd
static const int sdEcalBrl
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
Definition: EventSetup.h:130
edm::EDGetTokenT< edm::PCaloHitContainer > ECalESSrc_Token_
Log< level::Info, false > LogInfo
Definition: DetId.h:17
bool isValid() const
Definition: HandleBase.h:70
edm::EDGetTokenT< edm::PCaloHitContainer > ECalEBSrc_Token_
edm::EDGetTokenT< edm::PCaloHitContainer > ECalEESrc_Token_
Log< level::Warning, false > LogWarning

◆ fillG4MC()

void GlobalHitsProducer::fillG4MC ( edm::Event iEvent)
private

Definition at line 240 of file GlobalHitsProducer.cc.

References edm::Provenance::branchDescription(), Exception, G4TrkE, G4TrkPt, G4TrkSrc_Token_, G4VtxSrc_Token_, G4VtxX, G4VtxY, G4VtxZ, edm::HepMCProduct::GetEvent(), mps_fire::i, iEvent, edm::HandleBase::isValid(), HerwigMaxPtPartonFilter_cfi::moduleLabel, nRawGenPart, edm::HandleBase::provenance(), mathSSE::sqrt(), AlCaHLTBitMon_QueryRunRegistry::string, unit(), verbosity, and vtxunit.

Referenced by produce().

240  {
241  std::string MsgLoggerCat = "GlobalHitsProducer_fillG4MC";
242 
243  TString eventout;
244  if (verbosity > 0)
245  eventout = "\nGathering info:";
246 
248  // get MC information
251  std::vector<edm::Handle<edm::HepMCProduct>> AllHepMCEvt;
252 
253  //iEvent.getManyByType(AllHepMCEvt);
254  throw cms::Exception("UnsupportedFunction") << "GlobalHitsProducer::fillG4MC: "
255  << "getManyByType has not been supported by the Framework since 2015. "
256  << "This module has been broken since then. Maybe it should be deleted. "
257  << "Another possibility is to upgrade to use GetterOfProducts instead.";
258 
259  // loop through products and extract VtxSmearing if available. Any of them
260  // should have the information needed
261  for (unsigned int i = 0; i < AllHepMCEvt.size(); ++i) {
262  HepMCEvt = AllHepMCEvt[i];
263  if ((HepMCEvt.provenance()->branchDescription()).moduleLabel() == "generatorSmeared")
264  break;
265  }
266 
267  if (!HepMCEvt.isValid()) {
268  edm::LogWarning(MsgLoggerCat) << "Unable to find HepMCProduct in event!";
269  return;
270  } else {
271  eventout += "\n Using HepMCProduct: ";
272  eventout += (HepMCEvt.provenance()->branchDescription()).moduleLabel();
273  }
274  const HepMC::GenEvent *MCEvt = HepMCEvt->GetEvent();
275  nRawGenPart = MCEvt->particles_size();
276 
277  if (verbosity > 1) {
278  eventout += "\n Number of Raw Particles collected:......... ";
279  eventout += nRawGenPart;
280  }
281 
283  // get G4Vertex information
285  // convert unit stored in SimVertex to mm
286  float unit = 0.;
287  if (vtxunit == 0)
288  unit = 1.; // already in mm
289  if (vtxunit == 1)
290  unit = 10.; // stored in cm, convert to mm
291 
293  iEvent.getByToken(G4VtxSrc_Token_, G4VtxContainer);
294  if (!G4VtxContainer.isValid()) {
295  edm::LogWarning(MsgLoggerCat) << "Unable to find SimVertex in event!";
296  return;
297  }
298  int i = 0;
299  edm::SimVertexContainer::const_iterator itVtx;
300  for (itVtx = G4VtxContainer->begin(); itVtx != G4VtxContainer->end(); ++itVtx) {
301  ++i;
302 
303  const math::XYZTLorentzVector G4Vtx1(
304  itVtx->position().x(), itVtx->position().y(), itVtx->position().z(), itVtx->position().e());
305  double G4Vtx[4];
306  G4Vtx1.GetCoordinates(G4Vtx);
307 
308  G4VtxX.push_back((G4Vtx[0] * unit) / micrometer);
309  G4VtxY.push_back((G4Vtx[1] * unit) / micrometer);
310  G4VtxZ.push_back((G4Vtx[2] * unit) / millimeter);
311  }
312 
313  if (verbosity > 1) {
314  eventout += "\n Number of G4Vertices collected:............ ";
315  eventout += i;
316  }
317 
319  // get G4Track information
322  iEvent.getByToken(G4TrkSrc_Token_, G4TrkContainer);
323 
324  if (!G4TrkContainer.isValid()) {
325  edm::LogWarning(MsgLoggerCat) << "Unable to find SimTrack in event!";
326  return;
327  }
328  i = 0;
329  edm::SimTrackContainer::const_iterator itTrk;
330  for (itTrk = G4TrkContainer->begin(); itTrk != G4TrkContainer->end(); ++itTrk) {
331  ++i;
332 
333  const math::XYZTLorentzVector G4Trk1(
334  itTrk->momentum().x(), itTrk->momentum().y(), itTrk->momentum().z(), itTrk->momentum().e());
335  double G4Trk[4];
336  G4Trk1.GetCoordinates(G4Trk);
337 
338  G4TrkPt.push_back(sqrt(G4Trk[0] * G4Trk[0] + G4Trk[1] * G4Trk[1])); // GeV
339  G4TrkE.push_back(G4Trk[3]); // GeV
340  }
341 
342  if (verbosity > 1) {
343  eventout += "\n Number of G4Tracks collected:.............. ";
344  eventout += i;
345  }
346 
347  if (verbosity > 0)
348  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
349 
350  return;
351 }
Provenance const * provenance() const
Definition: HandleBase.h:74
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:29
int iEvent
Definition: GenABIO.cc:224
T sqrt(T t)
Definition: SSEVec.h:19
BranchDescription const & branchDescription() const
Definition: Provenance.h:45
Basic3DVector unit() const
edm::EDGetTokenT< edm::SimTrackContainer > G4TrkSrc_Token_
const HepMC::GenEvent * GetEvent() const
Definition: HepMCProduct.h:37
Log< level::Info, false > LogInfo
bool isValid() const
Definition: HandleBase.h:70
edm::EDGetTokenT< edm::SimVertexContainer > G4VtxSrc_Token_
Log< level::Warning, false > LogWarning

◆ fillHCal()

void GlobalHitsProducer::fillHCal ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
private

Definition at line 1257 of file GlobalHitsProducer.cc.

References caloGeomToken_, hgcalTestNeighbor_cfi::detector, dHcal, PV3DBase< T, PVType, FrameType >::eta(), edm::EventSetup::getHandle(), HcalGeometry::getPosition(), CaloGeometry::getSubdetectorGeometry(), HCalE, HCalEta, HCalPhi, HCalSrc_Token_, HCalToF, mps_fire::i, iEvent, edm::HandleBase::isValid(), dqmiolumiharvest::j, PV3DBase< T, PVType, FrameType >::phi(), sdHcalBrl, sdHcalEC, sdHcalFwd, sdHcalOut, AlCaHLTBitMon_QueryRunRegistry::string, subdetector, and verbosity.

Referenced by produce().

1257  {
1258  std::string MsgLoggerCat = "GlobalHitsProducer_fillHCal";
1259 
1260  TString eventout;
1261  if (verbosity > 0)
1262  eventout = "\nGathering info:";
1263 
1264  // access the calorimeter geometry
1265  const auto &theCaloGeometry = iSetup.getHandle(caloGeomToken_);
1266  if (!theCaloGeometry.isValid()) {
1267  edm::LogWarning(MsgLoggerCat) << "Unable to find CaloGeometryRecord in event!";
1268  return;
1269  }
1270  const CaloGeometry &theCalo(*theCaloGeometry);
1271 
1272  // iterator to access containers
1273  edm::PCaloHitContainer::const_iterator itHit;
1274 
1276  // get HCal information
1278  // extract HCal container
1280  iEvent.getByToken(HCalSrc_Token_, HCalContainer);
1281  if (!HCalContainer.isValid()) {
1282  edm::LogWarning(MsgLoggerCat) << "Unable to find HCalHits in event!";
1283  return;
1284  }
1285 
1286  // cycle through container
1287  int i = 0, j = 0;
1288  for (itHit = HCalContainer->begin(); itHit != HCalContainer->end(); ++itHit) {
1289  ++i;
1290 
1291  // create a DetId from the detUnitId
1292  DetId theDetUnitId(itHit->id());
1293  int detector = theDetUnitId.det();
1294  int subdetector = theDetUnitId.subdetId();
1295 
1296  // check that expected detector is returned
1297  if ((detector == dHcal) && ((subdetector == sdHcalBrl) || (subdetector == sdHcalEC) || (subdetector == sdHcalOut) ||
1298  (subdetector == sdHcalFwd))) {
1299  // get the Cell geometry
1300  const HcalGeometry *theDet = dynamic_cast<const HcalGeometry *>(theCalo.getSubdetectorGeometry(theDetUnitId));
1301 
1302  if (!theDet) {
1303  edm::LogWarning(MsgLoggerCat) << "Unable to get CaloCellGeometry from HCalContainer for Hit " << i;
1304  continue;
1305  }
1306 
1307  ++j;
1308 
1309  // get the global position of the cell
1310  const GlobalPoint &globalposition = theDet->getPosition(theDetUnitId);
1311 
1312  // gather necessary information
1313  HCalE.push_back(itHit->energy());
1314  HCalToF.push_back(itHit->time());
1315  HCalPhi.push_back(globalposition.phi());
1316  HCalEta.push_back(globalposition.eta());
1317 
1318  } else {
1319  edm::LogWarning(MsgLoggerCat) << "HCal PCaloHit " << i << " is expected to be (det,subdet) = (" << dHcal << ","
1320  << sdHcalBrl << " || " << sdHcalEC << " || " << sdHcalOut << " || " << sdHcalFwd
1321  << "); value returned is: (" << detector << "," << subdetector << ")";
1322  continue;
1323  } // end detector type check
1324  } // end loop through HCal Hits
1325 
1326  if (verbosity > 1) {
1327  eventout += "\n Number of HCal Hits collected:............. ";
1328  eventout += j;
1329  }
1330 
1331  if (verbosity > 0)
1332  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
1333 
1334  return;
1335 }
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > caloGeomToken_
static const int sdHcalOut
TString subdetector
Geom::Phi< T > phi() const
Definition: PV3DBase.h:66
T eta() const
Definition: PV3DBase.h:73
edm::EDGetTokenT< edm::PCaloHitContainer > HCalSrc_Token_
int iEvent
Definition: GenABIO.cc:224
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
Definition: EventSetup.h:130
Log< level::Info, false > LogInfo
Definition: DetId.h:17
static const int dHcal
static const int sdHcalFwd
static const int sdHcalBrl
bool isValid() const
Definition: HandleBase.h:70
GlobalPoint getPosition(const DetId &id) const
Log< level::Warning, false > LogWarning
static const int sdHcalEC

◆ fillMuon()

void GlobalHitsProducer::fillMuon ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
private

Definition at line 775 of file GlobalHitsProducer.cc.

References cscGeomToken_, hgcalTestNeighbor_cfi::detector, dMuon, dtGeomToken_, PVValHelper::eta, edm::EventSetup::getHandle(), mps_fire::i, RPCGeometry::idToDetUnit(), CSCGeometry::idToDetUnit(), iEvent, edm::HandleBase::isValid(), dqmiolumiharvest::j, DTGeometry::layer(), MuonCscEta, MuonCscPhi, MuonCscSrc_Token_, MuonCscToF, MuonCscZ, MuonDtEta, MuonDtPhi, MuonDtR, MuonDtSrc_Token_, MuonDtToF, MuonRpcBrlEta, MuonRpcBrlPhi, MuonRpcBrlR, MuonRpcBrlToF, MuonRpcFwdEta, MuonRpcFwdPhi, MuonRpcFwdToF, MuonRpcFwdZ, MuonRpcSrc_Token_, perp(), phi, nano_mu_digi_cff::region, rpcGeomToken_, sdMuonCSC, sdMuonDT, sdMuonRPC, sdMuonRPCRgnBrl, sdMuonRPCRgnFwdn, sdMuonRPCRgnFwdp, AlCaHLTBitMon_QueryRunRegistry::string, subdetector, GeomDet::surface(), verbosity, and z.

Referenced by produce().

775  {
776  std::string MsgLoggerCat = "GlobalHitsProducer_fillMuon";
777 
778  TString eventout;
779  if (verbosity > 0)
780  eventout = "\nGathering info:";
781 
782  // iterator to access containers
783  edm::PSimHitContainer::const_iterator itHit;
784 
785  // int i = 0, j = 0;
787  // access the CSC Muon
789  // access the CSC Muon geometry
790  const auto &theCSCGeometry = iSetup.getHandle(cscGeomToken_);
791  if (!theCSCGeometry.isValid()) {
792  edm::LogWarning(MsgLoggerCat) << "Unable to find MuonGeometryRecord for the CSCGeometry in event!";
793  return;
794  }
795  const CSCGeometry &theCSCMuon(*theCSCGeometry);
796 
797  // get Muon CSC information
798  edm::Handle<edm::PSimHitContainer> MuonCSCContainer;
799  iEvent.getByToken(MuonCscSrc_Token_, MuonCSCContainer);
800  if (!MuonCSCContainer.isValid()) {
801  edm::LogWarning(MsgLoggerCat) << "Unable to find MuonCSCHits in event!";
802  return;
803  }
804 
805  // cycle through container
806  int i = 0, j = 0;
807  for (itHit = MuonCSCContainer->begin(); itHit != MuonCSCContainer->end(); ++itHit) {
808  ++i;
809 
810  // create a DetId from the detUnitId
811  DetId theDetUnitId(itHit->detUnitId());
812  int detector = theDetUnitId.det();
813  int subdetector = theDetUnitId.subdetId();
814 
815  // check that expected detector is returned
816  if ((detector == dMuon) && (subdetector == sdMuonCSC)) {
817  // get the GeomDetUnit from the geometry using theDetUnitID
818  const GeomDetUnit *theDet = theCSCMuon.idToDetUnit(theDetUnitId);
819 
820  if (!theDet) {
821  edm::LogWarning(MsgLoggerCat) << "Unable to get GeomDetUnit from theCSCMuon for hit " << i;
822  continue;
823  }
824 
825  ++j;
826 
827  // get the Surface of the hit (knows how to go from local <-> global)
828  const BoundPlane &bSurface = theDet->surface();
829 
830  // gather necessary information
831  MuonCscToF.push_back(itHit->tof());
832  MuonCscZ.push_back(bSurface.toGlobal(itHit->localPosition()).z());
833  MuonCscPhi.push_back(bSurface.toGlobal(itHit->localPosition()).phi());
834  MuonCscEta.push_back(bSurface.toGlobal(itHit->localPosition()).eta());
835  } else {
836  edm::LogWarning(MsgLoggerCat) << "MuonCsc PSimHit " << i << " is expected to be (det,subdet) = (" << dMuon << ","
837  << sdMuonCSC << "); value returned is: (" << detector << "," << subdetector << ")";
838  continue;
839  } // end detector type check
840  } // end loop through CSC Hits
841 
842  if (verbosity > 1) {
843  eventout += "\n Number of CSC muon Hits collected:......... ";
844  eventout += j;
845  }
846 
847  // i = 0, j = 0;
849  // access the DT Muon
851  // access the DT Muon geometry
852  const auto &theDTGeometry = iSetup.getHandle(dtGeomToken_);
853  if (!theDTGeometry.isValid()) {
854  edm::LogWarning(MsgLoggerCat) << "Unable to find MuonGeometryRecord for the DTGeometry in event!";
855  return;
856  }
857  const DTGeometry &theDTMuon(*theDTGeometry);
858 
859  // get Muon DT information
860  edm::Handle<edm::PSimHitContainer> MuonDtContainer;
861  iEvent.getByToken(MuonDtSrc_Token_, MuonDtContainer);
862  if (!MuonDtContainer.isValid()) {
863  edm::LogWarning(MsgLoggerCat) << "Unable to find MuonDTHits in event!";
864  return;
865  }
866 
867  // cycle through container
868  i = 0, j = 0;
869  for (itHit = MuonDtContainer->begin(); itHit != MuonDtContainer->end(); ++itHit) {
870  ++i;
871 
872  // create a DetId from the detUnitId
873  DetId theDetUnitId(itHit->detUnitId());
874  int detector = theDetUnitId.det();
875  int subdetector = theDetUnitId.subdetId();
876 
877  // check that expected detector is returned
878  if ((detector == dMuon) && (subdetector == sdMuonDT)) {
879  // CSC uses wires and layers rather than the full detID
880  // get the wireId
881  DTWireId wireId(itHit->detUnitId());
882 
883  // get the DTLayer from the geometry using the wireID
884  const DTLayer *theDet = theDTMuon.layer(wireId.layerId());
885 
886  if (!theDet) {
887  edm::LogWarning(MsgLoggerCat) << "Unable to get GeomDetUnit from theDtMuon for hit " << i;
888  continue;
889  }
890 
891  ++j;
892 
893  // get the Surface of the hit (knows how to go from local <-> global)
894  const BoundPlane &bSurface = theDet->surface();
895 
896  // gather necessary information
897  MuonDtToF.push_back(itHit->tof());
898  MuonDtR.push_back(bSurface.toGlobal(itHit->localPosition()).perp());
899  MuonDtPhi.push_back(bSurface.toGlobal(itHit->localPosition()).phi());
900  MuonDtEta.push_back(bSurface.toGlobal(itHit->localPosition()).eta());
901  } else {
902  edm::LogWarning(MsgLoggerCat) << "MuonDt PSimHit " << i << " is expected to be (det,subdet) = (" << dMuon << ","
903  << sdMuonDT << "); value returned is: (" << detector << "," << subdetector << ")";
904  continue;
905  } // end detector type check
906  } // end loop through DT Hits
907 
908  if (verbosity > 1) {
909  eventout += "\n Number of DT muon Hits collected:.......... ";
910  eventout += j;
911  }
912 
913  // i = 0, j = 0;
914  // int RPCBrl = 0, RPCFwd = 0;
916  // access the RPC Muon
918  // access the RPC Muon geometry
919  const auto &theRPCGeometry = iSetup.getHandle(rpcGeomToken_);
920  if (!theRPCGeometry.isValid()) {
921  edm::LogWarning(MsgLoggerCat) << "Unable to find MuonGeometryRecord for the RPCGeometry in event!";
922  return;
923  }
924  const RPCGeometry &theRPCMuon(*theRPCGeometry);
925 
926  // get Muon RPC information
927  edm::Handle<edm::PSimHitContainer> MuonRPCContainer;
928  iEvent.getByToken(MuonRpcSrc_Token_, MuonRPCContainer);
929  if (!MuonRPCContainer.isValid()) {
930  edm::LogWarning(MsgLoggerCat) << "Unable to find MuonRPCHits in event!";
931  return;
932  }
933 
934  // cycle through container
935  i = 0, j = 0;
936  int RPCBrl = 0, RPCFwd = 0;
937  for (itHit = MuonRPCContainer->begin(); itHit != MuonRPCContainer->end(); ++itHit) {
938  ++i;
939 
940  // create a DetID from the detUnitId
941  DetId theDetUnitId(itHit->detUnitId());
942  int detector = theDetUnitId.det();
943  int subdetector = theDetUnitId.subdetId();
944 
945  // check that expected detector is returned
946  if ((detector == dMuon) && (subdetector == sdMuonRPC)) {
947  // get an RPCDetID from the detUnitID
948  RPCDetId RPCId(itHit->detUnitId());
949 
950  // find the region of the RPC hit
951  int region = RPCId.region();
952 
953  // get the GeomDetUnit from the geometry using the RPCDetId
954  const GeomDetUnit *theDet = theRPCMuon.idToDetUnit(theDetUnitId);
955 
956  if (!theDet) {
957  edm::LogWarning(MsgLoggerCat) << "Unable to get GeomDetUnit from theRPCMuon for hit " << i;
958  continue;
959  }
960 
961  ++j;
962 
963  // get the Surface of the hit (knows how to go from local <-> global)
964  const BoundPlane &bSurface = theDet->surface();
965 
966  // gather necessary information
967  if ((region == sdMuonRPCRgnFwdp) || (region == sdMuonRPCRgnFwdn)) {
968  ++RPCFwd;
969 
970  MuonRpcFwdToF.push_back(itHit->tof());
971  MuonRpcFwdZ.push_back(bSurface.toGlobal(itHit->localPosition()).z());
972  MuonRpcFwdPhi.push_back(bSurface.toGlobal(itHit->localPosition()).phi());
973  MuonRpcFwdEta.push_back(bSurface.toGlobal(itHit->localPosition()).eta());
974  } else if (region == sdMuonRPCRgnBrl) {
975  ++RPCBrl;
976 
977  MuonRpcBrlToF.push_back(itHit->tof());
978  MuonRpcBrlR.push_back(bSurface.toGlobal(itHit->localPosition()).perp());
979  MuonRpcBrlPhi.push_back(bSurface.toGlobal(itHit->localPosition()).phi());
980  MuonRpcBrlEta.push_back(bSurface.toGlobal(itHit->localPosition()).eta());
981  } else {
982  edm::LogWarning(MsgLoggerCat) << "Invalid region for RPC Muon hit" << i;
983  continue;
984  } // end check of region
985  } else {
986  edm::LogWarning(MsgLoggerCat) << "MuonRpc PSimHit " << i << " is expected to be (det,subdet) = (" << dMuon << ","
987  << sdMuonRPC << "); value returned is: (" << detector << "," << subdetector << ")";
988  continue;
989  } // end detector type check
990  } // end loop through RPC Hits
991 
992  if (verbosity > 1) {
993  eventout += "\n Number of RPC muon Hits collected:......... ";
994  eventout += j;
995  eventout += "\n RPC Barrel muon Hits:............ ";
996  eventout += RPCBrl;
997  eventout += "\n RPC Forward muon Hits:........... ";
998  eventout += RPCFwd;
999  }
1000 
1001  if (verbosity > 0)
1002  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
1003 
1004  return;
1005 }
static const int sdMuonRPCRgnFwdn
edm::ESGetToken< CSCGeometry, MuonGeometryRecord > cscGeomToken_
static const int sdMuonDT
edm::EDGetTokenT< edm::PSimHitContainer > MuonRpcSrc_Token_
TString subdetector
static const int sdMuonRPC
edm::EDGetTokenT< edm::PSimHitContainer > MuonCscSrc_Token_
int iEvent
Definition: GenABIO.cc:224
static const int sdMuonCSC
static const int sdMuonRPCRgnFwdp
static const int sdMuonRPCRgnBrl
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
Definition: EventSetup.h:130
T perp() const
Magnitude of transverse component.
Log< level::Info, false > LogInfo
Definition: DetId.h:17
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
edm::ESGetToken< RPCGeometry, MuonGeometryRecord > rpcGeomToken_
bool isValid() const
Definition: HandleBase.h:70
edm::EDGetTokenT< edm::PSimHitContainer > MuonDtSrc_Token_
static const int dMuon
Log< level::Warning, false > LogWarning
edm::ESGetToken< DTGeometry, MuonGeometryRecord > dtGeomToken_

◆ fillTrk()

void GlobalHitsProducer::fillTrk ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
private

Definition at line 389 of file GlobalHitsProducer.cc.

References hgcalTestNeighbor_cfi::detector, dTrk, PVValHelper::eta, edm::EventSetup::getHandle(), mps_fire::i, TrackerGeometry::idToDetUnit(), iEvent, edm::HandleBase::isValid(), dqmiolumiharvest::j, perp(), phi, PxlBrlEta, PxlBrlHighSrc_Token_, PxlBrlLowSrc_Token_, PxlBrlPhi, PxlBrlR, PxlBrlToF, PxlFwdEta, PxlFwdHighSrc_Token_, PxlFwdLowSrc_Token_, PxlFwdPhi, PxlFwdToF, PxlFwdZ, sdPxlBrl, sdPxlFwd, sdSiTEC, sdSiTIB, sdSiTID, sdSiTOB, SiBrlEta, SiBrlPhi, SiBrlR, SiBrlToF, SiFwdEta, SiFwdPhi, SiFwdToF, SiFwdZ, SiTECHighSrc_Token_, SiTECLowSrc_Token_, SiTIBHighSrc_Token_, SiTIBLowSrc_Token_, SiTIDHighSrc_Token_, SiTIDLowSrc_Token_, SiTOBHighSrc_Token_, SiTOBLowSrc_Token_, AlCaHLTBitMon_QueryRunRegistry::string, subdetector, GeomDet::surface(), tGeomToken_, verbosity, and z.

Referenced by produce().

389  {
390  std::string MsgLoggerCat = "GlobalHitsProducer_fillTrk";
391 
392  TString eventout;
393  if (verbosity > 0)
394  eventout = "\nGathering info:";
395 
396  // access the tracker geometry
397  const auto &theTrackerGeometry = iSetup.getHandle(tGeomToken_);
398  if (!theTrackerGeometry.isValid()) {
399  edm::LogWarning(MsgLoggerCat) << "Unable to find TrackerDigiGeometryRecord in event!";
400  return;
401  }
402  const TrackerGeometry &theTracker(*theTrackerGeometry);
403 
404  // iterator to access containers
405  edm::PSimHitContainer::const_iterator itHit;
406 
408  // get Pixel Barrel information
410  edm::PSimHitContainer thePxlBrlHits;
411  // extract low container
412  edm::Handle<edm::PSimHitContainer> PxlBrlLowContainer;
413  iEvent.getByToken(PxlBrlLowSrc_Token_, PxlBrlLowContainer);
414  if (!PxlBrlLowContainer.isValid()) {
415  edm::LogWarning(MsgLoggerCat) << "Unable to find TrackerHitsPixelBarrelLowTof in event!";
416  return;
417  }
418  // extract high container
419  edm::Handle<edm::PSimHitContainer> PxlBrlHighContainer;
420  iEvent.getByToken(PxlBrlHighSrc_Token_, PxlBrlHighContainer);
421  if (!PxlBrlHighContainer.isValid()) {
422  edm::LogWarning(MsgLoggerCat) << "Unable to find TrackerHitsPixelBarrelHighTof in event!";
423  return;
424  }
425  // place both containers into new container
426  thePxlBrlHits.insert(thePxlBrlHits.end(), PxlBrlLowContainer->begin(), PxlBrlLowContainer->end());
427  thePxlBrlHits.insert(thePxlBrlHits.end(), PxlBrlHighContainer->begin(), PxlBrlHighContainer->end());
428 
429  // cycle through new container
430  int i = 0, j = 0;
431  for (itHit = thePxlBrlHits.begin(); itHit != thePxlBrlHits.end(); ++itHit) {
432  ++i;
433 
434  // create a DetId from the detUnitId
435  DetId theDetUnitId(itHit->detUnitId());
436  int detector = theDetUnitId.det();
437  int subdetector = theDetUnitId.subdetId();
438 
439  // check that expected detector is returned
440  if ((detector == dTrk) && (subdetector == sdPxlBrl)) {
441  // get the GeomDetUnit from the geometry using theDetUnitID
442  const GeomDetUnit *theDet = theTracker.idToDetUnit(theDetUnitId);
443 
444  if (!theDet) {
445  edm::LogWarning(MsgLoggerCat) << "Unable to get GeomDetUnit from PxlBrlHits for Hit " << i;
446  continue;
447  }
448 
449  ++j;
450 
451  // get the Surface of the hit (knows how to go from local <-> global)
452  const BoundPlane &bSurface = theDet->surface();
453 
454  // gather necessary information
455  PxlBrlToF.push_back(itHit->tof());
456  PxlBrlR.push_back(bSurface.toGlobal(itHit->localPosition()).perp());
457  PxlBrlPhi.push_back(bSurface.toGlobal(itHit->localPosition()).phi());
458  PxlBrlEta.push_back(bSurface.toGlobal(itHit->localPosition()).eta());
459 
460  } else {
461  edm::LogWarning(MsgLoggerCat) << "PxlBrl PSimHit " << i << " is expected to be (det,subdet) = (" << dTrk << ","
462  << sdPxlBrl << "); value returned is: (" << detector << "," << subdetector << ")";
463  continue;
464  } // end detector type check
465  } // end loop through PxlBrl Hits
466 
467  if (verbosity > 1) {
468  eventout += "\n Number of Pixel Barrel Hits collected:..... ";
469  eventout += j;
470  }
471 
473  // get Pixel Forward information
475  edm::PSimHitContainer thePxlFwdHits;
476  // extract low container
477  edm::Handle<edm::PSimHitContainer> PxlFwdLowContainer;
478  iEvent.getByToken(PxlFwdLowSrc_Token_, PxlFwdLowContainer);
479  if (!PxlFwdLowContainer.isValid()) {
480  edm::LogWarning(MsgLoggerCat) << "Unable to find TrackerHitsPixelEndcapLowTof in event!";
481  return;
482  }
483  // extract high container
484  edm::Handle<edm::PSimHitContainer> PxlFwdHighContainer;
485  iEvent.getByToken(PxlFwdHighSrc_Token_, PxlFwdHighContainer);
486  if (!PxlFwdHighContainer.isValid()) {
487  edm::LogWarning("GlobalHitsProducer_fillTrk") << "Unable to find TrackerHitsPixelEndcapHighTof in event!";
488  return;
489  }
490  // place both containers into new container
491  thePxlFwdHits.insert(thePxlFwdHits.end(), PxlFwdLowContainer->begin(), PxlFwdLowContainer->end());
492  thePxlFwdHits.insert(thePxlFwdHits.end(), PxlFwdHighContainer->begin(), PxlFwdHighContainer->end());
493 
494  // cycle through new container
495  i = 0;
496  j = 0;
497  for (itHit = thePxlFwdHits.begin(); itHit != thePxlFwdHits.end(); ++itHit) {
498  ++i;
499 
500  // create a DetId from the detUnitId
501  DetId theDetUnitId(itHit->detUnitId());
502  int detector = theDetUnitId.det();
503  int subdetector = theDetUnitId.subdetId();
504 
505  // check that expected detector is returned
506  if ((detector == dTrk) && (subdetector == sdPxlFwd)) {
507  // get the GeomDetUnit from the geometry using theDetUnitID
508  const GeomDetUnit *theDet = theTracker.idToDetUnit(theDetUnitId);
509 
510  if (!theDet) {
511  edm::LogWarning(MsgLoggerCat) << "Unable to get GeomDetUnit from PxlFwdHits for Hit " << i;
512  ;
513  continue;
514  }
515 
516  ++j;
517 
518  // get the Surface of the hit (knows how to go from local <-> global)
519  const BoundPlane &bSurface = theDet->surface();
520 
521  // gather necessary information
522  PxlFwdToF.push_back(itHit->tof());
523  PxlFwdZ.push_back(bSurface.toGlobal(itHit->localPosition()).z());
524  PxlFwdPhi.push_back(bSurface.toGlobal(itHit->localPosition()).phi());
525  PxlFwdEta.push_back(bSurface.toGlobal(itHit->localPosition()).eta());
526  } else {
527  edm::LogWarning(MsgLoggerCat) << "PxlFwd PSimHit " << i << " is expected to be (det,subdet) = (" << dTrk << ","
528  << sdPxlFwd << "); value returned is: (" << detector << "," << subdetector << ")";
529  continue;
530  } // end detector type check
531  } // end loop through PxlFwd Hits
532 
533  if (verbosity > 1) {
534  eventout += "\n Number of Pixel Forward Hits collected:.... ";
535  eventout += j;
536  }
537 
539  // get Silicon Barrel information
541  edm::PSimHitContainer theSiBrlHits;
542  // extract TIB low container
543  edm::Handle<edm::PSimHitContainer> SiTIBLowContainer;
544  iEvent.getByToken(SiTIBLowSrc_Token_, SiTIBLowContainer);
545  if (!SiTIBLowContainer.isValid()) {
546  edm::LogWarning(MsgLoggerCat) << "Unable to find TrackerHitsTIBLowTof in event!";
547  return;
548  }
549  // extract TIB high container
550  edm::Handle<edm::PSimHitContainer> SiTIBHighContainer;
551  iEvent.getByToken(SiTIBHighSrc_Token_, SiTIBHighContainer);
552  if (!SiTIBHighContainer.isValid()) {
553  edm::LogWarning(MsgLoggerCat) << "Unable to find TrackerHitsTIBHighTof in event!";
554  return;
555  }
556  // extract TOB low container
557  edm::Handle<edm::PSimHitContainer> SiTOBLowContainer;
558  iEvent.getByToken(SiTOBLowSrc_Token_, SiTOBLowContainer);
559  if (!SiTOBLowContainer.isValid()) {
560  edm::LogWarning(MsgLoggerCat) << "Unable to find TrackerHitsTOBLowTof in event!";
561  return;
562  }
563  // extract TOB high container
564  edm::Handle<edm::PSimHitContainer> SiTOBHighContainer;
565  iEvent.getByToken(SiTOBHighSrc_Token_, SiTOBHighContainer);
566  if (!SiTOBHighContainer.isValid()) {
567  edm::LogWarning(MsgLoggerCat) << "Unable to find TrackerHitsTOBHighTof in event!";
568  return;
569  }
570  // place all containers into new container
571  theSiBrlHits.insert(theSiBrlHits.end(), SiTIBLowContainer->begin(), SiTIBLowContainer->end());
572  theSiBrlHits.insert(theSiBrlHits.end(), SiTIBHighContainer->begin(), SiTIBHighContainer->end());
573  theSiBrlHits.insert(theSiBrlHits.end(), SiTOBLowContainer->begin(), SiTOBLowContainer->end());
574  theSiBrlHits.insert(theSiBrlHits.end(), SiTOBHighContainer->begin(), SiTOBHighContainer->end());
575 
576  // cycle through new container
577  i = 0;
578  j = 0;
579  for (itHit = theSiBrlHits.begin(); itHit != theSiBrlHits.end(); ++itHit) {
580  ++i;
581 
582  // create a DetId from the detUnitId
583  DetId theDetUnitId(itHit->detUnitId());
584  int detector = theDetUnitId.det();
585  int subdetector = theDetUnitId.subdetId();
586 
587  // check that expected detector is returned
588  if ((detector == dTrk) && ((subdetector == sdSiTIB) || (subdetector == sdSiTOB))) {
589  // get the GeomDetUnit from the geometry using theDetUnitID
590  const GeomDetUnit *theDet = theTracker.idToDetUnit(theDetUnitId);
591 
592  if (!theDet) {
593  edm::LogWarning(MsgLoggerCat) << "Unable to get GeomDetUnit from SiBrlHits for Hit " << i;
594  continue;
595  }
596 
597  ++j;
598 
599  // get the Surface of the hit (knows how to go from local <-> global)
600  const BoundPlane &bSurface = theDet->surface();
601 
602  // gather necessary information
603  SiBrlToF.push_back(itHit->tof());
604  SiBrlR.push_back(bSurface.toGlobal(itHit->localPosition()).perp());
605  SiBrlPhi.push_back(bSurface.toGlobal(itHit->localPosition()).phi());
606  SiBrlEta.push_back(bSurface.toGlobal(itHit->localPosition()).eta());
607  } else {
608  edm::LogWarning(MsgLoggerCat) << "SiBrl PSimHit " << i << " is expected to be (det,subdet) = (" << dTrk << ","
609  << sdSiTIB << " || " << sdSiTOB << "); value returned is: (" << detector << ","
610  << subdetector << ")";
611  continue;
612  } // end detector type check
613  } // end loop through SiBrl Hits
614 
615  if (verbosity > 1) {
616  eventout += "\n Number of Silicon Barrel Hits collected:... ";
617  eventout += j;
618  }
619 
621  // get Silicon Forward information
623  edm::PSimHitContainer theSiFwdHits;
624  // extract TID low container
625  edm::Handle<edm::PSimHitContainer> SiTIDLowContainer;
626  iEvent.getByToken(SiTIDLowSrc_Token_, SiTIDLowContainer);
627  if (!SiTIDLowContainer.isValid()) {
628  edm::LogWarning(MsgLoggerCat) << "Unable to find TrackerHitsTIDLowTof in event!";
629  return;
630  }
631  // extract TID high container
632  edm::Handle<edm::PSimHitContainer> SiTIDHighContainer;
633  iEvent.getByToken(SiTIDHighSrc_Token_, SiTIDHighContainer);
634  if (!SiTIDHighContainer.isValid()) {
635  edm::LogWarning("GlobalHitsProducer_fillTrk") << "Unable to find TrackerHitsTIDHighTof in event!";
636  return;
637  }
638  // extract TEC low container
639  edm::Handle<edm::PSimHitContainer> SiTECLowContainer;
640  iEvent.getByToken(SiTECLowSrc_Token_, SiTECLowContainer);
641  if (!SiTECLowContainer.isValid()) {
642  edm::LogWarning(MsgLoggerCat) << "Unable to find TrackerHitsTECLowTof in event!";
643  return;
644  }
645  // extract TEC high container
646  edm::Handle<edm::PSimHitContainer> SiTECHighContainer;
647  iEvent.getByToken(SiTECHighSrc_Token_, SiTECHighContainer);
648  if (!SiTECHighContainer.isValid()) {
649  edm::LogWarning(MsgLoggerCat) << "Unable to find TrackerHitsTECHighTof in event!";
650  return;
651  }
652  // place all containers into new container
653  theSiFwdHits.insert(theSiFwdHits.end(), SiTIDLowContainer->begin(), SiTIDLowContainer->end());
654  theSiFwdHits.insert(theSiFwdHits.end(), SiTIDHighContainer->begin(), SiTIDHighContainer->end());
655  theSiFwdHits.insert(theSiFwdHits.end(), SiTECLowContainer->begin(), SiTECLowContainer->end());
656  theSiFwdHits.insert(theSiFwdHits.end(), SiTECHighContainer->begin(), SiTECHighContainer->end());
657 
658  // cycle through container
659  i = 0;
660  j = 0;
661  for (itHit = theSiFwdHits.begin(); itHit != theSiFwdHits.end(); ++itHit) {
662  ++i;
663 
664  // create a DetId from the detUnitId
665  DetId theDetUnitId(itHit->detUnitId());
666  int detector = theDetUnitId.det();
667  int subdetector = theDetUnitId.subdetId();
668 
669  // check that expected detector is returned
670  if ((detector == dTrk) && ((subdetector == sdSiTID) || (subdetector == sdSiTEC))) {
671  // get the GeomDetUnit from the geometry using theDetUnitID
672  const GeomDetUnit *theDet = theTracker.idToDetUnit(theDetUnitId);
673 
674  if (!theDet) {
675  edm::LogWarning(MsgLoggerCat) << "Unable to get GeomDetUnit from SiFwdHits Hit " << i;
676  return;
677  }
678 
679  ++j;
680 
681  // get the Surface of the hit (knows how to go from local <-> global)
682  const BoundPlane &bSurface = theDet->surface();
683 
684  // gather necessary information
685  SiFwdToF.push_back(itHit->tof());
686  SiFwdZ.push_back(bSurface.toGlobal(itHit->localPosition()).z());
687  SiFwdPhi.push_back(bSurface.toGlobal(itHit->localPosition()).phi());
688  SiFwdEta.push_back(bSurface.toGlobal(itHit->localPosition()).eta());
689  } else {
690  edm::LogWarning(MsgLoggerCat) << "SiFwd PSimHit " << i << " is expected to be (det,subdet) = (" << dTrk << ","
691  << sdSiTOB << " || " << sdSiTEC << "); value returned is: (" << detector << ","
692  << subdetector << ")";
693  continue;
694  } // end check detector type
695  } // end loop through SiFwd Hits
696 
697  if (verbosity > 1) {
698  eventout += "\n Number of Silicon Forward Hits collected:.. ";
699  eventout += j;
700  }
701 
702  if (verbosity > 0)
703  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
704 
705  return;
706 }
edm::EDGetTokenT< edm::PSimHitContainer > SiTIBHighSrc_Token_
static const int dTrk
edm::EDGetTokenT< edm::PSimHitContainer > SiTECHighSrc_Token_
TString subdetector
static const int sdSiTID
edm::EDGetTokenT< edm::PSimHitContainer > PxlBrlHighSrc_Token_
edm::EDGetTokenT< edm::PSimHitContainer > PxlFwdHighSrc_Token_
edm::EDGetTokenT< edm::PSimHitContainer > SiTIBLowSrc_Token_
int iEvent
Definition: GenABIO.cc:224
static const int sdSiTIB
static const int sdPxlBrl
edm::EDGetTokenT< edm::PSimHitContainer > SiTIDLowSrc_Token_
static const int sdSiTOB
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > tGeomToken_
edm::EDGetTokenT< edm::PSimHitContainer > SiTOBLowSrc_Token_
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
Definition: EventSetup.h:130
T perp() const
Magnitude of transverse component.
Log< level::Info, false > LogInfo
Definition: DetId.h:17
edm::EDGetTokenT< edm::PSimHitContainer > SiTOBHighSrc_Token_
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
edm::EDGetTokenT< edm::PSimHitContainer > SiTIDHighSrc_Token_
bool isValid() const
Definition: HandleBase.h:70
edm::EDGetTokenT< edm::PSimHitContainer > PxlFwdLowSrc_Token_
edm::EDGetTokenT< edm::PSimHitContainer > PxlBrlLowSrc_Token_
static const int sdSiTEC
std::vector< PSimHit > PSimHitContainer
edm::EDGetTokenT< edm::PSimHitContainer > SiTECLowSrc_Token_
static const int sdPxlFwd
Log< level::Warning, false > LogWarning

◆ produce()

void GlobalHitsProducer::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
overridevirtual

Implements edm::one::EDProducerBase.

Definition at line 147 of file GlobalHitsProducer.cc.

References clear(), count, fillECal(), fillG4MC(), fillHCal(), fillMuon(), fillTrk(), frequency, getAllProvenances, mps_fire::i, iEvent, label, eostools::move(), nevt, printProvenanceInfo, storeECal(), storeG4MC(), storeHCal(), storeMuon(), storeTrk(), AlCaHLTBitMon_QueryRunRegistry::string, and verbosity.

147  {
148  std::string MsgLoggerCat = "GlobalHitsProducer_produce";
149 
150  // keep track of number of events processed
151  ++count;
152 
153  // get event id information
154  edm::RunNumber_t nrun = iEvent.id().run();
155  edm::EventNumber_t nevt = iEvent.id().event();
156 
157  if (verbosity > 0) {
158  edm::LogInfo(MsgLoggerCat) << "Processing run " << nrun << ", event " << nevt << " (" << count << " events total)";
159  } else if (verbosity == 0) {
160  if (nevt % frequency == 0 || nevt == 1) {
161  edm::LogInfo(MsgLoggerCat) << "Processing run " << nrun << ", event " << nevt << " (" << count
162  << " events total)";
163  }
164  }
165 
166  // clear event holders
167  clear();
168 
169  // look at information available in the event
170  if (getAllProvenances) {
171  std::vector<const edm::StableProvenance *> AllProv;
172  iEvent.getAllStableProvenance(AllProv);
173 
174  if (verbosity >= 0)
175  edm::LogInfo(MsgLoggerCat) << "Number of Provenances = " << AllProv.size();
176 
177  if (printProvenanceInfo && (verbosity >= 0)) {
178  TString eventout("\nProvenance info:\n");
179 
180  for (unsigned int i = 0; i < AllProv.size(); ++i) {
181  eventout += "\n ******************************";
182  eventout += "\n Module : ";
183  eventout += AllProv[i]->moduleLabel();
184  eventout += "\n ProductID : ";
185  eventout += AllProv[i]->productID().id();
186  eventout += "\n ClassName : ";
187  eventout += AllProv[i]->className();
188  eventout += "\n InstanceName : ";
189  eventout += AllProv[i]->productInstanceName();
190  eventout += "\n BranchName : ";
191  eventout += AllProv[i]->branchName();
192  }
193  eventout += "\n ******************************\n";
194  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
195  printProvenanceInfo = false;
196  }
197  getAllProvenances = false;
198  }
199 
200  // call fill functions
201  // gather G4MC information from event
202  fillG4MC(iEvent);
203  // gather Tracker information from event
204  fillTrk(iEvent, iSetup);
205  // gather muon information from event
206  fillMuon(iEvent, iSetup);
207  // gather Ecal information from event
208  fillECal(iEvent, iSetup);
209  // gather Hcal information from event
210  fillHCal(iEvent, iSetup);
211 
212  if (verbosity > 0)
213  edm::LogInfo(MsgLoggerCat) << "Done gathering data from event.";
214 
215  // produce object to put into event
216  std::unique_ptr<PGlobalSimHit> pOut(new PGlobalSimHit);
217 
218  if (verbosity > 2)
219  edm::LogInfo(MsgLoggerCat) << "Saving event contents:";
220 
221  // call store functions
222  // store G4MC information in product
223  storeG4MC(*pOut);
224  // store Tracker information in produce
225  storeTrk(*pOut);
226  // store Muon information in produce
227  storeMuon(*pOut);
228  // store ECal information in produce
229  storeECal(*pOut);
230  // store HCal information in produce
231  storeHCal(*pOut);
232 
233  // store information in event
234  iEvent.put(std::move(pOut), label);
235 
236  return;
237 }
void storeECal(PGlobalSimHit &)
unsigned long long EventNumber_t
void storeMuon(PGlobalSimHit &)
void storeG4MC(PGlobalSimHit &)
void storeTrk(PGlobalSimHit &)
void fillMuon(edm::Event &, const edm::EventSetup &)
int iEvent
Definition: GenABIO.cc:224
void fillTrk(edm::Event &, const edm::EventSetup &)
Log< level::Info, false > LogInfo
void fillECal(edm::Event &, const edm::EventSetup &)
void fillHCal(edm::Event &, const edm::EventSetup &)
void storeHCal(PGlobalSimHit &)
void fillG4MC(edm::Event &)
unsigned int RunNumber_t
def move(src, dest)
Definition: eostools.py:511

◆ storeECal()

void GlobalHitsProducer::storeECal ( PGlobalSimHit product)
private

Definition at line 1218 of file GlobalHitsProducer.cc.

References ECalE, ECalEta, ECalPhi, ECalToF, mps_fire::i, PreShE, PreShEta, PreShPhi, PreShToF, PGlobalSimHit::putECalHits(), PGlobalSimHit::putPreShHits(), AlCaHLTBitMon_QueryRunRegistry::string, and verbosity.

Referenced by produce().

1218  {
1219  std::string MsgLoggerCat = "GlobalHitsProducer_storeECal";
1220 
1221  if (verbosity > 2) {
1222  TString eventout("\n nECalHits = ");
1223  eventout += ECalE.size();
1224  for (unsigned int i = 0; i < ECalE.size(); ++i) {
1225  eventout += "\n (e,tof,phi,eta) = (";
1226  eventout += ECalE[i];
1227  eventout += ", ";
1228  eventout += ECalToF[i];
1229  eventout += ", ";
1230  eventout += ECalPhi[i];
1231  eventout += ", ";
1232  eventout += ECalEta[i];
1233  eventout += ")";
1234  } // end ECal output
1235  eventout += "\n nPreShHits = ";
1236  eventout += PreShE.size();
1237  for (unsigned int i = 0; i < PreShE.size(); ++i) {
1238  eventout += "\n (e,tof,phi,eta) = (";
1239  eventout += PreShE[i];
1240  eventout += ", ";
1241  eventout += PreShToF[i];
1242  eventout += ", ";
1243  eventout += PreShPhi[i];
1244  eventout += ", ";
1245  eventout += PreShEta[i];
1246  eventout += ")";
1247  } // end PreShower output
1248  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
1249  } // end verbose output
1250 
1251  product.putECalHits(ECalE, ECalToF, ECalPhi, ECalEta);
1253 
1254  return;
1255 }
void putECalHits(const std::vector< float > &e, const std::vector< float > &tof, const std::vector< float > &phi, const std::vector< float > &eta)
Log< level::Info, false > LogInfo
void putPreShHits(const std::vector< float > &e, const std::vector< float > &tof, const std::vector< float > &phi, const std::vector< float > &eta)

◆ storeG4MC()

void GlobalHitsProducer::storeG4MC ( PGlobalSimHit product)
private

Definition at line 353 of file GlobalHitsProducer.cc.

References G4TrkE, G4TrkPt, G4VtxX, G4VtxY, G4VtxZ, mps_fire::i, nRawGenPart, PGlobalSimHit::putG4Trk(), PGlobalSimHit::putG4Vtx(), PGlobalSimHit::putRawGenPart(), AlCaHLTBitMon_QueryRunRegistry::string, and verbosity.

Referenced by produce().

353  {
354  std::string MsgLoggerCat = "GlobalHitsProducer_storeG4MC";
355 
356  if (verbosity > 2) {
357  TString eventout("\n nRawGenPart = ");
358  eventout += nRawGenPart;
359  eventout += "\n nG4Vtx = ";
360  eventout += G4VtxX.size();
361  for (unsigned int i = 0; i < G4VtxX.size(); ++i) {
362  eventout += "\n (x,y,z) = (";
363  eventout += G4VtxX[i];
364  eventout += ", ";
365  eventout += G4VtxY[i];
366  eventout += ", ";
367  eventout += G4VtxZ[i];
368  eventout += ")";
369  }
370  eventout += "\n nG4Trk = ";
371  eventout += G4TrkPt.size();
372  for (unsigned int i = 0; i < G4TrkPt.size(); ++i) {
373  eventout += "\n (pt,e) = (";
374  eventout += G4TrkPt[i];
375  eventout += ", ";
376  eventout += G4TrkE[i];
377  eventout += ")";
378  }
379  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
380  } // end verbose output
381 
382  product.putRawGenPart(nRawGenPart);
383  product.putG4Vtx(G4VtxX, G4VtxY, G4VtxZ);
384  product.putG4Trk(G4TrkPt, G4TrkE);
385 
386  return;
387 }
void putG4Trk(const std::vector< float > &pt, const std::vector< float > &e)
Log< level::Info, false > LogInfo
void putRawGenPart(int n)
void putG4Vtx(const std::vector< float > &x, const std::vector< float > &y, const std::vector< float > &z)

◆ storeHCal()

void GlobalHitsProducer::storeHCal ( PGlobalSimHit product)
private

Definition at line 1337 of file GlobalHitsProducer.cc.

References HCalE, HCalEta, HCalPhi, HCalToF, mps_fire::i, PGlobalSimHit::putHCalHits(), AlCaHLTBitMon_QueryRunRegistry::string, and verbosity.

Referenced by produce().

1337  {
1338  std::string MsgLoggerCat = "GlobalHitsProducer_storeHCal";
1339 
1340  if (verbosity > 2) {
1341  TString eventout("\n nHCalHits = ");
1342  eventout += HCalE.size();
1343  for (unsigned int i = 0; i < HCalE.size(); ++i) {
1344  eventout += "\n (e,tof,phi,eta) = (";
1345  eventout += HCalE[i];
1346  eventout += ", ";
1347  eventout += HCalToF[i];
1348  eventout += ", ";
1349  eventout += HCalPhi[i];
1350  eventout += ", ";
1351  eventout += HCalEta[i];
1352  eventout += ")";
1353  } // end HCal output
1354  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
1355  } // end verbose output
1356 
1357  product.putHCalHits(HCalE, HCalToF, HCalPhi, HCalEta);
1358 
1359  return;
1360 }
void putHCalHits(const std::vector< float > &e, const std::vector< float > &tof, const std::vector< float > &phi, const std::vector< float > &eta)
Log< level::Info, false > LogInfo

◆ storeMuon()

void GlobalHitsProducer::storeMuon ( PGlobalSimHit product)
private

Definition at line 1007 of file GlobalHitsProducer.cc.

References mps_fire::i, MuonCscEta, MuonCscPhi, MuonCscToF, MuonCscZ, MuonDtEta, MuonDtPhi, MuonDtR, MuonDtToF, MuonRpcBrlEta, MuonRpcBrlPhi, MuonRpcBrlR, MuonRpcBrlToF, MuonRpcFwdEta, MuonRpcFwdPhi, MuonRpcFwdToF, MuonRpcFwdZ, PGlobalSimHit::putMuonCscHits(), PGlobalSimHit::putMuonDtHits(), PGlobalSimHit::putMuonRpcBrlHits(), PGlobalSimHit::putMuonRpcFwdHits(), AlCaHLTBitMon_QueryRunRegistry::string, and verbosity.

Referenced by produce().

1007  {
1008  std::string MsgLoggerCat = "GlobalHitsProducer_storeMuon";
1009 
1010  if (verbosity > 2) {
1011  TString eventout("\n nMuonCSCHits = ");
1012  eventout += MuonCscToF.size();
1013  for (unsigned int i = 0; i < MuonCscToF.size(); ++i) {
1014  eventout += "\n (tof,z,phi,eta) = (";
1015  eventout += MuonCscToF[i];
1016  eventout += ", ";
1017  eventout += MuonCscZ[i];
1018  eventout += ", ";
1019  eventout += MuonCscPhi[i];
1020  eventout += ", ";
1021  eventout += MuonCscEta[i];
1022  eventout += ")";
1023  } // end MuonCsc output
1024  eventout += "\n nMuonDtHits = ";
1025  eventout += MuonDtToF.size();
1026  for (unsigned int i = 0; i < MuonDtToF.size(); ++i) {
1027  eventout += "\n (tof,r,phi,eta) = (";
1028  eventout += MuonDtToF[i];
1029  eventout += ", ";
1030  eventout += MuonDtR[i];
1031  eventout += ", ";
1032  eventout += MuonDtPhi[i];
1033  eventout += ", ";
1034  eventout += MuonDtEta[i];
1035  eventout += ")";
1036  } // end MuonDt output
1037  eventout += "\n nMuonRpcBrlHits = ";
1038  eventout += MuonRpcBrlToF.size();
1039  for (unsigned int i = 0; i < MuonRpcBrlToF.size(); ++i) {
1040  eventout += "\n (tof,r,phi,eta) = (";
1041  eventout += MuonRpcBrlToF[i];
1042  eventout += ", ";
1043  eventout += MuonRpcBrlR[i];
1044  eventout += ", ";
1045  eventout += MuonRpcBrlPhi[i];
1046  eventout += ", ";
1047  eventout += MuonRpcBrlEta[i];
1048  eventout += ")";
1049  } // end MuonRpcBrl output
1050  eventout += "\n nMuonRpcFwdHits = ";
1051  eventout += MuonRpcFwdToF.size();
1052  for (unsigned int i = 0; i < MuonRpcFwdToF.size(); ++i) {
1053  eventout += "\n (tof,z,phi,eta) = (";
1054  eventout += MuonRpcFwdToF[i];
1055  eventout += ", ";
1056  eventout += MuonRpcFwdZ[i];
1057  eventout += ", ";
1058  eventout += MuonRpcFwdPhi[i];
1059  eventout += ", ";
1060  eventout += MuonRpcFwdEta[i];
1061  eventout += ")";
1062  } // end MuonRpcFwd output
1063  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
1064  } // end verbose output
1065 
1070 
1071  return;
1072 }
void putMuonRpcFwdHits(const std::vector< float > &tof, const std::vector< float > &z, const std::vector< float > &phi, const std::vector< float > &eta)
void putMuonRpcBrlHits(const std::vector< float > &tof, const std::vector< float > &r, const std::vector< float > &phi, const std::vector< float > &eta)
void putMuonCscHits(const std::vector< float > &tof, const std::vector< float > &z, const std::vector< float > &phi, const std::vector< float > &eta)
Log< level::Info, false > LogInfo
void putMuonDtHits(const std::vector< float > &tof, const std::vector< float > &r, const std::vector< float > &phi, const std::vector< float > &eta)

◆ storeTrk()

void GlobalHitsProducer::storeTrk ( PGlobalSimHit product)
private

Definition at line 708 of file GlobalHitsProducer.cc.

References mps_fire::i, PGlobalSimHit::putPxlBrlHits(), PGlobalSimHit::putPxlFwdHits(), PGlobalSimHit::putSiBrlHits(), PGlobalSimHit::putSiFwdHits(), PxlBrlEta, PxlBrlPhi, PxlBrlR, PxlBrlToF, PxlFwdEta, PxlFwdPhi, PxlFwdToF, PxlFwdZ, SiBrlEta, SiBrlPhi, SiBrlR, SiBrlToF, SiFwdEta, SiFwdPhi, SiFwdToF, SiFwdZ, AlCaHLTBitMon_QueryRunRegistry::string, and verbosity.

Referenced by produce().

708  {
709  std::string MsgLoggerCat = "GlobalHitsProducer_storeTrk";
710 
711  if (verbosity > 2) {
712  TString eventout("\n nPxlBrlHits = ");
713  eventout += PxlBrlToF.size();
714  for (unsigned int i = 0; i < PxlBrlToF.size(); ++i) {
715  eventout += "\n (tof,r,phi,eta) = (";
716  eventout += PxlBrlToF[i];
717  eventout += ", ";
718  eventout += PxlBrlR[i];
719  eventout += ", ";
720  eventout += PxlBrlPhi[i];
721  eventout += ", ";
722  eventout += PxlBrlEta[i];
723  eventout += ")";
724  } // end PxlBrl output
725  eventout += "\n nPxlFwdHits = ";
726  eventout += PxlFwdToF.size();
727  for (unsigned int i = 0; i < PxlFwdToF.size(); ++i) {
728  eventout += "\n (tof,z,phi,eta) = (";
729  eventout += PxlFwdToF[i];
730  eventout += ", ";
731  eventout += PxlFwdZ[i];
732  eventout += ", ";
733  eventout += PxlFwdPhi[i];
734  eventout += ", ";
735  eventout += PxlFwdEta[i];
736  eventout += ")";
737  } // end PxlFwd output
738  eventout += "\n nSiBrlHits = ";
739  eventout += SiBrlToF.size();
740  for (unsigned int i = 0; i < SiBrlToF.size(); ++i) {
741  eventout += "\n (tof,r,phi,eta) = (";
742  eventout += SiBrlToF[i];
743  eventout += ", ";
744  eventout += SiBrlR[i];
745  eventout += ", ";
746  eventout += SiBrlPhi[i];
747  eventout += ", ";
748  eventout += SiBrlEta[i];
749  eventout += ")";
750  } // end SiBrl output
751  eventout += "\n nSiFwdHits = ";
752  eventout += SiFwdToF.size();
753  for (unsigned int i = 0; i < SiFwdToF.size(); ++i) {
754  eventout += "\n (tof,z,phi,eta) = (";
755  eventout += SiFwdToF[i];
756  eventout += ", ";
757  eventout += SiFwdZ[i];
758  eventout += ", ";
759  eventout += SiFwdPhi[i];
760  eventout += ", ";
761  eventout += SiFwdEta[i];
762  eventout += ")";
763  } // end SiFwd output
764  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
765  } // end verbose output
766 
771 
772  return;
773 }
void putSiBrlHits(const std::vector< float > &tof, const std::vector< float > &r, const std::vector< float > &phi, const std::vector< float > &eta)
void putPxlFwdHits(const std::vector< float > &tof, const std::vector< float > &z, const std::vector< float > &phi, const std::vector< float > &eta)
void putSiFwdHits(const std::vector< float > &tof, const std::vector< float > &z, const std::vector< float > &phi, const std::vector< float > &eta)
Log< level::Info, false > LogInfo
void putPxlBrlHits(const std::vector< float > &tof, const std::vector< float > &r, const std::vector< float > &phi, const std::vector< float > &eta)

Member Data Documentation

◆ caloGeomToken_

edm::ESGetToken<CaloGeometry, CaloGeometryRecord> GlobalHitsProducer::caloGeomToken_
private

Definition at line 130 of file GlobalHitsProducer.h.

Referenced by fillECal(), and fillHCal().

◆ count

unsigned int GlobalHitsProducer::count
private

Definition at line 232 of file GlobalHitsProducer.h.

Referenced by endJob(), and produce().

◆ cscGeomToken_

edm::ESGetToken<CSCGeometry, MuonGeometryRecord> GlobalHitsProducer::cscGeomToken_
private

Definition at line 127 of file GlobalHitsProducer.h.

Referenced by fillMuon().

◆ dtGeomToken_

edm::ESGetToken<DTGeometry, MuonGeometryRecord> GlobalHitsProducer::dtGeomToken_
private

Definition at line 128 of file GlobalHitsProducer.h.

Referenced by fillMuon().

◆ ECalE

FloatVector GlobalHitsProducer::ECalE
private

Definition at line 133 of file GlobalHitsProducer.h.

Referenced by clear(), fillECal(), and storeECal().

◆ ECalEBSrc_

edm::InputTag GlobalHitsProducer::ECalEBSrc_
private

Definition at line 137 of file GlobalHitsProducer.h.

Referenced by GlobalHitsProducer().

◆ ECalEBSrc_Token_

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

Definition at line 139 of file GlobalHitsProducer.h.

Referenced by fillECal(), and GlobalHitsProducer().

◆ ECalEESrc_

edm::InputTag GlobalHitsProducer::ECalEESrc_
private

Definition at line 138 of file GlobalHitsProducer.h.

Referenced by GlobalHitsProducer().

◆ ECalEESrc_Token_

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

Definition at line 140 of file GlobalHitsProducer.h.

Referenced by fillECal(), and GlobalHitsProducer().

◆ ECalESSrc_

edm::InputTag GlobalHitsProducer::ECalESSrc_
private

Definition at line 147 of file GlobalHitsProducer.h.

Referenced by GlobalHitsProducer().

◆ ECalESSrc_Token_

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

Definition at line 148 of file GlobalHitsProducer.h.

Referenced by fillECal(), and GlobalHitsProducer().

◆ ECalEta

FloatVector GlobalHitsProducer::ECalEta
private

Definition at line 136 of file GlobalHitsProducer.h.

Referenced by clear(), fillECal(), and storeECal().

◆ ECalPhi

FloatVector GlobalHitsProducer::ECalPhi
private

Definition at line 135 of file GlobalHitsProducer.h.

Referenced by clear(), fillECal(), and storeECal().

◆ ECalToF

FloatVector GlobalHitsProducer::ECalToF
private

Definition at line 134 of file GlobalHitsProducer.h.

Referenced by clear(), fillECal(), and storeECal().

◆ fName

std::string GlobalHitsProducer::fName
private

Definition at line 105 of file GlobalHitsProducer.h.

Referenced by GlobalHitsProducer().

◆ frequency

int GlobalHitsProducer::frequency
private

Definition at line 107 of file GlobalHitsProducer.h.

Referenced by GlobalHitsProducer(), and produce().

◆ G4TrkE

FloatVector GlobalHitsProducer::G4TrkE
private

Definition at line 119 of file GlobalHitsProducer.h.

Referenced by clear(), fillG4MC(), and storeG4MC().

◆ G4TrkPt

FloatVector GlobalHitsProducer::G4TrkPt
private

Definition at line 118 of file GlobalHitsProducer.h.

Referenced by clear(), fillG4MC(), and storeG4MC().

◆ G4TrkSrc_

edm::InputTag GlobalHitsProducer::G4TrkSrc_
private

Definition at line 122 of file GlobalHitsProducer.h.

◆ G4TrkSrc_Token_

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

Definition at line 124 of file GlobalHitsProducer.h.

Referenced by fillG4MC().

◆ G4VtxSrc_

edm::InputTag GlobalHitsProducer::G4VtxSrc_
private

Definition at line 121 of file GlobalHitsProducer.h.

◆ G4VtxSrc_Token_

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

Definition at line 123 of file GlobalHitsProducer.h.

Referenced by fillG4MC().

◆ G4VtxX

FloatVector GlobalHitsProducer::G4VtxX
private

Definition at line 115 of file GlobalHitsProducer.h.

Referenced by clear(), fillG4MC(), and storeG4MC().

◆ G4VtxY

FloatVector GlobalHitsProducer::G4VtxY
private

Definition at line 116 of file GlobalHitsProducer.h.

Referenced by clear(), fillG4MC(), and storeG4MC().

◆ G4VtxZ

FloatVector GlobalHitsProducer::G4VtxZ
private

Definition at line 117 of file GlobalHitsProducer.h.

Referenced by clear(), fillG4MC(), and storeG4MC().

◆ getAllProvenances

bool GlobalHitsProducer::getAllProvenances
private

Definition at line 110 of file GlobalHitsProducer.h.

Referenced by GlobalHitsProducer(), and produce().

◆ HCalE

FloatVector GlobalHitsProducer::HCalE
private

Definition at line 152 of file GlobalHitsProducer.h.

Referenced by clear(), fillHCal(), and storeHCal().

◆ HCalEta

FloatVector GlobalHitsProducer::HCalEta
private

Definition at line 155 of file GlobalHitsProducer.h.

Referenced by clear(), fillHCal(), and storeHCal().

◆ HCalPhi

FloatVector GlobalHitsProducer::HCalPhi
private

Definition at line 154 of file GlobalHitsProducer.h.

Referenced by clear(), fillHCal(), and storeHCal().

◆ HCalSrc_

edm::InputTag GlobalHitsProducer::HCalSrc_
private

Definition at line 156 of file GlobalHitsProducer.h.

Referenced by GlobalHitsProducer().

◆ HCalSrc_Token_

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

Definition at line 157 of file GlobalHitsProducer.h.

Referenced by fillHCal(), and GlobalHitsProducer().

◆ HCalToF

FloatVector GlobalHitsProducer::HCalToF
private

Definition at line 153 of file GlobalHitsProducer.h.

Referenced by clear(), fillHCal(), and storeHCal().

◆ label

std::string GlobalHitsProducer::label
private

Definition at line 109 of file GlobalHitsProducer.h.

Referenced by GlobalHitsProducer(), and produce().

◆ MuonCscEta

FloatVector GlobalHitsProducer::MuonCscEta
private

Definition at line 216 of file GlobalHitsProducer.h.

Referenced by clear(), fillMuon(), and storeMuon().

◆ MuonCscPhi

FloatVector GlobalHitsProducer::MuonCscPhi
private

Definition at line 215 of file GlobalHitsProducer.h.

Referenced by clear(), fillMuon(), and storeMuon().

◆ MuonCscSrc_

edm::InputTag GlobalHitsProducer::MuonCscSrc_
private

Definition at line 217 of file GlobalHitsProducer.h.

Referenced by GlobalHitsProducer().

◆ MuonCscSrc_Token_

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

Definition at line 218 of file GlobalHitsProducer.h.

Referenced by fillMuon(), and GlobalHitsProducer().

◆ MuonCscToF

FloatVector GlobalHitsProducer::MuonCscToF
private

Definition at line 213 of file GlobalHitsProducer.h.

Referenced by clear(), fillMuon(), and storeMuon().

◆ MuonCscZ

FloatVector GlobalHitsProducer::MuonCscZ
private

Definition at line 214 of file GlobalHitsProducer.h.

Referenced by clear(), fillMuon(), and storeMuon().

◆ MuonDtEta

FloatVector GlobalHitsProducer::MuonDtEta
private

Definition at line 209 of file GlobalHitsProducer.h.

Referenced by clear(), fillMuon(), and storeMuon().

◆ MuonDtPhi

FloatVector GlobalHitsProducer::MuonDtPhi
private

Definition at line 208 of file GlobalHitsProducer.h.

Referenced by clear(), fillMuon(), and storeMuon().

◆ MuonDtR

FloatVector GlobalHitsProducer::MuonDtR
private

Definition at line 207 of file GlobalHitsProducer.h.

Referenced by clear(), fillMuon(), and storeMuon().

◆ MuonDtSrc_

edm::InputTag GlobalHitsProducer::MuonDtSrc_
private

Definition at line 210 of file GlobalHitsProducer.h.

Referenced by GlobalHitsProducer().

◆ MuonDtSrc_Token_

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

Definition at line 211 of file GlobalHitsProducer.h.

Referenced by fillMuon(), and GlobalHitsProducer().

◆ MuonDtToF

FloatVector GlobalHitsProducer::MuonDtToF
private

Definition at line 206 of file GlobalHitsProducer.h.

Referenced by clear(), fillMuon(), and storeMuon().

◆ MuonRpcBrlEta

FloatVector GlobalHitsProducer::MuonRpcBrlEta
private

Definition at line 223 of file GlobalHitsProducer.h.

Referenced by clear(), fillMuon(), and storeMuon().

◆ MuonRpcBrlPhi

FloatVector GlobalHitsProducer::MuonRpcBrlPhi
private

Definition at line 222 of file GlobalHitsProducer.h.

Referenced by clear(), fillMuon(), and storeMuon().

◆ MuonRpcBrlR

FloatVector GlobalHitsProducer::MuonRpcBrlR
private

Definition at line 221 of file GlobalHitsProducer.h.

Referenced by clear(), fillMuon(), and storeMuon().

◆ MuonRpcBrlToF

FloatVector GlobalHitsProducer::MuonRpcBrlToF
private

Definition at line 220 of file GlobalHitsProducer.h.

Referenced by clear(), fillMuon(), and storeMuon().

◆ MuonRpcFwdEta

FloatVector GlobalHitsProducer::MuonRpcFwdEta
private

Definition at line 227 of file GlobalHitsProducer.h.

Referenced by clear(), fillMuon(), and storeMuon().

◆ MuonRpcFwdPhi

FloatVector GlobalHitsProducer::MuonRpcFwdPhi
private

Definition at line 226 of file GlobalHitsProducer.h.

Referenced by clear(), fillMuon(), and storeMuon().

◆ MuonRpcFwdToF

FloatVector GlobalHitsProducer::MuonRpcFwdToF
private

Definition at line 224 of file GlobalHitsProducer.h.

Referenced by clear(), fillMuon(), and storeMuon().

◆ MuonRpcFwdZ

FloatVector GlobalHitsProducer::MuonRpcFwdZ
private

Definition at line 225 of file GlobalHitsProducer.h.

Referenced by clear(), fillMuon(), and storeMuon().

◆ MuonRpcSrc_

edm::InputTag GlobalHitsProducer::MuonRpcSrc_
private

Definition at line 228 of file GlobalHitsProducer.h.

Referenced by GlobalHitsProducer().

◆ MuonRpcSrc_Token_

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

Definition at line 229 of file GlobalHitsProducer.h.

Referenced by fillMuon(), and GlobalHitsProducer().

◆ nRawGenPart

int GlobalHitsProducer::nRawGenPart
private

Definition at line 114 of file GlobalHitsProducer.h.

Referenced by clear(), fillG4MC(), and storeG4MC().

◆ PreShE

FloatVector GlobalHitsProducer::PreShE
private

Definition at line 143 of file GlobalHitsProducer.h.

Referenced by clear(), fillECal(), and storeECal().

◆ PreShEta

FloatVector GlobalHitsProducer::PreShEta
private

Definition at line 146 of file GlobalHitsProducer.h.

Referenced by clear(), fillECal(), and storeECal().

◆ PreShPhi

FloatVector GlobalHitsProducer::PreShPhi
private

Definition at line 145 of file GlobalHitsProducer.h.

Referenced by clear(), fillECal(), and storeECal().

◆ PreShToF

FloatVector GlobalHitsProducer::PreShToF
private

Definition at line 144 of file GlobalHitsProducer.h.

Referenced by clear(), fillECal(), and storeECal().

◆ printProvenanceInfo

bool GlobalHitsProducer::printProvenanceInfo
private

Definition at line 111 of file GlobalHitsProducer.h.

Referenced by GlobalHitsProducer(), and produce().

◆ PxlBrlEta

FloatVector GlobalHitsProducer::PxlBrlEta
private

Definition at line 164 of file GlobalHitsProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

◆ PxlBrlHighSrc_

edm::InputTag GlobalHitsProducer::PxlBrlHighSrc_
private

Definition at line 170 of file GlobalHitsProducer.h.

Referenced by GlobalHitsProducer().

◆ PxlBrlHighSrc_Token_

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

Definition at line 174 of file GlobalHitsProducer.h.

Referenced by fillTrk(), and GlobalHitsProducer().

◆ PxlBrlLowSrc_

edm::InputTag GlobalHitsProducer::PxlBrlLowSrc_
private

Definition at line 169 of file GlobalHitsProducer.h.

Referenced by GlobalHitsProducer().

◆ PxlBrlLowSrc_Token_

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

Definition at line 173 of file GlobalHitsProducer.h.

Referenced by fillTrk(), and GlobalHitsProducer().

◆ PxlBrlPhi

FloatVector GlobalHitsProducer::PxlBrlPhi
private

Definition at line 163 of file GlobalHitsProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

◆ PxlBrlR

FloatVector GlobalHitsProducer::PxlBrlR
private

Definition at line 162 of file GlobalHitsProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

◆ PxlBrlToF

FloatVector GlobalHitsProducer::PxlBrlToF
private

Definition at line 161 of file GlobalHitsProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

◆ PxlFwdEta

FloatVector GlobalHitsProducer::PxlFwdEta
private

Definition at line 168 of file GlobalHitsProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

◆ PxlFwdHighSrc_

edm::InputTag GlobalHitsProducer::PxlFwdHighSrc_
private

Definition at line 172 of file GlobalHitsProducer.h.

Referenced by GlobalHitsProducer().

◆ PxlFwdHighSrc_Token_

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

Definition at line 176 of file GlobalHitsProducer.h.

Referenced by fillTrk(), and GlobalHitsProducer().

◆ PxlFwdLowSrc_

edm::InputTag GlobalHitsProducer::PxlFwdLowSrc_
private

Definition at line 171 of file GlobalHitsProducer.h.

Referenced by GlobalHitsProducer().

◆ PxlFwdLowSrc_Token_

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

Definition at line 175 of file GlobalHitsProducer.h.

Referenced by fillTrk(), and GlobalHitsProducer().

◆ PxlFwdPhi

FloatVector GlobalHitsProducer::PxlFwdPhi
private

Definition at line 167 of file GlobalHitsProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

◆ PxlFwdToF

FloatVector GlobalHitsProducer::PxlFwdToF
private

Definition at line 165 of file GlobalHitsProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

◆ PxlFwdZ

FloatVector GlobalHitsProducer::PxlFwdZ
private

Definition at line 166 of file GlobalHitsProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

◆ rpcGeomToken_

edm::ESGetToken<RPCGeometry, MuonGeometryRecord> GlobalHitsProducer::rpcGeomToken_
private

Definition at line 129 of file GlobalHitsProducer.h.

Referenced by fillMuon().

◆ SiBrlEta

FloatVector GlobalHitsProducer::SiBrlEta
private

Definition at line 182 of file GlobalHitsProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

◆ SiBrlPhi

FloatVector GlobalHitsProducer::SiBrlPhi
private

Definition at line 181 of file GlobalHitsProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

◆ SiBrlR

FloatVector GlobalHitsProducer::SiBrlR
private

Definition at line 180 of file GlobalHitsProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

◆ SiBrlToF

FloatVector GlobalHitsProducer::SiBrlToF
private

Definition at line 179 of file GlobalHitsProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

◆ SiFwdEta

FloatVector GlobalHitsProducer::SiFwdEta
private

Definition at line 186 of file GlobalHitsProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

◆ SiFwdPhi

FloatVector GlobalHitsProducer::SiFwdPhi
private

Definition at line 185 of file GlobalHitsProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

◆ SiFwdToF

FloatVector GlobalHitsProducer::SiFwdToF
private

Definition at line 183 of file GlobalHitsProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

◆ SiFwdZ

FloatVector GlobalHitsProducer::SiFwdZ
private

Definition at line 184 of file GlobalHitsProducer.h.

Referenced by clear(), fillTrk(), and storeTrk().

◆ SiTECHighSrc_

edm::InputTag GlobalHitsProducer::SiTECHighSrc_
private

Definition at line 194 of file GlobalHitsProducer.h.

Referenced by GlobalHitsProducer().

◆ SiTECHighSrc_Token_

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

Definition at line 202 of file GlobalHitsProducer.h.

Referenced by fillTrk(), and GlobalHitsProducer().

◆ SiTECLowSrc_

edm::InputTag GlobalHitsProducer::SiTECLowSrc_
private

Definition at line 193 of file GlobalHitsProducer.h.

Referenced by GlobalHitsProducer().

◆ SiTECLowSrc_Token_

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

Definition at line 201 of file GlobalHitsProducer.h.

Referenced by fillTrk(), and GlobalHitsProducer().

◆ SiTIBHighSrc_

edm::InputTag GlobalHitsProducer::SiTIBHighSrc_
private

Definition at line 188 of file GlobalHitsProducer.h.

Referenced by GlobalHitsProducer().

◆ SiTIBHighSrc_Token_

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

Definition at line 196 of file GlobalHitsProducer.h.

Referenced by fillTrk(), and GlobalHitsProducer().

◆ SiTIBLowSrc_

edm::InputTag GlobalHitsProducer::SiTIBLowSrc_
private

Definition at line 187 of file GlobalHitsProducer.h.

Referenced by GlobalHitsProducer().

◆ SiTIBLowSrc_Token_

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

Definition at line 195 of file GlobalHitsProducer.h.

Referenced by fillTrk(), and GlobalHitsProducer().

◆ SiTIDHighSrc_

edm::InputTag GlobalHitsProducer::SiTIDHighSrc_
private

Definition at line 192 of file GlobalHitsProducer.h.

Referenced by GlobalHitsProducer().

◆ SiTIDHighSrc_Token_

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

Definition at line 200 of file GlobalHitsProducer.h.

Referenced by fillTrk(), and GlobalHitsProducer().

◆ SiTIDLowSrc_

edm::InputTag GlobalHitsProducer::SiTIDLowSrc_
private

Definition at line 191 of file GlobalHitsProducer.h.

Referenced by GlobalHitsProducer().

◆ SiTIDLowSrc_Token_

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

Definition at line 199 of file GlobalHitsProducer.h.

Referenced by fillTrk(), and GlobalHitsProducer().

◆ SiTOBHighSrc_

edm::InputTag GlobalHitsProducer::SiTOBHighSrc_
private

Definition at line 190 of file GlobalHitsProducer.h.

Referenced by GlobalHitsProducer().

◆ SiTOBHighSrc_Token_

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

Definition at line 198 of file GlobalHitsProducer.h.

Referenced by fillTrk(), and GlobalHitsProducer().

◆ SiTOBLowSrc_

edm::InputTag GlobalHitsProducer::SiTOBLowSrc_
private

Definition at line 189 of file GlobalHitsProducer.h.

Referenced by GlobalHitsProducer().

◆ SiTOBLowSrc_Token_

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

Definition at line 197 of file GlobalHitsProducer.h.

Referenced by fillTrk(), and GlobalHitsProducer().

◆ tGeomToken_

edm::ESGetToken<TrackerGeometry, TrackerDigiGeometryRecord> GlobalHitsProducer::tGeomToken_
private

Definition at line 126 of file GlobalHitsProducer.h.

Referenced by fillTrk().

◆ verbosity

int GlobalHitsProducer::verbosity
private

◆ vtxunit

int GlobalHitsProducer::vtxunit
private

Definition at line 108 of file GlobalHitsProducer.h.

Referenced by fillG4MC(), and GlobalHitsProducer().