CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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 noexcept final
 
bool wantsGlobalRuns () const noexcept final
 
bool wantsInputProcessBlocks () const noexcept final
 
bool wantsProcessBlocks () const noexcept final
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const noexcept
 
bool wantsStreamRuns () const noexcept
 
 ~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 15 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.

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

138 {}

Member Function Documentation

◆ beginJob()

void GlobalHitsProducer::beginJob ( void  )
overridevirtual

Reimplemented from edm::one::EDProducerBase.

Definition at line 140 of file GlobalHitsProducer.cc.

140 { return; }

◆ clear()

void GlobalHitsProducer::clear ( void  )
private

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

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

◆ endJob()

void GlobalHitsProducer::endJob ( void  )
overridevirtual

Reimplemented from edm::one::EDProducerBase.

Definition at line 142 of file GlobalHitsProducer.cc.

References count, AlCaHLTBitMon_QueryRunRegistry::string, and verbosity.

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

◆ fillECal()

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

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

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

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

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

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

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

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

1220  {
1221  std::string MsgLoggerCat = "GlobalHitsProducer_storeECal";
1222 
1223  if (verbosity > 2) {
1224  TString eventout("\n nECalHits = ");
1225  eventout += ECalE.size();
1226  for (unsigned int i = 0; i < ECalE.size(); ++i) {
1227  eventout += "\n (e,tof,phi,eta) = (";
1228  eventout += ECalE[i];
1229  eventout += ", ";
1230  eventout += ECalToF[i];
1231  eventout += ", ";
1232  eventout += ECalPhi[i];
1233  eventout += ", ";
1234  eventout += ECalEta[i];
1235  eventout += ")";
1236  } // end ECal output
1237  eventout += "\n nPreShHits = ";
1238  eventout += PreShE.size();
1239  for (unsigned int i = 0; i < PreShE.size(); ++i) {
1240  eventout += "\n (e,tof,phi,eta) = (";
1241  eventout += PreShE[i];
1242  eventout += ", ";
1243  eventout += PreShToF[i];
1244  eventout += ", ";
1245  eventout += PreShPhi[i];
1246  eventout += ", ";
1247  eventout += PreShEta[i];
1248  eventout += ")";
1249  } // end PreShower output
1250  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
1251  } // end verbose output
1252 
1253  product.putECalHits(ECalE, ECalToF, ECalPhi, ECalEta);
1255 
1256  return;
1257 }
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 355 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().

355  {
356  std::string MsgLoggerCat = "GlobalHitsProducer_storeG4MC";
357 
358  if (verbosity > 2) {
359  TString eventout("\n nRawGenPart = ");
360  eventout += nRawGenPart;
361  eventout += "\n nG4Vtx = ";
362  eventout += G4VtxX.size();
363  for (unsigned int i = 0; i < G4VtxX.size(); ++i) {
364  eventout += "\n (x,y,z) = (";
365  eventout += G4VtxX[i];
366  eventout += ", ";
367  eventout += G4VtxY[i];
368  eventout += ", ";
369  eventout += G4VtxZ[i];
370  eventout += ")";
371  }
372  eventout += "\n nG4Trk = ";
373  eventout += G4TrkPt.size();
374  for (unsigned int i = 0; i < G4TrkPt.size(); ++i) {
375  eventout += "\n (pt,e) = (";
376  eventout += G4TrkPt[i];
377  eventout += ", ";
378  eventout += G4TrkE[i];
379  eventout += ")";
380  }
381  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
382  } // end verbose output
383 
384  product.putRawGenPart(nRawGenPart);
385  product.putG4Vtx(G4VtxX, G4VtxY, G4VtxZ);
386  product.putG4Trk(G4TrkPt, G4TrkE);
387 
388  return;
389 }
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 1339 of file GlobalHitsProducer.cc.

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

Referenced by produce().

1339  {
1340  std::string MsgLoggerCat = "GlobalHitsProducer_storeHCal";
1341 
1342  if (verbosity > 2) {
1343  TString eventout("\n nHCalHits = ");
1344  eventout += HCalE.size();
1345  for (unsigned int i = 0; i < HCalE.size(); ++i) {
1346  eventout += "\n (e,tof,phi,eta) = (";
1347  eventout += HCalE[i];
1348  eventout += ", ";
1349  eventout += HCalToF[i];
1350  eventout += ", ";
1351  eventout += HCalPhi[i];
1352  eventout += ", ";
1353  eventout += HCalEta[i];
1354  eventout += ")";
1355  } // end HCal output
1356  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
1357  } // end verbose output
1358 
1359  product.putHCalHits(HCalE, HCalToF, HCalPhi, HCalEta);
1360 
1361  return;
1362 }
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 1009 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().

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

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