CMS 3D CMS Logo

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

#include <GlobalRecHitsProducer.h>

Inheritance diagram for GlobalRecHitsProducer:
edm::EDProducer edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Types

typedef std::vector< double > DoubleVector
 
typedef std::vector< float > FloatVector
 
typedef std::vector< int > IntVector
 
typedef std::map< uint32_t, float, std::less< uint32_t > > MapType
 
- Public Types inherited from edm::EDProducer
typedef EDProducer ModuleType
 
- Public Types inherited from edm::ProducerBase
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 () override
 
void endJob () override
 
 GlobalRecHitsProducer (const edm::ParameterSet &)
 
void produce (edm::Event &, const edm::EventSetup &) override
 
 ~GlobalRecHitsProducer () override
 
- Public Member Functions inherited from edm::EDProducer
 EDProducer ()
 
SerialTaskQueueglobalLuminosityBlocksQueue ()
 
SerialTaskQueueglobalRunsQueue ()
 
ModuleDescription const & moduleDescription () const
 
 ~EDProducer () 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
 
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)
 
 ~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
 
ESProxyIndex const * esGetTokenIndices (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::vector< ModuleDescription const * > &modules, 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
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Member Functions

void clear ()
 
template<typename type >
int compute (const DTGeometry *dtGeom, const std::map< DTWireId, std::vector< PSimHit >> &simHitsPerWire, const std::map< DTWireId, std::vector< type >> &recHitsPerWire, int step)
 
void fillECal (edm::Event &, const edm::EventSetup &)
 
void fillHCal (edm::Event &, const edm::EventSetup &)
 
void fillMuon (edm::Event &, const edm::EventSetup &)
 
void fillTrk (edm::Event &, const edm::EventSetup &)
 
template<typename type >
const typefindBestRecHit (const DTLayer *layer, DTWireId wireId, const std::vector< type > &recHits, const float simHitDist)
 
std::map< DTWireId, std::vector< DTRecHit1DPair > > map1DRecHitsPerWire (const DTRecHitCollection *dt1DRecHitPairs)
 
void plotResolution (const PSimHit &simHit, const CSCRecHit2D &recHit, const CSCLayer *layer, int chamberType)
 
std::pair< LocalPoint, LocalVectorprojectHit (const PSimHit &hit, const StripGeomDetUnit *stripDet, const BoundPlane &plane)
 
float recHitDistFromWire (const DTRecHit1DPair &hitPair, const DTLayer *layer)
 
float recHitDistFromWire (const DTRecHit1D &recHit, const DTLayer *layer)
 
float simHitDistFromWire (const DTLayer *layer, DTWireId wireId, const PSimHit &hit)
 
void storeECal (PGlobalRecHit &)
 
void storeHCal (PGlobalRecHit &)
 
void storeMuon (PGlobalRecHit &)
 
void storeTrk (PGlobalRecHit &)
 

Private Attributes

FloatVector BRL1RX
 
FloatVector BRL1RY
 
FloatVector BRL1SX
 
FloatVector BRL1SY
 
FloatVector BRL2RX
 
FloatVector BRL2RY
 
FloatVector BRL2SX
 
FloatVector BRL2SY
 
FloatVector BRL3RX
 
FloatVector BRL3RY
 
FloatVector BRL3SX
 
FloatVector BRL3SY
 
unsigned int count
 
FloatVector CSCRHPERP
 
FloatVector CSCRHPHI
 
FloatVector CSCSHPHI
 
FloatVector DTRHD
 
FloatVector DTSHD
 
edm::EDGetTokenT< CrossingFrame< PCaloHit > > EBHits_Token_
 
FloatVector EBRE
 
FloatVector EBSHE
 
edm::InputTag ECalEBSrc_
 
edm::EDGetTokenT< EBRecHitCollectionECalEBSrc_Token_
 
edm::InputTag ECalEESrc_
 
edm::EDGetTokenT< EERecHitCollectionECalEESrc_Token_
 
edm::InputTag ECalESSrc_
 
edm::EDGetTokenT< ESRecHitCollectionECalESSrc_Token_
 
edm::InputTag ECalUncalEBSrc_
 
edm::EDGetTokenT< EBUncalibratedRecHitCollectionECalUncalEBSrc_Token_
 
edm::InputTag ECalUncalEESrc_
 
edm::EDGetTokenT< EEUncalibratedRecHitCollectionECalUncalEESrc_Token_
 
edm::EDGetTokenT< CrossingFrame< PCaloHit > > EEHits_Token_
 
FloatVector EERE
 
FloatVector EESHE
 
edm::EDGetTokenT< CrossingFrame< PCaloHit > > ESHits_Token_
 
FloatVector ESRE
 
FloatVector ESSHE
 
std::string fName
 
int frequency
 
FloatVector FWD1nRX
 
FloatVector FWD1nRY
 
FloatVector FWD1nSX
 
FloatVector FWD1nSY
 
FloatVector FWD1pRX
 
FloatVector FWD1pRY
 
FloatVector FWD1pSX
 
FloatVector FWD1pSY
 
FloatVector FWD2nRX
 
FloatVector FWD2nRY
 
FloatVector FWD2nSX
 
FloatVector FWD2nSY
 
FloatVector FWD2pRX
 
FloatVector FWD2pRY
 
FloatVector FWD2pSX
 
FloatVector FWD2pSY
 
bool getAllProvenances
 
FloatVector HBCalR
 
FloatVector HBCalREC
 
FloatVector HBCalSHE
 
edm::InputTag HCalSrc_
 
edm::EDGetTokenT< edm::PCaloHitContainerHCalSrc_Token_
 
FloatVector HECalR
 
FloatVector HECalREC
 
FloatVector HECalSHE
 
FloatVector HFCalR
 
FloatVector HFCalREC
 
FloatVector HFCalSHE
 
FloatVector HOCalR
 
FloatVector HOCalREC
 
FloatVector HOCalSHE
 
std::string label
 
std::vector< PSimHitmatched
 
edm::EDGetTokenT< CrossingFrame< PSimHit > > MuCSCHits_Token_
 
edm::InputTag MuCSCSrc_
 
edm::EDGetTokenT< CSCRecHit2DCollectionMuCSCSrc_Token_
 
edm::InputTag MuDTSimSrc_
 
edm::EDGetTokenT< edm::PSimHitContainerMuDTSimSrc_Token_
 
edm::InputTag MuDTSrc_
 
edm::EDGetTokenT< DTRecHitCollectionMuDTSrc_Token_
 
edm::InputTag MuRPCSimSrc_
 
edm::EDGetTokenT< edm::PSimHitContainerMuRPCSimSrc_Token_
 
edm::InputTag MuRPCSrc_
 
edm::EDGetTokenT< RPCRecHitCollectionMuRPCSrc_Token_
 
bool printProvenanceInfo
 
FloatVector RPCRHX
 
FloatVector RPCSHX
 
edm::InputTag SiPxlSrc_
 
edm::EDGetTokenT< SiPixelRecHitCollectionSiPxlSrc_Token_
 
edm::InputTag SiStripSrc_
 
edm::EDGetTokenT< SiStripMatchedRecHit2DCollectionSiStripSrc_Token_
 
FloatVector TECW1RX
 
FloatVector TECW1RY
 
FloatVector TECW1SX
 
FloatVector TECW1SY
 
FloatVector TECW2RX
 
FloatVector TECW2RY
 
FloatVector TECW2SX
 
FloatVector TECW2SY
 
FloatVector TECW3RX
 
FloatVector TECW3RY
 
FloatVector TECW3SX
 
FloatVector TECW3SY
 
FloatVector TECW4RX
 
FloatVector TECW4RY
 
FloatVector TECW4SX
 
FloatVector TECW4SY
 
FloatVector TECW5RX
 
FloatVector TECW5RY
 
FloatVector TECW5SX
 
FloatVector TECW5SY
 
FloatVector TECW6RX
 
FloatVector TECW6RY
 
FloatVector TECW6SX
 
FloatVector TECW6SY
 
FloatVector TECW7RX
 
FloatVector TECW7RY
 
FloatVector TECW7SX
 
FloatVector TECW7SY
 
FloatVector TECW8RX
 
FloatVector TECW8RY
 
FloatVector TECW8SX
 
FloatVector TECW8SY
 
std::map< int, edm::PSimHitContainertheMap
 
FloatVector TIBL1RX
 
FloatVector TIBL1RY
 
FloatVector TIBL1SX
 
FloatVector TIBL1SY
 
FloatVector TIBL2RX
 
FloatVector TIBL2RY
 
FloatVector TIBL2SX
 
FloatVector TIBL2SY
 
FloatVector TIBL3RX
 
FloatVector TIBL3RY
 
FloatVector TIBL3SX
 
FloatVector TIBL3SY
 
FloatVector TIBL4RX
 
FloatVector TIBL4RY
 
FloatVector TIBL4SX
 
FloatVector TIBL4SY
 
FloatVector TIDW1RX
 
FloatVector TIDW1RY
 
FloatVector TIDW1SX
 
FloatVector TIDW1SY
 
FloatVector TIDW2RX
 
FloatVector TIDW2RY
 
FloatVector TIDW2SX
 
FloatVector TIDW2SY
 
FloatVector TIDW3RX
 
FloatVector TIDW3RY
 
FloatVector TIDW3SX
 
FloatVector TIDW3SY
 
FloatVector TOBL1RX
 
FloatVector TOBL1RY
 
FloatVector TOBL1SX
 
FloatVector TOBL1SY
 
FloatVector TOBL2RX
 
FloatVector TOBL2RY
 
FloatVector TOBL2SX
 
FloatVector TOBL2SY
 
FloatVector TOBL3RX
 
FloatVector TOBL3RY
 
FloatVector TOBL3SX
 
FloatVector TOBL3SY
 
FloatVector TOBL4RX
 
FloatVector TOBL4RY
 
FloatVector TOBL4SX
 
FloatVector TOBL4SY
 
TrackerHitAssociator::Config trackerHitAssociatorConfig_
 
int verbosity
 

Additional Inherited Members

- Static Public Member Functions inherited from edm::EDProducer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
static bool wantsGlobalLuminosityBlocks ()
 
static bool wantsGlobalRuns ()
 
static bool wantsStreamLuminosityBlocks ()
 
static bool wantsStreamRuns ()
 
- Protected Member Functions inherited from edm::ProducerBase
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
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)
 

Detailed Description

Definition at line 148 of file GlobalRecHitsProducer.h.

Member Typedef Documentation

typedef std::vector<double> GlobalRecHitsProducer::DoubleVector

Definition at line 151 of file GlobalRecHitsProducer.h.

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

Definition at line 150 of file GlobalRecHitsProducer.h.

typedef std::vector<int> GlobalRecHitsProducer::IntVector

Definition at line 152 of file GlobalRecHitsProducer.h.

typedef std::map<uint32_t, float, std::less<uint32_t> > GlobalRecHitsProducer::MapType

Definition at line 153 of file GlobalRecHitsProducer.h.

Constructor & Destructor Documentation

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

Definition at line 14 of file GlobalRecHitsProducer.cc.

References EBHits_Token_, ECalEBSrc_, ECalEBSrc_Token_, ECalEESrc_, ECalEESrc_Token_, ECalESSrc_, ECalESSrc_Token_, ECalUncalEBSrc_, ECalUncalEBSrc_Token_, ECalUncalEESrc_, ECalUncalEESrc_Token_, EEHits_Token_, fName, frequency, getAllProvenances, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), HCalSrc_, HCalSrc_Token_, HLT_2018_cff::InputTag, edm::InputTag::instance(), edm::InputTag::label(), label, MuCSCHits_Token_, MuCSCSrc_, MuCSCSrc_Token_, MuDTSimSrc_, MuDTSimSrc_Token_, MuDTSrc_, MuDTSrc_Token_, MuRPCSimSrc_, MuRPCSimSrc_Token_, MuRPCSrc_, MuRPCSrc_Token_, printProvenanceInfo, SiPxlSrc_, SiPxlSrc_Token_, SiStripSrc_, SiStripSrc_Token_, AlCaHLTBitMon_QueryRunRegistry::string, and verbosity.

15  : fName(""),
16  verbosity(0),
17  frequency(0),
18  label(""),
19  getAllProvenances(false),
20  printProvenanceInfo(false),
22  count(0) {
23  std::string MsgLoggerCat = "GlobalRecHitsProducer_GlobalRecHitsProducer";
24 
25  // get information from parameter set
26  fName = iPSet.getUntrackedParameter<std::string>("Name");
27  verbosity = iPSet.getUntrackedParameter<int>("Verbosity");
28  frequency = iPSet.getUntrackedParameter<int>("Frequency");
29  label = iPSet.getParameter<std::string>("Label");
30  edm::ParameterSet m_Prov = iPSet.getParameter<edm::ParameterSet>("ProvenanceLookup");
31  getAllProvenances = m_Prov.getUntrackedParameter<bool>("GetAllProvenances");
32  printProvenanceInfo = m_Prov.getUntrackedParameter<bool>("PrintProvenanceInfo");
33 
34  //get Labels to use to extract information
35  ECalEBSrc_ = iPSet.getParameter<edm::InputTag>("ECalEBSrc");
36  ECalUncalEBSrc_ = iPSet.getParameter<edm::InputTag>("ECalUncalEBSrc");
37  ECalEESrc_ = iPSet.getParameter<edm::InputTag>("ECalEESrc");
38  ECalUncalEESrc_ = iPSet.getParameter<edm::InputTag>("ECalUncalEESrc");
39  ECalESSrc_ = iPSet.getParameter<edm::InputTag>("ECalESSrc");
40  HCalSrc_ = iPSet.getParameter<edm::InputTag>("HCalSrc");
41  SiStripSrc_ = iPSet.getParameter<edm::InputTag>("SiStripSrc");
42  SiPxlSrc_ = iPSet.getParameter<edm::InputTag>("SiPxlSrc");
43  MuDTSrc_ = iPSet.getParameter<edm::InputTag>("MuDTSrc");
44  MuDTSimSrc_ = iPSet.getParameter<edm::InputTag>("MuDTSimSrc");
45  MuCSCSrc_ = iPSet.getParameter<edm::InputTag>("MuCSCSrc");
46  MuRPCSrc_ = iPSet.getParameter<edm::InputTag>("MuRPCSrc");
47  MuRPCSimSrc_ = iPSet.getParameter<edm::InputTag>("MuRPCSimSrc");
48 
49  // fix for consumes
50  ECalUncalEBSrc_Token_ = consumes<EBUncalibratedRecHitCollection>(iPSet.getParameter<edm::InputTag>("ECalUncalEBSrc"));
51  ECalUncalEESrc_Token_ = consumes<EEUncalibratedRecHitCollection>(iPSet.getParameter<edm::InputTag>("ECalUncalEESrc"));
52  ECalEBSrc_Token_ = consumes<EBRecHitCollection>(iPSet.getParameter<edm::InputTag>("ECalEBSrc"));
53  ECalEESrc_Token_ = consumes<EERecHitCollection>(iPSet.getParameter<edm::InputTag>("ECalEESrc"));
54  ECalESSrc_Token_ = consumes<ESRecHitCollection>(iPSet.getParameter<edm::InputTag>("ECalESSrc"));
55  HCalSrc_Token_ = consumes<edm::PCaloHitContainer>(iPSet.getParameter<edm::InputTag>("HCalSrc"));
56  SiStripSrc_Token_ = consumes<SiStripMatchedRecHit2DCollection>(iPSet.getParameter<edm::InputTag>("SiStripSrc"));
57  SiPxlSrc_Token_ = consumes<SiPixelRecHitCollection>(iPSet.getParameter<edm::InputTag>("SiPxlSrc"));
58 
59  MuDTSrc_Token_ = consumes<DTRecHitCollection>(iPSet.getParameter<edm::InputTag>("MuDTSrc"));
60  MuDTSimSrc_Token_ = consumes<edm::PSimHitContainer>(iPSet.getParameter<edm::InputTag>("MuDTSimSrc"));
61 
62  MuCSCSrc_Token_ = consumes<CSCRecHit2DCollection>(iPSet.getParameter<edm::InputTag>("MuCSCSrc"));
63  MuCSCHits_Token_ = consumes<CrossingFrame<PSimHit>>(
64  edm::InputTag(std::string("mix"), iPSet.getParameter<std::string>("hitsProducer") + std::string("MuonCSCHits")));
65 
66  MuRPCSrc_Token_ = consumes<RPCRecHitCollection>(iPSet.getParameter<edm::InputTag>("MuRPCSrc"));
67  MuRPCSimSrc_Token_ = consumes<edm::PSimHitContainer>(iPSet.getParameter<edm::InputTag>("MuRPCSimSrc"));
68 
69  EBHits_Token_ = consumes<CrossingFrame<PCaloHit>>(
70  edm::InputTag(std::string("mix"), iPSet.getParameter<std::string>("hitsProducer") + std::string("EcalHitsEB")));
72  consumes<CrossingFrame<PCaloHit>>(edm::InputTag(std::string("mix"), iPSet.getParameter<std::string>("hitsProduc\
73 er") + std::string("EcalHitsEE")));
74 
75  // use value of first digit to determine default output level (inclusive)
76  // 0 is none, 1 is basic, 2 is fill output, 3 is gather output
77  verbosity %= 10;
78 
79  // create persistent object
80  produces<PGlobalRecHit>(label);
81 
82  // print out Parameter Set information being used
83  if (verbosity >= 0) {
84  edm::LogInfo(MsgLoggerCat) << "\n===============================\n"
85  << "Initialized as EDProducer with parameter values:\n"
86  << " Name = " << fName << "\n"
87  << " Verbosity = " << verbosity << "\n"
88  << " Frequency = " << frequency << "\n"
89  << " Label = " << label << "\n"
90  << " GetProv = " << getAllProvenances << "\n"
91  << " PrintProv = " << printProvenanceInfo << "\n"
92  << " ECalEBSrc = " << ECalEBSrc_.label() << ":" << ECalEBSrc_.instance() << "\n"
93  << " ECalUncalEBSrc = " << ECalUncalEBSrc_.label() << ":"
94  << ECalUncalEBSrc_.instance() << "\n"
95  << " ECalEESrc = " << ECalEESrc_.label() << ":" << ECalUncalEESrc_.instance()
96  << "\n"
97  << " ECalUncalEESrc = " << ECalUncalEESrc_.label() << ":" << ECalEESrc_.instance()
98  << "\n"
99  << " ECalESSrc = " << ECalESSrc_.label() << ":" << ECalESSrc_.instance() << "\n"
100  << " HCalSrc = " << HCalSrc_.label() << ":" << HCalSrc_.instance() << "\n"
101  << " SiStripSrc = " << SiStripSrc_.label() << ":" << SiStripSrc_.instance()
102  << "\n"
103  << " SiPixelSrc = " << SiPxlSrc_.label() << ":" << SiPxlSrc_.instance() << "\n"
104  << " MuDTSrc = " << MuDTSrc_.label() << ":" << MuDTSrc_.instance() << "\n"
105  << " MuDTSimSrc = " << MuDTSimSrc_.label() << ":" << MuDTSimSrc_.instance()
106  << "\n"
107  << " MuCSCSrc = " << MuCSCSrc_.label() << ":" << MuCSCSrc_.instance() << "\n"
108  << " MuRPCSrc = " << MuRPCSrc_.label() << ":" << MuRPCSrc_.instance() << "\n"
109  << " MuRPCSimSrc = " << MuRPCSimSrc_.label() << ":" << MuRPCSimSrc_.instance()
110  << "\n"
111  << "===============================\n";
112  }
113 }
T getParameter(std::string const &) const
edm::EDGetTokenT< edm::PSimHitContainer > MuDTSimSrc_Token_
T getUntrackedParameter(std::string const &, T const &) const
edm::EDGetTokenT< edm::PCaloHitContainer > HCalSrc_Token_
TrackerHitAssociator::Config trackerHitAssociatorConfig_
edm::EDGetTokenT< CrossingFrame< PCaloHit > > EEHits_Token_
edm::EDGetTokenT< EBUncalibratedRecHitCollection > ECalUncalEBSrc_Token_
edm::EDGetTokenT< EEUncalibratedRecHitCollection > ECalUncalEESrc_Token_
edm::EDGetTokenT< EERecHitCollection > ECalEESrc_Token_
edm::EDGetTokenT< CrossingFrame< PCaloHit > > EBHits_Token_
edm::EDGetTokenT< CrossingFrame< PSimHit > > MuCSCHits_Token_
edm::EDGetTokenT< SiStripMatchedRecHit2DCollection > SiStripSrc_Token_
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
edm::EDGetTokenT< CSCRecHit2DCollection > MuCSCSrc_Token_
edm::EDGetTokenT< ESRecHitCollection > ECalESSrc_Token_
edm::EDGetTokenT< DTRecHitCollection > MuDTSrc_Token_
edm::EDGetTokenT< RPCRecHitCollection > MuRPCSrc_Token_
std::string const & label() const
Definition: InputTag.h:36
edm::EDGetTokenT< SiPixelRecHitCollection > SiPxlSrc_Token_
std::string const & instance() const
Definition: InputTag.h:37
edm::EDGetTokenT< edm::PSimHitContainer > MuRPCSimSrc_Token_
edm::EDGetTokenT< EBRecHitCollection > ECalEBSrc_Token_
GlobalRecHitsProducer::~GlobalRecHitsProducer ( )
override

Definition at line 115 of file GlobalRecHitsProducer.cc.

115 {}

Member Function Documentation

void GlobalRecHitsProducer::beginJob ( void  )
overridevirtual

Reimplemented from edm::EDProducer.

Definition at line 117 of file GlobalRecHitsProducer.cc.

References clear(), and AlCaHLTBitMon_QueryRunRegistry::string.

117  {
118  std::string MsgLoggerCat = "GlobalRecHitsProducer_beginJob";
119 
120  // clear storage vectors
121  clear();
122  return;
123 }
void GlobalRecHitsProducer::clear ( void  )
private

Definition at line 1825 of file GlobalRecHitsProducer.cc.

References BRL1RX, BRL1RY, BRL1SX, BRL1SY, BRL2RX, BRL2RY, BRL2SX, BRL2SY, BRL3RX, BRL3RY, BRL3SX, BRL3SY, CSCRHPERP, CSCRHPHI, CSCSHPHI, DTRHD, DTSHD, EBRE, EBSHE, EERE, EESHE, ESRE, ESSHE, FWD1nRX, FWD1nRY, FWD1nSX, FWD1nSY, FWD1pRX, FWD1pRY, FWD1pSX, FWD1pSY, FWD2nRX, FWD2nRY, FWD2nSX, FWD2nSY, FWD2pRX, FWD2pRY, FWD2pSX, FWD2pSY, HBCalR, HBCalREC, HBCalSHE, HECalR, HECalREC, HECalSHE, HFCalR, HFCalREC, HFCalSHE, HOCalR, HOCalREC, HOCalSHE, RPCRHX, RPCSHX, AlCaHLTBitMon_QueryRunRegistry::string, TECW1RX, TECW1RY, TECW1SX, TECW1SY, TECW2RX, TECW2RY, TECW2SX, TECW2SY, TECW3RX, TECW3RY, TECW3SX, TECW3SY, TECW4RX, TECW4RY, TECW4SX, TECW4SY, TECW5RX, TECW5RY, TECW5SX, TECW5SY, TECW6RX, TECW6RY, TECW6SX, TECW6SY, TECW7RX, TECW7RY, TECW7SX, TECW7SY, TECW8RX, TECW8RY, TECW8SX, TECW8SY, TIBL1RX, TIBL1RY, TIBL1SX, TIBL1SY, TIBL2RX, TIBL2RY, TIBL2SX, TIBL2SY, TIBL3RX, TIBL3RY, TIBL3SX, TIBL3SY, TIBL4RX, TIBL4RY, TIBL4SX, TIBL4SY, TIDW1RX, TIDW1RY, TIDW1SX, TIDW1SY, TIDW2RX, TIDW2RY, TIDW2SX, TIDW2SY, TIDW3RX, TIDW3RY, TIDW3SX, TIDW3SY, TOBL1RX, TOBL1RY, TOBL1SX, TOBL1SY, TOBL2RX, TOBL2RY, TOBL2SX, TOBL2SY, TOBL3RX, TOBL3RY, TOBL3SX, TOBL3SY, TOBL4RX, TOBL4RY, TOBL4SX, TOBL4SY, and verbosity.

Referenced by beginJob(), and produce().

1825  {
1826  std::string MsgLoggerCat = "GlobalRecHitsProducer_clear";
1827 
1828  if (verbosity > 0)
1829  edm::LogInfo(MsgLoggerCat) << "Clearing event holders";
1830 
1831  // reset electromagnetic info
1832  // EE info
1833  EERE.clear();
1834  EESHE.clear();
1835  // EB info
1836  EBRE.clear();
1837  EBSHE.clear();
1838  // ES info
1839  ESRE.clear();
1840  ESSHE.clear();
1841 
1842  // reset HCal Info
1843  HBCalREC.clear();
1844  HBCalR.clear();
1845  HBCalSHE.clear();
1846  HECalREC.clear();
1847  HECalR.clear();
1848  HECalSHE.clear();
1849  HOCalREC.clear();
1850  HOCalR.clear();
1851  HOCalSHE.clear();
1852  HFCalREC.clear();
1853  HFCalR.clear();
1854  HFCalSHE.clear();
1855 
1856  // reset Track Info
1857  TIBL1RX.clear();
1858  TIBL2RX.clear();
1859  TIBL3RX.clear();
1860  TIBL4RX.clear();
1861  TIBL1RY.clear();
1862  TIBL2RY.clear();
1863  TIBL3RY.clear();
1864  TIBL4RY.clear();
1865  TIBL1SX.clear();
1866  TIBL2SX.clear();
1867  TIBL3SX.clear();
1868  TIBL4SX.clear();
1869  TIBL1SY.clear();
1870  TIBL2SY.clear();
1871  TIBL3SY.clear();
1872  TIBL4SY.clear();
1873 
1874  TOBL1RX.clear();
1875  TOBL2RX.clear();
1876  TOBL3RX.clear();
1877  TOBL4RX.clear();
1878  TOBL1RY.clear();
1879  TOBL2RY.clear();
1880  TOBL3RY.clear();
1881  TOBL4RY.clear();
1882  TOBL1SX.clear();
1883  TOBL2SX.clear();
1884  TOBL3SX.clear();
1885  TOBL4SX.clear();
1886  TOBL1SY.clear();
1887  TOBL2SY.clear();
1888  TOBL3SY.clear();
1889  TOBL4SY.clear();
1890 
1891  TIDW1RX.clear();
1892  TIDW2RX.clear();
1893  TIDW3RX.clear();
1894  TIDW1RY.clear();
1895  TIDW2RY.clear();
1896  TIDW3RY.clear();
1897  TIDW1SX.clear();
1898  TIDW2SX.clear();
1899  TIDW3SX.clear();
1900  TIDW1SY.clear();
1901  TIDW2SY.clear();
1902  TIDW3SY.clear();
1903 
1904  TECW1RX.clear();
1905  TECW2RX.clear();
1906  TECW3RX.clear();
1907  TECW4RX.clear();
1908  TECW5RX.clear();
1909  TECW6RX.clear();
1910  TECW7RX.clear();
1911  TECW8RX.clear();
1912  TECW1RY.clear();
1913  TECW2RY.clear();
1914  TECW3RY.clear();
1915  TECW4RY.clear();
1916  TECW5RY.clear();
1917  TECW6RY.clear();
1918  TECW7RY.clear();
1919  TECW8RY.clear();
1920  TECW1SX.clear();
1921  TECW2SX.clear();
1922  TECW3SX.clear();
1923  TECW4SX.clear();
1924  TECW5SX.clear();
1925  TECW6SX.clear();
1926  TECW7SX.clear();
1927  TECW8SX.clear();
1928  TECW1SY.clear();
1929  TECW2SY.clear();
1930  TECW3SY.clear();
1931  TECW4SY.clear();
1932  TECW5SY.clear();
1933  TECW6SY.clear();
1934  TECW7SY.clear();
1935  TECW8SY.clear();
1936 
1937  BRL1RX.clear();
1938  BRL1RY.clear();
1939  BRL1SX.clear();
1940  BRL1SY.clear();
1941  BRL2RX.clear();
1942  BRL2RY.clear();
1943  BRL2SX.clear();
1944  BRL2SY.clear();
1945  BRL3RX.clear();
1946  BRL3RY.clear();
1947  BRL3SX.clear();
1948  BRL3SY.clear();
1949 
1950  FWD1pRX.clear();
1951  FWD1pRY.clear();
1952  FWD1pSX.clear();
1953  FWD1pSY.clear();
1954  FWD1nRX.clear();
1955  FWD1nRY.clear();
1956  FWD1nSX.clear();
1957  FWD1nSY.clear();
1958  FWD2pRX.clear();
1959  FWD2pRY.clear();
1960  FWD2pSX.clear();
1961  FWD2pSY.clear();
1962  FWD2nRX.clear();
1963  FWD2nRY.clear();
1964  FWD2nSX.clear();
1965  FWD2nSY.clear();
1966 
1967  //muon clear
1968  DTRHD.clear();
1969  DTSHD.clear();
1970 
1971  CSCRHPHI.clear();
1972  CSCRHPERP.clear();
1973  CSCSHPHI.clear();
1974 
1975  RPCRHX.clear();
1976  RPCSHX.clear();
1977 
1978  return;
1979 }
template<typename type >
int GlobalRecHitsProducer::compute ( const DTGeometry dtGeom,
const std::map< DTWireId, std::vector< PSimHit >> &  simHitsPerWire,
const std::map< DTWireId, std::vector< type >> &  recHitsPerWire,
int  step 
)
private

Definition at line 2065 of file GlobalRecHitsProducer.cc.

References DTRHD, DTSHD, findBestRecHit(), DTHitQualityUtils::findMuSimHit(), DTGeometry::layer(), genParticles_cff::map, recHitDistFromWire(), FastTrackerRecHitMaskProducer_cfi::recHits, and simHitDistFromWire().

Referenced by fillMuon().

2068  {
2069  std::map<DTWireId, std::vector<PSimHit>> simHitsPerWire = _simHitsPerWire;
2070  std::map<DTWireId, std::vector<type>> recHitsPerWire = _recHitsPerWire;
2071  int nDt = 0;
2072  // Loop over cells with a muon SimHit
2073  for (std::map<DTWireId, std::vector<PSimHit>>::const_iterator wireAndSHits = simHitsPerWire.begin();
2074  wireAndSHits != simHitsPerWire.end();
2075  wireAndSHits++) {
2076  DTWireId wireId = (*wireAndSHits).first;
2077  std::vector<PSimHit> simHitsInCell = (*wireAndSHits).second;
2078 
2079  // Get the layer
2080  const DTLayer* layer = dtGeom->layer(wireId);
2081 
2082  // Look for a mu hit in the cell
2083  const PSimHit* muSimHit = DTHitQualityUtils::findMuSimHit(simHitsInCell);
2084  if (muSimHit == nullptr) {
2085  continue; // Skip this cell
2086  }
2087 
2088  // Find the distance of the simhit from the wire
2089  float simHitWireDist = simHitDistFromWire(layer, wireId, *muSimHit);
2090  // Skip simhits out of the cell
2091  if (simHitWireDist > 2.1) {
2092  continue; // Skip this cell
2093  }
2094  //GlobalPoint simHitGlobalPos = layer->toGlobal(muSimHit->localPosition());
2095 
2096  // Look for RecHits in the same cell
2097  if (recHitsPerWire.find(wireId) == recHitsPerWire.end()) {
2098  continue; // No RecHit found in this cell
2099  } else {
2100  // vector<type> recHits = (*wireAndRecHits).second;
2101  std::vector<type> recHits = recHitsPerWire[wireId];
2102 
2103  // Find the best RecHit
2104  const type* theBestRecHit = findBestRecHit(layer, wireId, recHits, simHitWireDist);
2105 
2106  float recHitWireDist = recHitDistFromWire(*theBestRecHit, layer);
2107 
2108  ++nDt;
2109 
2110  DTRHD.push_back(recHitWireDist);
2111  DTSHD.push_back(simHitWireDist);
2112 
2113  } // find rechits
2114  } // loop over simhits
2115 
2116  return nDt;
2117 }
type
Definition: HCALResponse.h:21
const type * findBestRecHit(const DTLayer *layer, DTWireId wireId, const std::vector< type > &recHits, const float simHitDist)
float simHitDistFromWire(const DTLayer *layer, DTWireId wireId, const PSimHit &hit)
float recHitDistFromWire(const DTRecHit1DPair &hitPair, const DTLayer *layer)
const PSimHit * findMuSimHit(const edm::PSimHitContainer &hits)
Select the SimHit from a muon in a vector of SimHits.
const DTLayer * layer(const DTLayerId &id) const
Return a layer given its id.
Definition: DTGeometry.cc:96
void GlobalRecHitsProducer::endJob ( void  )
overridevirtual

Reimplemented from edm::EDProducer.

Definition at line 125 of file GlobalRecHitsProducer.cc.

References count, AlCaHLTBitMon_QueryRunRegistry::string, and verbosity.

125  {
126  std::string MsgLoggerCat = "GlobalRecHitsProducer_endJob";
127  if (verbosity >= 0)
128  edm::LogInfo(MsgLoggerCat) << "Terminating having processed " << count << " events.";
129  return;
130 }
void GlobalRecHitsProducer::fillECal ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
private

Definition at line 225 of file GlobalRecHitsProducer.cc.

References HLT_2018_cff::barrelHits, edm::SortedCollection< T, SORT >::begin(), EBHits_Token_, EBRE, CollectionTags_cfi::EBRecHit, EBSHE, CollectionTags_cfi::EBUncalibRecHit, ECalEBSrc_Token_, ECalEESrc_Token_, ECalESSrc_Token_, ECalUncalEBSrc_Token_, ECalUncalEESrc_Token_, EEHits_Token_, EERE, CollectionTags_cfi::EERecHit, EESHE, CollectionTags_cfi::EEUncalibRecHit, edm::SortedCollection< T, SORT >::end(), HLT_2018_cff::endcapHits, ESHits_Token_, ESRE, ESSHE, edm::SortedCollection< T, SORT >::find(), edm::Event::getByToken(), edm::HandleBase::isValid(), gedPhotons_cfi::preshowerHits, edm::Handle< T >::product(), DetId::rawId(), rpcPointValidation_cfi::recHit, AlCaHLTBitMon_QueryRunRegistry::string, and verbosity.

Referenced by produce().

225  {
226  std::string MsgLoggerCat = "GlobalRecHitsProducer_fillECal";
227 
228  TString eventout;
229  if (verbosity > 0)
230  eventout = "\nGathering info:";
231 
232  // extract crossing frame from event
233  //edm::Handle<CrossingFrame> crossingFrame;
235  //iEvent.getByType(crossingFrame);
236  //if (!crossingFrame.isValid()) {
237  // edm::LogWarning(MsgLoggerCat)
238  // << "Unable to find crossingFrame in event!";
239  // return;
240  //}
241 
243  //extract EB information
246  iEvent.getByToken(ECalUncalEBSrc_Token_, EcalUncalibRecHitEB);
247  if (!EcalUncalibRecHitEB.isValid()) {
248  edm::LogWarning(MsgLoggerCat) << "Unable to find EcalUncalRecHitEB in event!";
249  return;
250  }
251 
252  edm::Handle<EBRecHitCollection> EcalRecHitEB;
253  iEvent.getByToken(ECalEBSrc_Token_, EcalRecHitEB);
254  if (!EcalRecHitEB.isValid()) {
255  edm::LogWarning(MsgLoggerCat) << "Unable to find EcalRecHitEB in event!";
256  return;
257  }
258 
259  // loop over simhits
260  iEvent.getByToken(EBHits_Token_, crossingFrame);
261  if (!crossingFrame.isValid()) {
262  edm::LogWarning(MsgLoggerCat) << "Unable to find cal barrel crossingFrame in event!";
263  return;
264  }
265  //std::unique_ptr<MixCollection<PCaloHit> >
266  // barrelHits(new MixCollection<PCaloHit>
267  // (crossingFrame.product(), barrelHitsName));
268  std::unique_ptr<MixCollection<PCaloHit>> barrelHits(new MixCollection<PCaloHit>(crossingFrame.product()));
269 
270  // keep track of sum of simhit energy in each crystal
271  MapType ebSimMap;
272  for (MixCollection<PCaloHit>::MixItr hitItr = barrelHits->begin(); hitItr != barrelHits->end(); ++hitItr) {
273  EBDetId ebid = EBDetId(hitItr->id());
274 
275  uint32_t crystid = ebid.rawId();
276  ebSimMap[crystid] += hitItr->energy();
277  }
278 
279  int nEBRecHits = 0;
280  // loop over RecHits
281  const EBUncalibratedRecHitCollection* EBUncalibRecHit = EcalUncalibRecHitEB.product();
282  const EBRecHitCollection* EBRecHit = EcalRecHitEB.product();
283 
284  for (EcalUncalibratedRecHitCollection::const_iterator uncalibRecHit = EBUncalibRecHit->begin();
285  uncalibRecHit != EBUncalibRecHit->end();
286  ++uncalibRecHit) {
287  EBDetId EBid = EBDetId(uncalibRecHit->id());
288 
289  EcalRecHitCollection::const_iterator myRecHit = EBRecHit->find(EBid);
290 
291  if (myRecHit != EBRecHit->end()) {
292  ++nEBRecHits;
293  EBRE.push_back(myRecHit->energy());
294  EBSHE.push_back(ebSimMap[EBid.rawId()]);
295  }
296  }
297 
298  if (verbosity > 1) {
299  eventout += "\n Number of EBRecHits collected:............ ";
300  eventout += nEBRecHits;
301  }
302 
304  //extract EE information
307  iEvent.getByToken(ECalUncalEESrc_Token_, EcalUncalibRecHitEE);
308  if (!EcalUncalibRecHitEE.isValid()) {
309  edm::LogWarning(MsgLoggerCat) << "Unable to find EcalUncalRecHitEE in event!";
310  return;
311  }
312 
313  edm::Handle<EERecHitCollection> EcalRecHitEE;
314  iEvent.getByToken(ECalEESrc_Token_, EcalRecHitEE);
315  if (!EcalRecHitEE.isValid()) {
316  edm::LogWarning(MsgLoggerCat) << "Unable to find EcalRecHitEE in event!";
317  return;
318  }
319 
320  // loop over simhits
321  iEvent.getByToken(EEHits_Token_, crossingFrame);
322  if (!crossingFrame.isValid()) {
323  edm::LogWarning(MsgLoggerCat) << "Unable to find cal endcap crossingFrame in event!";
324  return;
325  }
326  //std::unique_ptr<MixCollection<PCaloHit> >
327  // endcapHits(new MixCollection<PCaloHit>
328  // (crossingFrame.product(), endcapHitsName));
329  std::unique_ptr<MixCollection<PCaloHit>> endcapHits(new MixCollection<PCaloHit>(crossingFrame.product()));
330 
331  // keep track of sum of simhit energy in each crystal
332  MapType eeSimMap;
333  for (MixCollection<PCaloHit>::MixItr hitItr = endcapHits->begin(); hitItr != endcapHits->end(); ++hitItr) {
334  EEDetId eeid = EEDetId(hitItr->id());
335 
336  uint32_t crystid = eeid.rawId();
337  eeSimMap[crystid] += hitItr->energy();
338  }
339 
340  int nEERecHits = 0;
341  // loop over RecHits
342  const EEUncalibratedRecHitCollection* EEUncalibRecHit = EcalUncalibRecHitEE.product();
343  const EERecHitCollection* EERecHit = EcalRecHitEE.product();
344 
345  for (EcalUncalibratedRecHitCollection::const_iterator uncalibRecHit = EEUncalibRecHit->begin();
346  uncalibRecHit != EEUncalibRecHit->end();
347  ++uncalibRecHit) {
348  EEDetId EEid = EEDetId(uncalibRecHit->id());
349 
350  EcalRecHitCollection::const_iterator myRecHit = EERecHit->find(EEid);
351 
352  if (myRecHit != EERecHit->end()) {
353  ++nEERecHits;
354  EERE.push_back(myRecHit->energy());
355  EESHE.push_back(eeSimMap[EEid.rawId()]);
356  }
357  }
358 
359  if (verbosity > 1) {
360  eventout += "\n Number of EERecHits collected:............ ";
361  eventout += nEERecHits;
362  }
363 
365  //extract ES information
367  edm::Handle<ESRecHitCollection> EcalRecHitES;
368  iEvent.getByToken(ECalESSrc_Token_, EcalRecHitES);
369  if (!EcalRecHitES.isValid()) {
370  edm::LogWarning(MsgLoggerCat) << "Unable to find EcalRecHitES in event!";
371  return;
372  }
373 
374  // loop over simhits
375  iEvent.getByToken(ESHits_Token_, crossingFrame);
376  if (!crossingFrame.isValid()) {
377  edm::LogWarning(MsgLoggerCat) << "Unable to find cal preshower crossingFrame in event!";
378  return;
379  }
380  //std::unique_ptr<MixCollection<PCaloHit> >
381  // preshowerHits(new MixCollection<PCaloHit>
382  // (crossingFrame.product(), preshowerHitsName));
383  std::unique_ptr<MixCollection<PCaloHit>> preshowerHits(new MixCollection<PCaloHit>(crossingFrame.product()));
384 
385  // keep track of sum of simhit energy in each crystal
386  MapType esSimMap;
387  for (MixCollection<PCaloHit>::MixItr hitItr = preshowerHits->begin(); hitItr != preshowerHits->end(); ++hitItr) {
388  ESDetId esid = ESDetId(hitItr->id());
389 
390  uint32_t crystid = esid.rawId();
391  esSimMap[crystid] += hitItr->energy();
392  }
393 
394  int nESRecHits = 0;
395  // loop over RecHits
396  const ESRecHitCollection* ESRecHit = EcalRecHitES.product();
397  for (EcalRecHitCollection::const_iterator recHit = ESRecHit->begin(); recHit != ESRecHit->end(); ++recHit) {
398  ESDetId ESid = ESDetId(recHit->id());
399 
400  ++nESRecHits;
401  ESRE.push_back(recHit->energy());
402  ESSHE.push_back(esSimMap[ESid.rawId()]);
403  }
404 
405  if (verbosity > 1) {
406  eventout += "\n Number of ESRecHits collected:............ ";
407  eventout += nESRecHits;
408  }
409 
410  if (verbosity > 0)
411  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
412 
413  return;
414 }
edm::EDGetTokenT< CrossingFrame< PCaloHit > > EEHits_Token_
edm::EDGetTokenT< EBUncalibratedRecHitCollection > ECalUncalEBSrc_Token_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:525
edm::EDGetTokenT< EEUncalibratedRecHitCollection > ECalUncalEESrc_Token_
edm::EDGetTokenT< EERecHitCollection > ECalEESrc_Token_
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
std::vector< T >::const_iterator const_iterator
edm::EDGetTokenT< CrossingFrame< PCaloHit > > EBHits_Token_
edm::EDGetTokenT< CrossingFrame< PCaloHit > > ESHits_Token_
bool isValid() const
Definition: HandleBase.h:70
edm::EDGetTokenT< ESRecHitCollection > ECalESSrc_Token_
const_iterator end() const
T const * product() const
Definition: Handle.h:69
std::map< uint32_t, float, std::less< uint32_t > > MapType
iterator find(key_type k)
edm::EDGetTokenT< EBRecHitCollection > ECalEBSrc_Token_
const_iterator begin() const
void GlobalRecHitsProducer::fillHCal ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
private

Definition at line 457 of file GlobalRecHitsProducer.cc.

References PV3DBase< T, PVType, FrameType >::eta(), geometry, edm::EventSetup::get(), edm::Event::getByToken(), CaloSubdetectorGeometry::getGeometry(), edm::Event::getManyByType(), HcalGeometry::getPosition(), CaloGeometry::getSubdetectorGeometry(), HBCalR, HBCalREC, HBCalSHE, photonIsolationHIProducer_cfi::hbhe, DetId::Hcal, HCalSrc_Token_, HECalR, HECalREC, HECalSHE, photonIsolationHIProducer_cfi::hf, HFCalR, HFCalREC, HFCalSHE, photonIsolationHIProducer_cfi::ho, HOCalR, HOCalREC, HOCalSHE, ihf, edm::ESHandleBase::isValid(), edm::HandleBase::isValid(), PV3DBase< T, PVType, FrameType >::phi(), PI, edm::Handle< T >::product(), edm::ESHandle< T >::product(), alignCSCRings::r, DetId::rawId(), sdHcalBrl, sdHcalEC, sdHcalFwd, sdHcalOut, HLTBitAnalyser_cfi::simhits, mathSSE::sqrt(), AlCaHLTBitMon_QueryRunRegistry::string, and verbosity.

Referenced by produce().

457  {
458  std::string MsgLoggerCat = "GlobalRecHitsProducer_fillHCal";
459 
460  TString eventout;
461  if (verbosity > 0)
462  eventout = "\nGathering info:";
463 
464  // get geometry
466  iSetup.get<CaloGeometryRecord>().get(geometry);
467  if (!geometry.isValid()) {
468  edm::LogWarning(MsgLoggerCat) << "Unable to find CaloGeometry in event!";
469  return;
470  }
471 
473  // extract simhit info
476  iEvent.getByToken(HCalSrc_Token_, hcalHits);
477  if (!hcalHits.isValid()) {
478  edm::LogWarning(MsgLoggerCat) << "Unable to find hcalHits in event!";
479  return;
480  }
481  const edm::PCaloHitContainer* simhitResult = hcalHits.product();
482 
483  MapType fHBEnergySimHits;
484  MapType fHEEnergySimHits;
485  MapType fHOEnergySimHits;
486  MapType fHFEnergySimHits;
487  for (std::vector<PCaloHit>::const_iterator simhits = simhitResult->begin(); simhits != simhitResult->end();
488  ++simhits) {
489  HcalDetId detId(simhits->id());
490  uint32_t cellid = detId.rawId();
491 
492  if (detId.subdet() == sdHcalBrl) {
493  fHBEnergySimHits[cellid] += simhits->energy();
494  }
495  if (detId.subdet() == sdHcalEC) {
496  fHEEnergySimHits[cellid] += simhits->energy();
497  }
498  if (detId.subdet() == sdHcalOut) {
499  fHOEnergySimHits[cellid] += simhits->energy();
500  }
501  if (detId.subdet() == sdHcalFwd) {
502  fHFEnergySimHits[cellid] += simhits->energy();
503  }
504  }
505 
506  // max values to be used (HO is found in HB)
507  Double_t maxHBEnergy = 0.;
508  Double_t maxHEEnergy = 0.;
509  Double_t maxHFEnergy = 0.;
510 
511  Double_t maxHBPhi = -1000.;
512  Double_t maxHEPhi = -1000.;
513  Double_t maxHOPhi = -1000.;
514  Double_t maxHFPhi = -1000.;
515 
516  Double_t maxHBEta = -1000.;
517  Double_t maxHEEta = -1000.;
518  Double_t maxHOEta = -1000.;
519  Double_t maxHFEta = -1000.;
520 
521  Double_t PI = 3.141592653589;
522 
524  // get HBHE information
526  std::vector<edm::Handle<HBHERecHitCollection>> hbhe;
527  iEvent.getManyByType(hbhe);
528  if (!hbhe[0].isValid()) {
529  edm::LogWarning(MsgLoggerCat) << "Unable to find any HBHERecHitCollections in event!";
530  return;
531  }
532  std::vector<edm::Handle<HBHERecHitCollection>>::iterator ihbhe;
533  const CaloGeometry* geo = geometry.product();
534 
535  int iHB = 0;
536  int iHE = 0;
537  for (ihbhe = hbhe.begin(); ihbhe != hbhe.end(); ++ihbhe) {
538  // find max values
539  for (HBHERecHitCollection::const_iterator jhbhe = (*ihbhe)->begin(); jhbhe != (*ihbhe)->end(); ++jhbhe) {
540  HcalDetId cell(jhbhe->id());
541 
542  if (cell.subdet() == sdHcalBrl) {
543  const HcalGeometry* cellGeometry =
544  dynamic_cast<const HcalGeometry*>(geo->getSubdetectorGeometry(DetId::Hcal, cell.subdet()));
545  double fEta = cellGeometry->getPosition(cell).eta();
546  double fPhi = cellGeometry->getPosition(cell).phi();
547  if ((jhbhe->energy()) > maxHBEnergy) {
548  maxHBEnergy = jhbhe->energy();
549  maxHBPhi = fPhi;
550  maxHOPhi = maxHBPhi;
551  maxHBEta = fEta;
552  maxHOEta = maxHBEta;
553  }
554  }
555 
556  if (cell.subdet() == sdHcalEC) {
557  const HcalGeometry* cellGeometry =
558  dynamic_cast<const HcalGeometry*>(geo->getSubdetectorGeometry(DetId::Hcal, cell.subdet()));
559  double fEta = cellGeometry->getPosition(cell).eta();
560  double fPhi = cellGeometry->getPosition(cell).phi();
561  if ((jhbhe->energy()) > maxHEEnergy) {
562  maxHEEnergy = jhbhe->energy();
563  maxHEPhi = fPhi;
564  maxHEEta = fEta;
565  }
566  }
567  } // end find max values
568 
569  for (HBHERecHitCollection::const_iterator jhbhe = (*ihbhe)->begin(); jhbhe != (*ihbhe)->end(); ++jhbhe) {
570  HcalDetId cell(jhbhe->id());
571 
572  if (cell.subdet() == sdHcalBrl) {
573  ++iHB;
574 
575  const HcalGeometry* cellGeometry =
576  dynamic_cast<const HcalGeometry*>(geo->getSubdetectorGeometry(DetId::Hcal, cell.subdet()));
577  double fEta = cellGeometry->getPosition(cell).eta();
578  double fPhi = cellGeometry->getPosition(cell).phi();
579 
580  float deltaphi = maxHBPhi - fPhi;
581  if (fPhi > maxHBPhi) {
582  deltaphi = fPhi - maxHBPhi;
583  }
584  if (deltaphi > PI) {
585  deltaphi = 2.0 * PI - deltaphi;
586  }
587  float deltaeta = fEta - maxHBEta;
588  Double_t r = sqrt(deltaeta * deltaeta + deltaphi * deltaphi);
589 
590  HBCalREC.push_back(jhbhe->energy());
591  HBCalR.push_back(r);
592  HBCalSHE.push_back(fHBEnergySimHits[cell.rawId()]);
593  }
594 
595  if (cell.subdet() == sdHcalEC) {
596  ++iHE;
597 
598  const HcalGeometry* cellGeometry =
599  dynamic_cast<const HcalGeometry*>(geo->getSubdetectorGeometry(DetId::Hcal, cell.subdet()));
600  double fEta = cellGeometry->getPosition(cell).eta();
601  double fPhi = cellGeometry->getPosition(cell).phi();
602 
603  float deltaphi = maxHEPhi - fPhi;
604  if (fPhi > maxHEPhi) {
605  deltaphi = fPhi - maxHEPhi;
606  }
607  if (deltaphi > PI) {
608  deltaphi = 2.0 * PI - deltaphi;
609  }
610  float deltaeta = fEta - maxHEEta;
611  Double_t r = sqrt(deltaeta * deltaeta + deltaphi * deltaphi);
612 
613  HECalREC.push_back(jhbhe->energy());
614  HECalR.push_back(r);
615  HECalSHE.push_back(fHEEnergySimHits[cell.rawId()]);
616  }
617  }
618  } // end loop through collection
619 
620  if (verbosity > 1) {
621  eventout += "\n Number of HBRecHits collected:............ ";
622  eventout += iHB;
623  }
624 
625  if (verbosity > 1) {
626  eventout += "\n Number of HERecHits collected:............ ";
627  eventout += iHE;
628  }
629 
631  // get HF information
633  std::vector<edm::Handle<HFRecHitCollection>> hf;
634  iEvent.getManyByType(hf);
635  if (!hf[0].isValid()) {
636  edm::LogWarning(MsgLoggerCat) << "Unable to find any HFRecHitCollections in event!";
637  return;
638  }
639  std::vector<edm::Handle<HFRecHitCollection>>::iterator ihf;
640 
641  int iHF = 0;
642  for (ihf = hf.begin(); ihf != hf.end(); ++ihf) {
643  // find max values
644  for (HFRecHitCollection::const_iterator jhf = (*ihf)->begin(); jhf != (*ihf)->end(); ++jhf) {
645  HcalDetId cell(jhf->id());
646 
647  if (cell.subdet() == sdHcalFwd) {
648  auto cellGeometry = geometry->getSubdetectorGeometry(cell)->getGeometry(cell);
649  double fEta = cellGeometry->getPosition().eta();
650  double fPhi = cellGeometry->getPosition().phi();
651  if ((jhf->energy()) > maxHFEnergy) {
652  maxHFEnergy = jhf->energy();
653  maxHFPhi = fPhi;
654  maxHFEta = fEta;
655  }
656  }
657  } // end find max values
658 
659  for (HFRecHitCollection::const_iterator jhf = (*ihf)->begin(); jhf != (*ihf)->end(); ++jhf) {
660  HcalDetId cell(jhf->id());
661 
662  if (cell.subdet() == sdHcalFwd) {
663  ++iHF;
664 
665  auto cellGeometry = geometry->getSubdetectorGeometry(cell)->getGeometry(cell);
666  double fEta = cellGeometry->getPosition().eta();
667  double fPhi = cellGeometry->getPosition().phi();
668 
669  float deltaphi = maxHBPhi - fPhi;
670  if (fPhi > maxHFPhi) {
671  deltaphi = fPhi - maxHFPhi;
672  }
673  if (deltaphi > PI) {
674  deltaphi = 2.0 * PI - deltaphi;
675  }
676  float deltaeta = fEta - maxHFEta;
677  Double_t r = sqrt(deltaeta * deltaeta + deltaphi * deltaphi);
678 
679  HFCalREC.push_back(jhf->energy());
680  HFCalR.push_back(r);
681  HFCalSHE.push_back(fHFEnergySimHits[cell.rawId()]);
682  }
683  }
684  } // end loop through collection
685 
686  if (verbosity > 1) {
687  eventout += "\n Number of HFDigis collected:.............. ";
688  eventout += iHF;
689  }
690 
692  // get HO information
694  std::vector<edm::Handle<HORecHitCollection>> ho;
695  iEvent.getManyByType(ho);
696  if (!ho[0].isValid()) {
697  edm::LogWarning(MsgLoggerCat) << "Unable to find any HORecHitCollections in event!";
698  return;
699  }
700  std::vector<edm::Handle<HORecHitCollection>>::iterator iho;
701 
702  int iHO = 0;
703  for (iho = ho.begin(); iho != ho.end(); ++iho) {
704  for (HORecHitCollection::const_iterator jho = (*iho)->begin(); jho != (*iho)->end(); ++jho) {
705  HcalDetId cell(jho->id());
706 
707  if (cell.subdet() == sdHcalOut) {
708  ++iHO;
709 
710  auto cellGeometry = geometry->getSubdetectorGeometry(cell)->getGeometry(cell);
711  double fEta = cellGeometry->getPosition().eta();
712  double fPhi = cellGeometry->getPosition().phi();
713 
714  float deltaphi = maxHOPhi - fPhi;
715  if (fPhi > maxHOPhi) {
716  deltaphi = fPhi - maxHOPhi;
717  }
718  if (deltaphi > PI) {
719  deltaphi = 2.0 * PI - deltaphi;
720  }
721  float deltaeta = fEta - maxHOEta;
722  Double_t r = sqrt(deltaeta * deltaeta + deltaphi * deltaphi);
723 
724  HOCalREC.push_back(jho->energy());
725  HOCalR.push_back(r);
726  HOCalSHE.push_back(fHOEnergySimHits[cell.rawId()]);
727  }
728  }
729  } // end loop through collection
730 
731  if (verbosity > 1) {
732  eventout += "\n Number of HODigis collected:.............. ";
733  eventout += iHO;
734  }
735 
736  if (verbosity > 0)
737  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
738 
739  return;
740 }
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
Definition: CaloGeometry.cc:34
edm::EDGetTokenT< edm::PCaloHitContainer > HCalSrc_Token_
std::vector< PCaloHit > PCaloHitContainer
int ihf
static const int sdHcalOut
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:525
Geom::Phi< T > phi() const
Definition: PV3DBase.h:66
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
std::vector< T >::const_iterator const_iterator
void getManyByType(std::vector< Handle< PROD >> &results) const
Definition: Event.h:516
T sqrt(T t)
Definition: SSEVec.h:19
bool isValid() const
Definition: HandleBase.h:70
#define PI
Definition: QcdUeDQM.h:37
GlobalPoint getPosition(const DetId &id) const
T const * product() const
Definition: Handle.h:69
virtual std::shared_ptr< const CaloCellGeometry > getGeometry(const DetId &id) const
Get the cell geometry of a given detector id. Should return false if not found.
std::map< uint32_t, float, std::less< uint32_t > > MapType
static const int sdHcalFwd
static const int sdHcalBrl
T eta() const
Definition: PV3DBase.h:73
ESHandle< TrackerGeometry > geometry
T get() const
Definition: EventSetup.h:73
bool isValid() const
Definition: ESHandle.h:44
T const * product() const
Definition: ESHandle.h:86
static const int sdHcalEC
void GlobalRecHitsProducer::fillMuon ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
private

Definition at line 1573 of file GlobalRecHitsProducer.cc.

References CSCLayer::chamber(), CSCChamberSpecs::chamberType(), compute(), edm::EventSetup::get(), edm::Event::getByToken(), mps_fire::i, CSCGeometry::idToDetUnit(), RPCRoll::isForward(), edm::ESHandleBase::isValid(), edm::HandleBase::isValid(), map1DRecHitsPerWire(), DTHitQualityUtils::mapSimHitsPerWire(), MuCSCHits_Token_, MuCSCSrc_Token_, MuDTSimSrc_Token_, MuDTSrc_Token_, MuRPCSimSrc_Token_, MuRPCSrc_Token_, plotResolution(), edm::Handle< T >::product(), edm::ESHandle< T >::product(), OfflineHarvestingSequence_cosmic::ptype, alignCSCRings::r, rpcPointValidation_cfi::recHit, RPCGeometry::roll(), RPCRHX, RPCSHX, rpcPointValidation_cfi::simHit, FastTrackerRecHitCombiner_cfi::simHits, CSCChamber::specs(), AlCaHLTBitMon_QueryRunRegistry::string, theMap, verbosity, and PV3DBase< T, PVType, FrameType >::x().

Referenced by produce().

1573  {
1574  std::string MsgLoggerCat = "GlobalRecHitsProducer_fillMuon";
1575 
1576  TString eventout;
1577  if (verbosity > 0)
1578  eventout = "\nGathering info:";
1579 
1580  // get DT information
1582  iSetup.get<MuonGeometryRecord>().get(dtGeom);
1583  if (!dtGeom.isValid()) {
1584  edm::LogWarning(MsgLoggerCat) << "Unable to find DTMuonGeometryRecord in event!";
1585  return;
1586  }
1587 
1589  iEvent.getByToken(MuDTSimSrc_Token_, dtsimHits);
1590  if (!dtsimHits.isValid()) {
1591  edm::LogWarning(MsgLoggerCat) << "Unable to find dtsimHits in event!";
1592  return;
1593  }
1594 
1595  std::map<DTWireId, edm::PSimHitContainer> simHitsPerWire =
1597 
1599  iEvent.getByToken(MuDTSrc_Token_, dtRecHits);
1600  if (!dtRecHits.isValid()) {
1601  edm::LogWarning(MsgLoggerCat) << "Unable to find dtRecHits in event!";
1602  return;
1603  }
1604 
1605  std::map<DTWireId, std::vector<DTRecHit1DPair>> recHitsPerWire = map1DRecHitsPerWire(dtRecHits.product());
1606 
1607  int nDt = compute(dtGeom.product(), simHitsPerWire, recHitsPerWire, 1);
1608 
1609  if (verbosity > 1) {
1610  eventout += "\n Number of DtMuonRecHits collected:........ ";
1611  eventout += nDt;
1612  }
1613 
1614  // get CSC Strip information
1615  // get map of sim hits
1616  theMap.clear();
1617  //edm::Handle<CrossingFrame> cf;
1619  //iEvent.getByType(cf);
1620  //if (!cf.isValid()) {
1621  // edm::LogWarning(MsgLoggerCat)
1622  // << "Unable to find CrossingFrame in event!";
1623  // return;
1624  //}
1625  //MixCollection<PSimHit> simHits(cf.product(), "MuonCSCHits");
1626  iEvent.getByToken(MuCSCHits_Token_, cf);
1627  if (!cf.isValid()) {
1628  edm::LogWarning(MsgLoggerCat) << "Unable to find muo CSC crossingFrame in event!";
1629  return;
1630  }
1632 
1633  // arrange the hits by detUnit
1634  for (MixCollection<PSimHit>::MixItr hitItr = simHits.begin(); hitItr != simHits.end(); ++hitItr) {
1635  theMap[hitItr->detUnitId()].push_back(*hitItr);
1636  }
1637 
1638  // get geometry
1640  iSetup.get<MuonGeometryRecord>().get(hGeom);
1641  if (!hGeom.isValid()) {
1642  edm::LogWarning(MsgLoggerCat) << "Unable to find CSCMuonGeometryRecord in event!";
1643  return;
1644  }
1645  const CSCGeometry* theCSCGeometry = &*hGeom;
1646 
1647  // get rechits
1649  iEvent.getByToken(MuCSCSrc_Token_, hRecHits);
1650  if (!hRecHits.isValid()) {
1651  edm::LogWarning(MsgLoggerCat) << "Unable to find CSC RecHits in event!";
1652  return;
1653  }
1654  const CSCRecHit2DCollection* cscRecHits = hRecHits.product();
1655 
1656  int nCSC = 0;
1657  for (CSCRecHit2DCollection::const_iterator recHitItr = cscRecHits->begin(); recHitItr != cscRecHits->end();
1658  ++recHitItr) {
1659  int detId = (*recHitItr).cscDetId().rawId();
1660 
1662  std::map<int, edm::PSimHitContainer>::const_iterator mapItr = theMap.find(detId);
1663  if (mapItr != theMap.end()) {
1664  simHits = mapItr->second;
1665  }
1666 
1667  if (simHits.size() == 1) {
1668  ++nCSC;
1669 
1670  const GeomDetUnit* detUnit = theCSCGeometry->idToDetUnit(CSCDetId(detId));
1671  const CSCLayer* layer = dynamic_cast<const CSCLayer*>(detUnit);
1672 
1673  int chamberType = layer->chamber()->specs()->chamberType();
1674  plotResolution(simHits[0], *recHitItr, layer, chamberType);
1675  }
1676  }
1677 
1678  if (verbosity > 1) {
1679  eventout += "\n Number of CSCRecHits collected:........... ";
1680  eventout += nCSC;
1681  }
1682 
1683  // get RPC information
1684  std::map<double, int> mapsim, maprec;
1685  std::map<int, double> nmapsim, nmaprec;
1686 
1688  iSetup.get<MuonGeometryRecord>().get(rpcGeom);
1689  if (!rpcGeom.isValid()) {
1690  edm::LogWarning(MsgLoggerCat) << "Unable to find RPCMuonGeometryRecord in event!";
1691  return;
1692  }
1693 
1695  iEvent.getByToken(MuRPCSimSrc_Token_, simHit);
1696  if (!simHit.isValid()) {
1697  edm::LogWarning(MsgLoggerCat) << "Unable to find RPCSimHit in event!";
1698  return;
1699  }
1700 
1702  iEvent.getByToken(MuRPCSrc_Token_, recHit);
1703  if (!simHit.isValid()) {
1704  edm::LogWarning(MsgLoggerCat) << "Unable to find RPCRecHit in event!";
1705  return;
1706  }
1707 
1708  int nRPC = 0;
1710  int nrec = 0;
1711  for (recIt = recHit->begin(); recIt != recHit->end(); ++recIt) {
1712  RPCDetId Rid = (RPCDetId)(*recIt).rpcId();
1713  const RPCRoll* roll = dynamic_cast<const RPCRoll*>(rpcGeom->roll(Rid));
1714  if (roll->isForward()) {
1715  if (verbosity > 1) {
1716  eventout += "\n Number of RPCRecHits collected:........... ";
1717  eventout += nRPC;
1718  }
1719 
1720  if (verbosity > 0)
1721  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
1722  return;
1723  }
1724  nrec = nrec + 1;
1725  LocalPoint rhitlocal = (*recIt).localPosition();
1726  double rhitlocalx = rhitlocal.x();
1727  maprec[rhitlocalx] = nrec;
1728  }
1729 
1730  int i = 0;
1731  for (std::map<double, int>::iterator iter = maprec.begin(); iter != maprec.end(); ++iter) {
1732  i = i + 1;
1733  nmaprec[i] = (*iter).first;
1734  }
1735 
1736  edm::PSimHitContainer::const_iterator simIt;
1737  int nsim = 0;
1738  for (simIt = simHit->begin(); simIt != simHit->end(); simIt++) {
1739  int ptype = (*simIt).particleType();
1740  //RPCDetId Rsid = (RPCDetId)(*simIt).detUnitId();
1741  if (ptype == 13 || ptype == -13) {
1742  nsim = nsim + 1;
1743  LocalPoint shitlocal = (*simIt).localPosition();
1744  double shitlocalx = shitlocal.x();
1745  mapsim[shitlocalx] = nsim;
1746  }
1747  }
1748 
1749  i = 0;
1750  for (std::map<double, int>::iterator iter = mapsim.begin(); iter != mapsim.end(); ++iter) {
1751  i = i + 1;
1752  nmapsim[i] = (*iter).first;
1753  }
1754 
1755  if (nsim == nrec) {
1756  for (int r = 0; r < nsim; r++) {
1757  ++nRPC;
1758  RPCRHX.push_back(nmaprec[r + 1]);
1759  RPCSHX.push_back(nmapsim[r + 1]);
1760  }
1761  }
1762 
1763  if (verbosity > 1) {
1764  eventout += "\n Number of RPCRecHits collected:........... ";
1765  eventout += nRPC;
1766  }
1767 
1768  if (verbosity > 0)
1769  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
1770 
1771  return;
1772 }
edm::EDGetTokenT< edm::PSimHitContainer > MuDTSimSrc_Token_
std::map< DTWireId, edm::PSimHitContainer > mapSimHitsPerWire(const edm::PSimHitContainer &simhits)
int compute(const DTGeometry *dtGeom, const std::map< DTWireId, std::vector< PSimHit >> &simHitsPerWire, const std::map< DTWireId, std::vector< type >> &recHitsPerWire, int step)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:525
std::map< int, edm::PSimHitContainer > theMap
C::const_iterator const_iterator
constant access iterator type
Definition: RangeMap.h:43
edm::EDGetTokenT< CrossingFrame< PSimHit > > MuCSCHits_Token_
const CSCChamberSpecs * specs() const
Definition: CSCChamber.h:39
void plotResolution(const PSimHit &simHit, const CSCRecHit2D &recHit, const CSCLayer *layer, int chamberType)
bool isValid() const
Definition: HandleBase.h:70
edm::EDGetTokenT< CSCRecHit2DCollection > MuCSCSrc_Token_
edm::EDGetTokenT< DTRecHitCollection > MuDTSrc_Token_
edm::EDGetTokenT< RPCRecHitCollection > MuRPCSrc_Token_
T const * product() const
Definition: Handle.h:69
int chamberType() const
const GeomDet * idToDetUnit(DetId) const override
Return the pointer to the GeomDetUnit corresponding to a given DetId.
Definition: CSCGeometry.cc:89
T get() const
Definition: EventSetup.h:73
std::vector< PSimHit > PSimHitContainer
bool isValid() const
Definition: ESHandle.h:44
T x() const
Definition: PV3DBase.h:59
bool isForward() const
Definition: RPCRoll.cc:43
T const * product() const
Definition: ESHandle.h:86
edm::EDGetTokenT< edm::PSimHitContainer > MuRPCSimSrc_Token_
const CSCChamber * chamber() const
Definition: CSCLayer.h:49
const RPCRoll * roll(RPCDetId id) const
Return a roll given its id.
Definition: RPCGeometry.cc:50
std::map< DTWireId, std::vector< DTRecHit1DPair > > map1DRecHitsPerWire(const DTRecHitCollection *dt1DRecHitPairs)
void GlobalRecHitsProducer::fillTrk ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
private

Definition at line 802 of file GlobalRecHitsProducer.cc.

References TrackerHitAssociator::associateHit(), edmNew::DetSet< T >::begin(), BRL1RX, BRL1RY, BRL1SX, BRL1SY, BRL2RX, BRL2RY, BRL2SX, BRL2SY, BRL3RX, BRL3RY, BRL3SX, BRL3SY, TrackerGeometry::dets(), edmNew::DetSet< T >::end(), edmNew::DetSetVector< T >::end(), edmNew::DetSetVector< T >::find(), FWD1nRX, FWD1nRY, FWD1nSX, FWD1nSY, FWD1pRX, FWD1pRY, FWD1pSX, FWD1pSY, FWD2nRX, FWD2nRY, FWD2nSX, FWD2nSY, FWD2pRX, FWD2pRY, FWD2pSX, FWD2pSY, TrackingRecHit::geographicalId(), relativeConstraints::geom, edm::EventSetup::get(), edm::Event::getByToken(), TrackerGeometry::idToDet(), edm::ESHandleBase::isValid(), edm::HandleBase::isValid(), BaseTrackerRecHit::localPosition(), visualization-live-secondInstance_cfg::m, matched, position, edm::ESHandle< T >::product(), projectHit(), TrackerTopology::pxbLayer(), TrackerTopology::pxfDisk(), TrackerTopology::pxfSide(), sdPxlBrl, sdPxlFwd, sdSiTEC, sdSiTIB, sdSiTID, sdSiTOB, SiPxlSrc_Token_, SiStripSrc_Token_, mathSSE::sqrt(), GluedGeomDet::stereoDet(), AlCaHLTBitMon_QueryRunRegistry::string, DetId::subdetId(), GeomDet::surface(), TECW1RX, TECW1RY, TECW1SX, TECW1SY, TECW2RX, TECW2RY, TECW2SX, TECW2SY, TECW3RX, TECW3RY, TECW3SX, TECW3SY, TECW4RX, TECW4RY, TECW4SX, TECW4SY, TECW5RX, TECW5RY, TECW5SX, TECW5SY, TECW6RX, TECW6RY, TECW6SX, TECW6SY, TECW7RX, TECW7RY, TECW7SX, TECW7SY, TECW8RX, TECW8RY, TECW8SX, TECW8SY, TrackerTopology::tecWheel(), TIBL1RX, TIBL1RY, TIBL1SX, TIBL1SY, TIBL2RX, TIBL2RY, TIBL2SX, TIBL2SY, TIBL3RX, TIBL3RY, TIBL3SX, TIBL3SY, TIBL4RX, TIBL4RY, TIBL4SX, TIBL4SY, TrackerTopology::tibLayer(), TIDW1RX, TIDW1RY, TIDW1SX, TIDW1SY, TIDW2RX, TIDW2RY, TIDW2SX, TIDW2SY, TIDW3RX, TIDW3RY, TIDW3SX, TIDW3SY, TrackerTopology::tidWheel(), TOBL1RX, TOBL1RY, TOBL1SX, TOBL1SY, TOBL2RX, TOBL2RY, TOBL2SX, TOBL2SY, TOBL3RX, TOBL3RY, TOBL3SX, TOBL3SY, TOBL4RX, TOBL4RY, TOBL4SX, TOBL4SY, TrackerTopology::tobLayer(), PbPb_ZMuSkimMuonDPG_cff::tracker, trackerHitAssociatorConfig_, verbosity, PV3DBase< T, PVType, FrameType >::x(), and PV3DBase< T, PVType, FrameType >::y().

Referenced by produce().

802  {
803  //Retrieve tracker topology from geometry
804  edm::ESHandle<TrackerTopology> tTopoHandle;
805  iSetup.get<TrackerTopologyRcd>().get(tTopoHandle);
806  const TrackerTopology* const tTopo = tTopoHandle.product();
807 
808  std::string MsgLoggerCat = "GlobalRecHitsProducer_fillTrk";
809 
810  TString eventout;
811  if (verbosity > 0)
812  eventout = "\nGathering info:";
813 
814  // get strip information
816  iEvent.getByToken(SiStripSrc_Token_, rechitsmatched);
817  if (!rechitsmatched.isValid()) {
818  edm::LogWarning(MsgLoggerCat) << "Unable to find stripmatchedrechits in event!";
819  return;
820  }
821 
823 
825  iSetup.get<TrackerDigiGeometryRecord>().get(pDD);
826  if (!pDD.isValid()) {
827  edm::LogWarning(MsgLoggerCat) << "Unable to find TrackerDigiGeometry in event!";
828  return;
829  }
830  const TrackerGeometry& tracker(*pDD);
831 
832  int nStripBrl = 0, nStripFwd = 0;
833 
834  // loop over det units
835  for (TrackerGeometry::DetContainer::const_iterator it = pDD->dets().begin(); it != pDD->dets().end(); ++it) {
836  uint32_t myid = ((*it)->geographicalId()).rawId();
837  DetId detid = ((*it)->geographicalId());
838 
839  //loop over rechits-matched in the same subdetector
840  SiStripMatchedRecHit2DCollection::const_iterator rechitmatchedMatch = rechitsmatched->find(detid);
841 
842  if (rechitmatchedMatch != rechitsmatched->end()) {
843  SiStripMatchedRecHit2DCollection::DetSet rechitmatchedRange = *rechitmatchedMatch;
844  SiStripMatchedRecHit2DCollection::DetSet::const_iterator rechitmatchedRangeIteratorBegin =
845  rechitmatchedRange.begin();
846  SiStripMatchedRecHit2DCollection::DetSet::const_iterator rechitmatchedRangeIteratorEnd = rechitmatchedRange.end();
847  SiStripMatchedRecHit2DCollection::DetSet::const_iterator itermatched = rechitmatchedRangeIteratorBegin;
848 
849  for (itermatched = rechitmatchedRangeIteratorBegin; itermatched != rechitmatchedRangeIteratorEnd; ++itermatched) {
850  SiStripMatchedRecHit2D const rechit = *itermatched;
851  LocalPoint position = rechit.localPosition();
852 
853  float mindist = 999999.;
854  float distx = 999999.;
855  float disty = 999999.;
856  float dist = 999999.;
857  std::pair<LocalPoint, LocalVector> closestPair;
858  matched.clear();
859 
860  float rechitmatchedx = position.x();
861  float rechitmatchedy = position.y();
862 
863  matched = associate.associateHit(rechit);
864 
865  if (!matched.empty()) {
866  //project simhit;
867  const GluedGeomDet* gluedDet = (const GluedGeomDet*)tracker.idToDet(rechit.geographicalId());
868  const StripGeomDetUnit* partnerstripdet = (StripGeomDetUnit*)gluedDet->stereoDet();
869  std::pair<LocalPoint, LocalVector> hitPair;
870 
871  for (std::vector<PSimHit>::const_iterator m = matched.begin(); m != matched.end(); m++) {
872  //project simhit;
873  hitPair = projectHit((*m), partnerstripdet, gluedDet->surface());
874  distx = fabs(rechitmatchedx - hitPair.first.x());
875  disty = fabs(rechitmatchedy - hitPair.first.y());
876  dist = sqrt(distx * distx + disty * disty);
877 
878  if (dist < mindist) {
879  mindist = dist;
880  closestPair = hitPair;
881  }
882  }
883 
884  // get TIB
885  if (detid.subdetId() == sdSiTIB) {
886  ++nStripBrl;
887 
888  if (tTopo->tibLayer(myid) == 1) {
889  TIBL1RX.push_back(rechitmatchedx);
890  TIBL1RY.push_back(rechitmatchedy);
891  TIBL1SX.push_back(closestPair.first.x());
892  TIBL1SY.push_back(closestPair.first.y());
893  }
894  if (tTopo->tibLayer(myid) == 2) {
895  TIBL2RX.push_back(rechitmatchedx);
896  TIBL2RY.push_back(rechitmatchedy);
897  TIBL2SX.push_back(closestPair.first.x());
898  TIBL2SY.push_back(closestPair.first.y());
899  }
900  if (tTopo->tibLayer(myid) == 3) {
901  TIBL3RX.push_back(rechitmatchedx);
902  TIBL3RY.push_back(rechitmatchedy);
903  TIBL3SX.push_back(closestPair.first.x());
904  TIBL3SY.push_back(closestPair.first.y());
905  }
906  if (tTopo->tibLayer(myid) == 4) {
907  TIBL4RX.push_back(rechitmatchedx);
908  TIBL4RY.push_back(rechitmatchedy);
909  TIBL4SX.push_back(closestPair.first.x());
910  TIBL4SY.push_back(closestPair.first.y());
911  }
912  }
913 
914  // get TOB
915  if (detid.subdetId() == sdSiTOB) {
916  ++nStripBrl;
917 
918  if (tTopo->tobLayer(myid) == 1) {
919  TOBL1RX.push_back(rechitmatchedx);
920  TOBL1RY.push_back(rechitmatchedy);
921  TOBL1SX.push_back(closestPair.first.x());
922  TOBL1SY.push_back(closestPair.first.y());
923  }
924  if (tTopo->tobLayer(myid) == 2) {
925  TOBL2RX.push_back(rechitmatchedx);
926  TOBL2RY.push_back(rechitmatchedy);
927  TOBL2SX.push_back(closestPair.first.x());
928  TOBL2SY.push_back(closestPair.first.y());
929  }
930  if (tTopo->tobLayer(myid) == 3) {
931  TOBL3RX.push_back(rechitmatchedx);
932  TOBL3RY.push_back(rechitmatchedy);
933  TOBL3SX.push_back(closestPair.first.x());
934  TOBL3SY.push_back(closestPair.first.y());
935  }
936  if (tTopo->tobLayer(myid) == 4) {
937  TOBL4RX.push_back(rechitmatchedx);
938  TOBL4RY.push_back(rechitmatchedy);
939  TOBL4SX.push_back(closestPair.first.x());
940  TOBL4SY.push_back(closestPair.first.y());
941  }
942  }
943 
944  // get TID
945  if (detid.subdetId() == sdSiTID) {
946  ++nStripFwd;
947 
948  if (tTopo->tidWheel(myid) == 1) {
949  TIDW1RX.push_back(rechitmatchedx);
950  TIDW1RY.push_back(rechitmatchedy);
951  TIDW1SX.push_back(closestPair.first.x());
952  TIDW1SY.push_back(closestPair.first.y());
953  }
954  if (tTopo->tidWheel(myid) == 2) {
955  TIDW2RX.push_back(rechitmatchedx);
956  TIDW2RY.push_back(rechitmatchedy);
957  TIDW2SX.push_back(closestPair.first.x());
958  TIDW2SY.push_back(closestPair.first.y());
959  }
960  if (tTopo->tidWheel(myid) == 3) {
961  TIDW3RX.push_back(rechitmatchedx);
962  TIDW3RY.push_back(rechitmatchedy);
963  TIDW3SX.push_back(closestPair.first.x());
964  TIDW3SY.push_back(closestPair.first.y());
965  }
966  }
967 
968  // get TEC
969  if (detid.subdetId() == sdSiTEC) {
970  ++nStripFwd;
971 
972  if (tTopo->tecWheel(myid) == 1) {
973  TECW1RX.push_back(rechitmatchedx);
974  TECW1RY.push_back(rechitmatchedy);
975  TECW1SX.push_back(closestPair.first.x());
976  TECW1SY.push_back(closestPair.first.y());
977  }
978  if (tTopo->tecWheel(myid) == 2) {
979  TECW2RX.push_back(rechitmatchedx);
980  TECW2RY.push_back(rechitmatchedy);
981  TECW2SX.push_back(closestPair.first.x());
982  TECW2SY.push_back(closestPair.first.y());
983  }
984  if (tTopo->tecWheel(myid) == 3) {
985  TECW3RX.push_back(rechitmatchedx);
986  TECW3RY.push_back(rechitmatchedy);
987  TECW3SX.push_back(closestPair.first.x());
988  TECW3SY.push_back(closestPair.first.y());
989  }
990  if (tTopo->tecWheel(myid) == 4) {
991  TECW4RX.push_back(rechitmatchedx);
992  TECW4RY.push_back(rechitmatchedy);
993  TECW4SX.push_back(closestPair.first.x());
994  TECW4SY.push_back(closestPair.first.y());
995  }
996  if (tTopo->tecWheel(myid) == 5) {
997  TECW5RX.push_back(rechitmatchedx);
998  TECW5RY.push_back(rechitmatchedy);
999  TECW5SX.push_back(closestPair.first.x());
1000  TECW5SY.push_back(closestPair.first.y());
1001  }
1002  if (tTopo->tecWheel(myid) == 6) {
1003  TECW6RX.push_back(rechitmatchedx);
1004  TECW6RY.push_back(rechitmatchedy);
1005  TECW6SX.push_back(closestPair.first.x());
1006  TECW6SY.push_back(closestPair.first.y());
1007  }
1008  if (tTopo->tecWheel(myid) == 7) {
1009  TECW7RX.push_back(rechitmatchedx);
1010  TECW7RY.push_back(rechitmatchedy);
1011  TECW7SX.push_back(closestPair.first.x());
1012  TECW7SY.push_back(closestPair.first.y());
1013  }
1014  if (tTopo->tecWheel(myid) == 8) {
1015  TECW8RX.push_back(rechitmatchedx);
1016  TECW8RY.push_back(rechitmatchedy);
1017  TECW8SX.push_back(closestPair.first.x());
1018  TECW8SY.push_back(closestPair.first.y());
1019  }
1020  }
1021 
1022  } // end if matched empty
1023  }
1024  }
1025  } // end loop over det units
1026 
1027  if (verbosity > 1) {
1028  eventout += "\n Number of BrlStripRecHits collected:...... ";
1029  eventout += nStripBrl;
1030  }
1031 
1032  if (verbosity > 1) {
1033  eventout += "\n Number of FrwdStripRecHits collected:..... ";
1034  eventout += nStripFwd;
1035  }
1036 
1037  // get pixel information
1038  //Get RecHits
1040  iEvent.getByToken(SiPxlSrc_Token_, recHitColl);
1041  if (!recHitColl.isValid()) {
1042  edm::LogWarning(MsgLoggerCat) << "Unable to find SiPixelRecHitCollection in event!";
1043  return;
1044  }
1045 
1046  //Get event setup
1048  iSetup.get<TrackerDigiGeometryRecord>().get(geom);
1049  if (!geom.isValid()) {
1050  edm::LogWarning(MsgLoggerCat) << "Unable to find TrackerDigiGeometry in event!";
1051  return;
1052  }
1053  //const TrackerGeometry& theTracker(*geom);
1054 
1055  int nPxlBrl = 0, nPxlFwd = 0;
1056  //iterate over detunits
1057  for (TrackerGeometry::DetContainer::const_iterator it = geom->dets().begin(); it != geom->dets().end(); ++it) {
1058  uint32_t myid = ((*it)->geographicalId()).rawId();
1059  DetId detId = ((*it)->geographicalId());
1060  int subid = detId.subdetId();
1061 
1062  if (!((subid == sdPxlBrl) || (subid == sdPxlFwd)))
1063  continue;
1064 
1065  //const PixelGeomDetUnit * theGeomDet =
1066  // dynamic_cast<const PixelGeomDetUnit*>(theTracker.idToDet(detId) );
1067 
1068  SiPixelRecHitCollection::const_iterator pixeldet = recHitColl->find(detId);
1069  if (pixeldet == recHitColl->end())
1070  continue;
1071  SiPixelRecHitCollection::DetSet pixelrechitRange = *pixeldet;
1072  SiPixelRecHitCollection::DetSet::const_iterator pixelrechitRangeIteratorBegin = pixelrechitRange.begin();
1073  SiPixelRecHitCollection::DetSet::const_iterator pixelrechitRangeIteratorEnd = pixelrechitRange.end();
1074  SiPixelRecHitCollection::DetSet::const_iterator pixeliter = pixelrechitRangeIteratorBegin;
1075  std::vector<PSimHit> matched;
1076 
1077  //----Loop over rechits for this detId
1078  for (; pixeliter != pixelrechitRangeIteratorEnd; ++pixeliter) {
1079  matched.clear();
1080  matched = associate.associateHit(*pixeliter);
1081 
1082  if (!matched.empty()) {
1083  float closest = 9999.9;
1084  //std::vector<PSimHit>::const_iterator closestit = matched.begin();
1085  LocalPoint lp = pixeliter->localPosition();
1086  float rechit_x = lp.x();
1087  float rechit_y = lp.y();
1088 
1089  float sim_x = 0.;
1090  float sim_y = 0.;
1091 
1092  //loop over sim hits and fill closet
1093  for (std::vector<PSimHit>::const_iterator m = matched.begin(); m != matched.end(); ++m) {
1094  float sim_x1 = (*m).entryPoint().x();
1095  float sim_x2 = (*m).exitPoint().x();
1096  float sim_xpos = 0.5 * (sim_x1 + sim_x2);
1097 
1098  float sim_y1 = (*m).entryPoint().y();
1099  float sim_y2 = (*m).exitPoint().y();
1100  float sim_ypos = 0.5 * (sim_y1 + sim_y2);
1101 
1102  float x_res = fabs(sim_xpos - rechit_x);
1103  float y_res = fabs(sim_ypos - rechit_y);
1104 
1105  float dist = sqrt(x_res * x_res + y_res * y_res);
1106 
1107  if (dist < closest) {
1108  closest = dist;
1109  sim_x = sim_xpos;
1110  sim_y = sim_ypos;
1111  }
1112  } // end sim hit loop
1113 
1114  // get Barrel pixels
1115  if (subid == sdPxlBrl) {
1116  ++nPxlBrl;
1117 
1118  if (tTopo->pxbLayer(myid) == 1) {
1119  BRL1RX.push_back(rechit_x);
1120  BRL1RY.push_back(rechit_y);
1121  BRL1SX.push_back(sim_x);
1122  BRL1SY.push_back(sim_y);
1123  }
1124  if (tTopo->pxbLayer(myid) == 2) {
1125  BRL2RX.push_back(rechit_x);
1126  BRL2RY.push_back(rechit_y);
1127  BRL2SX.push_back(sim_x);
1128  BRL2SY.push_back(sim_y);
1129  }
1130  if (tTopo->pxbLayer(myid) == 3) {
1131  BRL3RX.push_back(rechit_x);
1132  BRL3RY.push_back(rechit_y);
1133  BRL3SX.push_back(sim_x);
1134  BRL3SY.push_back(sim_y);
1135  }
1136  }
1137 
1138  // get Forward pixels
1139  if (subid == sdPxlFwd) {
1140  ++nPxlFwd;
1141 
1142  if (tTopo->pxfDisk(myid) == 1) {
1143  if (tTopo->pxfSide(myid) == 1) {
1144  FWD1nRX.push_back(rechit_x);
1145  FWD1nRY.push_back(rechit_y);
1146  FWD1nSX.push_back(sim_x);
1147  FWD1nSY.push_back(sim_y);
1148  }
1149  if (tTopo->pxfSide(myid) == 2) {
1150  FWD1pRX.push_back(rechit_x);
1151  FWD1pRY.push_back(rechit_y);
1152  FWD1pSX.push_back(sim_x);
1153  FWD1pSY.push_back(sim_y);
1154  }
1155  }
1156  if (tTopo->pxfDisk(myid) == 2) {
1157  if (tTopo->pxfSide(myid) == 1) {
1158  FWD2nRX.push_back(rechit_x);
1159  FWD2nRY.push_back(rechit_y);
1160  FWD2nSX.push_back(sim_x);
1161  FWD2nSY.push_back(sim_y);
1162  }
1163  if (tTopo->pxfSide(myid) == 2) {
1164  FWD2pRX.push_back(rechit_x);
1165  FWD2pRY.push_back(rechit_y);
1166  FWD2pSX.push_back(sim_x);
1167  FWD2pSY.push_back(sim_y);
1168  }
1169  }
1170  }
1171  } // end matched emtpy
1172  } // <-----end rechit loop
1173  } // <------ end detunit loop
1174 
1175  if (verbosity > 1) {
1176  eventout += "\n Number of BrlPixelRecHits collected:...... ";
1177  eventout += nPxlBrl;
1178  }
1179 
1180  if (verbosity > 1) {
1181  eventout += "\n Number of FrwdPixelRecHits collected:..... ";
1182  eventout += nPxlFwd;
1183  }
1184 
1185  if (verbosity > 0)
1186  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
1187 
1188  return;
1189 }
const_iterator end(bool update=false) const
TrackerHitAssociator::Config trackerHitAssociatorConfig_
unsigned int tibLayer(const DetId &id) const
std::pair< LocalPoint, LocalVector > projectHit(const PSimHit &hit, const StripGeomDetUnit *stripDet, const BoundPlane &plane)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:525
std::vector< PSimHit > matched
unsigned int pxfDisk(const DetId &id) const
static const int sdSiTID
T y() const
Definition: PV3DBase.h:60
unsigned int tidWheel(const DetId &id) const
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
const DetContainer & dets() const override
Returm a vector of all GeomDet (including all GeomDetUnits)
static const int sdSiTIB
static const int sdPxlBrl
edm::EDGetTokenT< SiStripMatchedRecHit2DCollection > SiStripSrc_Token_
T sqrt(T t)
Definition: SSEVec.h:19
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:48
static const int sdSiTOB
bool isValid() const
Definition: HandleBase.h:70
unsigned int pxbLayer(const DetId &id) const
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
Definition: DetId.h:17
const_iterator find(id_type i, bool update=false) const
static const int sdSiTEC
iterator end()
Definition: DetSetNew.h:56
edm::EDGetTokenT< SiPixelRecHitCollection > SiPxlSrc_Token_
static int position[264][3]
Definition: ReadPGInfo.cc:289
T get() const
Definition: EventSetup.h:73
unsigned int pxfSide(const DetId &id) const
LocalPoint localPosition() const final
static const int sdPxlFwd
DetId geographicalId() const
bool isValid() const
Definition: ESHandle.h:44
T x() const
Definition: PV3DBase.h:59
unsigned int tecWheel(const DetId &id) const
T const * product() const
Definition: ESHandle.h:86
const GeomDetUnit * stereoDet() const
Definition: GluedGeomDet.h:20
unsigned int tobLayer(const DetId &id) const
iterator begin()
Definition: DetSetNew.h:54
template<typename type >
const type * GlobalRecHitsProducer::findBestRecHit ( const DTLayer layer,
DTWireId  wireId,
const std::vector< type > &  recHits,
const float  simHitDist 
)
private

Definition at line 2035 of file GlobalRecHitsProducer.cc.

References rpcPointValidation_cfi::recHit, and recHitDistFromWire().

Referenced by compute().

2038  {
2039  float res = 99999;
2040  const type* theBestRecHit = nullptr;
2041  // Loop over RecHits within the cell
2042  for (typename std::vector<type>::const_iterator recHit = recHits.begin(); recHit != recHits.end(); recHit++) {
2043  float distTmp = recHitDistFromWire(*recHit, layer);
2044  if (fabs(distTmp - simHitDist) < res) {
2045  res = fabs(distTmp - simHitDist);
2046  theBestRecHit = &(*recHit);
2047  }
2048  } // End of loop over RecHits within the cell
2049 
2050  return theBestRecHit;
2051 }
type
Definition: HCALResponse.h:21
float recHitDistFromWire(const DTRecHit1DPair &hitPair, const DTLayer *layer)
Definition: Electron.h:6
std::map< DTWireId, std::vector< DTRecHit1DPair > > GlobalRecHitsProducer::map1DRecHitsPerWire ( const DTRecHitCollection dt1DRecHitPairs)
private

Definition at line 2009 of file GlobalRecHitsProducer.cc.

References runTheMatrix::ret.

Referenced by fillMuon().

2010  {
2011  std::map<DTWireId, std::vector<DTRecHit1DPair>> ret;
2012 
2013  for (DTRecHitCollection::const_iterator rechit = dt1DRecHitPairs->begin(); rechit != dt1DRecHitPairs->end();
2014  rechit++) {
2015  ret[(*rechit).wireId()].push_back(*rechit);
2016  }
2017 
2018  return ret;
2019 }
ret
prodAgent to be discontinued
C::const_iterator const_iterator
constant access iterator type
Definition: RangeMap.h:43
void GlobalRecHitsProducer::plotResolution ( const PSimHit simHit,
const CSCRecHit2D recHit,
const CSCLayer layer,
int  chamberType 
)
private

Definition at line 2119 of file GlobalRecHitsProducer.cc.

References CSCRHPERP, CSCRHPHI, CSCSHPHI, PSimHit::localPosition(), CSCRecHit2D::localPosition(), PV3DBase< T, PVType, FrameType >::perp(), PV3DBase< T, PVType, FrameType >::phi(), and GeomDet::toGlobal().

Referenced by fillMuon().

2122  {
2123  GlobalPoint simHitPos = layer->toGlobal(simHit.localPosition());
2124  GlobalPoint recHitPos = layer->toGlobal(recHit.localPosition());
2125 
2126  CSCRHPHI.push_back(recHitPos.phi());
2127  CSCRHPERP.push_back(recHitPos.perp());
2128  CSCSHPHI.push_back(simHitPos.phi());
2129 }
T perp() const
Definition: PV3DBase.h:69
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
Definition: GeomDet.h:49
Geom::Phi< T > phi() const
Definition: PV3DBase.h:66
LocalPoint localPosition() const override
Definition: CSCRecHit2D.h:56
Local3DPoint localPosition() const
Definition: PSimHit.h:52
void GlobalRecHitsProducer::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
override

Definition at line 132 of file GlobalRecHitsProducer.cc.

References clear(), count, edm::EventID::event(), fillECal(), fillHCal(), fillMuon(), fillTrk(), frequency, getAllProvenances, edm::Event::getAllStableProvenance(), mps_fire::i, edm::EventBase::id(), label, eostools::move(), nevt, printProvenanceInfo, edm::Event::put(), edm::EventID::run(), storeECal(), storeHCal(), storeMuon(), storeTrk(), AlCaHLTBitMon_QueryRunRegistry::string, and verbosity.

132  {
133  std::string MsgLoggerCat = "GlobalRecHitsProducer_produce";
134 
135  // keep track of number of events processed
136  ++count;
137 
138  // get event id information
139  edm::RunNumber_t nrun = iEvent.id().run();
140  edm::EventNumber_t nevt = iEvent.id().event();
141 
142  if (verbosity > 0) {
143  edm::LogInfo(MsgLoggerCat) << "Processing run " << nrun << ", event " << nevt << " (" << count << " events total)";
144  } else if (verbosity == 0) {
145  if (nevt % frequency == 0 || nevt == 1) {
146  edm::LogInfo(MsgLoggerCat) << "Processing run " << nrun << ", event " << nevt << " (" << count
147  << " events total)";
148  }
149  }
150 
151  // clear event holders
152  clear();
153 
154  // look at information available in the event
155  if (getAllProvenances) {
156  std::vector<const edm::StableProvenance*> AllProv;
157  iEvent.getAllStableProvenance(AllProv);
158 
159  if (verbosity >= 0)
160  edm::LogInfo(MsgLoggerCat) << "Number of Provenances = " << AllProv.size();
161 
162  if (printProvenanceInfo && (verbosity >= 0)) {
163  TString eventout("\nProvenance info:\n");
164 
165  for (unsigned int i = 0; i < AllProv.size(); ++i) {
166  eventout += "\n ******************************";
167  eventout += "\n Module : ";
168  //eventout += (AllProv[i]->product).moduleLabel();
169  eventout += AllProv[i]->moduleLabel();
170  eventout += "\n ProductID : ";
171  //eventout += (AllProv[i]->product).productID_.id_;
172  eventout += AllProv[i]->productID().id();
173  eventout += "\n ClassName : ";
174  //eventout += (AllProv[i]->product).fullClassName_;
175  eventout += AllProv[i]->className();
176  eventout += "\n InstanceName : ";
177  //eventout += (AllProv[i]->product).productInstanceName_;
178  eventout += AllProv[i]->productInstanceName();
179  eventout += "\n BranchName : ";
180  //eventout += (AllProv[i]->product).branchName_;
181  eventout += AllProv[i]->branchName();
182  }
183  eventout += "\n ******************************\n";
184  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
185  printProvenanceInfo = false;
186  }
187  getAllProvenances = false;
188  }
189 
190  // call fill functions
191  // gather Ecal information from event
192  fillECal(iEvent, iSetup);
193  // gather Hcal information from event
194  fillHCal(iEvent, iSetup);
195  // gather Track information from event
196  fillTrk(iEvent, iSetup);
197  // gather Muon information from event
198  fillMuon(iEvent, iSetup);
199 
200  if (verbosity > 0)
201  edm::LogInfo(MsgLoggerCat) << "Done gathering data from event.";
202 
203  // produce object to put into event
204  std::unique_ptr<PGlobalRecHit> pOut(new PGlobalRecHit);
205 
206  if (verbosity > 2)
207  edm::LogInfo(MsgLoggerCat) << "Saving event contents:";
208 
209  // call store functions
210  // store ECal information in produce
211  storeECal(*pOut);
212  // store HCal information in produce
213  storeHCal(*pOut);
214  // store Track information in produce
215  storeTrk(*pOut);
216  // store Muon information in produce
217  storeMuon(*pOut);
218 
219  // store information in event
220  iEvent.put(std::move(pOut), label);
221 
222  return;
223 }
RunNumber_t run() const
Definition: EventID.h:38
EventNumber_t event() const
Definition: EventID.h:40
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
Definition: Event.h:131
void fillHCal(edm::Event &, const edm::EventSetup &)
unsigned long long EventNumber_t
void storeMuon(PGlobalRecHit &)
void storeECal(PGlobalRecHit &)
void storeTrk(PGlobalRecHit &)
void fillMuon(edm::Event &, const edm::EventSetup &)
void storeHCal(PGlobalRecHit &)
edm::EventID id() const
Definition: EventBase.h:59
unsigned int RunNumber_t
void fillTrk(edm::Event &, const edm::EventSetup &)
void fillECal(edm::Event &, const edm::EventSetup &)
def move(src, dest)
Definition: eostools.py:511
void getAllStableProvenance(std::vector< StableProvenance const * > &provenances) const
Definition: Event.cc:126
std::pair< LocalPoint, LocalVector > GlobalRecHitsProducer::projectHit ( const PSimHit hit,
const StripGeomDetUnit stripDet,
const BoundPlane plane 
)
private

Definition at line 1982 of file GlobalRecHitsProducer.cc.

References funct::cos(), DeadROC_duringRun::dir, PSimHit::localDirection(), PSimHit::localPosition(), Scenarios_cff::scale, funct::sin(), StripGeomDetUnit::specificTopology(), StripTopology::strip(), StripTopology::stripAngle(), GeomDet::surface(), Surface::toGlobal(), and PV3DBase< T, PVType, FrameType >::z().

Referenced by fillTrk().

1984  {
1985  const StripTopology& topol = stripDet->specificTopology();
1986  GlobalPoint globalpos = stripDet->surface().toGlobal(hit.localPosition());
1987  LocalPoint localHit = plane.toLocal(globalpos);
1988  //track direction
1989  LocalVector locdir = hit.localDirection();
1990  //rotate track in new frame
1991 
1992  GlobalVector globaldir = stripDet->surface().toGlobal(locdir);
1993  LocalVector dir = plane.toLocal(globaldir);
1994  float scale = -localHit.z() / dir.z();
1995 
1996  LocalPoint projectedPos = localHit + scale * dir;
1997 
1998  float selfAngle = topol.stripAngle(topol.strip(hit.localPosition()));
1999 
2000  // vector along strip in hit frame
2001  LocalVector stripDir(sin(selfAngle), cos(selfAngle), 0);
2002 
2003  LocalVector localStripDir(plane.toLocal(stripDet->surface().toGlobal(stripDir)));
2004 
2005  return std::pair<LocalPoint, LocalVector>(projectedPos, localStripDir);
2006 }
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Definition: Surface.h:81
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
virtual float strip(const LocalPoint &) const =0
virtual const StripTopology & specificTopology() const
Returns a reference to the strip proxy topology.
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
Local3DPoint localPosition() const
Definition: PSimHit.h:52
virtual float stripAngle(float strip) const =0
T z() const
Definition: PV3DBase.h:61
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
LocalVector localDirection() const
Obsolete. Same as momentumAtEntry().unit(), for backward compatibility.
Definition: PSimHit.h:58
float GlobalRecHitsProducer::recHitDistFromWire ( const DTRecHit1DPair hitPair,
const DTLayer layer 
)
private

Definition at line 2054 of file GlobalRecHitsProducer.cc.

References DTEnums::Left, DTRecHit1DPair::localPosition(), DTEnums::Right, and PV3DBase< T, PVType, FrameType >::x().

Referenced by compute(), and findBestRecHit().

2054  {
2055  // Compute the rechit distance from wire
2056  return fabs(hitPair.localPosition(DTEnums::Left).x() - hitPair.localPosition(DTEnums::Right).x()) / 2.;
2057 }
LocalPoint localPosition() const override
T x() const
Definition: PV3DBase.h:59
float GlobalRecHitsProducer::recHitDistFromWire ( const DTRecHit1D recHit,
const DTLayer layer 
)
private

Definition at line 2060 of file GlobalRecHitsProducer.cc.

References DTRecHit1D::localPosition(), DTLayer::specificTopology(), DTWireId::wire(), DTRecHit1D::wireId(), DTTopology::wirePosition(), and PV3DBase< T, PVType, FrameType >::x().

2060  {
2061  return fabs(recHit.localPosition().x() - layer->specificTopology().wirePosition(recHit.wireId().wire()));
2062 }
LocalPoint localPosition() const override
Return the 3-dimensional local position.
Definition: DTRecHit1D.h:47
float wirePosition(int wireNumber) const
Returns the x position in the layer of a given wire number.
Definition: DTTopology.cc:59
const DTTopology & specificTopology() const
Definition: DTLayer.cc:37
int wire() const
Return the wire number.
Definition: DTWireId.h:42
T x() const
Definition: PV3DBase.h:59
DTWireId wireId() const
Return the wireId.
Definition: DTRecHit1D.h:76
float GlobalRecHitsProducer::simHitDistFromWire ( const DTLayer layer,
DTWireId  wireId,
const PSimHit hit 
)
private

Definition at line 2022 of file GlobalRecHitsProducer.cc.

References PSimHit::entryPoint(), PSimHit::exitPoint(), DTLayer::specificTopology(), DTWireId::wire(), DTTopology::wirePosition(), PV3DBase< T, PVType, FrameType >::x(), and PV3DBase< T, PVType, FrameType >::z().

Referenced by compute().

2022  {
2023  float xwire = layer->specificTopology().wirePosition(wireId.wire());
2024  LocalPoint entryP = hit.entryPoint();
2025  LocalPoint exitP = hit.exitPoint();
2026  float xEntry = entryP.x() - xwire;
2027  float xExit = exitP.x() - xwire;
2028 
2029  //FIXME: check...
2030  return fabs(xEntry - (entryP.z() * (xExit - xEntry)) / (exitP.z() - entryP.z()));
2031 }
float wirePosition(int wireNumber) const
Returns the x position in the layer of a given wire number.
Definition: DTTopology.cc:59
const DTTopology & specificTopology() const
Definition: DTLayer.cc:37
Local3DPoint exitPoint() const
Exit point in the local Det frame.
Definition: PSimHit.h:46
T z() const
Definition: PV3DBase.h:61
int wire() const
Return the wire number.
Definition: DTWireId.h:42
T x() const
Definition: PV3DBase.h:59
Local3DPoint entryPoint() const
Entry point in the local Det frame.
Definition: PSimHit.h:43
void GlobalRecHitsProducer::storeECal ( PGlobalRecHit product)
private

Definition at line 416 of file GlobalRecHitsProducer.cc.

References EBRE, EBSHE, EERE, EESHE, ESRE, ESSHE, mps_fire::i, PGlobalRecHit::putEBCalRecHits(), PGlobalRecHit::putEECalRecHits(), PGlobalRecHit::putESCalRecHits(), AlCaHLTBitMon_QueryRunRegistry::string, and verbosity.

Referenced by produce().

416  {
417  std::string MsgLoggerCat = "GlobalRecHitsProducer_storeECal";
418 
419  if (verbosity > 2) {
420  TString eventout("\n nEBRecHits = ");
421  eventout += EBRE.size();
422  for (unsigned int i = 0; i < EBRE.size(); ++i) {
423  eventout += "\n (RE, SHE) = (";
424  eventout += EBRE[i];
425  eventout += ", ";
426  eventout += EBSHE[i];
427  eventout += ")";
428  }
429  eventout += "\n nEERecHits = ";
430  eventout += EERE.size();
431  for (unsigned int i = 0; i < EERE.size(); ++i) {
432  eventout += "\n (RE, SHE) = (";
433  eventout += EERE[i];
434  eventout += ", ";
435  eventout += EESHE[i];
436  eventout += ")";
437  }
438  eventout += "\n nESRecHits = ";
439  eventout += ESRE.size();
440  for (unsigned int i = 0; i < ESRE.size(); ++i) {
441  eventout += "\n (RE, SHE) = (";
442  eventout += ESRE[i];
443  eventout += ", ";
444  eventout += ESSHE[i];
445  eventout += ")";
446  }
447  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
448  }
449 
450  product.putEBCalRecHits(EBRE, EBSHE);
451  product.putEECalRecHits(EERE, EESHE);
452  product.putESCalRecHits(ESRE, ESSHE);
453 
454  return;
455 }
void putEECalRecHits(const std::vector< float > &re, const std::vector< float > &she)
void putEBCalRecHits(const std::vector< float > &re, const std::vector< float > &she)
void putESCalRecHits(const std::vector< float > &re, const std::vector< float > &she)
void GlobalRecHitsProducer::storeHCal ( PGlobalRecHit product)
private

Definition at line 742 of file GlobalRecHitsProducer.cc.

References HBCalR, HBCalREC, HBCalSHE, HECalR, HECalREC, HECalSHE, HFCalR, HFCalREC, HFCalSHE, HOCalR, HOCalREC, HOCalSHE, mps_fire::i, PGlobalRecHit::putHBCalRecHits(), PGlobalRecHit::putHECalRecHits(), PGlobalRecHit::putHFCalRecHits(), PGlobalRecHit::putHOCalRecHits(), AlCaHLTBitMon_QueryRunRegistry::string, and verbosity.

Referenced by produce().

742  {
743  std::string MsgLoggerCat = "GlobalRecHitsProducer_storeHCal";
744 
745  if (verbosity > 2) {
746  TString eventout("\n nHBRecHits = ");
747  eventout += HBCalREC.size();
748  for (unsigned int i = 0; i < HBCalREC.size(); ++i) {
749  eventout += "\n (REC, R, SHE) = (";
750  eventout += HBCalREC[i];
751  eventout += ", ";
752  eventout += HBCalR[i];
753  eventout += ", ";
754  eventout += HBCalSHE[i];
755  eventout += ")";
756  }
757  eventout += "\n nHERecHits = ";
758  eventout += HECalREC.size();
759  for (unsigned int i = 0; i < HECalREC.size(); ++i) {
760  eventout += "\n (REC, R, SHE) = (";
761  eventout += HECalREC[i];
762  eventout += ", ";
763  eventout += HECalR[i];
764  eventout += ", ";
765  eventout += HECalSHE[i];
766  eventout += ")";
767  }
768  eventout += "\n nHFRecHits = ";
769  eventout += HFCalREC.size();
770  for (unsigned int i = 0; i < HFCalREC.size(); ++i) {
771  eventout += "\n (REC, R, SHE) = (";
772  eventout += HFCalREC[i];
773  eventout += ", ";
774  eventout += HFCalR[i];
775  eventout += ", ";
776  eventout += HFCalSHE[i];
777  eventout += ")";
778  }
779  eventout += "\n nHORecHits = ";
780  eventout += HOCalREC.size();
781  for (unsigned int i = 0; i < HOCalREC.size(); ++i) {
782  eventout += "\n (REC, R, SHE) = (";
783  eventout += HOCalREC[i];
784  eventout += ", ";
785  eventout += HOCalR[i];
786  eventout += ", ";
787  eventout += HOCalSHE[i];
788  eventout += ")";
789  }
790 
791  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
792  }
793 
798 
799  return;
800 }
void putHFCalRecHits(const std::vector< float > &rec, const std::vector< float > &r, const std::vector< float > &she)
void putHECalRecHits(const std::vector< float > &rec, const std::vector< float > &r, const std::vector< float > &she)
void putHBCalRecHits(const std::vector< float > &rec, const std::vector< float > &r, const std::vector< float > &she)
void putHOCalRecHits(const std::vector< float > &rec, const std::vector< float > &r, const std::vector< float > &she)
void GlobalRecHitsProducer::storeMuon ( PGlobalRecHit product)
private

Definition at line 1774 of file GlobalRecHitsProducer.cc.

References CSCRHPERP, CSCRHPHI, CSCSHPHI, DTRHD, DTSHD, mps_fire::i, PGlobalRecHit::putCSCRecHits(), PGlobalRecHit::putDTRecHits(), PGlobalRecHit::putRPCRecHits(), RPCRHX, RPCSHX, AlCaHLTBitMon_QueryRunRegistry::string, and verbosity.

Referenced by produce().

1774  {
1775  std::string MsgLoggerCat = "GlobalRecHitsProducer_storeMuon";
1776 
1777  if (verbosity > 2) {
1778  // dt output
1779  TString eventout("\n nDT = ");
1780  eventout += DTRHD.size();
1781  for (unsigned int i = 0; i < DTRHD.size(); ++i) {
1782  eventout += "\n (RHD, SHD) = (";
1783  eventout += DTRHD[i];
1784  eventout += ", ";
1785  eventout += DTSHD[i];
1786  eventout += ")";
1787  }
1788 
1789  // CSC Strip
1790  eventout += "\n nCSC = ";
1791  eventout += CSCRHPHI.size();
1792  for (unsigned int i = 0; i < CSCRHPHI.size(); ++i) {
1793  eventout += "\n (rhphi, rhperp, shphi) = (";
1794  eventout += CSCRHPHI[i];
1795  eventout += ", ";
1796  eventout += CSCRHPERP[i];
1797  eventout += ", ";
1798  eventout += CSCSHPHI[i];
1799  eventout += ")";
1800  }
1801 
1802  // RPC
1803  eventout += "\n nRPC = ";
1804  eventout += RPCRHX.size();
1805  for (unsigned int i = 0; i < RPCRHX.size(); ++i) {
1806  eventout += "\n (rhx, shx) = (";
1807  eventout += RPCRHX[i];
1808  eventout += ", ";
1809  eventout += RPCSHX[i];
1810  eventout += ")";
1811  }
1812 
1813  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
1814  }
1815 
1816  product.putDTRecHits(DTRHD, DTSHD);
1817 
1819 
1820  product.putRPCRecHits(RPCRHX, RPCSHX);
1821 
1822  return;
1823 }
void putCSCRecHits(const std::vector< float > &rhphi, const std::vector< float > &rhperp, const std::vector< float > &shphi)
void putRPCRecHits(const std::vector< float > &rhx, const std::vector< float > &shx)
void putDTRecHits(const std::vector< float > &rhd, const std::vector< float > &shd)
void GlobalRecHitsProducer::storeTrk ( PGlobalRecHit product)
private

Definition at line 1191 of file GlobalRecHitsProducer.cc.

References BRL1RX, BRL1RY, BRL1SX, BRL1SY, BRL2RX, BRL2RY, BRL2SX, BRL2SY, BRL3RX, BRL3RY, BRL3SX, BRL3SY, FWD1nRX, FWD1nRY, FWD1nSX, FWD1nSY, FWD1pRX, FWD1pRY, FWD1pSX, FWD1pSY, FWD2nRX, FWD2nRY, FWD2nSX, FWD2nSY, FWD2pRX, FWD2pRY, FWD2pSX, FWD2pSY, mps_fire::i, PGlobalRecHit::putBRL1RecHits(), PGlobalRecHit::putBRL2RecHits(), PGlobalRecHit::putBRL3RecHits(), PGlobalRecHit::putFWD1nRecHits(), PGlobalRecHit::putFWD1pRecHits(), PGlobalRecHit::putFWD2nRecHits(), PGlobalRecHit::putFWD2pRecHits(), PGlobalRecHit::putTECW1RecHits(), PGlobalRecHit::putTECW2RecHits(), PGlobalRecHit::putTECW3RecHits(), PGlobalRecHit::putTECW4RecHits(), PGlobalRecHit::putTECW5RecHits(), PGlobalRecHit::putTECW6RecHits(), PGlobalRecHit::putTECW7RecHits(), PGlobalRecHit::putTECW8RecHits(), PGlobalRecHit::putTIBL1RecHits(), PGlobalRecHit::putTIBL2RecHits(), PGlobalRecHit::putTIBL3RecHits(), PGlobalRecHit::putTIBL4RecHits(), PGlobalRecHit::putTIDW1RecHits(), PGlobalRecHit::putTIDW2RecHits(), PGlobalRecHit::putTIDW3RecHits(), PGlobalRecHit::putTOBL1RecHits(), PGlobalRecHit::putTOBL2RecHits(), PGlobalRecHit::putTOBL3RecHits(), PGlobalRecHit::putTOBL4RecHits(), AlCaHLTBitMon_QueryRunRegistry::string, TECW1RX, TECW1RY, TECW1SX, TECW1SY, TECW2RX, TECW2RY, TECW2SX, TECW2SY, TECW3RX, TECW3RY, TECW3SX, TECW3SY, TECW4RX, TECW4RY, TECW4SX, TECW4SY, TECW5RX, TECW5RY, TECW5SX, TECW5SY, TECW6RX, TECW6RY, TECW6SX, TECW6SY, TECW7RX, TECW7RY, TECW7SX, TECW7SY, TECW8RX, TECW8RY, TECW8SX, TECW8SY, TIBL1RX, TIBL1RY, TIBL1SX, TIBL1SY, TIBL2RX, TIBL2RY, TIBL2SX, TIBL2SY, TIBL3RX, TIBL3RY, TIBL3SX, TIBL3SY, TIBL4RX, TIBL4RY, TIBL4SX, TIBL4SY, TIDW1RX, TIDW1RY, TIDW1SX, TIDW1SY, TIDW2RX, TIDW2RY, TIDW2SX, TIDW2SY, TIDW3RX, TIDW3RY, TIDW3SX, TIDW3SY, TOBL1RX, TOBL1RY, TOBL1SX, TOBL1SY, TOBL2RX, TOBL2RY, TOBL2SX, TOBL2SY, TOBL3RX, TOBL3RY, TOBL3SX, TOBL3SY, TOBL4RX, TOBL4RY, TOBL4SX, TOBL4SY, and verbosity.

Referenced by produce().

1191  {
1192  std::string MsgLoggerCat = "GlobalRecHitsProducer_storeTrk";
1193 
1194  if (verbosity > 2) {
1195  // strip output
1196  TString eventout("\n nTIBL1 = ");
1197  eventout += TIBL1RX.size();
1198  for (unsigned int i = 0; i < TIBL1RX.size(); ++i) {
1199  eventout += "\n (RX, RY, SX, SY) = (";
1200  eventout += TIBL1RX[i];
1201  eventout += ", ";
1202  eventout += TIBL1RY[i];
1203  eventout += ", ";
1204  eventout += TIBL1SX[i];
1205  eventout += ", ";
1206  eventout += TIBL1SY[i];
1207  eventout += ")";
1208  }
1209  eventout += "\n nTIBL2 = ";
1210  eventout += TIBL2RX.size();
1211  for (unsigned int i = 0; i < TIBL2RX.size(); ++i) {
1212  eventout += "\n (RX, RY, SX, SY) = (";
1213  eventout += TIBL2RX[i];
1214  eventout += ", ";
1215  eventout += TIBL2RY[i];
1216  eventout += ", ";
1217  eventout += TIBL2SX[i];
1218  eventout += ", ";
1219  eventout += TIBL2SY[i];
1220  eventout += ")";
1221  }
1222  eventout += "\n nTIBL3 = ";
1223  eventout += TIBL3RX.size();
1224  for (unsigned int i = 0; i < TIBL3RX.size(); ++i) {
1225  eventout += "\n (RX, RY, SX, SY) = (";
1226  eventout += TIBL3RX[i];
1227  eventout += ", ";
1228  eventout += TIBL3RY[i];
1229  eventout += ", ";
1230  eventout += TIBL3SX[i];
1231  eventout += ", ";
1232  eventout += TIBL3SY[i];
1233  eventout += ")";
1234  }
1235  eventout += "\n nTIBL4 = ";
1236  eventout += TIBL4RX.size();
1237  for (unsigned int i = 0; i < TIBL4RX.size(); ++i) {
1238  eventout += "\n (RX, RY, SX, SY) = (";
1239  eventout += TIBL4RX[i];
1240  eventout += ", ";
1241  eventout += TIBL4RY[i];
1242  eventout += ", ";
1243  eventout += TIBL4SX[i];
1244  eventout += ", ";
1245  eventout += TIBL4SY[i];
1246  eventout += ")";
1247  }
1248  eventout += "\n nTOBL1 = ";
1249  eventout += TOBL1RX.size();
1250  for (unsigned int i = 0; i < TOBL1RX.size(); ++i) {
1251  eventout += "\n (RX, RY, SX, SY) = (";
1252  eventout += TOBL1RX[i];
1253  eventout += ", ";
1254  eventout += TOBL1RY[i];
1255  eventout += ", ";
1256  eventout += TOBL1SX[i];
1257  eventout += ", ";
1258  eventout += TOBL1SY[i];
1259  eventout += ")";
1260  }
1261  eventout += "\n nTOBL2 = ";
1262  eventout += TOBL2RX.size();
1263  for (unsigned int i = 0; i < TOBL2RX.size(); ++i) {
1264  eventout += "\n (RX, RY, SX, SY) = (";
1265  eventout += TOBL2RX[i];
1266  eventout += ", ";
1267  eventout += TOBL2RY[i];
1268  eventout += ", ";
1269  eventout += TOBL2SX[i];
1270  eventout += ", ";
1271  eventout += TOBL2SY[i];
1272  eventout += ")";
1273  }
1274  eventout += "\n nTOBL3 = ";
1275  eventout += TOBL3RX.size();
1276  for (unsigned int i = 0; i < TOBL3RX.size(); ++i) {
1277  eventout += "\n (RX, RY, SX, SY) = (";
1278  eventout += TOBL3RX[i];
1279  eventout += ", ";
1280  eventout += TOBL3RY[i];
1281  eventout += ", ";
1282  eventout += TOBL3SX[i];
1283  eventout += ", ";
1284  eventout += TOBL3SY[i];
1285  eventout += ")";
1286  }
1287  eventout += "\n nTOBL4 = ";
1288  eventout += TOBL4RX.size();
1289  for (unsigned int i = 0; i < TOBL4RX.size(); ++i) {
1290  eventout += "\n (RX, RY, SX, SY) = (";
1291  eventout += TOBL4RX[i];
1292  eventout += ", ";
1293  eventout += TOBL4RY[i];
1294  eventout += ", ";
1295  eventout += TOBL4SX[i];
1296  eventout += ", ";
1297  eventout += TOBL4SY[i];
1298  eventout += ")";
1299  }
1300  eventout += "\n nTIDW1 = ";
1301  eventout += TIDW1RX.size();
1302  for (unsigned int i = 0; i < TIDW1RX.size(); ++i) {
1303  eventout += "\n (RX, RY, SX, SY) = (";
1304  eventout += TIDW1RX[i];
1305  eventout += ", ";
1306  eventout += TIDW1RY[i];
1307  eventout += ", ";
1308  eventout += TIDW1SX[i];
1309  eventout += ", ";
1310  eventout += TIDW1SY[i];
1311  eventout += ")";
1312  }
1313  eventout += "\n nTIDW2 = ";
1314  eventout += TIDW2RX.size();
1315  for (unsigned int i = 0; i < TIDW2RX.size(); ++i) {
1316  eventout += "\n (RX, RY, SX, SY) = (";
1317  eventout += TIDW2RX[i];
1318  eventout += ", ";
1319  eventout += TIDW2RY[i];
1320  eventout += ", ";
1321  eventout += TIDW2SX[i];
1322  eventout += ", ";
1323  eventout += TIDW2SY[i];
1324  eventout += ")";
1325  }
1326  eventout += "\n nTIDW3 = ";
1327  eventout += TIDW3RX.size();
1328  for (unsigned int i = 0; i < TIDW3RX.size(); ++i) {
1329  eventout += "\n (RX, RY, SX, SY) = (";
1330  eventout += TIDW3RX[i];
1331  eventout += ", ";
1332  eventout += TIDW3RY[i];
1333  eventout += ", ";
1334  eventout += TIDW3SX[i];
1335  eventout += ", ";
1336  eventout += TIDW3SY[i];
1337  eventout += ")";
1338  }
1339  eventout += "\n nTECW1 = ";
1340  eventout += TECW1RX.size();
1341  for (unsigned int i = 0; i < TECW1RX.size(); ++i) {
1342  eventout += "\n (RX, RY, SX, SY) = (";
1343  eventout += TECW1RX[i];
1344  eventout += ", ";
1345  eventout += TECW1RY[i];
1346  eventout += ", ";
1347  eventout += TECW1SX[i];
1348  eventout += ", ";
1349  eventout += TECW1SY[i];
1350  eventout += ")";
1351  }
1352  eventout += "\n nTECW2 = ";
1353  eventout += TECW2RX.size();
1354  for (unsigned int i = 0; i < TECW2RX.size(); ++i) {
1355  eventout += "\n (RX, RY, SX, SY) = (";
1356  eventout += TECW2RX[i];
1357  eventout += ", ";
1358  eventout += TECW2RY[i];
1359  eventout += ", ";
1360  eventout += TECW2SX[i];
1361  eventout += ", ";
1362  eventout += TECW2SY[i];
1363  eventout += ")";
1364  }
1365  eventout += "\n nTECW3 = ";
1366  eventout += TECW3RX.size();
1367  for (unsigned int i = 0; i < TECW3RX.size(); ++i) {
1368  eventout += "\n (RX, RY, SX, SY) = (";
1369  eventout += TECW3RX[i];
1370  eventout += ", ";
1371  eventout += TECW3RY[i];
1372  eventout += ", ";
1373  eventout += TECW3SX[i];
1374  eventout += ", ";
1375  eventout += TECW3SY[i];
1376  eventout += ")";
1377  }
1378  eventout += "\n nTECW4 = ";
1379  eventout += TECW4RX.size();
1380  for (unsigned int i = 0; i < TECW4RX.size(); ++i) {
1381  eventout += "\n (RX, RY, SX, SY) = (";
1382  eventout += TECW4RX[i];
1383  eventout += ", ";
1384  eventout += TECW4RY[i];
1385  eventout += ", ";
1386  eventout += TECW4SX[i];
1387  eventout += ", ";
1388  eventout += TECW4SY[i];
1389  eventout += ")";
1390  }
1391  eventout += "\n nTECW5 = ";
1392  eventout += TECW5RX.size();
1393  for (unsigned int i = 0; i < TECW5RX.size(); ++i) {
1394  eventout += "\n (RX, RY, SX, SY) = (";
1395  eventout += TECW5RX[i];
1396  eventout += ", ";
1397  eventout += TECW5RY[i];
1398  eventout += ", ";
1399  eventout += TECW5SX[i];
1400  eventout += ", ";
1401  eventout += TECW5SY[i];
1402  eventout += ")";
1403  }
1404  eventout += "\n nTECW6 = ";
1405  eventout += TECW6RX.size();
1406  for (unsigned int i = 0; i < TECW6RX.size(); ++i) {
1407  eventout += "\n (RX, RY, SX, SY) = (";
1408  eventout += TECW6RX[i];
1409  eventout += ", ";
1410  eventout += TECW6RY[i];
1411  eventout += ", ";
1412  eventout += TECW6SX[i];
1413  eventout += ", ";
1414  eventout += TECW6SY[i];
1415  eventout += ")";
1416  }
1417  eventout += "\n nTECW7 = ";
1418  eventout += TECW7RX.size();
1419  for (unsigned int i = 0; i < TECW7RX.size(); ++i) {
1420  eventout += "\n (RX, RY, SX, SY) = (";
1421  eventout += TECW7RX[i];
1422  eventout += ", ";
1423  eventout += TECW7RY[i];
1424  eventout += ", ";
1425  eventout += TECW7SX[i];
1426  eventout += ", ";
1427  eventout += TECW7SY[i];
1428  eventout += ")";
1429  }
1430  eventout += "\n nTECW8 = ";
1431  eventout += TECW8RX.size();
1432  for (unsigned int i = 0; i < TECW8RX.size(); ++i) {
1433  eventout += "\n (RX, RY, SX, SY) = (";
1434  eventout += TECW8RX[i];
1435  eventout += ", ";
1436  eventout += TECW8RY[i];
1437  eventout += ", ";
1438  eventout += TECW8SX[i];
1439  eventout += ", ";
1440  eventout += TECW8SY[i];
1441  eventout += ")";
1442  }
1443 
1444  // pixel output
1445  eventout += "\n nBRL1 = ";
1446  eventout += BRL1RX.size();
1447  for (unsigned int i = 0; i < BRL1RX.size(); ++i) {
1448  eventout += "\n (RX, RY, SX, SY) = (";
1449  eventout += BRL1RX[i];
1450  eventout += ", ";
1451  eventout += BRL1RY[i];
1452  eventout += ", ";
1453  eventout += BRL1SX[i];
1454  eventout += ", ";
1455  eventout += BRL1SY[i];
1456  eventout += ")";
1457  }
1458  eventout += "\n nBRL2 = ";
1459  eventout += BRL2RX.size();
1460  for (unsigned int i = 0; i < BRL2RX.size(); ++i) {
1461  eventout += "\n (RX, RY, SX, SY) = (";
1462  eventout += BRL2RX[i];
1463  eventout += ", ";
1464  eventout += BRL2RY[i];
1465  eventout += ", ";
1466  eventout += BRL2SX[i];
1467  eventout += ", ";
1468  eventout += BRL2SY[i];
1469  eventout += ")";
1470  }
1471  eventout += "\n nBRL3 = ";
1472  eventout += BRL3RX.size();
1473  for (unsigned int i = 0; i < BRL3RX.size(); ++i) {
1474  eventout += "\n (RX, RY, SX, SY) = (";
1475  eventout += BRL3RX[i];
1476  eventout += ", ";
1477  eventout += BRL3RY[i];
1478  eventout += ", ";
1479  eventout += BRL3SX[i];
1480  eventout += ", ";
1481  eventout += BRL3SY[i];
1482  eventout += ")";
1483  }
1484  eventout += "\n nFWD1p = ";
1485  eventout += FWD1pRX.size();
1486  for (unsigned int i = 0; i < FWD1pRX.size(); ++i) {
1487  eventout += "\n (RX, RY, SX, SY) = (";
1488  eventout += FWD1pRX[i];
1489  eventout += ", ";
1490  eventout += FWD1pRY[i];
1491  eventout += ", ";
1492  eventout += FWD1pSX[i];
1493  eventout += ", ";
1494  eventout += FWD1pSY[i];
1495  eventout += ")";
1496  }
1497  eventout += "\n nFWD1n = ";
1498  eventout += FWD1nRX.size();
1499  for (unsigned int i = 0; i < FWD1nRX.size(); ++i) {
1500  eventout += "\n (RX, RY, SX, SY) = (";
1501  eventout += FWD1nRX[i];
1502  eventout += ", ";
1503  eventout += FWD1nRY[i];
1504  eventout += ", ";
1505  eventout += FWD1nSX[i];
1506  eventout += ", ";
1507  eventout += FWD1nSY[i];
1508  eventout += ")";
1509  }
1510  eventout += "\n nFWD2p = ";
1511  eventout += FWD2pRX.size();
1512  for (unsigned int i = 0; i < FWD2pRX.size(); ++i) {
1513  eventout += "\n (RX, RY, SX, SY) = (";
1514  eventout += FWD2pRX[i];
1515  eventout += ", ";
1516  eventout += FWD2pRY[i];
1517  eventout += ", ";
1518  eventout += FWD2pSX[i];
1519  eventout += ", ";
1520  eventout += FWD2pSY[i];
1521  eventout += ")";
1522  }
1523  eventout += "\n nFWD2p = ";
1524  eventout += FWD2nRX.size();
1525  for (unsigned int i = 0; i < FWD2nRX.size(); ++i) {
1526  eventout += "\n (RX, RY, SX, SY) = (";
1527  eventout += FWD2nRX[i];
1528  eventout += ", ";
1529  eventout += FWD2nRY[i];
1530  eventout += ", ";
1531  eventout += FWD2nSX[i];
1532  eventout += ", ";
1533  eventout += FWD2nSY[i];
1534  eventout += ")";
1535  }
1536 
1537  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
1538  }
1539 
1540  // strip output
1560 
1561  // pixel output
1569 
1570  return;
1571 }
void putTIBL1RecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
void putFWD1nRecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
void putTOBL4RecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
void putTECW6RecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
void putBRL1RecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
void putTECW8RecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
void putTECW5RecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
void putTECW7RecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
void putTECW2RecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
void putTIDW1RecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
void putTECW1RecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
void putBRL2RecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
void putTOBL1RecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
void putTIDW2RecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
void putFWD2nRecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
void putTECW3RecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
void putTOBL3RecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
void putTIBL2RecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
void putBRL3RecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
void putTIBL4RecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
void putFWD1pRecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
void putTOBL2RecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
void putTECW4RecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
void putFWD2pRecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
void putTIDW3RecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
void putTIBL3RecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)

Member Data Documentation

FloatVector GlobalRecHitsProducer::BRL1RX
private

Definition at line 264 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::BRL1RY
private

Definition at line 265 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::BRL1SX
private

Definition at line 266 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::BRL1SY
private

Definition at line 267 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::BRL2RX
private

Definition at line 264 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::BRL2RY
private

Definition at line 265 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::BRL2SX
private

Definition at line 266 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::BRL2SY
private

Definition at line 267 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::BRL3RX
private

Definition at line 264 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::BRL3RY
private

Definition at line 265 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::BRL3SX
private

Definition at line 266 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::BRL3SY
private

Definition at line 267 of file GlobalRecHitsProducer.h.

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

unsigned int GlobalRecHitsProducer::count
private

Definition at line 337 of file GlobalRecHitsProducer.h.

Referenced by endJob(), and produce().

FloatVector GlobalRecHitsProducer::CSCRHPERP
private

Definition at line 316 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::CSCRHPHI
private

Definition at line 315 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::CSCSHPHI
private

Definition at line 317 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::DTRHD
private

Definition at line 280 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::DTSHD
private

Definition at line 281 of file GlobalRecHitsProducer.h.

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

edm::EDGetTokenT<CrossingFrame<PCaloHit> > GlobalRecHitsProducer::EBHits_Token_
private

Definition at line 205 of file GlobalRecHitsProducer.h.

Referenced by fillECal(), and GlobalRecHitsProducer().

FloatVector GlobalRecHitsProducer::EBRE
private

Definition at line 186 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::EBSHE
private

Definition at line 187 of file GlobalRecHitsProducer.h.

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

edm::InputTag GlobalRecHitsProducer::ECalEBSrc_
private

Definition at line 195 of file GlobalRecHitsProducer.h.

Referenced by GlobalRecHitsProducer().

edm::EDGetTokenT<EBRecHitCollection> GlobalRecHitsProducer::ECalEBSrc_Token_
private

Definition at line 200 of file GlobalRecHitsProducer.h.

Referenced by fillECal(), and GlobalRecHitsProducer().

edm::InputTag GlobalRecHitsProducer::ECalEESrc_
private

Definition at line 197 of file GlobalRecHitsProducer.h.

Referenced by GlobalRecHitsProducer().

edm::EDGetTokenT<EERecHitCollection> GlobalRecHitsProducer::ECalEESrc_Token_
private

Definition at line 201 of file GlobalRecHitsProducer.h.

Referenced by fillECal(), and GlobalRecHitsProducer().

edm::InputTag GlobalRecHitsProducer::ECalESSrc_
private

Definition at line 199 of file GlobalRecHitsProducer.h.

Referenced by GlobalRecHitsProducer().

edm::EDGetTokenT<ESRecHitCollection> GlobalRecHitsProducer::ECalESSrc_Token_
private

Definition at line 202 of file GlobalRecHitsProducer.h.

Referenced by fillECal(), and GlobalRecHitsProducer().

edm::InputTag GlobalRecHitsProducer::ECalUncalEBSrc_
private

Definition at line 196 of file GlobalRecHitsProducer.h.

Referenced by GlobalRecHitsProducer().

edm::EDGetTokenT<EBUncalibratedRecHitCollection> GlobalRecHitsProducer::ECalUncalEBSrc_Token_
private

Definition at line 203 of file GlobalRecHitsProducer.h.

Referenced by fillECal(), and GlobalRecHitsProducer().

edm::InputTag GlobalRecHitsProducer::ECalUncalEESrc_
private

Definition at line 198 of file GlobalRecHitsProducer.h.

Referenced by GlobalRecHitsProducer().

edm::EDGetTokenT<EEUncalibratedRecHitCollection> GlobalRecHitsProducer::ECalUncalEESrc_Token_
private

Definition at line 204 of file GlobalRecHitsProducer.h.

Referenced by fillECal(), and GlobalRecHitsProducer().

edm::EDGetTokenT<CrossingFrame<PCaloHit> > GlobalRecHitsProducer::EEHits_Token_
private

Definition at line 206 of file GlobalRecHitsProducer.h.

Referenced by fillECal(), and GlobalRecHitsProducer().

FloatVector GlobalRecHitsProducer::EERE
private

Definition at line 189 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::EESHE
private

Definition at line 190 of file GlobalRecHitsProducer.h.

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

edm::EDGetTokenT<CrossingFrame<PCaloHit> > GlobalRecHitsProducer::ESHits_Token_
private

Definition at line 207 of file GlobalRecHitsProducer.h.

Referenced by fillECal().

FloatVector GlobalRecHitsProducer::ESRE
private

Definition at line 192 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::ESSHE
private

Definition at line 193 of file GlobalRecHitsProducer.h.

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

std::string GlobalRecHitsProducer::fName
private

Definition at line 176 of file GlobalRecHitsProducer.h.

Referenced by GlobalRecHitsProducer().

int GlobalRecHitsProducer::frequency
private

Definition at line 178 of file GlobalRecHitsProducer.h.

Referenced by GlobalRecHitsProducer(), and produce().

FloatVector GlobalRecHitsProducer::FWD1nRX
private

Definition at line 269 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::FWD1nRY
private

Definition at line 270 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::FWD1nSX
private

Definition at line 271 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::FWD1nSY
private

Definition at line 272 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::FWD1pRX
private

Definition at line 269 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::FWD1pRY
private

Definition at line 270 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::FWD1pSX
private

Definition at line 271 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::FWD1pSY
private

Definition at line 272 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::FWD2nRX
private

Definition at line 269 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::FWD2nRY
private

Definition at line 270 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::FWD2nSX
private

Definition at line 271 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::FWD2nSY
private

Definition at line 272 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::FWD2pRX
private

Definition at line 269 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::FWD2pRY
private

Definition at line 270 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::FWD2pSX
private

Definition at line 271 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::FWD2pSY
private

Definition at line 272 of file GlobalRecHitsProducer.h.

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

bool GlobalRecHitsProducer::getAllProvenances
private

Definition at line 180 of file GlobalRecHitsProducer.h.

Referenced by GlobalRecHitsProducer(), and produce().

FloatVector GlobalRecHitsProducer::HBCalR
private

Definition at line 212 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::HBCalREC
private

Definition at line 211 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::HBCalSHE
private

Definition at line 213 of file GlobalRecHitsProducer.h.

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

edm::InputTag GlobalRecHitsProducer::HCalSrc_
private

Definition at line 227 of file GlobalRecHitsProducer.h.

Referenced by GlobalRecHitsProducer().

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

Definition at line 228 of file GlobalRecHitsProducer.h.

Referenced by fillHCal(), and GlobalRecHitsProducer().

FloatVector GlobalRecHitsProducer::HECalR
private

Definition at line 216 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::HECalREC
private

Definition at line 215 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::HECalSHE
private

Definition at line 217 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::HFCalR
private

Definition at line 224 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::HFCalREC
private

Definition at line 223 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::HFCalSHE
private

Definition at line 225 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::HOCalR
private

Definition at line 220 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::HOCalREC
private

Definition at line 219 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::HOCalSHE
private

Definition at line 221 of file GlobalRecHitsProducer.h.

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

std::string GlobalRecHitsProducer::label
private
std::vector<PSimHit> GlobalRecHitsProducer::matched
private

Definition at line 256 of file GlobalRecHitsProducer.h.

Referenced by fillTrk().

edm::EDGetTokenT<CrossingFrame<PSimHit> > GlobalRecHitsProducer::MuCSCHits_Token_
private

Definition at line 321 of file GlobalRecHitsProducer.h.

Referenced by fillMuon(), and GlobalRecHitsProducer().

edm::InputTag GlobalRecHitsProducer::MuCSCSrc_
private

Definition at line 319 of file GlobalRecHitsProducer.h.

Referenced by GlobalRecHitsProducer().

edm::EDGetTokenT<CSCRecHit2DCollection> GlobalRecHitsProducer::MuCSCSrc_Token_
private

Definition at line 320 of file GlobalRecHitsProducer.h.

Referenced by fillMuon(), and GlobalRecHitsProducer().

edm::InputTag GlobalRecHitsProducer::MuDTSimSrc_
private

Definition at line 284 of file GlobalRecHitsProducer.h.

Referenced by GlobalRecHitsProducer().

edm::EDGetTokenT<edm::PSimHitContainer> GlobalRecHitsProducer::MuDTSimSrc_Token_
private

Definition at line 286 of file GlobalRecHitsProducer.h.

Referenced by fillMuon(), and GlobalRecHitsProducer().

edm::InputTag GlobalRecHitsProducer::MuDTSrc_
private

Definition at line 283 of file GlobalRecHitsProducer.h.

Referenced by GlobalRecHitsProducer().

edm::EDGetTokenT<DTRecHitCollection> GlobalRecHitsProducer::MuDTSrc_Token_
private

Definition at line 285 of file GlobalRecHitsProducer.h.

Referenced by fillMuon(), and GlobalRecHitsProducer().

edm::InputTag GlobalRecHitsProducer::MuRPCSimSrc_
private

Definition at line 332 of file GlobalRecHitsProducer.h.

Referenced by GlobalRecHitsProducer().

edm::EDGetTokenT<edm::PSimHitContainer> GlobalRecHitsProducer::MuRPCSimSrc_Token_
private

Definition at line 334 of file GlobalRecHitsProducer.h.

Referenced by fillMuon(), and GlobalRecHitsProducer().

edm::InputTag GlobalRecHitsProducer::MuRPCSrc_
private

Definition at line 331 of file GlobalRecHitsProducer.h.

Referenced by GlobalRecHitsProducer().

edm::EDGetTokenT<RPCRecHitCollection> GlobalRecHitsProducer::MuRPCSrc_Token_
private

Definition at line 333 of file GlobalRecHitsProducer.h.

Referenced by fillMuon(), and GlobalRecHitsProducer().

bool GlobalRecHitsProducer::printProvenanceInfo
private

Definition at line 181 of file GlobalRecHitsProducer.h.

Referenced by GlobalRecHitsProducer(), and produce().

FloatVector GlobalRecHitsProducer::RPCRHX
private

Definition at line 328 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::RPCSHX
private

Definition at line 329 of file GlobalRecHitsProducer.h.

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

edm::InputTag GlobalRecHitsProducer::SiPxlSrc_
private

Definition at line 274 of file GlobalRecHitsProducer.h.

Referenced by GlobalRecHitsProducer().

edm::EDGetTokenT<SiPixelRecHitCollection> GlobalRecHitsProducer::SiPxlSrc_Token_
private

Definition at line 275 of file GlobalRecHitsProducer.h.

Referenced by fillTrk(), and GlobalRecHitsProducer().

edm::InputTag GlobalRecHitsProducer::SiStripSrc_
private

Definition at line 253 of file GlobalRecHitsProducer.h.

Referenced by GlobalRecHitsProducer().

edm::EDGetTokenT<SiStripMatchedRecHit2DCollection> GlobalRecHitsProducer::SiStripSrc_Token_
private

Definition at line 254 of file GlobalRecHitsProducer.h.

Referenced by fillTrk(), and GlobalRecHitsProducer().

FloatVector GlobalRecHitsProducer::TECW1RX
private

Definition at line 248 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW1RY
private

Definition at line 249 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW1SX
private

Definition at line 250 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW1SY
private

Definition at line 251 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW2RX
private

Definition at line 248 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW2RY
private

Definition at line 249 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW2SX
private

Definition at line 250 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW2SY
private

Definition at line 251 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW3RX
private

Definition at line 248 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW3RY
private

Definition at line 249 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW3SX
private

Definition at line 250 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW3SY
private

Definition at line 251 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW4RX
private

Definition at line 248 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW4RY
private

Definition at line 249 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW4SX
private

Definition at line 250 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW4SY
private

Definition at line 251 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW5RX
private

Definition at line 248 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW5RY
private

Definition at line 249 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW5SX
private

Definition at line 250 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW5SY
private

Definition at line 251 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW6RX
private

Definition at line 248 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW6RY
private

Definition at line 249 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW6SX
private

Definition at line 250 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW6SY
private

Definition at line 251 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW7RX
private

Definition at line 248 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW7RY
private

Definition at line 249 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW7SX
private

Definition at line 250 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW7SY
private

Definition at line 251 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW8RX
private

Definition at line 248 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW8RY
private

Definition at line 249 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW8SX
private

Definition at line 250 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW8SY
private

Definition at line 251 of file GlobalRecHitsProducer.h.

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

std::map<int, edm::PSimHitContainer> GlobalRecHitsProducer::theMap
private

Definition at line 323 of file GlobalRecHitsProducer.h.

Referenced by fillMuon().

FloatVector GlobalRecHitsProducer::TIBL1RX
private

Definition at line 233 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIBL1RY
private

Definition at line 234 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIBL1SX
private

Definition at line 235 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIBL1SY
private

Definition at line 236 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIBL2RX
private

Definition at line 233 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIBL2RY
private

Definition at line 234 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIBL2SX
private

Definition at line 235 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIBL2SY
private

Definition at line 236 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIBL3RX
private

Definition at line 233 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIBL3RY
private

Definition at line 234 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIBL3SX
private

Definition at line 235 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIBL3SY
private

Definition at line 236 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIBL4RX
private

Definition at line 233 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIBL4RY
private

Definition at line 234 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIBL4SX
private

Definition at line 235 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIBL4SY
private

Definition at line 236 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIDW1RX
private

Definition at line 243 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIDW1RY
private

Definition at line 244 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIDW1SX
private

Definition at line 245 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIDW1SY
private

Definition at line 246 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIDW2RX
private

Definition at line 243 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIDW2RY
private

Definition at line 244 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIDW2SX
private

Definition at line 245 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIDW2SY
private

Definition at line 246 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIDW3RX
private

Definition at line 243 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIDW3RY
private

Definition at line 244 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIDW3SX
private

Definition at line 245 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIDW3SY
private

Definition at line 246 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TOBL1RX
private

Definition at line 238 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TOBL1RY
private

Definition at line 239 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TOBL1SX
private

Definition at line 240 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TOBL1SY
private

Definition at line 241 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TOBL2RX
private

Definition at line 238 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TOBL2RY
private

Definition at line 239 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TOBL2SX
private

Definition at line 240 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TOBL2SY
private

Definition at line 241 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TOBL3RX
private

Definition at line 238 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TOBL3RY
private

Definition at line 239 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TOBL3SX
private

Definition at line 240 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TOBL3SY
private

Definition at line 241 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TOBL4RX
private

Definition at line 238 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TOBL4RY
private

Definition at line 239 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TOBL4SX
private

Definition at line 240 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TOBL4SY
private

Definition at line 241 of file GlobalRecHitsProducer.h.

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

TrackerHitAssociator::Config GlobalRecHitsProducer::trackerHitAssociatorConfig_
private

Definition at line 260 of file GlobalRecHitsProducer.h.

Referenced by fillTrk().

int GlobalRecHitsProducer::verbosity
private