CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
HGCalTimingAnalyzer Class Reference
Inheritance diagram for HGCalTimingAnalyzer:
edm::one::EDAnalyzer< edm::one::WatchRuns, edm::one::SharedResources > edm::one::EDAnalyzerBase edm::EDConsumerBase

Public Member Functions

 HGCalTimingAnalyzer (edm::ParameterSet const &)
 
 ~HGCalTimingAnalyzer () override
 
- Public Member Functions inherited from edm::one::EDAnalyzer< edm::one::WatchRuns, edm::one::SharedResources >
 EDAnalyzer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
bool wantsInputProcessBlocks () const final
 
bool wantsProcessBlocks () const final
 
- Public Member Functions inherited from edm::one::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDAnalyzerBase () override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase &&)=default
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESProxyIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from edm::one::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Private Member Functions

void analyze (edm::Event const &, edm::EventSetup const &) override
 
void analyzeSimHits (int type, std::vector< PCaloHit > const &hits)
 
void analyzeSimTracks (edm::Handle< edm::SimTrackContainer > const &SimTk, edm::Handle< edm::SimVertexContainer > const &SimVtx)
 
void beginJob () override
 
void beginRun (edm::Run const &, edm::EventSetup const &) override
 
void endRun (edm::Run const &, edm::EventSetup const &) override
 

Private Attributes

std::string detectorBeam_
 
std::string detectorEE_
 
bool doTree_
 
edm::Service< TFileServicefs_
 
bool groupHits_
 
const HGCalDDDConstantshgcons_
 
std::vector< int > idBeams_
 
double pBeam_
 
std::vector< float > simHitCellEnBeam_
 
std::vector< float > simHitCellEnEE_
 
std::vector< uint32_t > simHitCellIdBeam_
 
std::vector< uint32_t > simHitCellIdEE_
 
std::vector< float > simHitCellTmBeam_
 
std::vector< float > simHitCellTmEE_
 
double timeUnit_
 
edm::EDGetTokenT< edm::HepMCProducttok_hepMC_
 
edm::EDGetTokenT< edm::PCaloHitContainertok_hitsBeam_
 
edm::EDGetTokenT< edm::PCaloHitContainertok_hitsEE_
 
edm::EDGetTokenT< edm::SimTrackContainertok_simTk_
 
edm::EDGetTokenT< edm::SimVertexContainertok_simVtx_
 
TTree * tree_
 
double xBeam_
 
double yBeam_
 
double zBeam_
 

Additional Inherited Members

- Public Types inherited from edm::one::EDAnalyzerBase
typedef EDAnalyzerBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Protected Member Functions inherited from edm::EDConsumerBase
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< B > consumes (edm::InputTag tag) noexcept
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes () noexcept
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag) noexcept
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 

Detailed Description

Definition at line 45 of file HGCalTimingAnalyzer.cc.

Constructor & Destructor Documentation

◆ HGCalTimingAnalyzer()

HGCalTimingAnalyzer::HGCalTimingAnalyzer ( edm::ParameterSet const &  iConfig)
explicit

Definition at line 78 of file HGCalTimingAnalyzer.cc.

78  {
79  usesResource("TFileService");
80 
81  // now do whatever initialization is needed
82  detectorEE_ = iConfig.getParameter<std::string>("DetectorEE");
83  detectorBeam_ = iConfig.getParameter<std::string>("DetectorBeam");
84  // Group hits (if groupHits_ = true) if hits come within timeUnit_
85  groupHits_ = iConfig.getParameter<bool>("GroupHits");
86  timeUnit_ = iConfig.getParameter<double>("TimeUnit");
87  // Only look into the beam counters with ID's as in idBeams_
88  idBeams_ = iConfig.getParameter<std::vector<int>>("IDBeams");
89  doTree_ = iConfig.getUntrackedParameter<bool>("DoTree", false);
90  if (!groupHits_)
91  timeUnit_ = 0.000001;
92 #ifdef EDM_ML_DEBUG
93  std::cout << "HGCalTimingAnalyzer:: Group Hits " << groupHits_ << " in " << timeUnit_ << " IdBeam " << idBeams_.size()
94  << ":";
95  for (const auto& id : idBeams_)
96  std::cout << " " << id;
97  std::cout << std::endl;
98 #endif
99  if (idBeams_.empty())
100  idBeams_.push_back(1001);
101 
102  edm::InputTag tmp0 = iConfig.getParameter<edm::InputTag>("GeneratorSrc");
103  tok_hepMC_ = consumes<edm::HepMCProduct>(tmp0);
104 #ifdef EDM_ML_DEBUG
105  std::cout << "HGCalTimingAnalyzer:: GeneratorSource = " << tmp0 << std::endl;
106 #endif
107  tok_simTk_ = consumes<edm::SimTrackContainer>(edm::InputTag("g4SimHits"));
108  tok_simVtx_ = consumes<edm::SimVertexContainer>(edm::InputTag("g4SimHits"));
109  std::string tmp1 = iConfig.getParameter<std::string>("CaloHitSrcEE");
110  tok_hitsEE_ = consumes<edm::PCaloHitContainer>(edm::InputTag("g4SimHits", tmp1));
111 #ifdef EDM_ML_DEBUG
112  std::cout << "HGCalTimingAnalyzer:: Detector " << detectorEE_ << " with tags " << tmp1 << std::endl;
113 #endif
114  tmp1 = iConfig.getParameter<std::string>("CaloHitSrcBeam");
115  tok_hitsBeam_ = consumes<edm::PCaloHitContainer>(edm::InputTag("g4SimHits", tmp1));
116 #ifdef EDM_ML_DEBUG
117  std::cout << "HGCalTimingAnalyzer:: Detector " << detectorBeam_ << " with tags " << tmp1 << std::endl;
118 #endif
119 }

References gather_cfg::cout, detectorBeam_, detectorEE_, doTree_, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), groupHits_, triggerObjects_cff::id, idBeams_, AlCaHLTBitMon_QueryRunRegistry::string, timeUnit_, tok_hepMC_, tok_hitsBeam_, tok_hitsEE_, tok_simTk_, and tok_simVtx_.

◆ ~HGCalTimingAnalyzer()

HGCalTimingAnalyzer::~HGCalTimingAnalyzer ( )
override

Definition at line 121 of file HGCalTimingAnalyzer.cc.

121 {}

Member Function Documentation

◆ analyze()

void HGCalTimingAnalyzer::analyze ( edm::Event const &  iEvent,
edm::EventSetup const &  iSetup 
)
overrideprivatevirtual

Implements edm::one::EDAnalyzerBase.

Definition at line 166 of file HGCalTimingAnalyzer.cc.

166  {
167 #ifdef EDM_ML_DEBUG
168  // Generator input
170  iEvent.getByToken(tok_hepMC_, evtMC);
171  if (!evtMC.isValid()) {
172  edm::LogWarning("HGCal") << "no HepMCProduct found";
173  } else {
174  const HepMC::GenEvent* myGenEvent = evtMC->GetEvent();
175  unsigned int k(0);
176  for (HepMC::GenEvent::particle_const_iterator p = myGenEvent->particles_begin(); p != myGenEvent->particles_end();
177  ++p, ++k) {
178  std::cout << "Particle[" << k << "] with p " << (*p)->momentum().rho() << " theta " << (*p)->momentum().theta()
179  << " phi " << (*p)->momentum().phi() << std::endl;
180  }
181  }
182 #endif
183 
184  // Now the Simhits
186  iEvent.getByToken(tok_simTk_, SimTk);
188  iEvent.getByToken(tok_simVtx_, SimVtx);
189  analyzeSimTracks(SimTk, SimVtx);
190 
191  simHitCellIdEE_.clear();
192  simHitCellIdBeam_.clear();
193  simHitCellEnEE_.clear();
194  simHitCellEnBeam_.clear();
195  simHitCellTmEE_.clear();
196  simHitCellTmBeam_.clear();
197 
198  edm::Handle<edm::PCaloHitContainer> theCaloHitContainers;
199  std::vector<PCaloHit> caloHits;
200  iEvent.getByToken(tok_hitsEE_, theCaloHitContainers);
201  if (theCaloHitContainers.isValid()) {
202 #ifdef EDM_ML_DEBUG
203  std::cout << "PcalohitContainer for " << detectorEE_ << " has " << theCaloHitContainers->size() << " hits"
204  << std::endl;
205 #endif
206  caloHits.clear();
207  caloHits.insert(caloHits.end(), theCaloHitContainers->begin(), theCaloHitContainers->end());
208  analyzeSimHits(0, caloHits);
209  } else {
210 #ifdef EDM_ML_DEBUG
211  std::cout << "PCaloHitContainer does not exist for " << detectorEE_ << " !!!" << std::endl;
212 #endif
213  }
214 
215  iEvent.getByToken(tok_hitsBeam_, theCaloHitContainers);
216  if (theCaloHitContainers.isValid()) {
217 #ifdef EDM_ML_DEBUG
218  std::cout << "PcalohitContainer for " << detectorBeam_ << " has " << theCaloHitContainers->size() << " hits"
219  << std::endl;
220 #endif
221  caloHits.clear();
222  caloHits.insert(caloHits.end(), theCaloHitContainers->begin(), theCaloHitContainers->end());
223  analyzeSimHits(1, caloHits);
224  } else {
225 #ifdef EDM_ML_DEBUG
226  std::cout << "PCaloHitContainer does not exist for " << detectorBeam_ << " !!!" << std::endl;
227 #endif
228  }
229  if (doTree_)
230  tree_->Fill();
231 }

References analyzeSimHits(), analyzeSimTracks(), edm::HandleBase::clear(), gather_cfg::cout, detectorBeam_, detectorEE_, doTree_, edm::HepMCProduct::GetEvent(), iEvent, edm::HandleBase::isValid(), dqmdumpme::k, AlCaHLTBitMon_ParallelJobs::p, simHitCellEnBeam_, simHitCellEnEE_, simHitCellIdBeam_, simHitCellIdEE_, simHitCellTmBeam_, simHitCellTmEE_, tok_hepMC_, tok_hitsBeam_, tok_hitsEE_, tok_simTk_, tok_simVtx_, and tree_.

◆ analyzeSimHits()

void HGCalTimingAnalyzer::analyzeSimHits ( int  type,
std::vector< PCaloHit > const &  hits 
)
private

Definition at line 233 of file HGCalTimingAnalyzer.cc.

233  {
234 #ifdef EDM_ML_DEBUG
235  unsigned int i(0);
236 #endif
237  std::map<std::pair<uint32_t, uint64_t>, std::pair<double, double>> map_hits;
238  for (const auto& hit : hits) {
239  double energy = hit.energy();
240  double time = hit.time();
241  uint32_t id = hit.id();
242  if (type == 0) {
243  int subdet, zside, layer, sector, subsector, cell;
244  HGCalTestNumbering::unpackHexagonIndex(id, subdet, zside, layer, sector, subsector, cell);
245  std::pair<int, int> recoLayerCell = hgcons_->simToReco(cell, layer, sector, true);
246  id = HGCalDetId((ForwardSubdetector)(subdet), zside, recoLayerCell.second, subsector, sector, recoLayerCell.first)
247  .rawId();
248 #ifdef EDM_ML_DEBUG
249  std::cout << "SimHit:Hit[" << i << "] Id " << subdet << ":" << zside << ":" << layer << ":" << sector << ":"
250  << subsector << ":" << recoLayerCell.first << ":" << recoLayerCell.second << " Energy " << energy
251  << " Time " << time << std::endl;
252 #endif
253  } else {
254 #ifdef EDM_ML_DEBUG
255  int subdet, layer, x, y;
256  HcalTestBeamNumbering::unpackIndex(id, subdet, layer, x, y);
257  std::cout << "SimHit:Hit[" << i << "] Beam Subdet " << subdet << " Layer " << layer << " x|y " << x << ":" << y
258  << " Energy " << energy << " Time " << time << std::endl;
259 #endif
260  }
261  uint64_t tid = (uint64_t)((time + 50.0) / timeUnit_);
262  std::pair<uint32_t, uint64_t> key(id, tid);
263  auto itr = map_hits.find(key);
264  if (itr == map_hits.end()) {
265  map_hits[key] = std::pair<double, double>(time, 0.0);
266  itr = map_hits.find(key);
267  }
268  energy += (itr->second).second;
269  map_hits[key] = std::pair<double, double>((itr->second).first, energy);
270 #ifdef EDM_ML_DEBUG
271  ++i;
272 #endif
273  }
274 
275 #ifdef EDM_ML_DEBUG
276  std::cout << "analyzeSimHits: Finds " << map_hits.size() << " hits "
277  << " from the Hit Vector of size " << hits.size() << " for type " << type << std::endl;
278 #endif
279  for (const auto& itr : map_hits) {
280  uint32_t id = (itr.first).first;
281  double time = (itr.second).first;
282  double energy = (itr.second).second;
283  if (type == 0) {
284  simHitCellIdEE_.push_back(id);
285  simHitCellEnEE_.push_back(energy);
286  simHitCellTmEE_.push_back(time);
287  } else {
288  simHitCellIdBeam_.push_back(id);
289  simHitCellEnBeam_.push_back(energy);
290  simHitCellTmBeam_.push_back(time);
291  }
292 #ifdef EDM_ML_DEBUG
293  std::cout << "SimHit::ID: " << std::hex << id << std::dec << " T: " << time << " E: " << energy << std::endl;
294 #endif
295  }
296 }

References gather_cfg::cout, TauDecayModes::dec, HCALHighEnergyHPDFilter_cfi::energy, dqmdumpme::first, hgcons_, hfClusterShapes_cfi::hits, mps_fire::i, hit::id, crabWrapper::key, DetId::rawId(), edm::second(), simHitCellEnBeam_, simHitCellEnEE_, simHitCellIdBeam_, simHitCellIdEE_, simHitCellTmBeam_, simHitCellTmEE_, HGCalDDDConstants::simToReco(), ntuplemaker::time, timeUnit_, HGCalTestNumbering::unpackHexagonIndex(), HcalTestBeamNumbering::unpackIndex(), x, y, and ecaldqm::zside().

Referenced by analyze().

◆ analyzeSimTracks()

void HGCalTimingAnalyzer::analyzeSimTracks ( edm::Handle< edm::SimTrackContainer > const &  SimTk,
edm::Handle< edm::SimVertexContainer > const &  SimVtx 
)
private

Definition at line 298 of file HGCalTimingAnalyzer.cc.

299  {
300  xBeam_ = yBeam_ = zBeam_ = pBeam_ = -1000000;
301  int vertIndex(-1);
302  for (edm::SimTrackContainer::const_iterator simTrkItr = SimTk->begin(); simTrkItr != SimTk->end(); simTrkItr++) {
303 #ifdef EDM_ML_DEBUG
304  std::cout << "Track " << simTrkItr->trackId() << " Vertex " << simTrkItr->vertIndex() << " Type "
305  << simTrkItr->type() << " Charge " << simTrkItr->charge() << " momentum " << simTrkItr->momentum() << " "
306  << simTrkItr->momentum().P() << std::endl;
307 #endif
308  if (vertIndex == -1) {
309  vertIndex = simTrkItr->vertIndex();
310  pBeam_ = simTrkItr->momentum().P();
311  }
312  }
313  if (vertIndex != -1 && vertIndex < (int)SimVtx->size()) {
314  edm::SimVertexContainer::const_iterator simVtxItr = SimVtx->begin();
315  for (int iv = 0; iv < vertIndex; iv++)
316  simVtxItr++;
317 #ifdef EDM_ML_DEBUG
318  std::cout << "Vertex " << vertIndex << " position " << simVtxItr->position() << std::endl;
319 #endif
320  xBeam_ = simVtxItr->position().X();
321  yBeam_ = simVtxItr->position().Y();
322  zBeam_ = simVtxItr->position().Z();
323  }
324 }

References gather_cfg::cout, pBeam_, xBeam_, yBeam_, and zBeam_.

Referenced by analyze().

◆ beginJob()

void HGCalTimingAnalyzer::beginJob ( void  )
overrideprivatevirtual

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 138 of file HGCalTimingAnalyzer.cc.

138  {
140  if (doTree_) {
141  tree_ = fs_->make<TTree>("HGCTB", "SimHitEnergy");
142  tree_->Branch("xBeam", &xBeam_, "xBeam/D");
143  tree_->Branch("yBeam", &yBeam_, "yBeam/D");
144  tree_->Branch("zBeam", &zBeam_, "zBeam/D");
145  tree_->Branch("pBeam", &pBeam_, "pBeam/D");
146  tree_->Branch("simHitCellIdEE_", &simHitCellIdEE_);
147  tree_->Branch("simHitCellEnEE_", &simHitCellEnEE_);
148  tree_->Branch("simHitCellTmEE_", &simHitCellTmEE_);
149  tree_->Branch("simHitCellIdBeam_", &simHitCellIdBeam_);
150  tree_->Branch("simHitCellEnBeam_", &simHitCellEnBeam_);
151  tree_->Branch("simHitCellTmBeam_", &simHitCellTmBeam_);
152  }
153 }

References detectorEE_, doTree_, fs_, TFileService::make(), pBeam_, simHitCellEnBeam_, simHitCellEnEE_, simHitCellIdBeam_, simHitCellIdEE_, simHitCellTmBeam_, simHitCellTmEE_, AlCaHLTBitMon_QueryRunRegistry::string, tree_, xBeam_, yBeam_, and zBeam_.

◆ beginRun()

void HGCalTimingAnalyzer::beginRun ( edm::Run const &  ,
edm::EventSetup const &  iSetup 
)
overrideprivate

Definition at line 155 of file HGCalTimingAnalyzer.cc.

155  {
157  iSetup.get<IdealGeometryRecord>().get(detectorEE_, pHGDC);
158  hgcons_ = &(*pHGDC);
159 
160 #ifdef EDM_ML_DEBUG
161  std::cout << "HGCalTimingAnalyzer::" << detectorEE_ << " defined with " << hgcons_->layers(false) << " layers"
162  << std::endl;
163 #endif
164 }

References gather_cfg::cout, detectorEE_, edm::EventSetup::get(), get, hgcons_, and HGCalDDDConstants::layers().

◆ endRun()

void HGCalTimingAnalyzer::endRun ( edm::Run const &  ,
edm::EventSetup const &   
)
inlineoverrideprivate

Definition at line 55 of file HGCalTimingAnalyzer.cc.

55 {}

◆ fillDescriptions()

void HGCalTimingAnalyzer::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 123 of file HGCalTimingAnalyzer.cc.

123  {
125  desc.add<std::string>("DetectorEE", "HGCalEESensitive");
126  desc.add<std::string>("DetectorBeam", "HcalTB06BeamDetector");
127  desc.add<bool>("GroupHits", false);
128  desc.add<double>("TimeUnit", 0.001);
129  std::vector<int> ids = {1001, 1002, 1003, 1004, 1005};
130  desc.add<std::vector<int>>("IDBeams", ids);
131  desc.addUntracked<bool>("DoTree", true);
132  desc.add<edm::InputTag>("GeneratorSrc", edm::InputTag("generatorSmeared"));
133  desc.add<std::string>("CaloHitSrcEE", "HGCHitsEE");
134  desc.add<std::string>("CaloHitSrcBeam", "HcalTB06BeamHits");
135  descriptions.add("HGCalTimingAnalyzer", desc);
136 }

References edm::ConfigurationDescriptions::add(), submitPVResolutionJobs::desc, HLT_FULL_cff::InputTag, and AlCaHLTBitMon_QueryRunRegistry::string.

Member Data Documentation

◆ detectorBeam_

std::string HGCalTimingAnalyzer::detectorBeam_
private

Definition at line 64 of file HGCalTimingAnalyzer.cc.

Referenced by analyze(), and HGCalTimingAnalyzer().

◆ detectorEE_

std::string HGCalTimingAnalyzer::detectorEE_
private

Definition at line 64 of file HGCalTimingAnalyzer.cc.

Referenced by analyze(), beginJob(), beginRun(), and HGCalTimingAnalyzer().

◆ doTree_

bool HGCalTimingAnalyzer::doTree_
private

Definition at line 63 of file HGCalTimingAnalyzer.cc.

Referenced by analyze(), beginJob(), and HGCalTimingAnalyzer().

◆ fs_

edm::Service<TFileService> HGCalTimingAnalyzer::fs_
private

Definition at line 61 of file HGCalTimingAnalyzer.cc.

Referenced by beginJob().

◆ groupHits_

bool HGCalTimingAnalyzer::groupHits_
private

Definition at line 63 of file HGCalTimingAnalyzer.cc.

Referenced by HGCalTimingAnalyzer().

◆ hgcons_

const HGCalDDDConstants* HGCalTimingAnalyzer::hgcons_
private

Definition at line 62 of file HGCalTimingAnalyzer.cc.

Referenced by analyzeSimHits(), and beginRun().

◆ idBeams_

std::vector<int> HGCalTimingAnalyzer::idBeams_
private

Definition at line 66 of file HGCalTimingAnalyzer.cc.

Referenced by HGCalTimingAnalyzer().

◆ pBeam_

double HGCalTimingAnalyzer::pBeam_
private

Definition at line 75 of file HGCalTimingAnalyzer.cc.

Referenced by analyzeSimTracks(), and beginJob().

◆ simHitCellEnBeam_

std::vector<float> HGCalTimingAnalyzer::simHitCellEnBeam_
private

Definition at line 73 of file HGCalTimingAnalyzer.cc.

Referenced by analyze(), analyzeSimHits(), and beginJob().

◆ simHitCellEnEE_

std::vector<float> HGCalTimingAnalyzer::simHitCellEnEE_
private

Definition at line 73 of file HGCalTimingAnalyzer.cc.

Referenced by analyze(), analyzeSimHits(), and beginJob().

◆ simHitCellIdBeam_

std::vector<uint32_t> HGCalTimingAnalyzer::simHitCellIdBeam_
private

Definition at line 72 of file HGCalTimingAnalyzer.cc.

Referenced by analyze(), analyzeSimHits(), and beginJob().

◆ simHitCellIdEE_

std::vector<uint32_t> HGCalTimingAnalyzer::simHitCellIdEE_
private

Definition at line 72 of file HGCalTimingAnalyzer.cc.

Referenced by analyze(), analyzeSimHits(), and beginJob().

◆ simHitCellTmBeam_

std::vector<float> HGCalTimingAnalyzer::simHitCellTmBeam_
private

Definition at line 74 of file HGCalTimingAnalyzer.cc.

Referenced by analyze(), analyzeSimHits(), and beginJob().

◆ simHitCellTmEE_

std::vector<float> HGCalTimingAnalyzer::simHitCellTmEE_
private

Definition at line 74 of file HGCalTimingAnalyzer.cc.

Referenced by analyze(), analyzeSimHits(), and beginJob().

◆ timeUnit_

double HGCalTimingAnalyzer::timeUnit_
private

Definition at line 65 of file HGCalTimingAnalyzer.cc.

Referenced by analyzeSimHits(), and HGCalTimingAnalyzer().

◆ tok_hepMC_

edm::EDGetTokenT<edm::HepMCProduct> HGCalTimingAnalyzer::tok_hepMC_
private

Definition at line 70 of file HGCalTimingAnalyzer.cc.

Referenced by analyze(), and HGCalTimingAnalyzer().

◆ tok_hitsBeam_

edm::EDGetTokenT<edm::PCaloHitContainer> HGCalTimingAnalyzer::tok_hitsBeam_
private

Definition at line 67 of file HGCalTimingAnalyzer.cc.

Referenced by analyze(), and HGCalTimingAnalyzer().

◆ tok_hitsEE_

edm::EDGetTokenT<edm::PCaloHitContainer> HGCalTimingAnalyzer::tok_hitsEE_
private

Definition at line 67 of file HGCalTimingAnalyzer.cc.

Referenced by analyze(), and HGCalTimingAnalyzer().

◆ tok_simTk_

edm::EDGetTokenT<edm::SimTrackContainer> HGCalTimingAnalyzer::tok_simTk_
private

Definition at line 68 of file HGCalTimingAnalyzer.cc.

Referenced by analyze(), and HGCalTimingAnalyzer().

◆ tok_simVtx_

edm::EDGetTokenT<edm::SimVertexContainer> HGCalTimingAnalyzer::tok_simVtx_
private

Definition at line 69 of file HGCalTimingAnalyzer.cc.

Referenced by analyze(), and HGCalTimingAnalyzer().

◆ tree_

TTree* HGCalTimingAnalyzer::tree_
private

Definition at line 71 of file HGCalTimingAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ xBeam_

double HGCalTimingAnalyzer::xBeam_
private

Definition at line 75 of file HGCalTimingAnalyzer.cc.

Referenced by analyzeSimTracks(), and beginJob().

◆ yBeam_

double HGCalTimingAnalyzer::yBeam_
private

Definition at line 75 of file HGCalTimingAnalyzer.cc.

Referenced by analyzeSimTracks(), and beginJob().

◆ zBeam_

double HGCalTimingAnalyzer::zBeam_
private

Definition at line 75 of file HGCalTimingAnalyzer.cc.

Referenced by analyzeSimTracks(), and beginJob().

DDAxes::y
mps_fire.i
i
Definition: mps_fire.py:428
HGCalTimingAnalyzer::tree_
TTree * tree_
Definition: HGCalTimingAnalyzer.cc:71
hit::id
unsigned int id
Definition: SiStripHitEffFromCalibTree.cc:92
HGCalTimingAnalyzer::idBeams_
std::vector< int > idBeams_
Definition: HGCalTimingAnalyzer.cc:66
hfClusterShapes_cfi.hits
hits
Definition: hfClusterShapes_cfi.py:5
HGCalTimingAnalyzer::tok_hepMC_
edm::EDGetTokenT< edm::HepMCProduct > tok_hepMC_
Definition: HGCalTimingAnalyzer.cc:70
HGCalTimingAnalyzer::simHitCellIdBeam_
std::vector< uint32_t > simHitCellIdBeam_
Definition: HGCalTimingAnalyzer.cc:72
HGCalTimingAnalyzer::simHitCellIdEE_
std::vector< uint32_t > simHitCellIdEE_
Definition: HGCalTimingAnalyzer.cc:72
ecaldqm::zside
int zside(DetId const &)
Definition: EcalDQMCommonUtils.cc:189
ForwardSubdetector
ForwardSubdetector
Definition: ForwardSubdetector.h:4
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
gather_cfg.cout
cout
Definition: gather_cfg.py:144
HGCalTestNumbering::unpackHexagonIndex
static void unpackHexagonIndex(const uint32_t &idx, int &subdet, int &z, int &lay, int &wafer, int &celltyp, int &cell)
Definition: HGCalTestNumbering.cc:47
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:89287
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
HGCalTimingAnalyzer::detectorBeam_
std::string detectorBeam_
Definition: HGCalTimingAnalyzer.cc:64
edm::second
U second(std::pair< T, U > const &p)
Definition: ParameterSet.cc:222
HGCalTimingAnalyzer::simHitCellTmBeam_
std::vector< float > simHitCellTmBeam_
Definition: HGCalTimingAnalyzer.cc:74
DDAxes::x
edm::Handle< edm::HepMCProduct >
HGCalTimingAnalyzer::analyzeSimTracks
void analyzeSimTracks(edm::Handle< edm::SimTrackContainer > const &SimTk, edm::Handle< edm::SimVertexContainer > const &SimVtx)
Definition: HGCalTimingAnalyzer.cc:298
dqmdumpme.first
first
Definition: dqmdumpme.py:55
edm::LogWarning
Log< level::Warning, false > LogWarning
Definition: MessageLogger.h:122
HGCalTimingAnalyzer::tok_hitsBeam_
edm::EDGetTokenT< edm::PCaloHitContainer > tok_hitsBeam_
Definition: HGCalTimingAnalyzer.cc:67
HepMC::GenEvent
Definition: hepmc_rootio.cc:9
HGCalTimingAnalyzer::yBeam_
double yBeam_
Definition: HGCalTimingAnalyzer.cc:75
HGCalDDDConstants::simToReco
std::pair< int, int > simToReco(int cell, int layer, int mod, bool half) const
Definition: HGCalDDDConstants.cc:1016
HGCalTimingAnalyzer::timeUnit_
double timeUnit_
Definition: HGCalTimingAnalyzer.cc:65
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:57
HGCalTimingAnalyzer::fs_
edm::Service< TFileService > fs_
Definition: HGCalTimingAnalyzer.cc:61
HGCalTimingAnalyzer::analyzeSimHits
void analyzeSimHits(int type, std::vector< PCaloHit > const &hits)
Definition: HGCalTimingAnalyzer.cc:233
edm::ESHandle
Definition: DTSurvey.h:22
HCALHighEnergyHPDFilter_cfi.energy
energy
Definition: HCALHighEnergyHPDFilter_cfi.py:5
dqmdumpme.k
k
Definition: dqmdumpme.py:60
HGCalTimingAnalyzer::zBeam_
double zBeam_
Definition: HGCalTimingAnalyzer.cc:75
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
edm::HandleBase::clear
void clear()
Definition: HandleBase.h:51
HGCalTimingAnalyzer::doTree_
bool doTree_
Definition: HGCalTimingAnalyzer.cc:63
type
type
Definition: SiPixelVCal_PayloadInspector.cc:37
HcalTestBeamNumbering::unpackIndex
static void unpackIndex(const uint32_t &idx, int &det, int &lay, int &x, int &y)
Definition: HcalTestBeamNumbering.cc:31
HGCalDDDConstants::layers
unsigned int layers(bool reco) const
Definition: HGCalDDDConstants.cc:561
iEvent
int iEvent
Definition: GenABIO.cc:224
HGCalTimingAnalyzer::hgcons_
const HGCalDDDConstants * hgcons_
Definition: HGCalTimingAnalyzer.cc:62
HGCalTimingAnalyzer::pBeam_
double pBeam_
Definition: HGCalTimingAnalyzer.cc:75
edm::HepMCProduct::GetEvent
const HepMC::GenEvent * GetEvent() const
Definition: HepMCProduct.h:34
itr
std::vector< std::pair< float, float > >::iterator itr
Definition: HGCDigitizer.cc:29
get
#define get
HGCalTimingAnalyzer::tok_simTk_
edm::EDGetTokenT< edm::SimTrackContainer > tok_simTk_
Definition: HGCalTimingAnalyzer.cc:68
HGCalTimingAnalyzer::tok_hitsEE_
edm::EDGetTokenT< edm::PCaloHitContainer > tok_hitsEE_
Definition: HGCalTimingAnalyzer.cc:67
HGCalDetId
Definition: HGCalDetId.h:8
HGCalTimingAnalyzer::xBeam_
double xBeam_
Definition: HGCalTimingAnalyzer.cc:75
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
DetId::rawId
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
HGCalTimingAnalyzer::groupHits_
bool groupHits_
Definition: HGCalTimingAnalyzer.cc:63
triggerObjects_cff.id
id
Definition: triggerObjects_cff.py:31
cond::uint64_t
unsigned long long uint64_t
Definition: Time.h:13
HGCalTimingAnalyzer::detectorEE_
std::string detectorEE_
Definition: HGCalTimingAnalyzer.cc:64
HGCalTimingAnalyzer::simHitCellEnBeam_
std::vector< float > simHitCellEnBeam_
Definition: HGCalTimingAnalyzer.cc:73
HGCalTimingAnalyzer::simHitCellTmEE_
std::vector< float > simHitCellTmEE_
Definition: HGCalTimingAnalyzer.cc:74
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
ntuplemaker.time
time
Definition: ntuplemaker.py:310
HGCalTimingAnalyzer::simHitCellEnEE_
std::vector< float > simHitCellEnEE_
Definition: HGCalTimingAnalyzer.cc:73
crabWrapper.key
key
Definition: crabWrapper.py:19
TauDecayModes.dec
dec
Definition: TauDecayModes.py:143
edm::InputTag
Definition: InputTag.h:15
IdealGeometryRecord
Definition: IdealGeometryRecord.h:25
hit
Definition: SiStripHitEffFromCalibTree.cc:88
TFileService::make
T * make(const Args &... args) const
make new ROOT object
Definition: TFileService.h:64
HGCalTimingAnalyzer::tok_simVtx_
edm::EDGetTokenT< edm::SimVertexContainer > tok_simVtx_
Definition: HGCalTimingAnalyzer.cc:69