CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Private Attributes
HGCalHitValidation Class Reference

#include <Validation/HGCalValidation/plugins/HGCalHitValidation.cc>

Inheritance diagram for HGCalHitValidation:
DQMEDAnalyzer edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >

Public Member Functions

 HGCalHitValidation (const edm::ParameterSet &)
 
 ~HGCalHitValidation () override
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &event, edm::EventSetup const &setup) final
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
void beginStream (edm::StreamID id) final
 
 DQMEDAnalyzer ()
 
void endLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
 EDProducer ()=default
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndRuns () const final
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static void globalEndJob (DQMEDAnalyzerGlobalCache const *)
 
static void globalEndLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup, LuminosityBlockContext const *context)
 
static void globalEndRunProduce (edm::Run &run, edm::EventSetup const &setup, RunContext const *context)
 
static std::unique_ptr< DQMEDAnalyzerGlobalCacheinitializeGlobalCache (edm::ParameterSet const &)
 

Protected Types

typedef std::tuple< float, float, float, float > HGCHitTuple
 

Protected Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
template<class T1 >
void analyzeHGCalRecHit (T1 const &theHits, std::map< unsigned int, HGCHitTuple > const &hitRefs)
 
void analyzeHGCalSimHit (edm::Handle< std::vector< PCaloHit >> const &simHits, int idet, MonitorElement *hist, std::map< unsigned int, HGCHitTuple > &)
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
void dqmBeginRun (edm::Run const &, edm::EventSetup const &) override
 
- Protected Member Functions inherited from DQMEDAnalyzer
uint64_t meId () const
 

Private Attributes

edm::EDGetTokenT< HGChebRecHitCollectionbhRecHitTokeng_
 
edm::EDGetTokenT< HBHERecHitCollectionbhRecHitTokenh_
 
edm::InputTag bhSimHitSource
 
edm::EDGetTokenT< std::vector< PCaloHit > > bhSimHitToken_
 
edm::EDGetTokenT< HGCeeRecHitCollectioneeRecHitToken_
 
edm::InputTag eeSimHitSource
 
edm::EDGetTokenT< std::vector< PCaloHit > > eeSimHitToken_
 
edm::EDGetTokenT< HGChefRecHitCollectionfhRecHitToken_
 
edm::InputTag fhSimHitSource
 
edm::EDGetTokenT< std::vector< PCaloHit > > fhSimHitToken_
 
std::vector< std::string > geometrySource_
 
const HcalDDDRecConstantshcConr_
 
const HcalDDDSimConstantshcCons_
 
const CaloSubdetectorGeometryhcGeometry_
 
MonitorElementhebdEtaVsEta
 
MonitorElementhebdPhiVsPhi
 
MonitorElementhebdzVsZ
 
MonitorElementhebEnRec
 
MonitorElementhebEnSim
 
MonitorElementhebEnSimRec
 
MonitorElementhebRecVsSimX
 
MonitorElementhebRecVsSimY
 
MonitorElementhebRecVsSimZ
 
MonitorElementheedxVsX
 
MonitorElementheedyVsY
 
MonitorElementheedzVsZ
 
MonitorElementheeEnRec
 
MonitorElementheeEnSim
 
MonitorElementheeEnSimRec
 
MonitorElementheeRecVsSimX
 
MonitorElementheeRecVsSimY
 
MonitorElementheeRecVsSimZ
 
MonitorElementhefdxVsX
 
MonitorElementhefdyVsY
 
MonitorElementhefdzVsZ
 
MonitorElementhefEnRec
 
MonitorElementhefEnSim
 
MonitorElementhefEnSimRec
 
MonitorElementhefRecVsSimX
 
MonitorElementhefRecVsSimY
 
MonitorElementhefRecVsSimZ
 
std::vector< const HGCalDDDConstants * > hgcCons_
 
std::vector< const HGCalGeometry * > hgcGeometry_
 
std::vector< int > ietaExcludeBH_
 
bool ifHCAL_
 
bool ifHCALsim_
 

Additional Inherited Members

- Public Types inherited from DQMEDAnalyzer
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 
unsigned int streamId_
 

Detailed Description

Description: [one line class summary]

Implementation: [Notes on implementation]

Definition at line 61 of file HGCalHitValidation.cc.

Member Typedef Documentation

◆ HGCHitTuple

typedef std::tuple<float, float, float, float> HGCalHitValidation::HGCHitTuple
protected

Definition at line 68 of file HGCalHitValidation.cc.

Constructor & Destructor Documentation

◆ HGCalHitValidation()

HGCalHitValidation::HGCalHitValidation ( const edm::ParameterSet cfg)
explicit

Definition at line 116 of file HGCalHitValidation.cc.

116  {
117  geometrySource_ = cfg.getUntrackedParameter<std::vector<std::string>>("geometrySource");
118  eeSimHitToken_ = consumes<std::vector<PCaloHit>>(cfg.getParameter<edm::InputTag>("eeSimHitSource"));
119  fhSimHitToken_ = consumes<std::vector<PCaloHit>>(cfg.getParameter<edm::InputTag>("fhSimHitSource"));
120  bhSimHitToken_ = consumes<std::vector<PCaloHit>>(cfg.getParameter<edm::InputTag>("bhSimHitSource"));
121  eeRecHitToken_ = consumes<HGCeeRecHitCollection>(cfg.getParameter<edm::InputTag>("eeRecHitSource"));
122  fhRecHitToken_ = consumes<HGChefRecHitCollection>(cfg.getParameter<edm::InputTag>("fhRecHitSource"));
123  ietaExcludeBH_ = cfg.getParameter<std::vector<int>>("ietaExcludeBH");
124  ifHCAL_ = cfg.getParameter<bool>("ifHCAL");
125  ifHCALsim_ = cfg.getParameter<bool>("ifHCALsim");
126  if (ifHCAL_)
127  bhRecHitTokenh_ = consumes<HBHERecHitCollection>(cfg.getParameter<edm::InputTag>("bhRecHitSource"));
128  else
129  bhRecHitTokeng_ = consumes<HGChebRecHitCollection>(cfg.getParameter<edm::InputTag>("bhRecHitSource"));
130 
131 #ifdef EDM_ML_DEBUG
132  edm::LogInfo("HGCalValid") << "Exclude the following " << ietaExcludeBH_.size() << " ieta values from BH plots (BH "
133  << ifHCAL_ << ") ";
134  for (unsigned int k = 0; k < ietaExcludeBH_.size(); ++k)
135  edm::LogInfo("HGCalValid") << " [" << k << "] " << ietaExcludeBH_[k];
136 #endif
137 }

References bhRecHitTokeng_, bhRecHitTokenh_, bhSimHitToken_, looper::cfg, eeRecHitToken_, eeSimHitToken_, fhRecHitToken_, fhSimHitToken_, geometrySource_, ietaExcludeBH_, ifHCAL_, ifHCALsim_, and dqmdumpme::k.

◆ ~HGCalHitValidation()

HGCalHitValidation::~HGCalHitValidation ( )
override

Definition at line 139 of file HGCalHitValidation.cc.

139 {}

Member Function Documentation

◆ analyze()

void HGCalHitValidation::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprotectedvirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 234 of file HGCalHitValidation.cc.

234  {
235  std::map<unsigned int, HGCHitTuple> eeHitRefs, fhHitRefs, bhHitRefs;
236 
237  //Accesing ee simhits
239  iEvent.getByToken(eeSimHitToken_, eeSimHits);
240 
241  if (eeSimHits.isValid()) {
242  analyzeHGCalSimHit(eeSimHits, 0, heeEnSim, eeHitRefs);
243 #ifdef EDM_ML_DEBUG
244  for (std::map<unsigned int, HGCHitTuple>::iterator itr = eeHitRefs.begin(); itr != eeHitRefs.end(); ++itr) {
245  int idx = std::distance(eeHitRefs.begin(), itr);
246  edm::LogInfo("HGCalValid") << "EEHit[" << idx << "] " << std::hex << itr->first << std::dec << "; Energy "
247  << std::get<0>(itr->second) << "; Position (" << std::get<1>(itr->second) << ", "
248  << std::get<2>(itr->second) << ", " << std::get<3>(itr->second) << ")";
249  }
250 #endif
251  } else {
252  edm::LogVerbatim("HGCalValid") << "No EE SimHit Found ";
253  }
254 
255  //Accesing fh simhits
257  iEvent.getByToken(fhSimHitToken_, fhSimHits);
258  if (fhSimHits.isValid()) {
259  analyzeHGCalSimHit(fhSimHits, 1, hefEnSim, fhHitRefs);
260 #ifdef EDM_ML_DEBUG
261  for (std::map<unsigned int, HGCHitTuple>::iterator itr = fhHitRefs.begin(); itr != fhHitRefs.end(); ++itr) {
262  int idx = std::distance(fhHitRefs.begin(), itr);
263  edm::LogInfo("HGCalValid") << "FHHit[" << idx << "] " << std::hex << itr->first << std::dec << "; Energy "
264  << std::get<0>(itr->second) << "; Position (" << std::get<1>(itr->second) << ", "
265  << std::get<2>(itr->second) << ", " << std::get<3>(itr->second) << ")";
266  }
267 #endif
268  } else {
269  edm::LogVerbatim("HGCalValid") << "No FH SimHit Found ";
270  }
271 
272  //Accessing bh simhits
274  iEvent.getByToken(bhSimHitToken_, bhSimHits);
275  if (bhSimHits.isValid()) {
276  if (ifHCALsim_) {
277  for (std::vector<PCaloHit>::const_iterator simHit = bhSimHits->begin(); simHit != bhSimHits->end(); ++simHit) {
278  int subdet, z, depth, eta, phi, lay;
279  HcalTestNumbering::unpackHcalIndex(simHit->id(), subdet, z, depth, eta, phi, lay);
280 
281  if (subdet == static_cast<int>(HcalEndcap)) {
282  HcalCellType::HcalCell cell = hcCons_->cell(subdet, z, lay, eta, phi);
283  double zp = cell.rz / 10;
284 
286  int sign = (z == 0) ? (-1) : (1);
287  zp *= sign;
288  HcalDetId id = HcalDetId(HcalEndcap, sign * idx.eta, idx.phi, idx.depth);
289 
290  float energy = simHit->energy();
291  float energySum(energy);
292  if (bhHitRefs.count(id.rawId()) != 0)
293  energySum += std::get<0>(bhHitRefs[id.rawId()]);
294  hebEnSim->Fill(energy);
295  if (std::find(ietaExcludeBH_.begin(), ietaExcludeBH_.end(), idx.eta) == ietaExcludeBH_.end()) {
296  bhHitRefs[id.rawId()] = std::make_tuple(energySum, cell.eta, cell.phi, zp);
297 #ifdef EDM_ML_DEBUG
298  edm::LogInfo("HGCalValid") << "Accept " << id << std::endl;
299  } else {
300  edm::LogInfo("HGCalValid") << "Reject " << id << std::endl;
301 #endif
302  }
303  }
304  }
305  } else {
306  analyzeHGCalSimHit(bhSimHits, 2, hebEnSim, bhHitRefs);
307  }
308 #ifdef EDM_ML_DEBUG
309  for (std::map<unsigned int, HGCHitTuple>::iterator itr = bhHitRefs.begin(); itr != bhHitRefs.end(); ++itr) {
310  int idx = std::distance(bhHitRefs.begin(), itr);
311  edm::LogInfo("HGCalValid") << "BHHit[" << idx << "] " << std::hex << itr->first << std::dec << "; Energy "
312  << std::get<0>(itr->second) << "; Position (" << std::get<1>(itr->second) << ", "
313  << std::get<2>(itr->second) << ", " << std::get<3>(itr->second) << ")";
314  }
315 #endif
316  } else {
317  edm::LogVerbatim("HGCalValid") << "No BH SimHit Found ";
318  }
319 
320  //accessing EE Rechit information
322  iEvent.getByToken(eeRecHitToken_, eeRecHit);
323  if (eeRecHit.isValid()) {
324  const HGCeeRecHitCollection* theHits = (eeRecHit.product());
325  for (auto it = theHits->begin(); it != theHits->end(); ++it) {
326  double energy = it->energy();
327  heeEnRec->Fill(energy);
328  std::map<unsigned int, HGCHitTuple>::const_iterator itr = eeHitRefs.find(it->id().rawId());
329  if (itr != eeHitRefs.end()) {
330  GlobalPoint xyz = hgcGeometry_[0]->getPosition(it->id());
331  heeRecVsSimX->Fill(std::get<1>(itr->second), xyz.x());
332  heeRecVsSimY->Fill(std::get<2>(itr->second), xyz.y());
333  heeRecVsSimZ->Fill(std::get<3>(itr->second), xyz.z());
334  heedxVsX->Fill(std::get<1>(itr->second), (xyz.x() - std::get<1>(itr->second)));
335  heedyVsY->Fill(std::get<2>(itr->second), (xyz.y() - std::get<2>(itr->second)));
336  heedzVsZ->Fill(std::get<3>(itr->second), (xyz.z() - std::get<3>(itr->second)));
337  heeEnSimRec->Fill(std::get<0>(itr->second), energy);
338 #ifdef EDM_ML_DEBUG
339  edm::LogInfo("HGCalValid") << "EEHit: " << std::hex << it->id().rawId() << std::dec << " Sim ("
340  << std::get<0>(itr->second) << ", " << std::get<1>(itr->second) << ", "
341  << std::get<2>(itr->second) << ", " << std::get<3>(itr->second) << ") Rec ("
342  << energy << ", " << xyz.x() << ", " << xyz.y() << ", " << xyz.z() << ")";
343 #endif
344  }
345  }
346  } else {
347  edm::LogVerbatim("HGCalValid") << "No EE RecHit Found ";
348  }
349 
350  //accessing FH Rechit information
352  iEvent.getByToken(fhRecHitToken_, fhRecHit);
353  if (fhRecHit.isValid()) {
354  const HGChefRecHitCollection* theHits = (fhRecHit.product());
355  for (auto it = theHits->begin(); it != theHits->end(); ++it) {
356  double energy = it->energy();
357  hefEnRec->Fill(energy);
358  std::map<unsigned int, HGCHitTuple>::const_iterator itr = fhHitRefs.find(it->id().rawId());
359  if (itr != fhHitRefs.end()) {
360  GlobalPoint xyz = hgcGeometry_[1]->getPosition(it->id());
361 
362  hefRecVsSimX->Fill(std::get<1>(itr->second), xyz.x());
363  hefRecVsSimY->Fill(std::get<2>(itr->second), xyz.y());
364  hefRecVsSimZ->Fill(std::get<3>(itr->second), xyz.z());
365  hefdxVsX->Fill(std::get<1>(itr->second), (xyz.x() - std::get<1>(itr->second)));
366  hefdyVsY->Fill(std::get<2>(itr->second), (xyz.y() - std::get<2>(itr->second)));
367  hefdzVsZ->Fill(std::get<3>(itr->second), (xyz.z() - std::get<3>(itr->second)));
368  hefEnSimRec->Fill(std::get<0>(itr->second), energy);
369 #ifdef EDM_ML_DEBUG
370  edm::LogInfo("HGCalValid") << "FHHit: " << std::hex << it->id().rawId() << std::dec << " Sim ("
371  << std::get<0>(itr->second) << ", " << std::get<1>(itr->second) << ", "
372  << std::get<2>(itr->second) << ", " << std::get<3>(itr->second) << ") Rec ("
373  << energy << "," << xyz.x() << ", " << xyz.y() << ", " << xyz.z() << ")";
374 #endif
375  }
376  }
377  } else {
378  edm::LogVerbatim("HGCalValid") << "No FH RecHit Found ";
379  }
380 
381  //accessing BH Rechit information
382  if (ifHCAL_) {
384  iEvent.getByToken(bhRecHitTokenh_, bhRecHit);
385  if (bhRecHit.isValid()) {
386  const HBHERecHitCollection* theHits = (bhRecHit.product());
387  analyzeHGCalRecHit(theHits, bhHitRefs);
388  } else {
389  edm::LogVerbatim("HGCalValid") << "No BH RecHit Found ";
390  }
391  } else {
393  iEvent.getByToken(bhRecHitTokeng_, bhRecHit);
394  if (bhRecHit.isValid()) {
395  const HGChebRecHitCollection* theHits = (bhRecHit.product());
396  analyzeHGCalRecHit(theHits, bhHitRefs);
397  } else {
398  edm::LogVerbatim("HGCalValid") << "No BH RecHit Found ";
399  }
400  }
401 }

References analyzeHGCalRecHit(), analyzeHGCalSimHit(), bhRecHitTokeng_, bhRecHitTokenh_, hgcalTriggerNtuples_cfi::bhSimHits, bhSimHitToken_, HcalDDDSimConstants::cell(), TauDecayModes::dec, LEDCalibrationChannels::depth, HLT_2018_cff::distance, eeRecHitToken_, hgcalTriggerNtuples_cfi::eeSimHits, eeSimHitToken_, HCALHighEnergyHPDFilter_cfi::energy, CastorDataFrameFilter_impl::energySum(), HcalCellType::HcalCell::eta, PVValHelper::eta, fhRecHitToken_, hgcalTriggerNtuples_cfi::fhSimHits, fhSimHitToken_, dqm::impl::MonitorElement::Fill(), spr::find(), HcalDDDRecConstants::getHCID(), HcalEndcap, hcConr_, hcCons_, hebEnSim, heedxVsX, heedyVsY, heedzVsZ, heeEnRec, heeEnSim, heeEnSimRec, heeRecVsSimX, heeRecVsSimY, heeRecVsSimZ, hefdxVsX, hefdyVsY, hefdzVsZ, hefEnRec, hefEnSim, hefEnSimRec, hefRecVsSimX, hefRecVsSimY, hefRecVsSimZ, hgcGeometry_, training_settings::idx, ietaExcludeBH_, iEvent, ifHCAL_, ifHCALsim_, edm::HandleBase::isValid(), phi, HcalCellType::HcalCell::phi, edm::Handle< T >::product(), HcalCellType::HcalCell::rz, Validation_hcalonly_cfi::sign, rpcPointValidation_cfi::simHit, bscTrigger_cfi::theHits, HcalTestNumbering::unpackHcalIndex(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), z, and PV3DBase< T, PVType, FrameType >::z().

◆ analyzeHGCalRecHit()

template<class T1 >
void HGCalHitValidation::analyzeHGCalRecHit ( T1 const &  theHits,
std::map< unsigned int, HGCHitTuple > const &  hitRefs 
)
protected

Definition at line 440 of file HGCalHitValidation.cc.

440  {
441  for (auto it = theHits->begin(); it != theHits->end(); ++it) {
442  DetId id = it->id();
443  if (id.det() == DetId::Hcal and id.subdetId() == (int)(HcalEndcap)) {
444  double energy = it->energy();
445  hebEnRec->Fill(energy);
446  GlobalPoint xyz = hcGeometry_->getGeometry(id)->getPosition();
447 
448  std::map<unsigned int, HGCHitTuple>::const_iterator itr = hitRefs.find(id.rawId());
449  if (itr != hitRefs.end()) {
450  float ang3 = xyz.phi().value(); // returns the phi in radians
451  double fac = sinh(std::get<1>(itr->second));
452  double pT = std::get<3>(itr->second) / fac;
453  double xp = pT * cos(std::get<2>(itr->second));
454  double yp = pT * sin(std::get<2>(itr->second));
455  hebRecVsSimX->Fill(xp, xyz.x());
456  hebRecVsSimY->Fill(yp, xyz.y());
457  hebRecVsSimZ->Fill(std::get<3>(itr->second), xyz.z());
458  hebdEtaVsEta->Fill(std::get<1>(itr->second), (xyz.eta() - std::get<1>(itr->second)));
459  hebdPhiVsPhi->Fill(std::get<2>(itr->second), (ang3 - std::get<2>(itr->second)));
460  hebdzVsZ->Fill(std::get<3>(itr->second), (xyz.z() - std::get<3>(itr->second)));
461  hebEnSimRec->Fill(std::get<0>(itr->second), energy);
462 
463 #ifdef EDM_ML_DEBUG
464  edm::LogInfo("HGCalValid") << "BHHit: " << std::hex << id.rawId() << std::dec << " Sim ("
465  << std::get<0>(itr->second) << ", " << std::get<1>(itr->second) << ", "
466  << std::get<2>(itr->second) << ", " << std::get<3>(itr->second) << ") Rec ("
467  << energy << ", " << xyz.x() << ", " << xyz.y() << ", " << xyz.z() << ")\n";
468 #endif
469  }
470  }
471  }
472 }

References funct::cos(), TauDecayModes::dec, HCALHighEnergyHPDFilter_cfi::energy, PV3DBase< T, PVType, FrameType >::eta(), dqm::impl::MonitorElement::Fill(), CaloSubdetectorGeometry::getGeometry(), DetId::Hcal, HcalEndcap, hcGeometry_, hebdEtaVsEta, hebdPhiVsPhi, hebdzVsZ, hebEnRec, hebEnSimRec, hebRecVsSimX, hebRecVsSimY, hebRecVsSimZ, PV3DBase< T, PVType, FrameType >::phi(), PVValHelper::pT, funct::sin(), bscTrigger_cfi::theHits, Geom::Phi< T1, Range >::value(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

Referenced by analyze().

◆ analyzeHGCalSimHit()

void HGCalHitValidation::analyzeHGCalSimHit ( edm::Handle< std::vector< PCaloHit >> const &  simHits,
int  idet,
MonitorElement hist,
std::map< unsigned int, HGCHitTuple > &  hitRefs 
)
protected

Definition at line 403 of file HGCalHitValidation.cc.

406  {
407  const HGCalTopology& hTopo = hgcGeometry_[idet]->topology();
408  for (std::vector<PCaloHit>::const_iterator simHit = simHits->begin(); simHit != simHits->end(); ++simHit) {
409  int subdet, zside, layer, wafer, celltype, cell;
410  HGCalTestNumbering::unpackHexagonIndex(simHit->id(), subdet, zside, layer, wafer, celltype, cell);
411  std::pair<float, float> xy = hgcCons_[idet]->locateCell(cell, layer, wafer, false);
412  float zp = hgcCons_[idet]->waferZ(layer, false);
413  if (zside < 0)
414  zp = -zp;
415  float xp = (zp < 0) ? -xy.first / 10 : xy.first / 10;
416  float yp = xy.second / 10.0;
417 
418  //skip this hit if after ganging it is not valid
419  std::pair<int, int> recoLayerCell = hgcCons_[idet]->simToReco(cell, layer, wafer, hTopo.detectorType());
420  cell = recoLayerCell.first;
421  layer = recoLayerCell.second;
422 
423  //skip this hit if after ganging it is not valid
424  if (layer < 0 || cell < 0) {
425  } else {
426  //assign the RECO DetId
427  HGCalDetId id = HGCalDetId((ForwardSubdetector)(subdet), zside, layer, celltype, wafer, cell);
428  float energy = simHit->energy();
429 
430  float energySum(energy);
431  if (hitRefs.count(id.rawId()) != 0)
432  energySum += std::get<0>(hitRefs[id.rawId()]);
433  hitRefs[id.rawId()] = std::make_tuple(energySum, xp, yp, zp);
434  hist->Fill(energy);
435  }
436  }
437 }

References HGCalTopology::detectorType(), HCALHighEnergyHPDFilter_cfi::energy, CastorDataFrameFilter_impl::energySum(), hgcCons_, hgcGeometry_, compare::hist, rpcPointValidation_cfi::simHit, FastTrackerRecHitCombiner_cfi::simHits, HGCalTestNumbering::unpackHexagonIndex(), geometryCSVtoXML::xy, and ecaldqm::zside().

Referenced by analyze().

◆ bookHistograms()

void HGCalHitValidation::bookHistograms ( DQMStore::IBooker iB,
edm::Run const &  ,
edm::EventSetup const &   
)
overrideprotectedvirtual

Implements DQMEDAnalyzer.

Definition at line 149 of file HGCalHitValidation.cc.

149  {
150  iB.setCurrentFolder("HGCAL/HGCalSimHitsV/HitValidation");
151 
152  //initiating histograms
153  heedzVsZ = iB.book2D("heedzVsZ", "", 7200, -360, 360, 100, -0.1, 0.1);
154  heedyVsY = iB.book2D("heedyVsY", "", 400, -200, 200, 100, -0.02, 0.02);
155  heedxVsX = iB.book2D("heedxVsX", "", 400, -200, 200, 100, -0.02, 0.02);
156  heeRecVsSimZ = iB.book2D("heeRecVsSimZ", "", 7200, -360, 360, 7200, -360, 360);
157  heeRecVsSimY = iB.book2D("heeRecVsSimY", "", 400, -200, 200, 400, -200, 200);
158  heeRecVsSimX = iB.book2D("heeRecVsSimX", "", 400, -200, 200, 400, -200, 200);
159 
160  hefdzVsZ = iB.book2D("hefdzVsZ", "", 8200, -410, 410, 100, -0.1, 0.1);
161  hefdyVsY = iB.book2D("hefdyVsY", "", 400, -200, 200, 100, -0.02, 0.02);
162  hefdxVsX = iB.book2D("hefdxVsX", "", 400, -200, 200, 100, -0.02, 0.02);
163  hefRecVsSimZ = iB.book2D("hefRecVsSimZ", "", 8200, -410, 410, 8200, -410, 410);
164  hefRecVsSimY = iB.book2D("hefRecVsSimY", "", 400, -200, 200, 400, -200, 200);
165  hefRecVsSimX = iB.book2D("hefRecVsSimX", "", 400, -200, 200, 400, -200, 200);
166 
167  hebdzVsZ = iB.book2D("hebdzVsZ", "", 1080, -540, 540, 100, -1.0, 1.0);
168  hebdPhiVsPhi = iB.book2D("hebdPhiVsPhi", "", M_PI * 100, -0.5, M_PI + 0.5, 200, -0.2, 0.2);
169  hebdEtaVsEta = iB.book2D("hebdEtaVsEta", "", 1000, -5, 5, 200, -0.1, 0.1);
170  hebRecVsSimZ = iB.book2D("hebRecVsSimZ", "", 1080, -540, 540, 1080, -540, 540);
171  hebRecVsSimY = iB.book2D("hebRecVsSimY", "", 400, -200, 200, 400, -200, 200);
172  hebRecVsSimX = iB.book2D("hebRecVsSimX", "", 400, -200, 200, 400, -200, 200);
173 
174  heeEnRec = iB.book1D("heeEnRec", "", 1000, 0, 10);
175  heeEnSim = iB.book1D("heeEnSim", "", 1000, 0, 0.01);
176  heeEnSimRec = iB.book2D("heeEnSimRec", "", 200, 0, 0.002, 200, 0, 0.2);
177 
178  hefEnRec = iB.book1D("hefEnRec", "", 1000, 0, 10);
179  hefEnSim = iB.book1D("hefEnSim", "", 1000, 0, 0.01);
180  hefEnSimRec = iB.book2D("hefEnSimRec", "", 200, 0, 0.001, 200, 0, 0.5);
181 
182  hebEnRec = iB.book1D("hebEnRec", "", 1000, 0, 15);
183  hebEnSim = iB.book1D("hebEnSim", "", 1000, 0, 0.01);
184  hebEnSimRec = iB.book2D("hebEnSimRec", "", 200, 0, 0.02, 200, 0, 4);
185 }

References dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::book2D(), hebdEtaVsEta, hebdPhiVsPhi, hebdzVsZ, hebEnRec, hebEnSim, hebEnSimRec, hebRecVsSimX, hebRecVsSimY, hebRecVsSimZ, heedxVsX, heedyVsY, heedzVsZ, heeEnRec, heeEnSim, heeEnSimRec, heeRecVsSimX, heeRecVsSimY, heeRecVsSimZ, hefdxVsX, hefdyVsY, hefdzVsZ, hefEnRec, hefEnSim, hefEnSimRec, hefRecVsSimX, hefRecVsSimY, hefRecVsSimZ, M_PI, and dqm::implementation::NavigatorBase::setCurrentFolder().

◆ dqmBeginRun()

void HGCalHitValidation::dqmBeginRun ( edm::Run const &  iRun,
edm::EventSetup const &  iSetup 
)
overrideprotectedvirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 187 of file HGCalHitValidation.cc.

187  {
188  //initiating hgc Geometry
189  for (size_t i = 0; i < geometrySource_.size(); i++) {
190  if (geometrySource_[i].find("Hcal") != std::string::npos) {
192  iSetup.get<HcalSimNumberingRecord>().get(pHSNDC);
193  if (pHSNDC.isValid()) {
194  hcCons_ = pHSNDC.product();
195  hgcCons_.push_back(nullptr);
196  } else {
197  edm::LogWarning("HGCalValid") << "Cannot initiate HcalDDDSimConstants: " << geometrySource_[i] << std::endl;
198  }
200  iSetup.get<HcalRecNumberingRecord>().get(pHRNDC);
201  if (pHRNDC.isValid()) {
202  hcConr_ = pHRNDC.product();
203  } else {
204  edm::LogWarning("HGCalValid") << "Cannot initiate HcalDDDRecConstants: " << geometrySource_[i] << std::endl;
205  }
207  iSetup.get<CaloGeometryRecord>().get(caloG);
208  if (caloG.isValid()) {
209  const CaloGeometry* geo = caloG.product();
211  hgcGeometry_.push_back(nullptr);
212  } else {
213  edm::LogWarning("HGCalValid") << "Cannot initiate HcalGeometry for " << geometrySource_[i] << std::endl;
214  }
215  } else {
217  iSetup.get<IdealGeometryRecord>().get(geometrySource_[i], hgcCons);
218  if (hgcCons.isValid()) {
219  hgcCons_.push_back(hgcCons.product());
220  } else {
221  edm::LogWarning("HGCalValid") << "Cannot initiate HGCalDDDConstants for " << geometrySource_[i] << std::endl;
222  }
224  iSetup.get<IdealGeometryRecord>().get(geometrySource_[i], hgcGeom);
225  if (hgcGeom.isValid()) {
226  hgcGeometry_.push_back(hgcGeom.product());
227  } else {
228  edm::LogWarning("HGCalValid") << "Cannot initiate HGCalGeometry for " << geometrySource_[i] << std::endl;
229  }
230  }
231  }
232 }

References spr::find(), geometrySource_, edm::EventSetup::get(), get, CaloGeometry::getSubdetectorGeometry(), DetId::Hcal, HcalBarrel, hcConr_, hcCons_, hcGeometry_, hgcCons_, hgcGeometry_, mps_fire::i, edm::ESHandleBase::isValid(), and edm::ESHandle< T >::product().

◆ fillDescriptions()

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

Definition at line 141 of file HGCalHitValidation.cc.

141  {
142  //The following says we do not know what parameters are allowed so do no validation
143  // Please change this to state exactly what you do use, even if it is no parameters
145  desc.setUnknown();
146  descriptions.addDefault(desc);
147 }

References edm::ConfigurationDescriptions::addDefault(), and edm::ParameterSetDescription::setUnknown().

Member Data Documentation

◆ bhRecHitTokeng_

edm::EDGetTokenT<HGChebRecHitCollection> HGCalHitValidation::bhRecHitTokeng_
private

Definition at line 98 of file HGCalHitValidation.cc.

Referenced by analyze(), and HGCalHitValidation().

◆ bhRecHitTokenh_

edm::EDGetTokenT<HBHERecHitCollection> HGCalHitValidation::bhRecHitTokenh_
private

Definition at line 99 of file HGCalHitValidation.cc.

Referenced by analyze(), and HGCalHitValidation().

◆ bhSimHitSource

edm::InputTag HGCalHitValidation::bhSimHitSource
private

Definition at line 92 of file HGCalHitValidation.cc.

◆ bhSimHitToken_

edm::EDGetTokenT<std::vector<PCaloHit> > HGCalHitValidation::bhSimHitToken_
private

Definition at line 95 of file HGCalHitValidation.cc.

Referenced by analyze(), and HGCalHitValidation().

◆ eeRecHitToken_

edm::EDGetTokenT<HGCeeRecHitCollection> HGCalHitValidation::eeRecHitToken_
private

Definition at line 96 of file HGCalHitValidation.cc.

Referenced by analyze(), and HGCalHitValidation().

◆ eeSimHitSource

edm::InputTag HGCalHitValidation::eeSimHitSource
private

Definition at line 92 of file HGCalHitValidation.cc.

◆ eeSimHitToken_

edm::EDGetTokenT<std::vector<PCaloHit> > HGCalHitValidation::eeSimHitToken_
private

Definition at line 93 of file HGCalHitValidation.cc.

Referenced by analyze(), and HGCalHitValidation().

◆ fhRecHitToken_

edm::EDGetTokenT<HGChefRecHitCollection> HGCalHitValidation::fhRecHitToken_
private

Definition at line 97 of file HGCalHitValidation.cc.

Referenced by analyze(), and HGCalHitValidation().

◆ fhSimHitSource

edm::InputTag HGCalHitValidation::fhSimHitSource
private

Definition at line 92 of file HGCalHitValidation.cc.

◆ fhSimHitToken_

edm::EDGetTokenT<std::vector<PCaloHit> > HGCalHitValidation::fhSimHitToken_
private

Definition at line 94 of file HGCalHitValidation.cc.

Referenced by analyze(), and HGCalHitValidation().

◆ geometrySource_

std::vector<std::string> HGCalHitValidation::geometrySource_
private

Definition at line 87 of file HGCalHitValidation.cc.

Referenced by dqmBeginRun(), and HGCalHitValidation().

◆ hcConr_

const HcalDDDRecConstants* HGCalHitValidation::hcConr_
private

Definition at line 85 of file HGCalHitValidation.cc.

Referenced by analyze(), and dqmBeginRun().

◆ hcCons_

const HcalDDDSimConstants* HGCalHitValidation::hcCons_
private

Definition at line 84 of file HGCalHitValidation.cc.

Referenced by analyze(), and dqmBeginRun().

◆ hcGeometry_

const CaloSubdetectorGeometry* HGCalHitValidation::hcGeometry_
private

Definition at line 86 of file HGCalHitValidation.cc.

Referenced by analyzeHGCalRecHit(), and dqmBeginRun().

◆ hebdEtaVsEta

MonitorElement * HGCalHitValidation::hebdEtaVsEta
private

Definition at line 104 of file HGCalHitValidation.cc.

Referenced by analyzeHGCalRecHit(), and bookHistograms().

◆ hebdPhiVsPhi

MonitorElement * HGCalHitValidation::hebdPhiVsPhi
private

Definition at line 104 of file HGCalHitValidation.cc.

Referenced by analyzeHGCalRecHit(), and bookHistograms().

◆ hebdzVsZ

MonitorElement* HGCalHitValidation::hebdzVsZ
private

Definition at line 104 of file HGCalHitValidation.cc.

Referenced by analyzeHGCalRecHit(), and bookHistograms().

◆ hebEnRec

MonitorElement* HGCalHitValidation::hebEnRec
private

Definition at line 111 of file HGCalHitValidation.cc.

Referenced by analyzeHGCalRecHit(), and bookHistograms().

◆ hebEnSim

MonitorElement * HGCalHitValidation::hebEnSim
private

Definition at line 111 of file HGCalHitValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ hebEnSimRec

MonitorElement * HGCalHitValidation::hebEnSimRec
private

Definition at line 109 of file HGCalHitValidation.cc.

Referenced by analyzeHGCalRecHit(), and bookHistograms().

◆ hebRecVsSimX

MonitorElement * HGCalHitValidation::hebRecVsSimX
private

Definition at line 108 of file HGCalHitValidation.cc.

Referenced by analyzeHGCalRecHit(), and bookHistograms().

◆ hebRecVsSimY

MonitorElement * HGCalHitValidation::hebRecVsSimY
private

Definition at line 108 of file HGCalHitValidation.cc.

Referenced by analyzeHGCalRecHit(), and bookHistograms().

◆ hebRecVsSimZ

MonitorElement* HGCalHitValidation::hebRecVsSimZ
private

Definition at line 108 of file HGCalHitValidation.cc.

Referenced by analyzeHGCalRecHit(), and bookHistograms().

◆ heedxVsX

MonitorElement * HGCalHitValidation::heedxVsX
private

Definition at line 102 of file HGCalHitValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ heedyVsY

MonitorElement * HGCalHitValidation::heedyVsY
private

Definition at line 102 of file HGCalHitValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ heedzVsZ

MonitorElement* HGCalHitValidation::heedzVsZ
private

Definition at line 102 of file HGCalHitValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ heeEnRec

MonitorElement* HGCalHitValidation::heeEnRec
private

Definition at line 113 of file HGCalHitValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ heeEnSim

MonitorElement * HGCalHitValidation::heeEnSim
private

Definition at line 113 of file HGCalHitValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ heeEnSimRec

MonitorElement* HGCalHitValidation::heeEnSimRec
private

Definition at line 109 of file HGCalHitValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ heeRecVsSimX

MonitorElement * HGCalHitValidation::heeRecVsSimX
private

Definition at line 106 of file HGCalHitValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ heeRecVsSimY

MonitorElement * HGCalHitValidation::heeRecVsSimY
private

Definition at line 106 of file HGCalHitValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ heeRecVsSimZ

MonitorElement* HGCalHitValidation::heeRecVsSimZ
private

Definition at line 106 of file HGCalHitValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ hefdxVsX

MonitorElement * HGCalHitValidation::hefdxVsX
private

Definition at line 103 of file HGCalHitValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ hefdyVsY

MonitorElement * HGCalHitValidation::hefdyVsY
private

Definition at line 103 of file HGCalHitValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ hefdzVsZ

MonitorElement* HGCalHitValidation::hefdzVsZ
private

Definition at line 103 of file HGCalHitValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ hefEnRec

MonitorElement* HGCalHitValidation::hefEnRec
private

Definition at line 112 of file HGCalHitValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ hefEnSim

MonitorElement * HGCalHitValidation::hefEnSim
private

Definition at line 112 of file HGCalHitValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ hefEnSimRec

MonitorElement * HGCalHitValidation::hefEnSimRec
private

Definition at line 109 of file HGCalHitValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ hefRecVsSimX

MonitorElement * HGCalHitValidation::hefRecVsSimX
private

Definition at line 107 of file HGCalHitValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ hefRecVsSimY

MonitorElement * HGCalHitValidation::hefRecVsSimY
private

Definition at line 107 of file HGCalHitValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ hefRecVsSimZ

MonitorElement* HGCalHitValidation::hefRecVsSimZ
private

Definition at line 107 of file HGCalHitValidation.cc.

Referenced by analyze(), and bookHistograms().

◆ hgcCons_

std::vector<const HGCalDDDConstants*> HGCalHitValidation::hgcCons_
private

Definition at line 82 of file HGCalHitValidation.cc.

Referenced by analyzeHGCalSimHit(), and dqmBeginRun().

◆ hgcGeometry_

std::vector<const HGCalGeometry*> HGCalHitValidation::hgcGeometry_
private

Definition at line 83 of file HGCalHitValidation.cc.

Referenced by analyze(), analyzeHGCalSimHit(), and dqmBeginRun().

◆ ietaExcludeBH_

std::vector<int> HGCalHitValidation::ietaExcludeBH_
private

Definition at line 88 of file HGCalHitValidation.cc.

Referenced by analyze(), and HGCalHitValidation().

◆ ifHCAL_

bool HGCalHitValidation::ifHCAL_
private

Definition at line 89 of file HGCalHitValidation.cc.

Referenced by analyze(), and HGCalHitValidation().

◆ ifHCALsim_

bool HGCalHitValidation::ifHCALsim_
private

Definition at line 90 of file HGCalHitValidation.cc.

Referenced by analyze(), and HGCalHitValidation().

edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
Geom::Phi::value
T1 value() const
Explicit access to value in case implicit conversion not OK.
Definition: Phi.h:75
mps_fire.i
i
Definition: mps_fire.py:355
edm::Handle::product
T const * product() const
Definition: Handle.h:70
HcalCellType::HcalCell::eta
double eta
Definition: HcalCellType.h:17
PV3DBase::x
T x() const
Definition: PV3DBase.h:59
HGCalHitValidation::hebEnRec
MonitorElement * hebEnRec
Definition: HGCalHitValidation.cc:111
ecaldqm::zside
int zside(DetId const &)
Definition: EcalDQMCommonUtils.cc:189
ForwardSubdetector
ForwardSubdetector
Definition: ForwardSubdetector.h:4
CaloGeometryRecord
Definition: CaloGeometryRecord.h:30
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
HGCalHitValidation::heedxVsX
MonitorElement * heedxVsX
Definition: HGCalHitValidation.cc:102
DetId::Hcal
Definition: DetId.h:28
edm::LogInfo
Definition: MessageLogger.h:254
HGCalHitValidation::hebRecVsSimX
MonitorElement * hebRecVsSimX
Definition: HGCalHitValidation.cc:108
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
CaloGeometry::getSubdetectorGeometry
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
Definition: CaloGeometry.cc:34
HLT_2018_cff.distance
distance
Definition: HLT_2018_cff.py:6417
FastTrackerRecHitCombiner_cfi.simHits
simHits
Definition: FastTrackerRecHitCombiner_cfi.py:5
edm::SortedCollection
Definition: SortedCollection.h:49
Validation_hcalonly_cfi.sign
sign
Definition: Validation_hcalonly_cfi.py:32
HGCalHitValidation::heedyVsY
MonitorElement * heedyVsY
Definition: HGCalHitValidation.cc:102
HGCalHitValidation::eeRecHitToken_
edm::EDGetTokenT< HGCeeRecHitCollection > eeRecHitToken_
Definition: HGCalHitValidation.cc:96
HGCalHitValidation::heeEnSim
MonitorElement * heeEnSim
Definition: HGCalHitValidation.cc:113
HGCalHitValidation::hefEnSim
MonitorElement * hefEnSim
Definition: HGCalHitValidation.cc:112
HcalBarrel
Definition: HcalAssistant.h:33
spr::find
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:19
HGCalHitValidation::heedzVsZ
MonitorElement * heedzVsZ
Definition: HGCalHitValidation.cc:102
edm::Handle
Definition: AssociativeIterator.h:50
training_settings.idx
idx
Definition: training_settings.py:16
HcalDDDSimConstants::cell
HcalCellType::HcalCell cell(const int &det, const int &zside, const int &depth, const int &etaR, const int &iphi) const
Definition: HcalDDDSimConstants.cc:28
funct::sin
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
CastorDataFrameFilter_impl::energySum
double energySum(const DataFrame &df, int fs, int ls)
Definition: CastorDataFrameFilter.cc:22
PV3DBase::z
T z() const
Definition: PV3DBase.h:61
HGCalHitValidation::hefEnRec
MonitorElement * hefEnRec
Definition: HGCalHitValidation.cc:112
DetId
Definition: DetId.h:17
CaloGeometry
Definition: CaloGeometry.h:21
HGCalHitValidation::fhRecHitToken_
edm::EDGetTokenT< HGChefRecHitCollection > fhRecHitToken_
Definition: HGCalHitValidation.cc:97
funct::cos
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
HcalTestNumbering::unpackHcalIndex
static void unpackHcalIndex(const uint32_t &idx, int &det, int &z, int &depth, int &eta, int &phi, int &lay)
Definition: HcalTestNumbering.cc:18
HGCalHitValidation::bhSimHitToken_
edm::EDGetTokenT< std::vector< PCaloHit > > bhSimHitToken_
Definition: HGCalHitValidation.cc:95
compare.hist
hist
Definition: compare.py:376
HGCalHitValidation::bhRecHitTokenh_
edm::EDGetTokenT< HBHERecHitCollection > bhRecHitTokenh_
Definition: HGCalHitValidation.cc:99
PVValHelper::eta
Definition: PVValidationHelpers.h:69
rpcPointValidation_cfi.simHit
simHit
Definition: rpcPointValidation_cfi.py:24
PVValHelper::pT
Definition: PVValidationHelpers.h:70
HGCalTopology::detectorType
bool detectorType() const
Definition: HGCalTopology.h:119
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
HGCalHitValidation::hefRecVsSimY
MonitorElement * hefRecVsSimY
Definition: HGCalHitValidation.cc:107
DDAxes::z
edm::ESHandle
Definition: DTSurvey.h:22
HGCalHitValidation::heeRecVsSimX
MonitorElement * heeRecVsSimX
Definition: HGCalHitValidation.cc:106
HCALHighEnergyHPDFilter_cfi.energy
energy
Definition: HCALHighEnergyHPDFilter_cfi.py:5
HGCalHitValidation::hebRecVsSimZ
MonitorElement * hebRecVsSimZ
Definition: HGCalHitValidation.cc:108
dqmdumpme.k
k
Definition: dqmdumpme.py:60
HGCalHitValidation::hebEnSimRec
MonitorElement * hebEnSimRec
Definition: HGCalHitValidation.cc:109
HGCalHitValidation::heeRecVsSimY
MonitorElement * heeRecVsSimY
Definition: HGCalHitValidation.cc:106
Point3DBase< float, GlobalTag >
HGCalHitValidation::hefRecVsSimZ
MonitorElement * hefRecVsSimZ
Definition: HGCalHitValidation.cc:107
LEDCalibrationChannels.depth
depth
Definition: LEDCalibrationChannels.py:65
HcalRecNumberingRecord
Definition: HcalRecNumberingRecord.h:23
geometryCSVtoXML.xy
xy
Definition: geometryCSVtoXML.py:19
HGCalHitValidation::hebRecVsSimY
MonitorElement * hebRecVsSimY
Definition: HGCalHitValidation.cc:108
edm::LogWarning
Definition: MessageLogger.h:141
HGCalHitValidation::hebdEtaVsEta
MonitorElement * hebdEtaVsEta
Definition: HGCalHitValidation.cc:104
HGCalHitValidation::hefRecVsSimX
MonitorElement * hefRecVsSimX
Definition: HGCalHitValidation.cc:107
HGCalHitValidation::analyzeHGCalRecHit
void analyzeHGCalRecHit(T1 const &theHits, std::map< unsigned int, HGCHitTuple > const &hitRefs)
Definition: HGCalHitValidation.cc:440
HcalCellType::HcalCell::rz
double rz
Definition: HcalCellType.h:17
HGCalHitValidation::fhSimHitToken_
edm::EDGetTokenT< std::vector< PCaloHit > > fhSimHitToken_
Definition: HGCalHitValidation.cc:94
HGCalHitValidation::ifHCALsim_
bool ifHCALsim_
Definition: HGCalHitValidation.cc:90
HGCalHitValidation::hgcGeometry_
std::vector< const HGCalGeometry * > hgcGeometry_
Definition: HGCalHitValidation.cc:83
HGCalHitValidation::hefdxVsX
MonitorElement * hefdxVsX
Definition: HGCalHitValidation.cc:103
PV3DBase::eta
T eta() const
Definition: PV3DBase.h:73
PV3DBase::y
T y() const
Definition: PV3DBase.h:60
HcalDetId
Definition: HcalDetId.h:12
iEvent
int iEvent
Definition: GenABIO.cc:224
HGCalHitValidation::heeRecVsSimZ
MonitorElement * heeRecVsSimZ
Definition: HGCalHitValidation.cc:106
M_PI
#define M_PI
Definition: BXVectorInputProducer.cc:50
edm::LogVerbatim
Definition: MessageLogger.h:297
edm::ParameterSetDescription::setUnknown
void setUnknown()
Definition: ParameterSetDescription.cc:39
hgcalTriggerNtuples_cfi.fhSimHits
fhSimHits
Definition: hgcalTriggerNtuples_cfi.py:51
CaloSubdetectorGeometry::getGeometry
virtual std::shared_ptr< const CaloCellGeometry > getGeometry(const DetId &id) const
Get the cell geometry of a given detector id. Should return false if not found.
Definition: CaloSubdetectorGeometry.cc:36
HcalCellType::HcalCell
Definition: HcalCellType.h:15
HGCalHitValidation::bhRecHitTokeng_
edm::EDGetTokenT< HGChebRecHitCollection > bhRecHitTokeng_
Definition: HGCalHitValidation.cc:98
HGCalHitValidation::hefdyVsY
MonitorElement * hefdyVsY
Definition: HGCalHitValidation.cc:103
HGCalHitValidation::hcCons_
const HcalDDDSimConstants * hcCons_
Definition: HGCalHitValidation.cc:84
itr
std::vector< std::pair< float, float > >::iterator itr
Definition: HGCDigitizer.cc:28
hgcalTriggerNtuples_cfi.eeSimHits
eeSimHits
Definition: hgcalTriggerNtuples_cfi.py:50
get
#define get
HGCalHitValidation::hgcCons_
std::vector< const HGCalDDDConstants * > hgcCons_
Definition: HGCalHitValidation.cc:82
edm::ESHandleBase::isValid
bool isValid() const
Definition: ESHandle.h:44
HGCalTopology
Definition: HGCalTopology.h:12
looper.cfg
cfg
Definition: looper.py:297
HGCalHitValidation::hcConr_
const HcalDDDRecConstants * hcConr_
Definition: HGCalHitValidation.cc:85
HGCalHitValidation::heeEnRec
MonitorElement * heeEnRec
Definition: HGCalHitValidation.cc:113
DDAxes::phi
HGCalDetId
Definition: HGCalDetId.h:8
HcalCellType::HcalCell::phi
double phi
Definition: HcalCellType.h:17
HGCalHitValidation::hebdzVsZ
MonitorElement * hebdzVsZ
Definition: HGCalHitValidation.cc:104
bscTrigger_cfi.theHits
theHits
Definition: bscTrigger_cfi.py:18
HGCalHitValidation::heeEnSimRec
MonitorElement * heeEnSimRec
Definition: HGCalHitValidation.cc:109
HcalEndcap
Definition: HcalAssistant.h:34
HGCalHitValidation::hefdzVsZ
MonitorElement * hefdzVsZ
Definition: HGCalHitValidation.cc:103
HGCalHitValidation::hefEnSimRec
MonitorElement * hefEnSimRec
Definition: HGCalHitValidation.cc:109
HcalDDDRecConstants::HcalID
Definition: HcalDDDRecConstants.h:28
HGCalHitValidation::geometrySource_
std::vector< std::string > geometrySource_
Definition: HGCalHitValidation.cc:87
HGCalHitValidation::eeSimHitToken_
edm::EDGetTokenT< std::vector< PCaloHit > > eeSimHitToken_
Definition: HGCalHitValidation.cc:93
HGCalHitValidation::analyzeHGCalSimHit
void analyzeHGCalSimHit(edm::Handle< std::vector< PCaloHit >> const &simHits, int idet, MonitorElement *hist, std::map< unsigned int, HGCHitTuple > &)
Definition: HGCalHitValidation.cc:403
HGCalHitValidation::hcGeometry_
const CaloSubdetectorGeometry * hcGeometry_
Definition: HGCalHitValidation.cc:86
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
hgcalTriggerNtuples_cfi.bhSimHits
bhSimHits
Definition: hgcalTriggerNtuples_cfi.py:52
edm::ConfigurationDescriptions::addDefault
void addDefault(ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:99
HGCalHitValidation::hebEnSim
MonitorElement * hebEnSim
Definition: HGCalHitValidation.cc:111
HcalSimNumberingRecord
Definition: HcalSimNumberingRecord.h:25
TauDecayModes.dec
dec
Definition: TauDecayModes.py:143
edm::InputTag
Definition: InputTag.h:15
PV3DBase::phi
Geom::Phi< T > phi() const
Definition: PV3DBase.h:66
HGCalHitValidation::hebdPhiVsPhi
MonitorElement * hebdPhiVsPhi
Definition: HGCalHitValidation.cc:104
HGCalHitValidation::ietaExcludeBH_
std::vector< int > ietaExcludeBH_
Definition: HGCalHitValidation.cc:88
IdealGeometryRecord
Definition: IdealGeometryRecord.h:27
HcalDDDRecConstants::getHCID
HcalID getHCID(int subdet, int ieta, int iphi, int lay, int idepth) const
Definition: HcalDDDRecConstants.cc:161
HGCalHitValidation::ifHCAL_
bool ifHCAL_
Definition: HGCalHitValidation.cc:89