CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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
typedef
ProductRegistryHelper::TypeLabelList 
TypeLabelList
 

Public Member Functions

virtual void beginJob ()
 
virtual void endJob ()
 
 GlobalRecHitsProducer (const edm::ParameterSet &)
 
virtual void produce (edm::Event &, const edm::EventSetup &)
 
virtual ~GlobalRecHitsProducer ()
 
- Public Member Functions inherited from edm::EDProducer
 EDProducer ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDProducer ()
 
- Public Member Functions inherited from edm::ProducerBase
 ProducerBase ()
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription
const &)> 
registrationCallback () const
 used by the fwk to register list of products More...
 
virtual ~ProducerBase ()
 
- Public Member Functions inherited from edm::EDConsumerBase
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (const std::string &iProcessName, std::vector< const char * > &oModuleLabels) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

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,
LocalVector
projectHit (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
 
edm::ParameterSet conf_
 
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
< EBRecHitCollection
ECalEBSrc_Token_
 
edm::InputTag ECalEESrc_
 
edm::EDGetTokenT
< EERecHitCollection
ECalEESrc_Token_
 
edm::InputTag ECalESSrc_
 
edm::EDGetTokenT
< ESRecHitCollection
ECalESSrc_Token_
 
edm::InputTag ECalUncalEBSrc_
 
edm::EDGetTokenT
< EBUncalibratedRecHitCollection
ECalUncalEBSrc_Token_
 
edm::InputTag ECalUncalEESrc_
 
edm::EDGetTokenT
< EEUncalibratedRecHitCollection
ECalUncalEESrc_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::PCaloHitContainer
HCalSrc_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
< CSCRecHit2DCollection
MuCSCSrc_Token_
 
edm::InputTag MuDTSimSrc_
 
edm::EDGetTokenT
< edm::PSimHitContainer
MuDTSimSrc_Token_
 
edm::InputTag MuDTSrc_
 
edm::EDGetTokenT
< DTRecHitCollection
MuDTSrc_Token_
 
edm::InputTag MuRPCSimSrc_
 
edm::EDGetTokenT
< edm::PSimHitContainer
MuRPCSimSrc_Token_
 
edm::InputTag MuRPCSrc_
 
edm::EDGetTokenT
< RPCRecHitCollection
MuRPCSrc_Token_
 
bool printProvenanceInfo
 
FloatVector RPCRHX
 
FloatVector RPCSHX
 
edm::InputTag SiPxlSrc_
 
edm::EDGetTokenT
< SiPixelRecHitCollection
SiPxlSrc_Token_
 
edm::InputTag SiStripSrc_
 
edm::EDGetTokenT
< SiStripMatchedRecHit2DCollection
SiStripSrc_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::PSimHitContainer
theMap
 
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
 
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)
 
- Protected Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Detailed Description

Definition at line 150 of file GlobalRecHitsProducer.h.

Member Typedef Documentation

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

Definition at line 156 of file GlobalRecHitsProducer.h.

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

Definition at line 155 of file GlobalRecHitsProducer.h.

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

Definition at line 157 of file GlobalRecHitsProducer.h.

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

Definition at line 158 of file GlobalRecHitsProducer.h.

Constructor & Destructor Documentation

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

Definition at line 13 of file GlobalRecHitsProducer.cc.

References conf_, 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_, 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.

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

Definition at line 118 of file GlobalRecHitsProducer.cc.

119 {
120 }

Member Function Documentation

void GlobalRecHitsProducer::beginJob ( void  )
virtual

Reimplemented from edm::EDProducer.

Definition at line 122 of file GlobalRecHitsProducer.cc.

References clear(), and AlCaHLTBitMon_QueryRunRegistry::string.

123 {
124  std::string MsgLoggerCat = "GlobalRecHitsProducer_beginJob";
125 
126  // clear storage vectors
127  clear();
128  return;
129 }
void GlobalRecHitsProducer::clear ( void  )
private

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

1950 {
1951  std::string MsgLoggerCat = "GlobalRecHitsProducer_clear";
1952 
1953  if (verbosity > 0)
1954  edm::LogInfo(MsgLoggerCat)
1955  << "Clearing event holders";
1956 
1957  // reset electromagnetic info
1958  // EE info
1959  EERE.clear();
1960  EESHE.clear();
1961  // EB info
1962  EBRE.clear();
1963  EBSHE.clear();
1964  // ES info
1965  ESRE.clear();
1966  ESSHE.clear();
1967 
1968  // reset HCal Info
1969  HBCalREC.clear();
1970  HBCalR.clear();
1971  HBCalSHE.clear();
1972  HECalREC.clear();
1973  HECalR.clear();
1974  HECalSHE.clear();
1975  HOCalREC.clear();
1976  HOCalR.clear();
1977  HOCalSHE.clear();
1978  HFCalREC.clear();
1979  HFCalR.clear();
1980  HFCalSHE.clear();
1981 
1982  // reset Track Info
1983  TIBL1RX.clear();
1984  TIBL2RX.clear();
1985  TIBL3RX.clear();
1986  TIBL4RX.clear();
1987  TIBL1RY.clear();
1988  TIBL2RY.clear();
1989  TIBL3RY.clear();
1990  TIBL4RY.clear();
1991  TIBL1SX.clear();
1992  TIBL2SX.clear();
1993  TIBL3SX.clear();
1994  TIBL4SX.clear();
1995  TIBL1SY.clear();
1996  TIBL2SY.clear();
1997  TIBL3SY.clear();
1998  TIBL4SY.clear();
1999 
2000  TOBL1RX.clear();
2001  TOBL2RX.clear();
2002  TOBL3RX.clear();
2003  TOBL4RX.clear();
2004  TOBL1RY.clear();
2005  TOBL2RY.clear();
2006  TOBL3RY.clear();
2007  TOBL4RY.clear();
2008  TOBL1SX.clear();
2009  TOBL2SX.clear();
2010  TOBL3SX.clear();
2011  TOBL4SX.clear();
2012  TOBL1SY.clear();
2013  TOBL2SY.clear();
2014  TOBL3SY.clear();
2015  TOBL4SY.clear();
2016 
2017  TIDW1RX.clear();
2018  TIDW2RX.clear();
2019  TIDW3RX.clear();
2020  TIDW1RY.clear();
2021  TIDW2RY.clear();
2022  TIDW3RY.clear();
2023  TIDW1SX.clear();
2024  TIDW2SX.clear();
2025  TIDW3SX.clear();
2026  TIDW1SY.clear();
2027  TIDW2SY.clear();
2028  TIDW3SY.clear();
2029 
2030  TECW1RX.clear();
2031  TECW2RX.clear();
2032  TECW3RX.clear();
2033  TECW4RX.clear();
2034  TECW5RX.clear();
2035  TECW6RX.clear();
2036  TECW7RX.clear();
2037  TECW8RX.clear();
2038  TECW1RY.clear();
2039  TECW2RY.clear();
2040  TECW3RY.clear();
2041  TECW4RY.clear();
2042  TECW5RY.clear();
2043  TECW6RY.clear();
2044  TECW7RY.clear();
2045  TECW8RY.clear();
2046  TECW1SX.clear();
2047  TECW2SX.clear();
2048  TECW3SX.clear();
2049  TECW4SX.clear();
2050  TECW5SX.clear();
2051  TECW6SX.clear();
2052  TECW7SX.clear();
2053  TECW8SX.clear();
2054  TECW1SY.clear();
2055  TECW2SY.clear();
2056  TECW3SY.clear();
2057  TECW4SY.clear();
2058  TECW5SY.clear();
2059  TECW6SY.clear();
2060  TECW7SY.clear();
2061  TECW8SY.clear();
2062 
2063  BRL1RX.clear();
2064  BRL1RY.clear();
2065  BRL1SX.clear();
2066  BRL1SY.clear();
2067  BRL2RX.clear();
2068  BRL2RY.clear();
2069  BRL2SX.clear();
2070  BRL2SY.clear();
2071  BRL3RX.clear();
2072  BRL3RY.clear();
2073  BRL3SX.clear();
2074  BRL3SY.clear();
2075 
2076  FWD1pRX.clear();
2077  FWD1pRY.clear();
2078  FWD1pSX.clear();
2079  FWD1pSY.clear();
2080  FWD1nRX.clear();
2081  FWD1nRY.clear();
2082  FWD1nSX.clear();
2083  FWD1nSY.clear();
2084  FWD2pRX.clear();
2085  FWD2pRY.clear();
2086  FWD2pSX.clear();
2087  FWD2pSY.clear();
2088  FWD2nRX.clear();
2089  FWD2nRY.clear();
2090  FWD2nSX.clear();
2091  FWD2nSY.clear();
2092 
2093  //muon clear
2094  DTRHD.clear();
2095  DTSHD.clear();
2096 
2097  CSCRHPHI.clear();
2098  CSCRHPERP.clear();
2099  CSCSHPHI.clear();
2100 
2101  RPCRHX.clear();
2102  RPCSHX.clear();
2103 
2104  return;
2105 }
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 2207 of file GlobalRecHitsProducer.cc.

References DTRHD, DTSHD, findBestRecHit(), DTHitQualityUtils::findMuSimHit(), DTGeometry::layer(), python.multivaluedict::map(), recHitDistFromWire(), and simHitDistFromWire().

Referenced by fillMuon().

2212  {
2213 
2214  std::map<DTWireId, std::vector<PSimHit> > simHitsPerWire = _simHitsPerWire;
2215  std::map<DTWireId, std::vector<type> > recHitsPerWire = _recHitsPerWire;
2216  int nDt = 0;
2217  // Loop over cells with a muon SimHit
2218  for(std::map<DTWireId, std::vector<PSimHit> >::const_iterator wireAndSHits =
2219  simHitsPerWire.begin();
2220  wireAndSHits != simHitsPerWire.end();
2221  wireAndSHits++) {
2222  DTWireId wireId = (*wireAndSHits).first;
2223  std::vector<PSimHit> simHitsInCell = (*wireAndSHits).second;
2224 
2225  // Get the layer
2226  const DTLayer* layer = dtGeom->layer(wireId);
2227 
2228  // Look for a mu hit in the cell
2229  const PSimHit* muSimHit = DTHitQualityUtils::findMuSimHit(simHitsInCell);
2230  if (muSimHit==0) {
2231  continue; // Skip this cell
2232  }
2233 
2234  // Find the distance of the simhit from the wire
2235  float simHitWireDist = simHitDistFromWire(layer, wireId, *muSimHit);
2236  // Skip simhits out of the cell
2237  if(simHitWireDist>2.1) {
2238  continue; // Skip this cell
2239  }
2240  //GlobalPoint simHitGlobalPos = layer->toGlobal(muSimHit->localPosition());
2241 
2242  // Look for RecHits in the same cell
2243  if(recHitsPerWire.find(wireId) == recHitsPerWire.end()) {
2244  continue; // No RecHit found in this cell
2245  } else {
2246 
2247  // vector<type> recHits = (*wireAndRecHits).second;
2248  std::vector<type> recHits = recHitsPerWire[wireId];
2249 
2250  // Find the best RecHit
2251  const type* theBestRecHit =
2252  findBestRecHit(layer, wireId, recHits, simHitWireDist);
2253 
2254  float recHitWireDist = recHitDistFromWire(*theBestRecHit, layer);
2255 
2256  ++nDt;
2257 
2258  DTRHD.push_back(recHitWireDist);
2259  DTSHD.push_back(simHitWireDist);
2260 
2261  } // find rechits
2262  } // loop over simhits
2263 
2264  return nDt;
2265 }
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)
static const PSimHit * findMuSimHit(const edm::PSimHitContainer &hits)
Select the SimHit from a muon in a vector of SimHits.
const DTLayer * layer(DTLayerId id) const
Return a layer given its id.
Definition: DTGeometry.cc:110
void GlobalRecHitsProducer::endJob ( void  )
virtual

Reimplemented from edm::EDProducer.

Definition at line 131 of file GlobalRecHitsProducer.cc.

References count, AlCaHLTBitMon_QueryRunRegistry::string, and verbosity.

132 {
133  std::string MsgLoggerCat = "GlobalRecHitsProducer_endJob";
134  if (verbosity >= 0)
135  edm::LogInfo(MsgLoggerCat)
136  << "Terminating having processed " << count << " events.";
137  return;
138 }
void GlobalRecHitsProducer::fillECal ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
private

Definition at line 242 of file GlobalRecHitsProducer.cc.

References edm::SortedCollection< T, SORT >::begin(), EBHits_Token_, EBRE, EBSHE, ECalEBSrc_Token_, ECalEESrc_Token_, ECalESSrc_Token_, ECalUncalEBSrc_Token_, ECalUncalEESrc_Token_, EEHits_Token_, EERE, EESHE, edm::SortedCollection< T, SORT >::end(), ESHits_Token_, ESRE, ESSHE, edm::SortedCollection< T, SORT >::find(), edm::Event::getByToken(), edm::HandleBase::isValid(), edm::Handle< T >::product(), DetId::rawId(), AlCaHLTBitMon_QueryRunRegistry::string, and verbosity.

Referenced by produce().

244 {
245  std::string MsgLoggerCat = "GlobalRecHitsProducer_fillECal";
246 
247  TString eventout;
248  if (verbosity > 0)
249  eventout = "\nGathering info:";
250 
251  // extract crossing frame from event
252  //edm::Handle<CrossingFrame> crossingFrame;
253  edm::Handle<CrossingFrame<PCaloHit> > crossingFrame;
254  //iEvent.getByType(crossingFrame);
255  //if (!crossingFrame.isValid()) {
256  // edm::LogWarning(MsgLoggerCat)
257  // << "Unable to find crossingFrame in event!";
258  // return;
259  //}
260 
262  //extract EB information
265  iEvent.getByToken(ECalUncalEBSrc_Token_, EcalUncalibRecHitEB);
266  if (!EcalUncalibRecHitEB.isValid()) {
267  edm::LogWarning(MsgLoggerCat)
268  << "Unable to find EcalUncalRecHitEB in event!";
269  return;
270  }
271 
272  edm::Handle<EBRecHitCollection> EcalRecHitEB;
273  iEvent.getByToken(ECalEBSrc_Token_, EcalRecHitEB);
274  if (!EcalRecHitEB.isValid()) {
275  edm::LogWarning(MsgLoggerCat)
276  << "Unable to find EcalRecHitEB in event!";
277  return;
278  }
279 
280  // loop over simhits
281  iEvent.getByToken(EBHits_Token_,crossingFrame);
282  if (!crossingFrame.isValid()) {
283  edm::LogWarning(MsgLoggerCat)
284  << "Unable to find cal barrel crossingFrame in event!";
285  return;
286  }
287  //std::auto_ptr<MixCollection<PCaloHit> >
288  // barrelHits(new MixCollection<PCaloHit>
289  // (crossingFrame.product(), barrelHitsName));
290  std::auto_ptr<MixCollection<PCaloHit> >
291  barrelHits(new MixCollection<PCaloHit>(crossingFrame.product()));
292 
293  // keep track of sum of simhit energy in each crystal
294  MapType ebSimMap;
296  = barrelHits->begin();
297  hitItr != barrelHits->end();
298  ++hitItr) {
299 
300  EBDetId ebid = EBDetId(hitItr->id());
301 
302  uint32_t crystid = ebid.rawId();
303  ebSimMap[crystid] += hitItr->energy();
304  }
305 
306  int nEBRecHits = 0;
307  // loop over RecHits
308  const EBUncalibratedRecHitCollection *EBUncalibRecHit =
309  EcalUncalibRecHitEB.product();
310  const EBRecHitCollection *EBRecHit = EcalRecHitEB.product();
311 
313  EBUncalibRecHit->begin();
314  uncalibRecHit != EBUncalibRecHit->end();
315  ++uncalibRecHit) {
316 
317  EBDetId EBid = EBDetId(uncalibRecHit->id());
318 
319  EcalRecHitCollection::const_iterator myRecHit = EBRecHit->find(EBid);
320 
321  if (myRecHit != EBRecHit->end()) {
322  ++nEBRecHits;
323  EBRE.push_back(myRecHit->energy());
324  EBSHE.push_back(ebSimMap[EBid.rawId()]);
325  }
326  }
327 
328  if (verbosity > 1) {
329  eventout += "\n Number of EBRecHits collected:............ ";
330  eventout += nEBRecHits;
331  }
332 
334  //extract EE information
337  iEvent.getByToken(ECalUncalEESrc_Token_, EcalUncalibRecHitEE);
338  if (!EcalUncalibRecHitEE.isValid()) {
339  edm::LogWarning(MsgLoggerCat)
340  << "Unable to find EcalUncalRecHitEE in event!";
341  return;
342  }
343 
344  edm::Handle<EERecHitCollection> EcalRecHitEE;
345  iEvent.getByToken(ECalEESrc_Token_, EcalRecHitEE);
346  if (!EcalRecHitEE.isValid()) {
347  edm::LogWarning(MsgLoggerCat)
348  << "Unable to find EcalRecHitEE in event!";
349  return;
350  }
351 
352  // loop over simhits
353  iEvent.getByToken(EEHits_Token_,crossingFrame);
354  if (!crossingFrame.isValid()) {
355  edm::LogWarning(MsgLoggerCat)
356  << "Unable to find cal endcap crossingFrame in event!";
357  return;
358  }
359  //std::auto_ptr<MixCollection<PCaloHit> >
360  // endcapHits(new MixCollection<PCaloHit>
361  // (crossingFrame.product(), endcapHitsName));
362  std::auto_ptr<MixCollection<PCaloHit> >
363  endcapHits(new MixCollection<PCaloHit>(crossingFrame.product()));
364 
365  // keep track of sum of simhit energy in each crystal
366  MapType eeSimMap;
368  = endcapHits->begin();
369  hitItr != endcapHits->end();
370  ++hitItr) {
371 
372  EEDetId eeid = EEDetId(hitItr->id());
373 
374  uint32_t crystid = eeid.rawId();
375  eeSimMap[crystid] += hitItr->energy();
376  }
377 
378  int nEERecHits = 0;
379  // loop over RecHits
380  const EEUncalibratedRecHitCollection *EEUncalibRecHit =
381  EcalUncalibRecHitEE.product();
382  const EERecHitCollection *EERecHit = EcalRecHitEE.product();
383 
385  EEUncalibRecHit->begin();
386  uncalibRecHit != EEUncalibRecHit->end();
387  ++uncalibRecHit) {
388 
389  EEDetId EEid = EEDetId(uncalibRecHit->id());
390 
391  EcalRecHitCollection::const_iterator myRecHit = EERecHit->find(EEid);
392 
393  if (myRecHit != EERecHit->end()) {
394  ++nEERecHits;
395  EERE.push_back(myRecHit->energy());
396  EESHE.push_back(eeSimMap[EEid.rawId()]);
397  }
398  }
399 
400  if (verbosity > 1) {
401  eventout += "\n Number of EERecHits collected:............ ";
402  eventout += nEERecHits;
403  }
404 
406  //extract ES information
408  edm::Handle<ESRecHitCollection> EcalRecHitES;
409  iEvent.getByToken(ECalESSrc_Token_, EcalRecHitES);
410  if (!EcalRecHitES.isValid()) {
411  edm::LogWarning(MsgLoggerCat)
412  << "Unable to find EcalRecHitES in event!";
413  return;
414  }
415 
416  // loop over simhits
417  iEvent.getByToken(ESHits_Token_,crossingFrame);
418  if (!crossingFrame.isValid()) {
419  edm::LogWarning(MsgLoggerCat)
420  << "Unable to find cal preshower crossingFrame in event!";
421  return;
422  }
423  //std::auto_ptr<MixCollection<PCaloHit> >
424  // preshowerHits(new MixCollection<PCaloHit>
425  // (crossingFrame.product(), preshowerHitsName));
426  std::auto_ptr<MixCollection<PCaloHit> >
427  preshowerHits(new MixCollection<PCaloHit>(crossingFrame.product()));
428 
429  // keep track of sum of simhit energy in each crystal
430  MapType esSimMap;
432  = preshowerHits->begin();
433  hitItr != preshowerHits->end();
434  ++hitItr) {
435 
436  ESDetId esid = ESDetId(hitItr->id());
437 
438  uint32_t crystid = esid.rawId();
439  esSimMap[crystid] += hitItr->energy();
440  }
441 
442  int nESRecHits = 0;
443  // loop over RecHits
444  const ESRecHitCollection *ESRecHit = EcalRecHitES.product();
446  ESRecHit->begin();
447  recHit != ESRecHit->end();
448  ++recHit) {
449 
450  ESDetId ESid = ESDetId(recHit->id());
451 
452  ++nESRecHits;
453  ESRE.push_back(recHit->energy());
454  ESSHE.push_back(esSimMap[ESid.rawId()]);
455  }
456 
457  if (verbosity > 1) {
458  eventout += "\n Number of ESRecHits collected:............ ";
459  eventout += nESRecHits;
460  }
461 
462  if (verbosity > 0)
463  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
464 
465  return;
466 }
edm::EDGetTokenT< CrossingFrame< PCaloHit > > EEHits_Token_
edm::EDGetTokenT< EBUncalibratedRecHitCollection > ECalUncalEBSrc_Token_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:434
edm::EDGetTokenT< EEUncalibratedRecHitCollection > ECalUncalEESrc_Token_
edm::EDGetTokenT< EERecHitCollection > ECalEESrc_Token_
std::vector< EcalUncalibratedRecHit >::const_iterator const_iterator
edm::EDGetTokenT< CrossingFrame< PCaloHit > > EBHits_Token_
uint32_t rawId() const
get the raw id
Definition: DetId.h:43
edm::EDGetTokenT< CrossingFrame< PCaloHit > > ESHits_Token_
std::map< uint32_t, float, std::less< uint32_t > > MapType
bool isValid() const
Definition: HandleBase.h:76
edm::EDGetTokenT< ESRecHitCollection > ECalESSrc_Token_
const_iterator end() const
T const * product() const
Definition: Handle.h:81
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 510 of file GlobalRecHitsProducer.cc.

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

Referenced by produce().

512 {
513  std::string MsgLoggerCat = "GlobalRecHitsProducer_fillHCal";
514 
515  TString eventout;
516  if (verbosity > 0)
517  eventout = "\nGathering info:";
518 
519  // get geometry
521  iSetup.get<CaloGeometryRecord>().get(geometry);
522  if (!geometry.isValid()) {
523  edm::LogWarning(MsgLoggerCat)
524  << "Unable to find CaloGeometry in event!";
525  return;
526  }
527 
529  // extract simhit info
532  iEvent.getByToken(HCalSrc_Token_,hcalHits);
533  if (!hcalHits.isValid()) {
534  edm::LogWarning(MsgLoggerCat)
535  << "Unable to find hcalHits in event!";
536  return;
537  }
538  const edm::PCaloHitContainer *simhitResult = hcalHits.product();
539 
540  MapType fHBEnergySimHits;
541  MapType fHEEnergySimHits;
542  MapType fHOEnergySimHits;
543  MapType fHFEnergySimHits;
544  for (std::vector<PCaloHit>::const_iterator simhits = simhitResult->begin();
545  simhits != simhitResult->end();
546  ++simhits) {
547 
548  HcalDetId detId(simhits->id());
549  uint32_t cellid = detId.rawId();
550 
551  if (detId.subdet() == sdHcalBrl){
552  fHBEnergySimHits[cellid] += simhits->energy();
553  }
554  if (detId.subdet() == sdHcalEC){
555  fHEEnergySimHits[cellid] += simhits->energy();
556  }
557  if (detId.subdet() == sdHcalOut){
558  fHOEnergySimHits[cellid] += simhits->energy();
559  }
560  if (detId.subdet() == sdHcalFwd){
561  fHFEnergySimHits[cellid] += simhits->energy();
562  }
563  }
564 
565  // max values to be used (HO is found in HB)
566  Double_t maxHBEnergy = 0.;
567  Double_t maxHEEnergy = 0.;
568  Double_t maxHFEnergy = 0.;
569 
570  Double_t maxHBPhi = -1000.;
571  Double_t maxHEPhi = -1000.;
572  Double_t maxHOPhi = -1000.;
573  Double_t maxHFPhi = -1000.;
574 
575  Double_t maxHBEta = -1000.;
576  Double_t maxHEEta = -1000.;
577  Double_t maxHOEta = -1000.;
578  Double_t maxHFEta = -1000.;
579 
580  Double_t PI = 3.141592653589;
581 
583  // get HBHE information
585  std::vector<edm::Handle<HBHERecHitCollection> > hbhe;
586  iEvent.getManyByType(hbhe);
587  if (!hbhe[0].isValid()) {
588  edm::LogWarning(MsgLoggerCat)
589  << "Unable to find any HBHERecHitCollections in event!";
590  return;
591  }
592  std::vector<edm::Handle<HBHERecHitCollection> >::iterator ihbhe;
593 
594  int iHB = 0;
595  int iHE = 0;
596  for (ihbhe = hbhe.begin(); ihbhe != hbhe.end(); ++ihbhe) {
597 
598  // find max values
599  for (HBHERecHitCollection::const_iterator jhbhe = (*ihbhe)->begin();
600  jhbhe != (*ihbhe)->end(); ++jhbhe) {
601 
602  HcalDetId cell(jhbhe->id());
603 
604  if (cell.subdet() == sdHcalBrl) {
605 
606  const CaloCellGeometry* cellGeometry =
607  geometry->getSubdetectorGeometry (cell)->getGeometry (cell) ;
608  double fEta = cellGeometry->getPosition().eta () ;
609  double fPhi = cellGeometry->getPosition().phi () ;
610  if ( (jhbhe->energy()) > maxHBEnergy ) {
611  maxHBEnergy = jhbhe->energy();
612  maxHBPhi = fPhi;
613  maxHOPhi = maxHBPhi;
614  maxHBEta = fEta;
615  maxHOEta = maxHBEta;
616  }
617  }
618 
619  if (cell.subdet() == sdHcalEC) {
620 
621  const CaloCellGeometry* cellGeometry =
622  geometry->getSubdetectorGeometry (cell)->getGeometry (cell) ;
623  double fEta = cellGeometry->getPosition().eta () ;
624  double fPhi = cellGeometry->getPosition().phi () ;
625  if ( (jhbhe->energy()) > maxHEEnergy ) {
626  maxHEEnergy = jhbhe->energy();
627  maxHEPhi = fPhi;
628  maxHEEta = fEta;
629  }
630  }
631  } // end find max values
632 
633  for (HBHERecHitCollection::const_iterator jhbhe = (*ihbhe)->begin();
634  jhbhe != (*ihbhe)->end(); ++jhbhe) {
635 
636  HcalDetId cell(jhbhe->id());
637 
638  if (cell.subdet() == sdHcalBrl) {
639 
640  ++iHB;
641 
642  const CaloCellGeometry* cellGeometry =
643  geometry->getSubdetectorGeometry (cell)->getGeometry (cell) ;
644  double fEta = cellGeometry->getPosition().eta () ;
645  double fPhi = cellGeometry->getPosition().phi () ;
646 
647  float deltaphi = maxHBPhi - fPhi;
648  if (fPhi > maxHBPhi) { deltaphi = fPhi - maxHBPhi;}
649  if (deltaphi > PI) { deltaphi = 2.0 * PI - deltaphi;}
650  float deltaeta = fEta - maxHBEta;
651  Double_t r = sqrt(deltaeta * deltaeta + deltaphi * deltaphi);
652 
653  HBCalREC.push_back(jhbhe->energy());
654  HBCalR.push_back(r);
655  HBCalSHE.push_back(fHBEnergySimHits[cell.rawId()]);
656  }
657 
658  if (cell.subdet() == sdHcalEC) {
659 
660  ++iHE;
661 
662  const CaloCellGeometry* cellGeometry =
663  geometry->getSubdetectorGeometry (cell)->getGeometry (cell) ;
664  double fEta = cellGeometry->getPosition().eta () ;
665  double fPhi = cellGeometry->getPosition().phi () ;
666 
667  float deltaphi = maxHEPhi - fPhi;
668  if (fPhi > maxHEPhi) { deltaphi = fPhi - maxHEPhi;}
669  if (deltaphi > PI) { deltaphi = 2.0 * PI - deltaphi;}
670  float deltaeta = fEta - maxHEEta;
671  Double_t r = sqrt(deltaeta * deltaeta + deltaphi * deltaphi);
672 
673  HECalREC.push_back(jhbhe->energy());
674  HECalR.push_back(r);
675  HECalSHE.push_back(fHEEnergySimHits[cell.rawId()]);
676  }
677  }
678  } // end loop through collection
679 
680 
681  if (verbosity > 1) {
682  eventout += "\n Number of HBRecHits collected:............ ";
683  eventout += iHB;
684  }
685 
686  if (verbosity > 1) {
687  eventout += "\n Number of HERecHits collected:............ ";
688  eventout += iHE;
689  }
690 
692  // get HF information
694  std::vector<edm::Handle<HFRecHitCollection> > hf;
695  iEvent.getManyByType(hf);
696  if (!hf[0].isValid()) {
697  edm::LogWarning(MsgLoggerCat)
698  << "Unable to find any HFRecHitCollections in event!";
699  return;
700  }
701  std::vector<edm::Handle<HFRecHitCollection> >::iterator ihf;
702 
703  int iHF = 0;
704  for (ihf = hf.begin(); ihf != hf.end(); ++ihf) {
705 
706  // find max values
707  for (HFRecHitCollection::const_iterator jhf = (*ihf)->begin();
708  jhf != (*ihf)->end(); ++jhf) {
709 
710  HcalDetId cell(jhf->id());
711 
712  if (cell.subdet() == sdHcalFwd) {
713 
714  const CaloCellGeometry* cellGeometry =
715  geometry->getSubdetectorGeometry (cell)->getGeometry (cell) ;
716  double fEta = cellGeometry->getPosition().eta () ;
717  double fPhi = cellGeometry->getPosition().phi () ;
718  if ( (jhf->energy()) > maxHFEnergy ) {
719  maxHFEnergy = jhf->energy();
720  maxHFPhi = fPhi;
721  maxHFEta = fEta;
722  }
723  }
724  } // end find max values
725 
726  for (HFRecHitCollection::const_iterator jhf = (*ihf)->begin();
727  jhf != (*ihf)->end(); ++jhf) {
728 
729  HcalDetId cell(jhf->id());
730 
731  if (cell.subdet() == sdHcalFwd) {
732 
733  ++iHF;
734 
735  const CaloCellGeometry* cellGeometry =
736  geometry->getSubdetectorGeometry (cell)->getGeometry (cell) ;
737  double fEta = cellGeometry->getPosition().eta () ;
738  double fPhi = cellGeometry->getPosition().phi () ;
739 
740  float deltaphi = maxHBPhi - fPhi;
741  if (fPhi > maxHFPhi) { deltaphi = fPhi - maxHFPhi;}
742  if (deltaphi > PI) { deltaphi = 2.0 * PI - deltaphi;}
743  float deltaeta = fEta - maxHFEta;
744  Double_t r = sqrt(deltaeta * deltaeta + deltaphi * deltaphi);
745 
746  HFCalREC.push_back(jhf->energy());
747  HFCalR.push_back(r);
748  HFCalSHE.push_back(fHFEnergySimHits[cell.rawId()]);
749  }
750  }
751  } // end loop through collection
752 
753  if (verbosity > 1) {
754  eventout += "\n Number of HFDigis collected:.............. ";
755  eventout += iHF;
756  }
757 
759  // get HO information
761  std::vector<edm::Handle<HORecHitCollection> > ho;
762  iEvent.getManyByType(ho);
763  if (!ho[0].isValid()) {
764  edm::LogWarning(MsgLoggerCat)
765  << "Unable to find any HORecHitCollections in event!";
766  return;
767  }
768  std::vector<edm::Handle<HORecHitCollection> >::iterator iho;
769 
770  int iHO = 0;
771  for (iho = ho.begin(); iho != ho.end(); ++iho) {
772 
773  for (HORecHitCollection::const_iterator jho = (*iho)->begin();
774  jho != (*iho)->end(); ++jho) {
775 
776  HcalDetId cell(jho->id());
777 
778  if (cell.subdet() == sdHcalOut) {
779 
780  ++iHO;
781 
782  const CaloCellGeometry* cellGeometry =
783  geometry->getSubdetectorGeometry (cell)->getGeometry (cell) ;
784  double fEta = cellGeometry->getPosition().eta () ;
785  double fPhi = cellGeometry->getPosition().phi () ;
786 
787  float deltaphi = maxHOPhi - fPhi;
788  if (fPhi > maxHOPhi) { deltaphi = fPhi - maxHOPhi;}
789  if (deltaphi > PI) { deltaphi = 2.0 * PI - deltaphi;}
790  float deltaeta = fEta - maxHOEta;
791  Double_t r = sqrt(deltaeta * deltaeta + deltaphi * deltaphi);
792 
793  HOCalREC.push_back(jho->energy());
794  HOCalR.push_back(r);
795  HOCalSHE.push_back(fHOEnergySimHits[cell.rawId()]);
796  }
797  }
798  } // end loop through collection
799 
800  if (verbosity > 1) {
801  eventout += "\n Number of HODigis collected:.............. ";
802  eventout += iHO;
803  }
804 
805  if (verbosity > 0)
806  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
807 
808  return;
809 }
void getManyByType(std::vector< Handle< PROD > > &results) const
Definition: Event.h:424
edm::EDGetTokenT< edm::PCaloHitContainer > HCalSrc_Token_
std::vector< PCaloHit > PCaloHitContainer
int ihf
static const int sdHcalOut
#define PI
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:434
Geom::Phi< T > phi() const
Definition: PV3DBase.h:69
std::vector< HBHERecHit >::const_iterator const_iterator
uint32_t rawId() const
get the raw id
Definition: DetId.h:43
T sqrt(T t)
Definition: SSEVec.h:48
std::map< uint32_t, float, std::less< uint32_t > > MapType
bool isValid() const
Definition: HandleBase.h:76
const T & get() const
Definition: EventSetup.h:55
static const int sdHcalFwd
T const * product() const
Definition: Handle.h:81
static const int sdHcalBrl
T eta() const
Definition: PV3DBase.h:76
ESHandle< TrackerGeometry > geometry
bool isValid() const
Definition: ESHandle.h:37
const GlobalPoint & getPosition() const
Returns the position of reference for this cell.
static const int sdHcalEC
void GlobalRecHitsProducer::fillMuon ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
private

Definition at line 1674 of file GlobalRecHitsProducer.cc.

References CSCLayer::chamber(), CSCChamberSpecs::chamberType(), compute(), CSCDetId, edm::EventSetup::get(), edm::Event::getByToken(), i, CSCGeometry::idToDetUnit(), RPCRoll::isForward(), edm::ESHandleBase::isValid(), edm::HandleBase::isValid(), getDQMSummary::iter, map1DRecHitsPerWire(), DTHitQualityUtils::mapSimHitsPerWire(), MuCSCHits_Token_, MuCSCSrc_Token_, MuDTSimSrc_Token_, MuDTSrc_Token_, MuRPCSimSrc_Token_, MuRPCSrc_Token_, plotResolution(), edm::Handle< T >::product(), edm::ESHandle< class >::product(), alignCSCRings::r, RPCDetId, RPCRHX, RPCSHX, trackerHits::simHits, CSCChamber::specs(), AlCaHLTBitMon_QueryRunRegistry::string, theMap, verbosity, and PV3DBase< T, PVType, FrameType >::x().

Referenced by produce().

1676 {
1677  std::string MsgLoggerCat = "GlobalRecHitsProducer_fillMuon";
1678 
1679  TString eventout;
1680  if (verbosity > 0)
1681  eventout = "\nGathering info:";
1682 
1683  // get DT information
1685  iSetup.get<MuonGeometryRecord>().get(dtGeom);
1686  if (!dtGeom.isValid()) {
1687  edm::LogWarning(MsgLoggerCat)
1688  << "Unable to find DTMuonGeometryRecord in event!";
1689  return;
1690  }
1691 
1693  iEvent.getByToken(MuDTSimSrc_Token_, dtsimHits);
1694  if (!dtsimHits.isValid()) {
1695  edm::LogWarning(MsgLoggerCat)
1696  << "Unable to find dtsimHits in event!";
1697  return;
1698  }
1699 
1700  std::map<DTWireId, edm::PSimHitContainer> simHitsPerWire =
1702 
1704  iEvent.getByToken(MuDTSrc_Token_, dtRecHits);
1705  if (!dtRecHits.isValid()) {
1706  edm::LogWarning(MsgLoggerCat)
1707  << "Unable to find dtRecHits in event!";
1708  return;
1709  }
1710 
1711  std::map<DTWireId, std::vector<DTRecHit1DPair> > recHitsPerWire =
1712  map1DRecHitsPerWire(dtRecHits.product());
1713 
1714 
1715  int nDt = compute(dtGeom.product(), simHitsPerWire, recHitsPerWire, 1);
1716 
1717  if (verbosity > 1) {
1718  eventout += "\n Number of DtMuonRecHits collected:........ ";
1719  eventout += nDt;
1720  }
1721 
1722  // get CSC Strip information
1723  // get map of sim hits
1724  theMap.clear();
1725  //edm::Handle<CrossingFrame> cf;
1727  //iEvent.getByType(cf);
1728  //if (!cf.isValid()) {
1729  // edm::LogWarning(MsgLoggerCat)
1730  // << "Unable to find CrossingFrame in event!";
1731  // return;
1732  //}
1733  //MixCollection<PSimHit> simHits(cf.product(), "MuonCSCHits");
1734  iEvent.getByToken(MuCSCHits_Token_,cf);
1735  if (!cf.isValid()) {
1736  edm::LogWarning(MsgLoggerCat)
1737  << "Unable to find muo CSC crossingFrame in event!";
1738  return;
1739  }
1741 
1742  // arrange the hits by detUnit
1743  for(MixCollection<PSimHit>::MixItr hitItr = simHits.begin();
1744  hitItr != simHits.end(); ++hitItr)
1745  {
1746  theMap[hitItr->detUnitId()].push_back(*hitItr);
1747  }
1748 
1749  // get geometry
1751  iSetup.get<MuonGeometryRecord>().get(hGeom);
1752  if (!hGeom.isValid()) {
1753  edm::LogWarning(MsgLoggerCat)
1754  << "Unable to find CSCMuonGeometryRecord in event!";
1755  return;
1756  }
1757  const CSCGeometry *theCSCGeometry = &*hGeom;
1758 
1759  // get rechits
1761  iEvent.getByToken(MuCSCSrc_Token_, hRecHits);
1762  if (!hRecHits.isValid()) {
1763  edm::LogWarning(MsgLoggerCat)
1764  << "Unable to find CSC RecHits in event!";
1765  return;
1766  }
1767  const CSCRecHit2DCollection *cscRecHits = hRecHits.product();
1768 
1769  int nCSC = 0;
1770  for (CSCRecHit2DCollection::const_iterator recHitItr = cscRecHits->begin();
1771  recHitItr != cscRecHits->end(); ++recHitItr) {
1772 
1773  int detId = (*recHitItr).cscDetId().rawId();
1774 
1776  std::map<int, edm::PSimHitContainer>::const_iterator mapItr =
1777  theMap.find(detId);
1778  if (mapItr != theMap.end()) {
1779  simHits = mapItr->second;
1780  }
1781 
1782  if (simHits.size() == 1) {
1783  ++nCSC;
1784 
1785  const GeomDetUnit* detUnit =
1786  theCSCGeometry->idToDetUnit(CSCDetId(detId));
1787  const CSCLayer *layer = dynamic_cast<const CSCLayer *>(detUnit);
1788 
1789  int chamberType = layer->chamber()->specs()->chamberType();
1790  plotResolution(simHits[0], *recHitItr, layer, chamberType);
1791  }
1792  }
1793 
1794  if (verbosity > 1) {
1795  eventout += "\n Number of CSCRecHits collected:........... ";
1796  eventout += nCSC;
1797  }
1798 
1799  // get RPC information
1800  std::map<double, int> mapsim, maprec;
1801  std::map<int, double> nmapsim, nmaprec;
1802 
1804  iSetup.get<MuonGeometryRecord>().get(rpcGeom);
1805  if (!rpcGeom.isValid()) {
1806  edm::LogWarning(MsgLoggerCat)
1807  << "Unable to find RPCMuonGeometryRecord in event!";
1808  return;
1809  }
1810 
1812  iEvent.getByToken(MuRPCSimSrc_Token_, simHit);
1813  if (!simHit.isValid()) {
1814  edm::LogWarning(MsgLoggerCat)
1815  << "Unable to find RPCSimHit in event!";
1816  return;
1817  }
1818 
1820  iEvent.getByToken(MuRPCSrc_Token_, recHit);
1821  if (!simHit.isValid()) {
1822  edm::LogWarning(MsgLoggerCat)
1823  << "Unable to find RPCRecHit in event!";
1824  return;
1825  }
1826 
1827  int nRPC = 0;
1829  int nrec = 0;
1830  for (recIt = recHit->begin(); recIt != recHit->end(); ++recIt) {
1831  RPCDetId Rid = (RPCDetId)(*recIt).rpcId();
1832  const RPCRoll *roll = dynamic_cast<const RPCRoll*>(rpcGeom->roll(Rid));
1833  if (roll->isForward()) {
1834 
1835  if (verbosity > 1) {
1836  eventout += "\n Number of RPCRecHits collected:........... ";
1837  eventout += nRPC;
1838  }
1839 
1840  if (verbosity > 0)
1841  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
1842  return;
1843  }
1844  nrec = nrec + 1;
1845  LocalPoint rhitlocal = (*recIt).localPosition();
1846  double rhitlocalx = rhitlocal.x();
1847  maprec[rhitlocalx] = nrec;
1848  }
1849 
1850  int i = 0;
1851  for (std::map<double,int>::iterator iter = maprec.begin();
1852  iter != maprec.end(); ++iter) {
1853  i = i + 1;
1854  nmaprec[i] = (*iter).first;
1855  }
1856 
1857  edm::PSimHitContainer::const_iterator simIt;
1858  int nsim = 0;
1859  for (simIt = simHit->begin(); simIt != simHit->end(); simIt++) {
1860  int ptype = (*simIt).particleType();
1861  //RPCDetId Rsid = (RPCDetId)(*simIt).detUnitId();
1862  if (ptype == 13 || ptype == -13) {
1863  nsim = nsim + 1;
1864  LocalPoint shitlocal = (*simIt).localPosition();
1865  double shitlocalx = shitlocal.x();
1866  mapsim[shitlocalx] = nsim;
1867  }
1868  }
1869 
1870  i = 0;
1871  for (std::map<double,int>::iterator iter = mapsim.begin();
1872  iter != mapsim.end(); ++iter) {
1873  i = i + 1;
1874  nmapsim[i] = (*iter).first;
1875  }
1876 
1877  if (nsim == nrec) {
1878  for (int r = 0; r < nsim; r++) {
1879  ++nRPC;
1880  RPCRHX.push_back(nmaprec[r+1]);
1881  RPCSHX.push_back(nmapsim[r+1]);
1882  }
1883  }
1884 
1885  if (verbosity > 1) {
1886  eventout += "\n Number of RPCRecHits collected:........... ";
1887  eventout += nRPC;
1888  }
1889 
1890  if (verbosity > 0)
1891  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
1892 
1893  return;
1894 }
edm::EDGetTokenT< edm::PSimHitContainer > MuDTSimSrc_Token_
int i
Definition: DBlmapReader.cc:9
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:434
std::map< int, edm::PSimHitContainer > theMap
edm::EDGetTokenT< CrossingFrame< PSimHit > > MuCSCHits_Token_
const CSCChamberSpecs * specs() const
Definition: CSCChamber.h:42
void plotResolution(const PSimHit &simHit, const CSCRecHit2D &recHit, const CSCLayer *layer, int chamberType)
bool isValid() const
Definition: HandleBase.h:76
edm::EDGetTokenT< CSCRecHit2DCollection > MuCSCSrc_Token_
edm::EDGetTokenT< DTRecHitCollection > MuDTSrc_Token_
edm::EDGetTokenT< RPCRecHitCollection > MuRPCSrc_Token_
int chamberType() const
const T & get() const
Definition: EventSetup.h:55
T const * product() const
Definition: ESHandle.h:62
tuple simHits
Definition: trackerHits.py:16
T const * product() const
Definition: Handle.h:81
virtual const GeomDetUnit * idToDetUnit(DetId) const override
Return the pointer to the GeomDetUnit corresponding to a given DetId.
Definition: CSCGeometry.cc:93
std::vector< PSimHit > PSimHitContainer
static std::map< DTWireId, edm::PSimHitContainer > mapSimHitsPerWire(const edm::PSimHitContainer &simhits)
bool isValid() const
Definition: ESHandle.h:37
T x() const
Definition: PV3DBase.h:62
bool isForward() const
Definition: RPCRoll.cc:98
int compute(const DTGeometry *dtGeom, const std::map< DTWireId, std::vector< PSimHit > > &simHitsPerWire, const std::map< DTWireId, std::vector< type > > &recHitsPerWire, int step)
edm::EDGetTokenT< edm::PSimHitContainer > MuRPCSimSrc_Token_
const CSCChamber * chamber() const
Definition: CSCLayer.h:52
std::map< DTWireId, std::vector< DTRecHit1DPair > > map1DRecHitsPerWire(const DTRecHitCollection *dt1DRecHitPairs)
void GlobalRecHitsProducer::fillTrk ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
private

Definition at line 872 of file GlobalRecHitsProducer.cc.

References TrackerHitAssociator::associateHit(), edmNew::DetSet< T >::begin(), BRL1RX, BRL1RY, BRL1SX, BRL1SY, BRL2RX, BRL2RY, BRL2SX, BRL2SY, BRL3RX, BRL3RY, BRL3SX, BRL3SY, conf_, cond::rpcobgas::detid, edmNew::DetSet< T >::end(), 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(), m, matched, position, edm::ESHandle< class >::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(), patCandidatesForDimuonsSequences_cff::tracker, verbosity, PV3DBase< T, PVType, FrameType >::x(), and PV3DBase< T, PVType, FrameType >::y().

Referenced by produce().

874 {
875  //Retrieve tracker topology from geometry
876  edm::ESHandle<TrackerTopology> tTopoHandle;
877  iSetup.get<IdealGeometryRecord>().get(tTopoHandle);
878  const TrackerTopology* const tTopo = tTopoHandle.product();
879 
880 
881  std::string MsgLoggerCat = "GlobalRecHitsProducer_fillTrk";
882 
883  TString eventout;
884  if (verbosity > 0)
885  eventout = "\nGathering info:";
886 
887  // get strip information
889  iEvent.getByToken(SiStripSrc_Token_, rechitsmatched);
890  if (!rechitsmatched.isValid()) {
891  edm::LogWarning(MsgLoggerCat)
892  << "Unable to find stripmatchedrechits in event!";
893  return;
894  }
895 
896  TrackerHitAssociator associate(iEvent,conf_);
897 
899  iSetup.get<TrackerDigiGeometryRecord>().get(pDD);
900  if (!pDD.isValid()) {
901  edm::LogWarning(MsgLoggerCat)
902  << "Unable to find TrackerDigiGeometry in event!";
903  return;
904  }
905  const TrackerGeometry &tracker(*pDD);
906 
907  int nStripBrl = 0, nStripFwd = 0;
908 
909  // loop over det units
910  for (TrackerGeometry::DetContainer::const_iterator it = pDD->dets().begin();
911  it != pDD->dets().end(); ++it) {
912 
913  uint32_t myid = ((*it)->geographicalId()).rawId();
914  DetId detid = ((*it)->geographicalId());
915 
916  //loop over rechits-matched in the same subdetector
917  SiStripMatchedRecHit2DCollection::const_iterator rechitmatchedMatch = rechitsmatched->find(detid);
918 
919  if (rechitmatchedMatch != rechitsmatched->end()) {
920  SiStripMatchedRecHit2DCollection::DetSet rechitmatchedRange = *rechitmatchedMatch;
921  SiStripMatchedRecHit2DCollection::DetSet::const_iterator rechitmatchedRangeIteratorBegin = rechitmatchedRange.begin();
922  SiStripMatchedRecHit2DCollection::DetSet::const_iterator rechitmatchedRangeIteratorEnd = rechitmatchedRange.end();
923  SiStripMatchedRecHit2DCollection::DetSet::const_iterator itermatched = rechitmatchedRangeIteratorBegin;
924 
925  for ( itermatched = rechitmatchedRangeIteratorBegin;
926  itermatched != rechitmatchedRangeIteratorEnd;
927  ++itermatched) {
928 
929  SiStripMatchedRecHit2D const rechit = *itermatched;
930  LocalPoint position = rechit.localPosition();
931 
932  float mindist = 999999.;
933  float distx = 999999.;
934  float disty = 999999.;
935  float dist = 999999.;
936  std::pair<LocalPoint,LocalVector> closestPair;
937  matched.clear();
938 
939  float rechitmatchedx = position.x();
940  float rechitmatchedy = position.y();
941 
942  matched = associate.associateHit(rechit);
943 
944  if (!matched.empty()) {
945  //project simhit;
946  const GluedGeomDet* gluedDet =
947  (const GluedGeomDet*)tracker.idToDet(rechit.geographicalId());
948  const StripGeomDetUnit* partnerstripdet =
949  (StripGeomDetUnit*) gluedDet->stereoDet();
950  std::pair<LocalPoint,LocalVector> hitPair;
951 
952  for(std::vector<PSimHit>::const_iterator m = matched.begin();
953  m != matched.end(); m++){
954  //project simhit;
955  hitPair = projectHit((*m),partnerstripdet,gluedDet->surface());
956  distx = fabs(rechitmatchedx - hitPair.first.x());
957  disty = fabs(rechitmatchedy - hitPair.first.y());
958  dist = sqrt(distx*distx+disty*disty);
959 
960  if(dist < mindist){
961  mindist = dist;
962  closestPair = hitPair;
963  }
964  }
965 
966  // get TIB
967  if (detid.subdetId() == sdSiTIB) {
968 
969 
970  ++nStripBrl;
971 
972  if (tTopo->tibLayer(myid) == 1) {
973  TIBL1RX.push_back(rechitmatchedx);
974  TIBL1RY.push_back(rechitmatchedy);
975  TIBL1SX.push_back(closestPair.first.x());
976  TIBL1SY.push_back(closestPair.first.y());
977  }
978  if (tTopo->tibLayer(myid) == 2) {
979  TIBL2RX.push_back(rechitmatchedx);
980  TIBL2RY.push_back(rechitmatchedy);
981  TIBL2SX.push_back(closestPair.first.x());
982  TIBL2SY.push_back(closestPair.first.y());
983  }
984  if (tTopo->tibLayer(myid) == 3) {
985  TIBL3RX.push_back(rechitmatchedx);
986  TIBL3RY.push_back(rechitmatchedy);
987  TIBL3SX.push_back(closestPair.first.x());
988  TIBL3SY.push_back(closestPair.first.y());
989  }
990  if (tTopo->tibLayer(myid) == 4) {
991  TIBL4RX.push_back(rechitmatchedx);
992  TIBL4RY.push_back(rechitmatchedy);
993  TIBL4SX.push_back(closestPair.first.x());
994  TIBL4SY.push_back(closestPair.first.y());
995  }
996  }
997 
998  // get TOB
999  if (detid.subdetId() == sdSiTOB) {
1000 
1001 
1002  ++nStripBrl;
1003 
1004  if (tTopo->tobLayer(myid) == 1) {
1005  TOBL1RX.push_back(rechitmatchedx);
1006  TOBL1RY.push_back(rechitmatchedy);
1007  TOBL1SX.push_back(closestPair.first.x());
1008  TOBL1SY.push_back(closestPair.first.y());
1009  }
1010  if (tTopo->tobLayer(myid) == 2) {
1011  TOBL2RX.push_back(rechitmatchedx);
1012  TOBL2RY.push_back(rechitmatchedy);
1013  TOBL2SX.push_back(closestPair.first.x());
1014  TOBL2SY.push_back(closestPair.first.y());
1015  }
1016  if (tTopo->tobLayer(myid) == 3) {
1017  TOBL3RX.push_back(rechitmatchedx);
1018  TOBL3RY.push_back(rechitmatchedy);
1019  TOBL3SX.push_back(closestPair.first.x());
1020  TOBL3SY.push_back(closestPair.first.y());
1021  }
1022  if (tTopo->tobLayer(myid) == 4) {
1023  TOBL4RX.push_back(rechitmatchedx);
1024  TOBL4RY.push_back(rechitmatchedy);
1025  TOBL4SX.push_back(closestPair.first.x());
1026  TOBL4SY.push_back(closestPair.first.y());
1027  }
1028  }
1029 
1030  // get TID
1031  if (detid.subdetId() == sdSiTID) {
1032 
1033 
1034  ++nStripFwd;
1035 
1036  if (tTopo->tidWheel(myid) == 1) {
1037  TIDW1RX.push_back(rechitmatchedx);
1038  TIDW1RY.push_back(rechitmatchedy);
1039  TIDW1SX.push_back(closestPair.first.x());
1040  TIDW1SY.push_back(closestPair.first.y());
1041  }
1042  if (tTopo->tidWheel(myid) == 2) {
1043  TIDW2RX.push_back(rechitmatchedx);
1044  TIDW2RY.push_back(rechitmatchedy);
1045  TIDW2SX.push_back(closestPair.first.x());
1046  TIDW2SY.push_back(closestPair.first.y());
1047  }
1048  if (tTopo->tidWheel(myid) == 3) {
1049  TIDW3RX.push_back(rechitmatchedx);
1050  TIDW3RY.push_back(rechitmatchedy);
1051  TIDW3SX.push_back(closestPair.first.x());
1052  TIDW3SY.push_back(closestPair.first.y());
1053  }
1054  }
1055 
1056  // get TEC
1057  if (detid.subdetId() == sdSiTEC) {
1058 
1059 
1060  ++nStripFwd;
1061 
1062  if (tTopo->tecWheel(myid) == 1) {
1063  TECW1RX.push_back(rechitmatchedx);
1064  TECW1RY.push_back(rechitmatchedy);
1065  TECW1SX.push_back(closestPair.first.x());
1066  TECW1SY.push_back(closestPair.first.y());
1067  }
1068  if (tTopo->tecWheel(myid) == 2) {
1069  TECW2RX.push_back(rechitmatchedx);
1070  TECW2RY.push_back(rechitmatchedy);
1071  TECW2SX.push_back(closestPair.first.x());
1072  TECW2SY.push_back(closestPair.first.y());
1073  }
1074  if (tTopo->tecWheel(myid) == 3) {
1075  TECW3RX.push_back(rechitmatchedx);
1076  TECW3RY.push_back(rechitmatchedy);
1077  TECW3SX.push_back(closestPair.first.x());
1078  TECW3SY.push_back(closestPair.first.y());
1079  }
1080  if (tTopo->tecWheel(myid) == 4) {
1081  TECW4RX.push_back(rechitmatchedx);
1082  TECW4RY.push_back(rechitmatchedy);
1083  TECW4SX.push_back(closestPair.first.x());
1084  TECW4SY.push_back(closestPair.first.y());
1085  }
1086  if (tTopo->tecWheel(myid) == 5) {
1087  TECW5RX.push_back(rechitmatchedx);
1088  TECW5RY.push_back(rechitmatchedy);
1089  TECW5SX.push_back(closestPair.first.x());
1090  TECW5SY.push_back(closestPair.first.y());
1091  }
1092  if (tTopo->tecWheel(myid) == 6) {
1093  TECW6RX.push_back(rechitmatchedx);
1094  TECW6RY.push_back(rechitmatchedy);
1095  TECW6SX.push_back(closestPair.first.x());
1096  TECW6SY.push_back(closestPair.first.y());
1097  }
1098  if (tTopo->tecWheel(myid) == 7) {
1099  TECW7RX.push_back(rechitmatchedx);
1100  TECW7RY.push_back(rechitmatchedy);
1101  TECW7SX.push_back(closestPair.first.x());
1102  TECW7SY.push_back(closestPair.first.y());
1103  }
1104  if (tTopo->tecWheel(myid) == 8) {
1105  TECW8RX.push_back(rechitmatchedx);
1106  TECW8RY.push_back(rechitmatchedy);
1107  TECW8SX.push_back(closestPair.first.x());
1108  TECW8SY.push_back(closestPair.first.y());
1109  }
1110  }
1111 
1112  } // end if matched empty
1113  }
1114  }
1115  } // end loop over det units
1116 
1117  if (verbosity > 1) {
1118  eventout += "\n Number of BrlStripRecHits collected:...... ";
1119  eventout += nStripBrl;
1120  }
1121 
1122  if (verbosity > 1) {
1123  eventout += "\n Number of FrwdStripRecHits collected:..... ";
1124  eventout += nStripFwd;
1125  }
1126 
1127  // get pixel information
1128  //Get RecHits
1130  iEvent.getByToken(SiPxlSrc_Token_, recHitColl);
1131  if (!recHitColl.isValid()) {
1132  edm::LogWarning(MsgLoggerCat)
1133  << "Unable to find SiPixelRecHitCollection in event!";
1134  return;
1135  }
1136 
1137  //Get event setup
1139  iSetup.get<TrackerDigiGeometryRecord>().get(geom);
1140  if (!geom.isValid()) {
1141  edm::LogWarning(MsgLoggerCat)
1142  << "Unable to find TrackerDigiGeometry in event!";
1143  return;
1144  }
1145  //const TrackerGeometry& theTracker(*geom);
1146 
1147  int nPxlBrl = 0, nPxlFwd = 0;
1148  //iterate over detunits
1149  for (TrackerGeometry::DetContainer::const_iterator it = geom->dets().begin();
1150  it != geom->dets().end(); ++it) {
1151 
1152  uint32_t myid = ((*it)->geographicalId()).rawId();
1153  DetId detId = ((*it)->geographicalId());
1154  int subid = detId.subdetId();
1155 
1156  if (! ((subid == sdPxlBrl) || (subid == sdPxlFwd))) continue;
1157 
1158  //const PixelGeomDetUnit * theGeomDet =
1159  // dynamic_cast<const PixelGeomDetUnit*>(theTracker.idToDet(detId) );
1160 
1161  SiPixelRecHitCollection::const_iterator pixeldet = recHitColl->find(detId);
1162  if (pixeldet == recHitColl->end()) continue;
1163  SiPixelRecHitCollection::DetSet pixelrechitRange = *pixeldet;
1164  SiPixelRecHitCollection::DetSet::const_iterator pixelrechitRangeIteratorBegin = pixelrechitRange.begin();
1165  SiPixelRecHitCollection::DetSet::const_iterator pixelrechitRangeIteratorEnd = pixelrechitRange.end();
1166  SiPixelRecHitCollection::DetSet::const_iterator pixeliter = pixelrechitRangeIteratorBegin;
1167  std::vector<PSimHit> matched;
1168 
1169  //----Loop over rechits for this detId
1170  for ( ; pixeliter != pixelrechitRangeIteratorEnd; ++pixeliter) {
1171 
1172  matched.clear();
1173  matched = associate.associateHit(*pixeliter);
1174 
1175  if ( !matched.empty() ) {
1176 
1177  float closest = 9999.9;
1178  //std::vector<PSimHit>::const_iterator closestit = matched.begin();
1179  LocalPoint lp = pixeliter->localPosition();
1180  float rechit_x = lp.x();
1181  float rechit_y = lp.y();
1182 
1183  float sim_x = 0.;
1184  float sim_y = 0.;
1185 
1186  //loop over sim hits and fill closet
1187  for (std::vector<PSimHit>::const_iterator m = matched.begin();
1188  m != matched.end(); ++m) {
1189 
1190  float sim_x1 = (*m).entryPoint().x();
1191  float sim_x2 = (*m).exitPoint().x();
1192  float sim_xpos = 0.5*(sim_x1+sim_x2);
1193 
1194  float sim_y1 = (*m).entryPoint().y();
1195  float sim_y2 = (*m).exitPoint().y();
1196  float sim_ypos = 0.5*(sim_y1+sim_y2);
1197 
1198  float x_res = fabs(sim_xpos - rechit_x);
1199  float y_res = fabs(sim_ypos - rechit_y);
1200 
1201  float dist = sqrt(x_res*x_res + y_res*y_res);
1202 
1203  if ( dist < closest ) {
1204  closest = dist;
1205  sim_x = sim_xpos;
1206  sim_y = sim_ypos;
1207  }
1208  } // end sim hit loop
1209 
1210  // get Barrel pixels
1211  if (subid == sdPxlBrl) {
1212 
1213  ++nPxlBrl;
1214 
1215  if (tTopo->pxbLayer(myid) == 1) {
1216  BRL1RX.push_back(rechit_x);
1217  BRL1RY.push_back(rechit_y);
1218  BRL1SX.push_back(sim_x);
1219  BRL1SY.push_back(sim_y);
1220  }
1221  if (tTopo->pxbLayer(myid) == 2) {
1222  BRL2RX.push_back(rechit_x);
1223  BRL2RY.push_back(rechit_y);
1224  BRL2SX.push_back(sim_x);
1225  BRL2SY.push_back(sim_y);
1226  }
1227  if (tTopo->pxbLayer(myid) == 3) {
1228  BRL3RX.push_back(rechit_x);
1229  BRL3RY.push_back(rechit_y);
1230  BRL3SX.push_back(sim_x);
1231  BRL3SY.push_back(sim_y);
1232  }
1233  }
1234 
1235  // get Forward pixels
1236  if (subid == sdPxlFwd) {
1237 
1238  ++nPxlFwd;
1239 
1240  if (tTopo->pxfDisk(myid) == 1) {
1241  if (tTopo->pxfSide(myid) == 1) {
1242  FWD1nRX.push_back(rechit_x);
1243  FWD1nRY.push_back(rechit_y);
1244  FWD1nSX.push_back(sim_x);
1245  FWD1nSY.push_back(sim_y);
1246  }
1247  if (tTopo->pxfSide(myid) == 2) {
1248  FWD1pRX.push_back(rechit_x);
1249  FWD1pRY.push_back(rechit_y);
1250  FWD1pSX.push_back(sim_x);
1251  FWD1pSY.push_back(sim_y);
1252  }
1253  }
1254  if (tTopo->pxfDisk(myid) == 2) {
1255  if (tTopo->pxfSide(myid) == 1) {
1256  FWD2nRX.push_back(rechit_x);
1257  FWD2nRY.push_back(rechit_y);
1258  FWD2nSX.push_back(sim_x);
1259  FWD2nSY.push_back(sim_y);
1260  }
1261  if (tTopo->pxfSide(myid) == 2) {
1262  FWD2pRX.push_back(rechit_x);
1263  FWD2pRY.push_back(rechit_y);
1264  FWD2pSX.push_back(sim_x);
1265  FWD2pSY.push_back(sim_y);
1266  }
1267  }
1268  }
1269  } // end matched emtpy
1270  } // <-----end rechit loop
1271  } // <------ end detunit loop
1272 
1273 
1274  if (verbosity > 1) {
1275  eventout += "\n Number of BrlPixelRecHits collected:...... ";
1276  eventout += nPxlBrl;
1277  }
1278 
1279  if (verbosity > 1) {
1280  eventout += "\n Number of FrwdPixelRecHits collected:..... ";
1281  eventout += nPxlFwd;
1282  }
1283 
1284  if (verbosity > 0)
1285  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
1286 
1287  return;
1288 }
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
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:434
std::vector< PSimHit > matched
unsigned int pxfDisk(const DetId &id) const
static const int sdSiTID
T y() const
Definition: PV3DBase.h:63
unsigned int tidWheel(const DetId &id) const
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:35
static const int sdSiTIB
static const int sdPxlBrl
edm::EDGetTokenT< SiStripMatchedRecHit2DCollection > SiStripSrc_Token_
T sqrt(T t)
Definition: SSEVec.h:48
static const int sdSiTOB
bool isValid() const
Definition: HandleBase.h:76
int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:37
unsigned int pxbLayer(const DetId &id) const
Definition: DetId.h:18
const T & get() const
Definition: EventSetup.h:55
T const * product() const
Definition: ESHandle.h:62
static const int sdSiTEC
iterator end()
Definition: DetSetNew.h:70
edm::EDGetTokenT< SiPixelRecHitCollection > SiPxlSrc_Token_
static int position[264][3]
Definition: ReadPGInfo.cc:509
unsigned int pxfSide(const DetId &id) const
static const int sdPxlFwd
DetId geographicalId() const
bool isValid() const
Definition: ESHandle.h:37
T x() const
Definition: PV3DBase.h:62
virtual LocalPoint localPosition() const
unsigned int tecWheel(const DetId &id) const
const GeomDetUnit * stereoDet() const
Definition: GluedGeomDet.h:21
unsigned int tobLayer(const DetId &id) const
iterator begin()
Definition: DetSetNew.h:67
template<typename type >
const type * GlobalRecHitsProducer::findBestRecHit ( const DTLayer layer,
DTWireId  wireId,
const std::vector< type > &  recHits,
const float  simHitDist 
)
private

Definition at line 2169 of file GlobalRecHitsProducer.cc.

References recHitDistFromWire().

Referenced by compute().

2172  {
2173  float res = 99999;
2174  const type* theBestRecHit = 0;
2175  // Loop over RecHits within the cell
2176  for(typename std::vector<type>::const_iterator recHit = recHits.begin();
2177  recHit != recHits.end();
2178  recHit++) {
2179  float distTmp = recHitDistFromWire(*recHit, layer);
2180  if(fabs(distTmp-simHitDist) < res) {
2181  res = fabs(distTmp-simHitDist);
2182  theBestRecHit = &(*recHit);
2183  }
2184  } // End of loop over RecHits within the cell
2185 
2186  return theBestRecHit;
2187 }
type
Definition: HCALResponse.h:21
float recHitDistFromWire(const DTRecHit1DPair &hitPair, const DTLayer *layer)
std::map< DTWireId, std::vector< DTRecHit1DPair > > GlobalRecHitsProducer::map1DRecHitsPerWire ( const DTRecHitCollection dt1DRecHitPairs)
private

Definition at line 2140 of file GlobalRecHitsProducer.cc.

References run_regression::ret.

Referenced by fillMuon().

2141  {
2142  std::map<DTWireId, std::vector<DTRecHit1DPair> > ret;
2143 
2144  for(DTRecHitCollection::const_iterator rechit = dt1DRecHitPairs->begin();
2145  rechit != dt1DRecHitPairs->end(); rechit++) {
2146  ret[(*rechit).wireId()].push_back(*rechit);
2147  }
2148 
2149  return ret;
2150 }
void GlobalRecHitsProducer::plotResolution ( const PSimHit simHit,
const CSCRecHit2D recHit,
const CSCLayer layer,
int  chamberType 
)
private

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

2271  {
2272  GlobalPoint simHitPos = layer->toGlobal(simHit.localPosition());
2273  GlobalPoint recHitPos = layer->toGlobal(recHit.localPosition());
2274 
2275  CSCRHPHI.push_back(recHitPos.phi());
2276  CSCRHPERP.push_back(recHitPos.perp());
2277  CSCSHPHI.push_back(simHitPos.phi());
2278 }
T perp() const
Definition: PV3DBase.h:72
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
Definition: GeomDet.h:47
Geom::Phi< T > phi() const
Definition: PV3DBase.h:69
Local3DPoint localPosition() const
Definition: PSimHit.h:44
LocalPoint localPosition() const
Definition: CSCRecHit2D.h:50
void GlobalRecHitsProducer::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
virtual

Implements edm::EDProducer.

Definition at line 140 of file GlobalRecHitsProducer.cc.

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

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

Definition at line 2109 of file GlobalRecHitsProducer.cc.

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

Referenced by fillTrk().

2112 {
2113 
2114  const StripTopology& topol = stripDet->specificTopology();
2115  GlobalPoint globalpos= stripDet->surface().toGlobal(hit.localPosition());
2116  LocalPoint localHit = plane.toLocal(globalpos);
2117  //track direction
2118  LocalVector locdir=hit.localDirection();
2119  //rotate track in new frame
2120 
2121  GlobalVector globaldir= stripDet->surface().toGlobal(locdir);
2122  LocalVector dir=plane.toLocal(globaldir);
2123  float scale = -localHit.z() / dir.z();
2124 
2125  LocalPoint projectedPos = localHit + scale*dir;
2126 
2127  float selfAngle = topol.stripAngle( topol.strip( hit.localPosition()));
2128 
2129  // vector along strip in hit frame
2130  LocalVector stripDir( sin(selfAngle), cos(selfAngle), 0);
2131 
2132  LocalVector
2133  localStripDir(plane.toLocal(stripDet->surface().toGlobal(stripDir)));
2134 
2135  return std::pair<LocalPoint,LocalVector>( projectedPos, localStripDir);
2136 }
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Definition: Surface.h:114
virtual float stripAngle(float strip) const =0
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
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:35
virtual float strip(const LocalPoint &) const =0
Local3DPoint localPosition() const
Definition: PSimHit.h:44
T z() const
Definition: PV3DBase.h:64
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:52
dbl *** dir
Definition: mlp_gen.cc:35
float GlobalRecHitsProducer::recHitDistFromWire ( const DTRecHit1DPair hitPair,
const DTLayer layer 
)
private

Definition at line 2191 of file GlobalRecHitsProducer.cc.

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

Referenced by compute(), and findBestRecHit().

2192  {
2193  // Compute the rechit distance from wire
2194  return fabs(hitPair.localPosition(DTEnums::Left).x() -
2195  hitPair.localPosition(DTEnums::Right).x())/2.;
2196 }
T x() const
Definition: PV3DBase.h:62
virtual LocalPoint localPosition() const
float GlobalRecHitsProducer::recHitDistFromWire ( const DTRecHit1D recHit,
const DTLayer layer 
)
private

Definition at line 2200 of file GlobalRecHitsProducer.cc.

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

2201  {
2202  return fabs(recHit.localPosition().x() -
2203  layer->specificTopology().wirePosition(recHit.wireId().wire()));
2204 }
float wirePosition(int wireNumber) const
Returns the x position in the layer of a given wire number.
Definition: DTTopology.cc:86
const DTTopology & specificTopology() const
Definition: DTLayer.cc:42
virtual LocalPoint localPosition() const
Return the 3-dimensional local position.
Definition: DTRecHit1D.h:60
int wire() const
Return the wire number.
Definition: DTWireId.h:56
T x() const
Definition: PV3DBase.h:62
DTWireId wireId() const
Return the wireId.
Definition: DTRecHit1D.h:107
float GlobalRecHitsProducer::simHitDistFromWire ( const DTLayer layer,
DTWireId  wireId,
const PSimHit hit 
)
private

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

2155  {
2156  float xwire = layer->specificTopology().wirePosition(wireId.wire());
2157  LocalPoint entryP = hit.entryPoint();
2158  LocalPoint exitP = hit.exitPoint();
2159  float xEntry = entryP.x()-xwire;
2160  float xExit = exitP.x()-xwire;
2161 
2162  //FIXME: check...
2163  return fabs(xEntry - (entryP.z()*(xExit-xEntry))/(exitP.z()-entryP.z()));
2164 }
float wirePosition(int wireNumber) const
Returns the x position in the layer of a given wire number.
Definition: DTTopology.cc:86
const DTTopology & specificTopology() const
Definition: DTLayer.cc:42
Local3DPoint exitPoint() const
Exit point in the local Det frame.
Definition: PSimHit.h:38
T z() const
Definition: PV3DBase.h:64
int wire() const
Return the wire number.
Definition: DTWireId.h:56
T x() const
Definition: PV3DBase.h:62
Local3DPoint entryPoint() const
Entry point in the local Det frame.
Definition: PSimHit.h:35
void GlobalRecHitsProducer::storeECal ( PGlobalRecHit product)
private

Definition at line 468 of file GlobalRecHitsProducer.cc.

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

Referenced by produce().

469 {
470  std::string MsgLoggerCat = "GlobalRecHitsProducer_storeECal";
471 
472  if (verbosity > 2) {
473  TString eventout("\n nEBRecHits = ");
474  eventout += EBRE.size();
475  for (unsigned int i = 0; i < EBRE.size(); ++i) {
476  eventout += "\n (RE, SHE) = (";
477  eventout += EBRE[i];
478  eventout += ", ";
479  eventout += EBSHE[i];
480  eventout += ")";
481  }
482  eventout += "\n nEERecHits = ";
483  eventout += EERE.size();
484  for (unsigned int i = 0; i < EERE.size(); ++i) {
485  eventout += "\n (RE, SHE) = (";
486  eventout += EERE[i];
487  eventout += ", ";
488  eventout += EESHE[i];
489  eventout += ")";
490  }
491  eventout += "\n nESRecHits = ";
492  eventout += ESRE.size();
493  for (unsigned int i = 0; i < ESRE.size(); ++i) {
494  eventout += "\n (RE, SHE) = (";
495  eventout += ESRE[i];
496  eventout += ", ";
497  eventout += ESSHE[i];
498  eventout += ")";
499  }
500  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
501  }
502 
503  product.putEBCalRecHits(EBRE,EBSHE);
504  product.putEECalRecHits(EERE,EESHE);
505  product.putESCalRecHits(ESRE,ESSHE);
506 
507  return;
508 }
int i
Definition: DBlmapReader.cc:9
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 811 of file GlobalRecHitsProducer.cc.

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

Referenced by produce().

812 {
813  std::string MsgLoggerCat = "GlobalRecHitsProducer_storeHCal";
814 
815  if (verbosity > 2) {
816  TString eventout("\n nHBRecHits = ");
817  eventout += HBCalREC.size();
818  for (unsigned int i = 0; i < HBCalREC.size(); ++i) {
819  eventout += "\n (REC, R, SHE) = (";
820  eventout += HBCalREC[i];
821  eventout += ", ";
822  eventout += HBCalR[i];
823  eventout += ", ";
824  eventout += HBCalSHE[i];
825  eventout += ")";
826  }
827  eventout += "\n nHERecHits = ";
828  eventout += HECalREC.size();
829  for (unsigned int i = 0; i < HECalREC.size(); ++i) {
830  eventout += "\n (REC, R, SHE) = (";
831  eventout += HECalREC[i];
832  eventout += ", ";
833  eventout += HECalR[i];
834  eventout += ", ";
835  eventout += HECalSHE[i];
836  eventout += ")";
837  }
838  eventout += "\n nHFRecHits = ";
839  eventout += HFCalREC.size();
840  for (unsigned int i = 0; i < HFCalREC.size(); ++i) {
841  eventout += "\n (REC, R, SHE) = (";
842  eventout += HFCalREC[i];
843  eventout += ", ";
844  eventout += HFCalR[i];
845  eventout += ", ";
846  eventout += HFCalSHE[i];
847  eventout += ")";
848  }
849  eventout += "\n nHORecHits = ";
850  eventout += HOCalREC.size();
851  for (unsigned int i = 0; i < HOCalREC.size(); ++i) {
852  eventout += "\n (REC, R, SHE) = (";
853  eventout += HOCalREC[i];
854  eventout += ", ";
855  eventout += HOCalR[i];
856  eventout += ", ";
857  eventout += HOCalSHE[i];
858  eventout += ")";
859  }
860 
861  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
862  }
863 
868 
869  return;
870 }
int i
Definition: DBlmapReader.cc:9
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 1896 of file GlobalRecHitsProducer.cc.

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

Referenced by produce().

1897 {
1898  std::string MsgLoggerCat = "GlobalRecHitsProducer_storeMuon";
1899 
1900  if (verbosity > 2) {
1901 
1902  // dt output
1903  TString eventout("\n nDT = ");
1904  eventout += DTRHD.size();
1905  for (unsigned int i = 0; i < DTRHD.size(); ++i) {
1906  eventout += "\n (RHD, SHD) = (";
1907  eventout += DTRHD[i];
1908  eventout += ", ";
1909  eventout += DTSHD[i];
1910  eventout += ")";
1911  }
1912 
1913  // CSC Strip
1914  eventout += "\n nCSC = ";
1915  eventout += CSCRHPHI.size();
1916  for (unsigned int i = 0; i < CSCRHPHI.size(); ++i) {
1917  eventout += "\n (rhphi, rhperp, shphi) = (";
1918  eventout += CSCRHPHI[i];
1919  eventout += ", ";
1920  eventout += CSCRHPERP[i];
1921  eventout += ", ";
1922  eventout += CSCSHPHI[i];
1923  eventout += ")";
1924  }
1925 
1926  // RPC
1927  eventout += "\n nRPC = ";
1928  eventout += RPCRHX.size();
1929  for (unsigned int i = 0; i < RPCRHX.size(); ++i) {
1930  eventout += "\n (rhx, shx) = (";
1931  eventout += RPCRHX[i];
1932  eventout += ", ";
1933  eventout += RPCSHX[i];
1934  eventout += ")";
1935  }
1936 
1937  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
1938  }
1939 
1940  product.putDTRecHits(DTRHD,DTSHD);
1941 
1943 
1944  product.putRPCRecHits(RPCRHX,RPCSHX);
1945 
1946  return;
1947 }
int i
Definition: DBlmapReader.cc:9
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 1290 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, 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().

1291 {
1292  std::string MsgLoggerCat = "GlobalRecHitsProducer_storeTrk";
1293 
1294  if (verbosity > 2) {
1295 
1296  // strip output
1297  TString eventout("\n nTIBL1 = ");
1298  eventout += TIBL1RX.size();
1299  for (unsigned int i = 0; i < TIBL1RX.size(); ++i) {
1300  eventout += "\n (RX, RY, SX, SY) = (";
1301  eventout += TIBL1RX[i];
1302  eventout += ", ";
1303  eventout += TIBL1RY[i];
1304  eventout += ", ";
1305  eventout += TIBL1SX[i];
1306  eventout += ", ";
1307  eventout += TIBL1SY[i];
1308  eventout += ")";
1309  }
1310  eventout += "\n nTIBL2 = ";
1311  eventout += TIBL2RX.size();
1312  for (unsigned int i = 0; i < TIBL2RX.size(); ++i) {
1313  eventout += "\n (RX, RY, SX, SY) = (";
1314  eventout += TIBL2RX[i];
1315  eventout += ", ";
1316  eventout += TIBL2RY[i];
1317  eventout += ", ";
1318  eventout += TIBL2SX[i];
1319  eventout += ", ";
1320  eventout += TIBL2SY[i];
1321  eventout += ")";
1322  }
1323  eventout += "\n nTIBL3 = ";
1324  eventout += TIBL3RX.size();
1325  for (unsigned int i = 0; i < TIBL3RX.size(); ++i) {
1326  eventout += "\n (RX, RY, SX, SY) = (";
1327  eventout += TIBL3RX[i];
1328  eventout += ", ";
1329  eventout += TIBL3RY[i];
1330  eventout += ", ";
1331  eventout += TIBL3SX[i];
1332  eventout += ", ";
1333  eventout += TIBL3SY[i];
1334  eventout += ")";
1335  }
1336  eventout += "\n nTIBL4 = ";
1337  eventout += TIBL4RX.size();
1338  for (unsigned int i = 0; i < TIBL4RX.size(); ++i) {
1339  eventout += "\n (RX, RY, SX, SY) = (";
1340  eventout += TIBL4RX[i];
1341  eventout += ", ";
1342  eventout += TIBL4RY[i];
1343  eventout += ", ";
1344  eventout += TIBL4SX[i];
1345  eventout += ", ";
1346  eventout += TIBL4SY[i];
1347  eventout += ")";
1348  }
1349  eventout += "\n nTOBL1 = ";
1350  eventout += TOBL1RX.size();
1351  for (unsigned int i = 0; i < TOBL1RX.size(); ++i) {
1352  eventout += "\n (RX, RY, SX, SY) = (";
1353  eventout += TOBL1RX[i];
1354  eventout += ", ";
1355  eventout += TOBL1RY[i];
1356  eventout += ", ";
1357  eventout += TOBL1SX[i];
1358  eventout += ", ";
1359  eventout += TOBL1SY[i];
1360  eventout += ")";
1361  }
1362  eventout += "\n nTOBL2 = ";
1363  eventout += TOBL2RX.size();
1364  for (unsigned int i = 0; i < TOBL2RX.size(); ++i) {
1365  eventout += "\n (RX, RY, SX, SY) = (";
1366  eventout += TOBL2RX[i];
1367  eventout += ", ";
1368  eventout += TOBL2RY[i];
1369  eventout += ", ";
1370  eventout += TOBL2SX[i];
1371  eventout += ", ";
1372  eventout += TOBL2SY[i];
1373  eventout += ")";
1374  }
1375  eventout += "\n nTOBL3 = ";
1376  eventout += TOBL3RX.size();
1377  for (unsigned int i = 0; i < TOBL3RX.size(); ++i) {
1378  eventout += "\n (RX, RY, SX, SY) = (";
1379  eventout += TOBL3RX[i];
1380  eventout += ", ";
1381  eventout += TOBL3RY[i];
1382  eventout += ", ";
1383  eventout += TOBL3SX[i];
1384  eventout += ", ";
1385  eventout += TOBL3SY[i];
1386  eventout += ")";
1387  }
1388  eventout += "\n nTOBL4 = ";
1389  eventout += TOBL4RX.size();
1390  for (unsigned int i = 0; i < TOBL4RX.size(); ++i) {
1391  eventout += "\n (RX, RY, SX, SY) = (";
1392  eventout += TOBL4RX[i];
1393  eventout += ", ";
1394  eventout += TOBL4RY[i];
1395  eventout += ", ";
1396  eventout += TOBL4SX[i];
1397  eventout += ", ";
1398  eventout += TOBL4SY[i];
1399  eventout += ")";
1400  }
1401  eventout += "\n nTIDW1 = ";
1402  eventout += TIDW1RX.size();
1403  for (unsigned int i = 0; i < TIDW1RX.size(); ++i) {
1404  eventout += "\n (RX, RY, SX, SY) = (";
1405  eventout += TIDW1RX[i];
1406  eventout += ", ";
1407  eventout += TIDW1RY[i];
1408  eventout += ", ";
1409  eventout += TIDW1SX[i];
1410  eventout += ", ";
1411  eventout += TIDW1SY[i];
1412  eventout += ")";
1413  }
1414  eventout += "\n nTIDW2 = ";
1415  eventout += TIDW2RX.size();
1416  for (unsigned int i = 0; i < TIDW2RX.size(); ++i) {
1417  eventout += "\n (RX, RY, SX, SY) = (";
1418  eventout += TIDW2RX[i];
1419  eventout += ", ";
1420  eventout += TIDW2RY[i];
1421  eventout += ", ";
1422  eventout += TIDW2SX[i];
1423  eventout += ", ";
1424  eventout += TIDW2SY[i];
1425  eventout += ")";
1426  }
1427  eventout += "\n nTIDW3 = ";
1428  eventout += TIDW3RX.size();
1429  for (unsigned int i = 0; i < TIDW3RX.size(); ++i) {
1430  eventout += "\n (RX, RY, SX, SY) = (";
1431  eventout += TIDW3RX[i];
1432  eventout += ", ";
1433  eventout += TIDW3RY[i];
1434  eventout += ", ";
1435  eventout += TIDW3SX[i];
1436  eventout += ", ";
1437  eventout += TIDW3SY[i];
1438  eventout += ")";
1439  }
1440  eventout += "\n nTECW1 = ";
1441  eventout += TECW1RX.size();
1442  for (unsigned int i = 0; i < TECW1RX.size(); ++i) {
1443  eventout += "\n (RX, RY, SX, SY) = (";
1444  eventout += TECW1RX[i];
1445  eventout += ", ";
1446  eventout += TECW1RY[i];
1447  eventout += ", ";
1448  eventout += TECW1SX[i];
1449  eventout += ", ";
1450  eventout += TECW1SY[i];
1451  eventout += ")";
1452  }
1453  eventout += "\n nTECW2 = ";
1454  eventout += TECW2RX.size();
1455  for (unsigned int i = 0; i < TECW2RX.size(); ++i) {
1456  eventout += "\n (RX, RY, SX, SY) = (";
1457  eventout += TECW2RX[i];
1458  eventout += ", ";
1459  eventout += TECW2RY[i];
1460  eventout += ", ";
1461  eventout += TECW2SX[i];
1462  eventout += ", ";
1463  eventout += TECW2SY[i];
1464  eventout += ")";
1465  }
1466  eventout += "\n nTECW3 = ";
1467  eventout += TECW3RX.size();
1468  for (unsigned int i = 0; i < TECW3RX.size(); ++i) {
1469  eventout += "\n (RX, RY, SX, SY) = (";
1470  eventout += TECW3RX[i];
1471  eventout += ", ";
1472  eventout += TECW3RY[i];
1473  eventout += ", ";
1474  eventout += TECW3SX[i];
1475  eventout += ", ";
1476  eventout += TECW3SY[i];
1477  eventout += ")";
1478  }
1479  eventout += "\n nTECW4 = ";
1480  eventout += TECW4RX.size();
1481  for (unsigned int i = 0; i < TECW4RX.size(); ++i) {
1482  eventout += "\n (RX, RY, SX, SY) = (";
1483  eventout += TECW4RX[i];
1484  eventout += ", ";
1485  eventout += TECW4RY[i];
1486  eventout += ", ";
1487  eventout += TECW4SX[i];
1488  eventout += ", ";
1489  eventout += TECW4SY[i];
1490  eventout += ")";
1491  }
1492  eventout += "\n nTECW5 = ";
1493  eventout += TECW5RX.size();
1494  for (unsigned int i = 0; i < TECW5RX.size(); ++i) {
1495  eventout += "\n (RX, RY, SX, SY) = (";
1496  eventout += TECW5RX[i];
1497  eventout += ", ";
1498  eventout += TECW5RY[i];
1499  eventout += ", ";
1500  eventout += TECW5SX[i];
1501  eventout += ", ";
1502  eventout += TECW5SY[i];
1503  eventout += ")";
1504  }
1505  eventout += "\n nTECW6 = ";
1506  eventout += TECW6RX.size();
1507  for (unsigned int i = 0; i < TECW6RX.size(); ++i) {
1508  eventout += "\n (RX, RY, SX, SY) = (";
1509  eventout += TECW6RX[i];
1510  eventout += ", ";
1511  eventout += TECW6RY[i];
1512  eventout += ", ";
1513  eventout += TECW6SX[i];
1514  eventout += ", ";
1515  eventout += TECW6SY[i];
1516  eventout += ")";
1517  }
1518  eventout += "\n nTECW7 = ";
1519  eventout += TECW7RX.size();
1520  for (unsigned int i = 0; i < TECW7RX.size(); ++i) {
1521  eventout += "\n (RX, RY, SX, SY) = (";
1522  eventout += TECW7RX[i];
1523  eventout += ", ";
1524  eventout += TECW7RY[i];
1525  eventout += ", ";
1526  eventout += TECW7SX[i];
1527  eventout += ", ";
1528  eventout += TECW7SY[i];
1529  eventout += ")";
1530  }
1531  eventout += "\n nTECW8 = ";
1532  eventout += TECW8RX.size();
1533  for (unsigned int i = 0; i < TECW8RX.size(); ++i) {
1534  eventout += "\n (RX, RY, SX, SY) = (";
1535  eventout += TECW8RX[i];
1536  eventout += ", ";
1537  eventout += TECW8RY[i];
1538  eventout += ", ";
1539  eventout += TECW8SX[i];
1540  eventout += ", ";
1541  eventout += TECW8SY[i];
1542  eventout += ")";
1543  }
1544 
1545  // pixel output
1546  eventout += "\n nBRL1 = ";
1547  eventout += BRL1RX.size();
1548  for (unsigned int i = 0; i < BRL1RX.size(); ++i) {
1549  eventout += "\n (RX, RY, SX, SY) = (";
1550  eventout += BRL1RX[i];
1551  eventout += ", ";
1552  eventout += BRL1RY[i];
1553  eventout += ", ";
1554  eventout += BRL1SX[i];
1555  eventout += ", ";
1556  eventout += BRL1SY[i];
1557  eventout += ")";
1558  }
1559  eventout += "\n nBRL2 = ";
1560  eventout += BRL2RX.size();
1561  for (unsigned int i = 0; i < BRL2RX.size(); ++i) {
1562  eventout += "\n (RX, RY, SX, SY) = (";
1563  eventout += BRL2RX[i];
1564  eventout += ", ";
1565  eventout += BRL2RY[i];
1566  eventout += ", ";
1567  eventout += BRL2SX[i];
1568  eventout += ", ";
1569  eventout += BRL2SY[i];
1570  eventout += ")";
1571  }
1572  eventout += "\n nBRL3 = ";
1573  eventout += BRL3RX.size();
1574  for (unsigned int i = 0; i < BRL3RX.size(); ++i) {
1575  eventout += "\n (RX, RY, SX, SY) = (";
1576  eventout += BRL3RX[i];
1577  eventout += ", ";
1578  eventout += BRL3RY[i];
1579  eventout += ", ";
1580  eventout += BRL3SX[i];
1581  eventout += ", ";
1582  eventout += BRL3SY[i];
1583  eventout += ")";
1584  }
1585  eventout += "\n nFWD1p = ";
1586  eventout += FWD1pRX.size();
1587  for (unsigned int i = 0; i < FWD1pRX.size(); ++i) {
1588  eventout += "\n (RX, RY, SX, SY) = (";
1589  eventout += FWD1pRX[i];
1590  eventout += ", ";
1591  eventout += FWD1pRY[i];
1592  eventout += ", ";
1593  eventout += FWD1pSX[i];
1594  eventout += ", ";
1595  eventout += FWD1pSY[i];
1596  eventout += ")";
1597  }
1598  eventout += "\n nFWD1n = ";
1599  eventout += FWD1nRX.size();
1600  for (unsigned int i = 0; i < FWD1nRX.size(); ++i) {
1601  eventout += "\n (RX, RY, SX, SY) = (";
1602  eventout += FWD1nRX[i];
1603  eventout += ", ";
1604  eventout += FWD1nRY[i];
1605  eventout += ", ";
1606  eventout += FWD1nSX[i];
1607  eventout += ", ";
1608  eventout += FWD1nSY[i];
1609  eventout += ")";
1610  }
1611  eventout += "\n nFWD2p = ";
1612  eventout += FWD2pRX.size();
1613  for (unsigned int i = 0; i < FWD2pRX.size(); ++i) {
1614  eventout += "\n (RX, RY, SX, SY) = (";
1615  eventout += FWD2pRX[i];
1616  eventout += ", ";
1617  eventout += FWD2pRY[i];
1618  eventout += ", ";
1619  eventout += FWD2pSX[i];
1620  eventout += ", ";
1621  eventout += FWD2pSY[i];
1622  eventout += ")";
1623  }
1624  eventout += "\n nFWD2p = ";
1625  eventout += FWD2nRX.size();
1626  for (unsigned int i = 0; i < FWD2nRX.size(); ++i) {
1627  eventout += "\n (RX, RY, SX, SY) = (";
1628  eventout += FWD2nRX[i];
1629  eventout += ", ";
1630  eventout += FWD2nRY[i];
1631  eventout += ", ";
1632  eventout += FWD2nSX[i];
1633  eventout += ", ";
1634  eventout += FWD2nSY[i];
1635  eventout += ")";
1636  }
1637 
1638  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
1639  }
1640 
1641  // strip output
1661 
1662  // pixel output
1670 
1671  return;
1672 }
void putTIBL1RecHits(const std::vector< float > &rx, const std::vector< float > &ry, const std::vector< float > &sx, const std::vector< float > &sy)
int i
Definition: DBlmapReader.cc:9
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 276 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::BRL1RY
private

Definition at line 277 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::BRL1SX
private

Definition at line 278 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::BRL1SY
private

Definition at line 279 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::BRL2RX
private

Definition at line 276 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::BRL2RY
private

Definition at line 277 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::BRL2SX
private

Definition at line 278 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::BRL2SY
private

Definition at line 279 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::BRL3RX
private

Definition at line 276 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::BRL3RY
private

Definition at line 277 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::BRL3SX
private

Definition at line 278 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::BRL3SY
private

Definition at line 279 of file GlobalRecHitsProducer.h.

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

edm::ParameterSet GlobalRecHitsProducer::conf_
private

Definition at line 272 of file GlobalRecHitsProducer.h.

Referenced by fillTrk(), and GlobalRecHitsProducer().

unsigned int GlobalRecHitsProducer::count
private

Definition at line 355 of file GlobalRecHitsProducer.h.

Referenced by endJob(), and produce().

FloatVector GlobalRecHitsProducer::CSCRHPERP
private

Definition at line 333 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::CSCRHPHI
private

Definition at line 332 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::CSCSHPHI
private

Definition at line 334 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::DTRHD
private

Definition at line 292 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::DTSHD
private

Definition at line 293 of file GlobalRecHitsProducer.h.

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

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

Definition at line 212 of file GlobalRecHitsProducer.h.

Referenced by fillECal(), and GlobalRecHitsProducer().

FloatVector GlobalRecHitsProducer::EBRE
private

Definition at line 193 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::EBSHE
private

Definition at line 194 of file GlobalRecHitsProducer.h.

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

edm::InputTag GlobalRecHitsProducer::ECalEBSrc_
private

Definition at line 202 of file GlobalRecHitsProducer.h.

Referenced by GlobalRecHitsProducer().

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

Definition at line 207 of file GlobalRecHitsProducer.h.

Referenced by fillECal(), and GlobalRecHitsProducer().

edm::InputTag GlobalRecHitsProducer::ECalEESrc_
private

Definition at line 204 of file GlobalRecHitsProducer.h.

Referenced by GlobalRecHitsProducer().

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

Definition at line 208 of file GlobalRecHitsProducer.h.

Referenced by fillECal(), and GlobalRecHitsProducer().

edm::InputTag GlobalRecHitsProducer::ECalESSrc_
private

Definition at line 206 of file GlobalRecHitsProducer.h.

Referenced by GlobalRecHitsProducer().

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

Definition at line 209 of file GlobalRecHitsProducer.h.

Referenced by fillECal(), and GlobalRecHitsProducer().

edm::InputTag GlobalRecHitsProducer::ECalUncalEBSrc_
private

Definition at line 203 of file GlobalRecHitsProducer.h.

Referenced by GlobalRecHitsProducer().

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

Definition at line 210 of file GlobalRecHitsProducer.h.

Referenced by fillECal(), and GlobalRecHitsProducer().

edm::InputTag GlobalRecHitsProducer::ECalUncalEESrc_
private

Definition at line 205 of file GlobalRecHitsProducer.h.

Referenced by GlobalRecHitsProducer().

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

Definition at line 211 of file GlobalRecHitsProducer.h.

Referenced by fillECal(), and GlobalRecHitsProducer().

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

Definition at line 213 of file GlobalRecHitsProducer.h.

Referenced by fillECal(), and GlobalRecHitsProducer().

FloatVector GlobalRecHitsProducer::EERE
private

Definition at line 196 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::EESHE
private

Definition at line 197 of file GlobalRecHitsProducer.h.

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

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

Definition at line 214 of file GlobalRecHitsProducer.h.

Referenced by fillECal().

FloatVector GlobalRecHitsProducer::ESRE
private

Definition at line 199 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::ESSHE
private

Definition at line 200 of file GlobalRecHitsProducer.h.

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

std::string GlobalRecHitsProducer::fName
private

Definition at line 183 of file GlobalRecHitsProducer.h.

Referenced by GlobalRecHitsProducer().

int GlobalRecHitsProducer::frequency
private

Definition at line 185 of file GlobalRecHitsProducer.h.

Referenced by GlobalRecHitsProducer(), and produce().

FloatVector GlobalRecHitsProducer::FWD1nRX
private

Definition at line 281 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::FWD1nRY
private

Definition at line 282 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::FWD1nSX
private

Definition at line 283 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::FWD1nSY
private

Definition at line 284 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::FWD1pRX
private

Definition at line 281 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::FWD1pRY
private

Definition at line 282 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::FWD1pSX
private

Definition at line 283 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::FWD1pSY
private

Definition at line 284 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::FWD2nRX
private

Definition at line 281 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::FWD2nRY
private

Definition at line 282 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::FWD2nSX
private

Definition at line 283 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::FWD2nSY
private

Definition at line 284 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::FWD2pRX
private

Definition at line 281 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::FWD2pRY
private

Definition at line 282 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::FWD2pSX
private

Definition at line 283 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::FWD2pSY
private

Definition at line 284 of file GlobalRecHitsProducer.h.

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

bool GlobalRecHitsProducer::getAllProvenances
private

Definition at line 187 of file GlobalRecHitsProducer.h.

Referenced by GlobalRecHitsProducer(), and produce().

FloatVector GlobalRecHitsProducer::HBCalR
private

Definition at line 219 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::HBCalREC
private

Definition at line 218 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::HBCalSHE
private

Definition at line 220 of file GlobalRecHitsProducer.h.

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

edm::InputTag GlobalRecHitsProducer::HCalSrc_
private

Definition at line 234 of file GlobalRecHitsProducer.h.

Referenced by GlobalRecHitsProducer().

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

Definition at line 235 of file GlobalRecHitsProducer.h.

Referenced by fillHCal(), and GlobalRecHitsProducer().

FloatVector GlobalRecHitsProducer::HECalR
private

Definition at line 223 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::HECalREC
private

Definition at line 222 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::HECalSHE
private

Definition at line 224 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::HFCalR
private

Definition at line 231 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::HFCalREC
private

Definition at line 230 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::HFCalSHE
private

Definition at line 232 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::HOCalR
private

Definition at line 227 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::HOCalREC
private

Definition at line 226 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::HOCalSHE
private

Definition at line 228 of file GlobalRecHitsProducer.h.

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

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

Definition at line 267 of file GlobalRecHitsProducer.h.

Referenced by fillTrk().

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

Definition at line 338 of file GlobalRecHitsProducer.h.

Referenced by fillMuon(), and GlobalRecHitsProducer().

edm::InputTag GlobalRecHitsProducer::MuCSCSrc_
private

Definition at line 336 of file GlobalRecHitsProducer.h.

Referenced by GlobalRecHitsProducer().

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

Definition at line 337 of file GlobalRecHitsProducer.h.

Referenced by fillMuon(), and GlobalRecHitsProducer().

edm::InputTag GlobalRecHitsProducer::MuDTSimSrc_
private

Definition at line 296 of file GlobalRecHitsProducer.h.

Referenced by GlobalRecHitsProducer().

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

Definition at line 298 of file GlobalRecHitsProducer.h.

Referenced by fillMuon(), and GlobalRecHitsProducer().

edm::InputTag GlobalRecHitsProducer::MuDTSrc_
private

Definition at line 295 of file GlobalRecHitsProducer.h.

Referenced by GlobalRecHitsProducer().

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

Definition at line 297 of file GlobalRecHitsProducer.h.

Referenced by fillMuon(), and GlobalRecHitsProducer().

edm::InputTag GlobalRecHitsProducer::MuRPCSimSrc_
private

Definition at line 350 of file GlobalRecHitsProducer.h.

Referenced by GlobalRecHitsProducer().

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

Definition at line 352 of file GlobalRecHitsProducer.h.

Referenced by fillMuon(), and GlobalRecHitsProducer().

edm::InputTag GlobalRecHitsProducer::MuRPCSrc_
private

Definition at line 349 of file GlobalRecHitsProducer.h.

Referenced by GlobalRecHitsProducer().

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

Definition at line 351 of file GlobalRecHitsProducer.h.

Referenced by fillMuon(), and GlobalRecHitsProducer().

bool GlobalRecHitsProducer::printProvenanceInfo
private

Definition at line 188 of file GlobalRecHitsProducer.h.

Referenced by GlobalRecHitsProducer(), and produce().

FloatVector GlobalRecHitsProducer::RPCRHX
private

Definition at line 346 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::RPCSHX
private

Definition at line 347 of file GlobalRecHitsProducer.h.

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

edm::InputTag GlobalRecHitsProducer::SiPxlSrc_
private

Definition at line 286 of file GlobalRecHitsProducer.h.

Referenced by GlobalRecHitsProducer().

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

Definition at line 287 of file GlobalRecHitsProducer.h.

Referenced by fillTrk(), and GlobalRecHitsProducer().

edm::InputTag GlobalRecHitsProducer::SiStripSrc_
private

Definition at line 264 of file GlobalRecHitsProducer.h.

Referenced by GlobalRecHitsProducer().

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

Definition at line 265 of file GlobalRecHitsProducer.h.

Referenced by fillTrk(), and GlobalRecHitsProducer().

FloatVector GlobalRecHitsProducer::TECW1RX
private

Definition at line 255 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW1RY
private

Definition at line 257 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW1SX
private

Definition at line 259 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW1SY
private

Definition at line 261 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW2RX
private

Definition at line 255 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW2RY
private

Definition at line 257 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW2SX
private

Definition at line 259 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW2SY
private

Definition at line 261 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW3RX
private

Definition at line 255 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW3RY
private

Definition at line 257 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW3SX
private

Definition at line 259 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW3SY
private

Definition at line 261 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW4RX
private

Definition at line 255 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW4RY
private

Definition at line 257 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW4SX
private

Definition at line 259 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW4SY
private

Definition at line 261 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW5RX
private

Definition at line 255 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW5RY
private

Definition at line 257 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW5SX
private

Definition at line 259 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW5SY
private

Definition at line 261 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW6RX
private

Definition at line 255 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW6RY
private

Definition at line 257 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW6SX
private

Definition at line 259 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW6SY
private

Definition at line 261 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW7RX
private

Definition at line 255 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW7RY
private

Definition at line 257 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW7SX
private

Definition at line 259 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW7SY
private

Definition at line 261 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW8RX
private

Definition at line 255 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW8RY
private

Definition at line 257 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW8SX
private

Definition at line 259 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TECW8SY
private

Definition at line 261 of file GlobalRecHitsProducer.h.

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

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

Definition at line 340 of file GlobalRecHitsProducer.h.

Referenced by fillMuon().

FloatVector GlobalRecHitsProducer::TIBL1RX
private

Definition at line 240 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIBL1RY
private

Definition at line 241 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIBL1SX
private

Definition at line 242 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIBL1SY
private

Definition at line 243 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIBL2RX
private

Definition at line 240 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIBL2RY
private

Definition at line 241 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIBL2SX
private

Definition at line 242 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIBL2SY
private

Definition at line 243 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIBL3RX
private

Definition at line 240 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIBL3RY
private

Definition at line 241 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIBL3SX
private

Definition at line 242 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIBL3SY
private

Definition at line 243 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIBL4RX
private

Definition at line 240 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIBL4RY
private

Definition at line 241 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIBL4SX
private

Definition at line 242 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIBL4SY
private

Definition at line 243 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIDW1RX
private

Definition at line 250 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIDW1RY
private

Definition at line 251 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIDW1SX
private

Definition at line 252 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIDW1SY
private

Definition at line 253 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIDW2RX
private

Definition at line 250 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIDW2RY
private

Definition at line 251 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIDW2SX
private

Definition at line 252 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIDW2SY
private

Definition at line 253 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIDW3RX
private

Definition at line 250 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIDW3RY
private

Definition at line 251 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIDW3SX
private

Definition at line 252 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TIDW3SY
private

Definition at line 253 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TOBL1RX
private

Definition at line 245 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TOBL1RY
private

Definition at line 246 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TOBL1SX
private

Definition at line 247 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TOBL1SY
private

Definition at line 248 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TOBL2RX
private

Definition at line 245 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TOBL2RY
private

Definition at line 246 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TOBL2SX
private

Definition at line 247 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TOBL2SY
private

Definition at line 248 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TOBL3RX
private

Definition at line 245 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TOBL3RY
private

Definition at line 246 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TOBL3SX
private

Definition at line 247 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TOBL3SY
private

Definition at line 248 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TOBL4RX
private

Definition at line 245 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TOBL4RY
private

Definition at line 246 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TOBL4SX
private

Definition at line 247 of file GlobalRecHitsProducer.h.

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

FloatVector GlobalRecHitsProducer::TOBL4SY
private

Definition at line 248 of file GlobalRecHitsProducer.h.

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

int GlobalRecHitsProducer::verbosity
private