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 hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () 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_FULL_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_, heavyIonCSV_trainingSettings::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", "", 720, -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", "", 720, -360, 360, 720, -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", "", 820, -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", "", 820, -410, 410, 820, -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 submitPVResolutionJobs::desc.

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:428
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
HGCalHitValidation::hebRecVsSimX
MonitorElement * hebRecVsSimX
Definition: HGCalHitValidation.cc:108
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
CaloGeometry::getSubdetectorGeometry
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
Definition: CaloGeometry.cc:34
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
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
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
edm::LogWarning
Log< level::Warning, false > LogWarning
Definition: MessageLogger.h:122
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
heavyIonCSV_trainingSettings.idx
idx
Definition: heavyIonCSV_trainingSettings.py:5
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
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:49
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:29
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
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
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
edm::LogVerbatim
Log< level::Info, true > LogVerbatim
Definition: MessageLogger.h:128
HGCalHitValidation::hefdzVsZ
MonitorElement * hefdzVsZ
Definition: HGCalHitValidation.cc:103
dqm::implementation::IBooker::book2D
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Definition: DQMStore.h:177
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
HLT_FULL_cff.distance
distance
Definition: HLT_FULL_cff.py:7733
edm::ConfigurationDescriptions::addDefault
void addDefault(ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:99
HGCalHitValidation::hebEnSim
MonitorElement * hebEnSim
Definition: HGCalHitValidation.cc:111
edm::Log
Definition: MessageLogger.h:70
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:25
dqm::implementation::IBooker::book1D
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
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