CMS 3D CMS Logo

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

Classes

struct  hitsinfo
 

Public Member Functions

 HGCalSimHitStudy (const edm::ParameterSet &)
 
 ~HGCalSimHitStudy () 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)
 

Protected Member Functions

void analyze (edm::Event const &, edm::EventSetup const &) override
 
void beginJob () override
 
void beginRun (edm::Run const &, edm::EventSetup const &) override
 
void endRun (edm::Run const &, edm::EventSetup const &) override
 
- 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)
 

Private Member Functions

void analyzeHits (int, const std::string &, const std::vector< PCaloHit > &)
 

Private Attributes

const std::vector< std::string > caloHitSources_
 
const double etamax_
 
const double etamin_
 
std::vector< TH1D * > h_C1_
 
std::vector< TH1D * > h_C2_
 
std::vector< TH1D * > h_E_
 
std::vector< TH2D * > h_EtaPhi_
 
std::vector< TH2D * > h_EtFiZm_
 
std::vector< TH2D * > h_EtFiZp_
 
std::vector< TH1D * > h_LayerZm_
 
std::vector< TH1D * > h_LayerZp_
 
std::vector< TH1D * > h_Ly_
 
std::vector< TH2D * > h_RZ_
 
std::vector< TH1D * > h_T_
 
std::vector< TH1D * > h_W1_
 
std::vector< TH1D * > h_W2_
 
std::vector< TH2D * > h_XY_
 
const HcalDDDRecConstantshcons_
 
std::vector< bool > heRebuild_
 
std::vector< const HGCalDDDConstants * > hgcons_
 
const bool ifLayer_
 
const bool ifNose_
 
std::vector< int > layerFront_
 
std::vector< int > layers_
 
const std::vector< std::string > nameDetectors_
 
const int nbinEta_
 
const int nbinR_
 
const int nbinZ_
 
const int nLayers_
 
const double rmax_
 
const double rmin_
 
std::vector< edm::ESGetToken< HGCalDDDConstants, IdealGeometryRecord > > tok_hgcGeom_
 
std::vector< edm::EDGetTokenT< edm::PCaloHitContainer > > tok_hits_
 
edm::ESGetToken< HcalDDDRecConstants, HcalRecNumberingRecordtok_hrndc_
 
const int verbosity_
 
const double zmax_
 
const double zmin_
 

Additional Inherited Members

- Public Types inherited from edm::one::EDAnalyzerBase
typedef EDAnalyzerBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 

Detailed Description

Definition at line 48 of file HGCalSimHitStudy.cc.

Constructor & Destructor Documentation

◆ HGCalSimHitStudy()

HGCalSimHitStudy::HGCalSimHitStudy ( const edm::ParameterSet iConfig)
explicit

Definition at line 92 of file HGCalSimHitStudy.cc.

93  : nameDetectors_(iConfig.getParameter<std::vector<std::string> >("detectorNames")),
94  caloHitSources_(iConfig.getParameter<std::vector<std::string> >("caloHitSources")),
95  rmin_(iConfig.getUntrackedParameter<double>("rMin", 0.0)),
96  rmax_(iConfig.getUntrackedParameter<double>("rMax", 3000.0)),
97  zmin_(iConfig.getUntrackedParameter<double>("zMin", 3000.0)),
98  zmax_(iConfig.getUntrackedParameter<double>("zMax", 6000.0)),
99  etamin_(iConfig.getUntrackedParameter<double>("etaMin", 1.0)),
100  etamax_(iConfig.getUntrackedParameter<double>("etaMax", 3.0)),
101  nbinR_(iConfig.getUntrackedParameter<int>("nBinR", 300)),
102  nbinZ_(iConfig.getUntrackedParameter<int>("nBinZ", 300)),
103  nbinEta_(iConfig.getUntrackedParameter<int>("nBinEta", 200)),
104  nLayers_(iConfig.getUntrackedParameter<int>("layers", 50)),
105  verbosity_(iConfig.getUntrackedParameter<int>("verbosity", 0)),
106  ifNose_(iConfig.getUntrackedParameter<bool>("ifNose", false)),
107  ifLayer_(iConfig.getUntrackedParameter<bool>("ifLayer", false)) {
108  usesResource(TFileService::kSharedResource);
109 
110  for (auto const& name : nameDetectors_) {
111  if (name == "HCal") {
112  heRebuild_.emplace_back(true);
113  tok_hrndc_ = esConsumes<HcalDDDRecConstants, HcalRecNumberingRecord, edm::Transition::BeginRun>();
114  tok_hgcGeom_.emplace_back(esConsumes<HGCalDDDConstants, IdealGeometryRecord, edm::Transition::BeginRun>(
115  edm::ESInputTag{"", "HGCalHEScintillatorSensitive"}));
116  } else {
117  heRebuild_.emplace_back(false);
118  tok_hgcGeom_.emplace_back(
119  esConsumes<HGCalDDDConstants, IdealGeometryRecord, edm::Transition::BeginRun>(edm::ESInputTag{"", name}));
120  }
121  }
122  for (auto const& source : caloHitSources_) {
123  tok_hits_.emplace_back(consumes<edm::PCaloHitContainer>(edm::InputTag("g4SimHits", source)));
124  }
125 }

References caloHitSources_, heRebuild_, TFileService::kSharedResource, Skims_PA_cff::name, nameDetectors_, source, tok_hgcGeom_, tok_hits_, and tok_hrndc_.

◆ ~HGCalSimHitStudy()

HGCalSimHitStudy::~HGCalSimHitStudy ( )
inlineoverride

Definition at line 60 of file HGCalSimHitStudy.cc.

60 {}

Member Function Documentation

◆ analyze()

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

Implements edm::one::EDAnalyzerBase.

Definition at line 149 of file HGCalSimHitStudy.cc.

149  {
150  //Now the hits
151  for (unsigned int k = 0; k < tok_hits_.size(); ++k) {
152  edm::Handle<edm::PCaloHitContainer> theCaloHitContainers;
153  iEvent.getByToken(tok_hits_[k], theCaloHitContainers);
154  if (theCaloHitContainers.isValid()) {
155  if (verbosity_ > 0)
156  edm::LogVerbatim("HGCalValidation") << " PcalohitItr = " << theCaloHitContainers->size();
157  std::vector<PCaloHit> caloHits;
158  if (heRebuild_[k]) {
159  for (auto const& hit : *(theCaloHitContainers.product())) {
160  unsigned int id = hit.id();
162  if (hid.subdet() != static_cast<int>(HcalEndcap)) {
163  caloHits.emplace_back(hit);
164  caloHits.back().setID(hid.rawId());
165  if (verbosity_ > 0)
166  edm::LogVerbatim("HGCalValidation") << "Hit[" << caloHits.size() << "] " << hid;
167  }
168  }
169  } else {
170  caloHits.insert(caloHits.end(), theCaloHitContainers->begin(), theCaloHitContainers->end());
171  }
172  analyzeHits(k, nameDetectors_[k], caloHits);
173  } else if (verbosity_ > 0) {
174  edm::LogVerbatim("HGCalValidation") << "PCaloHitContainer does not "
175  << "exist for " << nameDetectors_[k];
176  }
177  }
178 }

References analyzeHits(), HcalEndcap, hcons_, heRebuild_, hit::id, iEvent, edm::HandleBase::isValid(), dqmdumpme::k, nameDetectors_, edm::Handle< T >::product(), DetId::rawId(), HcalHitRelabeller::relabel(), HcalDetId::subdet(), tok_hits_, and verbosity_.

◆ analyzeHits()

void HGCalSimHitStudy::analyzeHits ( int  ih,
const std::string &  name,
const std::vector< PCaloHit > &  hits 
)
private

Definition at line 180 of file HGCalSimHitStudy.cc.

180  {
181  if (verbosity_ > 0)
182  edm::LogVerbatim("HGCalValidation") << name << " with " << hits.size() << " PcaloHit elements";
183 
184  std::map<uint32_t, hitsinfo> map_hits;
185  map_hits.clear();
186 
187  unsigned int nused(0);
188  for (auto const& hit : hits) {
189  double energy = hit.energy();
190  double time = hit.time();
191  uint32_t id = hit.id();
192  int cell, sector, sector2(0), layer, zside;
193  int subdet(0), cell2(0), type(0);
194  HepGeom::Point3D<float> gcoord;
195  if (heRebuild_[ih]) {
196  HcalDetId detId = HcalDetId(id);
197  subdet = detId.subdet();
198  cell = detId.ietaAbs();
199  sector = detId.iphi();
200  layer = detId.depth();
201  zside = detId.zside();
202  std::pair<double, double> etaphi = hcons_->getEtaPhi(subdet, zside * cell, sector);
203  double rz = hcons_->getRZ(subdet, zside * cell, layer);
204  if (verbosity_ > 2)
205  edm::LogVerbatim("HGCalValidation") << "i/p " << subdet << ":" << zside << ":" << cell << ":" << sector << ":"
206  << layer << " o/p " << etaphi.first << ":" << etaphi.second << ":" << rz;
207  gcoord = HepGeom::Point3D<float>(rz * cos(etaphi.second) / cosh(etaphi.first),
208  rz * sin(etaphi.second) / cosh(etaphi.first),
209  rz * tanh(etaphi.first));
210  } else {
211  std::pair<float, float> xy;
212  if (ifNose_) {
213  HFNoseDetId detId = HFNoseDetId(id);
214  subdet = detId.subdetId();
215  cell = detId.cellU();
216  cell2 = detId.cellV();
217  sector = detId.waferU();
218  sector2 = detId.waferV();
219  type = detId.type();
220  layer = detId.layer();
221  zside = detId.zside();
222  xy = hgcons_[ih]->locateCell(layer, sector, sector2, cell, cell2, false, true);
223  h_W2_[ih]->Fill(sector2);
224  h_C2_[ih]->Fill(cell2);
225 
226  } else if (hgcons_[ih]->waferHexagon8()) {
227  HGCSiliconDetId detId = HGCSiliconDetId(id);
228  subdet = static_cast<int>(detId.det());
229  cell = detId.cellU();
230  cell2 = detId.cellV();
231  sector = detId.waferU();
232  sector2 = detId.waferV();
233  type = detId.type();
234  layer = detId.layer();
235  zside = detId.zside();
236  xy = hgcons_[ih]->locateCell(layer, sector, sector2, cell, cell2, false, true);
237  h_W2_[ih]->Fill(sector2);
238  h_C2_[ih]->Fill(cell2);
239  } else if (hgcons_[ih]->tileTrapezoid()) {
241  subdet = static_cast<int>(detId.det());
242  sector = detId.ieta();
243  cell = detId.iphi();
244  type = detId.type();
245  layer = detId.layer();
246  zside = detId.zside();
247  xy = hgcons_[ih]->locateCellTrap(layer, sector, cell, false);
248  } else {
249  HGCalTestNumbering::unpackHexagonIndex(id, subdet, zside, layer, sector, type, cell);
250  xy = hgcons_[ih]->locateCell(cell, layer, sector, false);
251  }
252  double zp = hgcons_[ih]->waferZ(layer, false);
253  if (zside < 0)
254  zp = -zp;
255  double xp = (zp < 0) ? -xy.first : xy.first;
256  gcoord = HepGeom::Point3D<float>(xp, xy.second, zp);
257  if (verbosity_ > 2)
258  edm::LogVerbatim("HGCalValidation")
259  << "i/p " << subdet << ":" << zside << ":" << layer << ":" << sector << ":" << sector2 << ":" << cell << ":"
260  << cell2 << " o/p " << xy.first << ":" << xy.second << ":" << zp;
261  }
262  nused++;
263  double tof = (gcoord.mag() * CLHEP::mm) / CLHEP::c_light;
264  if (verbosity_ > 1)
265  edm::LogVerbatim("HGCalValidation")
266  << "Detector " << name << " zside = " << zside << " layer = " << layer << " type = " << type
267  << " wafer = " << sector << ":" << sector2 << " cell = " << cell << ":" << cell2 << " positon = " << gcoord
268  << " energy = " << energy << " time = " << time << ":" << tof;
269  time -= tof;
270  if (time < 0)
271  time = 0;
272  hitsinfo hinfo;
273  if (map_hits.count(id) != 0) {
274  hinfo = map_hits[id];
275  } else {
276  hinfo.layer = layer + layerFront_[ih];
277  hinfo.phi = gcoord.getPhi();
278  hinfo.eta = gcoord.getEta();
279  hinfo.time = time;
280  }
281  hinfo.energy += energy;
282  map_hits[id] = hinfo;
283 
284  //Fill in histograms
285  h_RZ_[0]->Fill(std::abs(gcoord.z()), gcoord.rho());
286  h_RZ_[ih + 1]->Fill(std::abs(gcoord.z()), gcoord.rho());
287  if (ifLayer_) {
288  if (hinfo.layer <= static_cast<int>(h_XY_.size()))
289  h_XY_[hinfo.layer - 1]->Fill(gcoord.x(), gcoord.y());
290  } else {
291  h_EtaPhi_[0]->Fill(std::abs(hinfo.eta), hinfo.phi);
292  h_EtaPhi_[ih + 1]->Fill(std::abs(hinfo.eta), hinfo.phi);
293  }
294  h_Ly_[ih]->Fill(layer);
295  h_W1_[ih]->Fill(sector);
296  h_C1_[ih]->Fill(cell);
297  }
298  if (verbosity_ > 0)
299  edm::LogVerbatim("HGCalValidation") << name << " with " << map_hits.size() << ":" << nused << " detector elements"
300  << " being hit";
301 
302  for (auto const& hit : map_hits) {
303  hitsinfo hinfo = hit.second;
304  if (verbosity_ > 1)
305  edm::LogVerbatim("HGCalValidation")
306  << " ---------------------- eta = " << hinfo.eta << " phi = " << hinfo.phi << " layer = " << hinfo.layer
307  << " E = " << hinfo.energy << " T = " << hinfo.time;
308  h_E_[0]->Fill(hinfo.energy);
309  h_E_[ih + 1]->Fill(hinfo.energy);
310  h_T_[0]->Fill(hinfo.time);
311  h_T_[ih + 1]->Fill(hinfo.time);
312  if (hinfo.eta > 0) {
313  if (!ifLayer_) {
314  h_EtFiZp_[0]->Fill(std::abs(hinfo.eta), hinfo.phi, hinfo.energy);
315  h_EtFiZp_[ih + 1]->Fill(std::abs(hinfo.eta), hinfo.phi, hinfo.energy);
316  }
317  h_LayerZp_[0]->Fill(hinfo.layer, hinfo.energy);
318  h_LayerZp_[ih + 1]->Fill(hinfo.layer, hinfo.energy);
319  } else {
320  if (!ifLayer_) {
321  h_EtFiZm_[0]->Fill(std::abs(hinfo.eta), hinfo.phi, hinfo.energy);
322  h_EtFiZm_[ih + 1]->Fill(std::abs(hinfo.eta), hinfo.phi, hinfo.energy);
323  }
324  h_LayerZm_[0]->Fill(hinfo.layer, hinfo.energy);
325  h_LayerZm_[ih + 1]->Fill(hinfo.layer, hinfo.energy);
326  }
327  }
328 }

References funct::abs(), hgcalTopologyTester_cfi::cell2, HFNoseDetId::cellU(), HGCSiliconDetId::cellU(), HFNoseDetId::cellV(), HGCSiliconDetId::cellV(), funct::cos(), HcalDetId::depth(), DetId::det(), HCALHighEnergyHPDFilter_cfi::energy, fastmath::etaphi(), HcalDDDRecConstants::getEtaPhi(), HcalDDDRecConstants::getRZ(), h_C1_, h_C2_, h_E_, h_EtaPhi_, h_EtFiZm_, h_EtFiZp_, h_LayerZm_, h_LayerZp_, h_Ly_, h_RZ_, h_T_, h_W1_, h_W2_, h_XY_, hcons_, heRebuild_, hgcons_, hfClusterShapes_cfi::hits, triggerObjects_cff::id, hit::id, HGCScintillatorDetId::ieta(), HcalDetId::ietaAbs(), ifLayer_, ifNose_, HGCScintillatorDetId::iphi(), HcalDetId::iphi(), HGCScintillatorDetId::layer(), HFNoseDetId::layer(), HGCSiliconDetId::layer(), layerFront_, Skims_PA_cff::name, hgcalTopologyTester_cfi::sector2, funct::sin(), HcalDetId::subdet(), DetId::subdetId(), ntuplemaker::time, HGCScintillatorDetId::type(), HFNoseDetId::type(), HGCSiliconDetId::type(), HGCalTestNumbering::unpackHexagonIndex(), verbosity_, HFNoseDetId::waferU(), HGCSiliconDetId::waferU(), HGCSiliconDetId::waferV(), HFNoseDetId::waferV(), geometryCSVtoXML::xy, HGCScintillatorDetId::zside(), HFNoseDetId::zside(), HGCSiliconDetId::zside(), HcalDetId::zside(), and ecaldqm::zside().

Referenced by analyze().

◆ beginJob()

void HGCalSimHitStudy::beginJob ( void  )
overrideprotectedvirtual

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 354 of file HGCalSimHitStudy.cc.

354  {
356 
357  std::ostringstream name, title;
358  for (unsigned int ih = 0; ih <= nameDetectors_.size(); ++ih) {
359  name.str("");
360  title.str("");
361  if (ih == 0) {
362  name << "RZ_AllDetectors";
363  title << "R vs Z for All Detectors";
364  } else {
365  name << "RZ_" << nameDetectors_[ih - 1];
366  title << "R vs Z for " << nameDetectors_[ih - 1];
367  }
368  h_RZ_.emplace_back(
369  fs->make<TH2D>(name.str().c_str(), title.str().c_str(), nbinZ_, zmin_, zmax_, nbinR_, rmin_, rmax_));
370  if (ifLayer_) {
371  if (ih == 0) {
372  for (int ly = 0; ly < nLayers_; ++ly) {
373  name.str("");
374  title.str("");
375  name << "XY_L" << (ly + 1);
376  title << "Y vs X at Layer " << (ly + 1);
377  h_XY_.emplace_back(
378  fs->make<TH2D>(name.str().c_str(), title.str().c_str(), nbinR_, -rmax_, rmax_, nbinR_, -rmax_, rmax_));
379  }
380  }
381  } else {
382  name.str("");
383  title.str("");
384  if (ih == 0) {
385  name << "EtaPhi_AllDetectors";
386  title << "#phi vs #eta for All Detectors";
387  } else {
388  name << "EtaPhi_" << nameDetectors_[ih - 1];
389  title << "#phi vs #eta for " << nameDetectors_[ih - 1];
390  }
391  h_EtaPhi_.emplace_back(
392  fs->make<TH2D>(name.str().c_str(), title.str().c_str(), nbinEta_, etamin_, etamax_, 200, -M_PI, M_PI));
393  name.str("");
394  title.str("");
395  if (ih == 0) {
396  name << "EtFiZp_AllDetectors";
397  title << "#phi vs #eta (+z) for All Detectors";
398  } else {
399  name << "EtFiZp_" << nameDetectors_[ih - 1];
400  title << "#phi vs #eta (+z) for " << nameDetectors_[ih - 1];
401  }
402  h_EtFiZp_.emplace_back(
403  fs->make<TH2D>(name.str().c_str(), title.str().c_str(), nbinEta_, etamin_, etamax_, 200, -M_PI, M_PI));
404  name.str("");
405  title.str("");
406  if (ih == 0) {
407  name << "EtFiZm_AllDetectors";
408  title << "#phi vs #eta (-z) for All Detectors";
409  } else {
410  name << "EtFiZm_" << nameDetectors_[ih - 1];
411  title << "#phi vs #eta (-z) for " << nameDetectors_[ih - 1];
412  }
413  h_EtFiZm_.emplace_back(
414  fs->make<TH2D>(name.str().c_str(), title.str().c_str(), nbinEta_, etamin_, etamax_, 200, -M_PI, M_PI));
415  }
416  name.str("");
417  title.str("");
418  if (ih == 0) {
419  name << "LayerZp_AllDetectors";
420  title << "Energy vs Layer (+z) for All Detectors";
421  } else {
422  name << "LayerZp_" << nameDetectors_[ih - 1];
423  title << "Energy vs Layer (+z) for " << nameDetectors_[ih - 1];
424  }
425  h_LayerZp_.emplace_back(fs->make<TH1D>(name.str().c_str(), title.str().c_str(), 60, 0.0, 60.0));
426  name.str("");
427  title.str("");
428  if (ih == 0) {
429  name << "LayerZm_AllDetectors";
430  title << "Energy vs Layer (-z) for All Detectors";
431  } else {
432  name << "LayerZm_" << nameDetectors_[ih - 1];
433  title << "Energy vs Layer (-z) for " << nameDetectors_[ih - 1];
434  }
435  h_LayerZm_.emplace_back(fs->make<TH1D>(name.str().c_str(), title.str().c_str(), 60, 0.0, 60.0));
436 
437  name.str("");
438  title.str("");
439  if (ih == 0) {
440  name << "E_AllDetectors";
441  title << "Energy Deposit for All Detectors";
442  } else {
443  name << "E_" << nameDetectors_[ih - 1];
444  title << "Energy Deposit for " << nameDetectors_[ih - 1];
445  }
446  h_E_.emplace_back(fs->make<TH1D>(name.str().c_str(), title.str().c_str(), 1000, 0.0, 1.0));
447 
448  name.str("");
449  title.str("");
450  if (ih == 0) {
451  name << "T_AllDetectors";
452  title << "Time for All Detectors";
453  } else {
454  name << "T_" << nameDetectors_[ih - 1];
455  title << "Time for " << nameDetectors_[ih - 1];
456  }
457  h_T_.emplace_back(fs->make<TH1D>(name.str().c_str(), title.str().c_str(), 1000, 0.0, 200.0));
458  }
459 
460  for (unsigned int ih = 0; ih < nameDetectors_.size(); ++ih) {
461  name.str("");
462  title.str("");
463  name << "LY_" << nameDetectors_[ih];
464  title << "Layer number for " << nameDetectors_[ih];
465  h_Ly_.emplace_back(fs->make<TH1D>(name.str().c_str(), title.str().c_str(), 200, 0, 100));
466  if ((nameDetectors_[ih] == "HGCalHEScintillatorSensitive") || heRebuild_[ih]) {
467  name.str("");
468  title.str("");
469  name << "IR_" << nameDetectors_[ih];
470  title << "Radius index for " << nameDetectors_[ih];
471  h_W1_.emplace_back(fs->make<TH1D>(name.str().c_str(), title.str().c_str(), 200, -50, 50));
472  name.str("");
473  title.str("");
474  name << "FI_" << nameDetectors_[ih];
475  title << "#phi index for " << nameDetectors_[ih];
476  h_C1_.emplace_back(fs->make<TH1D>(name.str().c_str(), title.str().c_str(), 720, 0, 360));
477  } else {
478  name.str("");
479  title.str("");
480  name << "WU_" << nameDetectors_[ih];
481  title << "u index of wafers for " << nameDetectors_[ih];
482  h_W1_.emplace_back(fs->make<TH1D>(name.str().c_str(), title.str().c_str(), 200, -50, 50));
483  name.str("");
484  title.str("");
485  name << "WV_" << nameDetectors_[ih];
486  title << "v index of wafers for " << nameDetectors_[ih];
487  h_W2_.emplace_back(fs->make<TH1D>(name.str().c_str(), title.str().c_str(), 100, -50, 50));
488  name.str("");
489  title.str("");
490  name << "CU_" << nameDetectors_[ih];
491  title << "u index of cells for " << nameDetectors_[ih];
492  h_C1_.emplace_back(fs->make<TH1D>(name.str().c_str(), title.str().c_str(), 100, 0, 50));
493  name.str("");
494  title.str("");
495  name << "CV_" << nameDetectors_[ih];
496  title << "v index of cells for " << nameDetectors_[ih];
497  h_C2_.emplace_back(fs->make<TH1D>(name.str().c_str(), title.str().c_str(), 100, 0, 50));
498  }
499  }
500 }

References etamax_, etamin_, h_C1_, h_C2_, h_E_, h_EtaPhi_, h_EtFiZm_, h_EtFiZp_, h_LayerZm_, h_LayerZp_, h_Ly_, h_RZ_, h_T_, h_W1_, h_W2_, h_XY_, heRebuild_, ifLayer_, M_PI, TFileService::make(), Skims_PA_cff::name, nameDetectors_, nbinEta_, nbinR_, nbinZ_, nLayers_, rmax_, rmin_, runGCPTkAlMap::title, zmax_, and zmin_.

◆ beginRun()

void HGCalSimHitStudy::beginRun ( edm::Run const &  ,
edm::EventSetup const &  iSetup 
)
overrideprotected

Definition at line 331 of file HGCalSimHitStudy.cc.

331  {
332  for (unsigned int k = 0; k < nameDetectors_.size(); ++k) {
333  if (heRebuild_[k]) {
334  edm::ESHandle<HcalDDDRecConstants> pHRNDC = iSetup.getHandle(tok_hrndc_);
335  hcons_ = pHRNDC.product();
336  layers_.emplace_back(hcons_->getMaxDepth(1));
337  hgcons_.emplace_back(nullptr);
338  layerFront_.emplace_back(40);
339  } else {
340  edm::ESHandle<HGCalDDDConstants> pHGDC = iSetup.getHandle(tok_hgcGeom_[k]);
341  hgcons_.emplace_back(pHGDC.product());
342  layers_.emplace_back(hgcons_.back()->layers(false));
343  if (k == 0)
344  layerFront_.emplace_back(0);
345  else
346  layerFront_.emplace_back(28);
347  }
348  if (verbosity_ > 0)
349  edm::LogVerbatim("HGCalValidation") << nameDetectors_[k] << " defined with " << layers_.back() << " Layers with "
350  << layerFront_.back() << " in front";
351  }
352 }

References edm::EventSetup::getHandle(), HcalDDDRecConstants::getMaxDepth(), hcons_, heRebuild_, hgcons_, dqmdumpme::k, layerFront_, layers_, nameDetectors_, edm::ESHandle< T >::product(), tok_hgcGeom_, tok_hrndc_, and verbosity_.

◆ endRun()

void HGCalSimHitStudy::endRun ( edm::Run const &  ,
edm::EventSetup const &   
)
inlineoverrideprotected

Definition at line 67 of file HGCalSimHitStudy.cc.

67 {}

◆ fillDescriptions()

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

Definition at line 127 of file HGCalSimHitStudy.cc.

127  {
129  std::vector<std::string> names = {"HGCalEESensitive", "HGCalHESiliconSensitive", "HGCalHEScintillatorSensitive"};
130  std::vector<std::string> sources = {"HGCHitsEE", "HGCHitsHEfront", "HGCHitsHEback"};
131  desc.add<std::vector<std::string> >("detectorNames", names);
132  desc.add<std::vector<std::string> >("caloHitSources", sources);
133  desc.addUntracked<double>("rMin", 0.0);
134  desc.addUntracked<double>("rMax", 3000.0);
135  desc.addUntracked<double>("zMin", 3000.0);
136  desc.addUntracked<double>("zMax", 6000.0);
137  desc.addUntracked<double>("etaMin", 1.0);
138  desc.addUntracked<double>("etaMax", 3.0);
139  desc.addUntracked<int>("nBinR", 300);
140  desc.addUntracked<int>("nBinZ", 300);
141  desc.addUntracked<int>("nBinEta", 200);
142  desc.addUntracked<int>("layers", 50);
143  desc.addUntracked<int>("verbosity", 0);
144  desc.addUntracked<bool>("ifNose", false);
145  desc.addUntracked<bool>("ifLayer", false);
146  descriptions.add("hgcalSimHitStudy", desc);
147 }

References edm::ConfigurationDescriptions::add(), submitPVResolutionJobs::desc, names, and CalibrationSummaryClient_cfi::sources.

Member Data Documentation

◆ caloHitSources_

const std::vector<std::string> HGCalSimHitStudy::caloHitSources_
private

Definition at line 73 of file HGCalSimHitStudy.cc.

Referenced by HGCalSimHitStudy().

◆ etamax_

const double HGCalSimHitStudy::etamax_
private

Definition at line 75 of file HGCalSimHitStudy.cc.

Referenced by beginJob().

◆ etamin_

const double HGCalSimHitStudy::etamin_
private

Definition at line 75 of file HGCalSimHitStudy.cc.

Referenced by beginJob().

◆ h_C1_

std::vector<TH1D*> HGCalSimHitStudy::h_C1_
private

Definition at line 89 of file HGCalSimHitStudy.cc.

Referenced by analyzeHits(), and beginJob().

◆ h_C2_

std::vector<TH1D*> HGCalSimHitStudy::h_C2_
private

Definition at line 89 of file HGCalSimHitStudy.cc.

Referenced by analyzeHits(), and beginJob().

◆ h_E_

std::vector<TH1D*> HGCalSimHitStudy::h_E_
private

Definition at line 88 of file HGCalSimHitStudy.cc.

Referenced by analyzeHits(), and beginJob().

◆ h_EtaPhi_

std::vector<TH2D*> HGCalSimHitStudy::h_EtaPhi_
private

Definition at line 87 of file HGCalSimHitStudy.cc.

Referenced by analyzeHits(), and beginJob().

◆ h_EtFiZm_

std::vector<TH2D*> HGCalSimHitStudy::h_EtFiZm_
private

Definition at line 87 of file HGCalSimHitStudy.cc.

Referenced by analyzeHits(), and beginJob().

◆ h_EtFiZp_

std::vector<TH2D*> HGCalSimHitStudy::h_EtFiZp_
private

Definition at line 87 of file HGCalSimHitStudy.cc.

Referenced by analyzeHits(), and beginJob().

◆ h_LayerZm_

std::vector<TH1D*> HGCalSimHitStudy::h_LayerZm_
private

Definition at line 88 of file HGCalSimHitStudy.cc.

Referenced by analyzeHits(), and beginJob().

◆ h_LayerZp_

std::vector<TH1D*> HGCalSimHitStudy::h_LayerZp_
private

Definition at line 88 of file HGCalSimHitStudy.cc.

Referenced by analyzeHits(), and beginJob().

◆ h_Ly_

std::vector<TH1D*> HGCalSimHitStudy::h_Ly_
private

Definition at line 89 of file HGCalSimHitStudy.cc.

Referenced by analyzeHits(), and beginJob().

◆ h_RZ_

std::vector<TH2D*> HGCalSimHitStudy::h_RZ_
private

Definition at line 87 of file HGCalSimHitStudy.cc.

Referenced by analyzeHits(), and beginJob().

◆ h_T_

std::vector<TH1D*> HGCalSimHitStudy::h_T_
private

Definition at line 88 of file HGCalSimHitStudy.cc.

Referenced by analyzeHits(), and beginJob().

◆ h_W1_

std::vector<TH1D*> HGCalSimHitStudy::h_W1_
private

Definition at line 89 of file HGCalSimHitStudy.cc.

Referenced by analyzeHits(), and beginJob().

◆ h_W2_

std::vector<TH1D*> HGCalSimHitStudy::h_W2_
private

Definition at line 89 of file HGCalSimHitStudy.cc.

Referenced by analyzeHits(), and beginJob().

◆ h_XY_

std::vector<TH2D*> HGCalSimHitStudy::h_XY_
private

Definition at line 87 of file HGCalSimHitStudy.cc.

Referenced by analyzeHits(), and beginJob().

◆ hcons_

const HcalDDDRecConstants* HGCalSimHitStudy::hcons_
private

Definition at line 81 of file HGCalSimHitStudy.cc.

Referenced by analyze(), analyzeHits(), and beginRun().

◆ heRebuild_

std::vector<bool> HGCalSimHitStudy::heRebuild_
private

Definition at line 82 of file HGCalSimHitStudy.cc.

Referenced by analyze(), analyzeHits(), beginJob(), beginRun(), and HGCalSimHitStudy().

◆ hgcons_

std::vector<const HGCalDDDConstants*> HGCalSimHitStudy::hgcons_
private

Definition at line 80 of file HGCalSimHitStudy.cc.

Referenced by analyzeHits(), and beginRun().

◆ ifLayer_

const bool HGCalSimHitStudy::ifLayer_
private

Definition at line 77 of file HGCalSimHitStudy.cc.

Referenced by analyzeHits(), and beginJob().

◆ ifNose_

const bool HGCalSimHitStudy::ifNose_
private

Definition at line 77 of file HGCalSimHitStudy.cc.

Referenced by analyzeHits().

◆ layerFront_

std::vector<int> HGCalSimHitStudy::layerFront_
private

Definition at line 84 of file HGCalSimHitStudy.cc.

Referenced by analyzeHits(), and beginRun().

◆ layers_

std::vector<int> HGCalSimHitStudy::layers_
private

Definition at line 84 of file HGCalSimHitStudy.cc.

Referenced by beginRun().

◆ nameDetectors_

const std::vector<std::string> HGCalSimHitStudy::nameDetectors_
private

Definition at line 73 of file HGCalSimHitStudy.cc.

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

◆ nbinEta_

const int HGCalSimHitStudy::nbinEta_
private

Definition at line 76 of file HGCalSimHitStudy.cc.

Referenced by beginJob().

◆ nbinR_

const int HGCalSimHitStudy::nbinR_
private

Definition at line 76 of file HGCalSimHitStudy.cc.

Referenced by beginJob().

◆ nbinZ_

const int HGCalSimHitStudy::nbinZ_
private

Definition at line 76 of file HGCalSimHitStudy.cc.

Referenced by beginJob().

◆ nLayers_

const int HGCalSimHitStudy::nLayers_
private

Definition at line 76 of file HGCalSimHitStudy.cc.

Referenced by beginJob().

◆ rmax_

const double HGCalSimHitStudy::rmax_
private

Definition at line 74 of file HGCalSimHitStudy.cc.

Referenced by beginJob().

◆ rmin_

const double HGCalSimHitStudy::rmin_
private

Definition at line 74 of file HGCalSimHitStudy.cc.

Referenced by beginJob().

◆ tok_hgcGeom_

std::vector<edm::ESGetToken<HGCalDDDConstants, IdealGeometryRecord> > HGCalSimHitStudy::tok_hgcGeom_
private

Definition at line 79 of file HGCalSimHitStudy.cc.

Referenced by beginRun(), and HGCalSimHitStudy().

◆ tok_hits_

std::vector<edm::EDGetTokenT<edm::PCaloHitContainer> > HGCalSimHitStudy::tok_hits_
private

Definition at line 83 of file HGCalSimHitStudy.cc.

Referenced by analyze(), and HGCalSimHitStudy().

◆ tok_hrndc_

edm::ESGetToken<HcalDDDRecConstants, HcalRecNumberingRecord> HGCalSimHitStudy::tok_hrndc_
private

Definition at line 78 of file HGCalSimHitStudy.cc.

Referenced by beginRun(), and HGCalSimHitStudy().

◆ verbosity_

const int HGCalSimHitStudy::verbosity_
private

Definition at line 76 of file HGCalSimHitStudy.cc.

Referenced by analyze(), analyzeHits(), and beginRun().

◆ zmax_

const double HGCalSimHitStudy::zmax_
private

Definition at line 74 of file HGCalSimHitStudy.cc.

Referenced by beginJob().

◆ zmin_

const double HGCalSimHitStudy::zmin_
private

Definition at line 74 of file HGCalSimHitStudy.cc.

Referenced by beginJob().

edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
HGCalSimHitStudy::nameDetectors_
const std::vector< std::string > nameDetectors_
Definition: HGCalSimHitStudy.cc:73
HGCalSimHitStudy::h_T_
std::vector< TH1D * > h_T_
Definition: HGCalSimHitStudy.cc:88
runGCPTkAlMap.title
string title
Definition: runGCPTkAlMap.py:94
edm::ESInputTag
Definition: ESInputTag.h:87
HGCScintillatorDetId::iphi
int iphi() const
get the phi index
Definition: HGCScintillatorDetId.cc:58
HGCalSimHitStudy::h_EtaPhi_
std::vector< TH2D * > h_EtaPhi_
Definition: HGCalSimHitStudy.cc:87
HGCalSimHitStudy::layerFront_
std::vector< int > layerFront_
Definition: HGCalSimHitStudy.cc:84
hit::id
unsigned int id
Definition: SiStripHitEffFromCalibTree.cc:92
edm::Handle::product
T const * product() const
Definition: Handle.h:70
hfClusterShapes_cfi.hits
hits
Definition: hfClusterShapes_cfi.py:5
HGCScintillatorDetId::ieta
int ieta() const
Definition: HGCScintillatorDetId.h:56
HcalDetId::iphi
constexpr int iphi() const
get the cell iphi
Definition: HcalDetId.h:157
HFNoseDetId::zside
int zside() const
get the z-side of the cell (1/-1)
Definition: HFNoseDetId.h:53
ecaldqm::zside
int zside(DetId const &)
Definition: EcalDQMCommonUtils.cc:189
HGCalSimHitStudy::tok_hits_
std::vector< edm::EDGetTokenT< edm::PCaloHitContainer > > tok_hits_
Definition: HGCalSimHitStudy.cc:83
HFNoseDetId::layer
int layer() const
get the layer #
Definition: HFNoseDetId.h:56
DetId::det
constexpr Detector det() const
get the detector field from this detid
Definition: DetId.h:46
HGCalSimHitStudy::h_LayerZm_
std::vector< TH1D * > h_LayerZm_
Definition: HGCalSimHitStudy.cc:88
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
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
HGCalSimHitStudy::h_Ly_
std::vector< TH1D * > h_Ly_
Definition: HGCalSimHitStudy.cc:89
CalibrationSummaryClient_cfi.sources
sources
Definition: CalibrationSummaryClient_cfi.py:23
HcalDetId::depth
constexpr int depth() const
get the tower depth
Definition: HcalDetId.h:164
hinfo
Definition: TauTagValidation.h:55
HGCalSimHitStudy::etamin_
const double etamin_
Definition: HGCalSimHitStudy.cc:75
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
HGCalSimHitStudy::nbinEta_
const int nbinEta_
Definition: HGCalSimHitStudy.cc:76
HFNoseDetId
Definition: HFNoseDetId.h:22
edm::Handle
Definition: AssociativeIterator.h:50
HGCSiliconDetId
Definition: HGCSiliconDetId.h:22
HGCalSimHitStudy::caloHitSources_
const std::vector< std::string > caloHitSources_
Definition: HGCalSimHitStudy.cc:73
funct::sin
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
HGCScintillatorDetId::layer
int layer() const
get the layer #
Definition: HGCScintillatorDetId.h:50
HGCalSimHitStudy::h_LayerZp_
std::vector< TH1D * > h_LayerZp_
Definition: HGCalSimHitStudy.cc:88
HFNoseDetId::waferU
int waferU() const
Definition: HFNoseDetId.h:75
HGCalSimHitStudy::analyzeHits
void analyzeHits(int, const std::string &, const std::vector< PCaloHit > &)
Definition: HGCalSimHitStudy.cc:180
funct::cos
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
HGCalSimHitStudy::h_EtFiZm_
std::vector< TH2D * > h_EtFiZm_
Definition: HGCalSimHitStudy.cc:87
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:57
names
const std::string names[nVars_]
Definition: PhotonIDValueMapProducer.cc:124
HGCalSimHitStudy::zmin_
const double zmin_
Definition: HGCalSimHitStudy.cc:74
source
static const std::string source
Definition: EdmProvDump.cc:47
edm::ESHandle
Definition: DTSurvey.h:22
HCALHighEnergyHPDFilter_cfi.energy
energy
Definition: HCALHighEnergyHPDFilter_cfi.py:5
dqmdumpme.k
k
Definition: dqmdumpme.py:60
HGCScintillatorDetId::zside
int zside() const
get the z-side of the cell (1/-1)
Definition: HGCScintillatorDetId.h:47
geometryCSVtoXML.xy
xy
Definition: geometryCSVtoXML.py:19
DetId::subdetId
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum)
Definition: DetId.h:48
HGCalSimHitStudy::h_EtFiZp_
std::vector< TH2D * > h_EtFiZp_
Definition: HGCalSimHitStudy.cc:87
HGCalSimHitStudy::nbinZ_
const int nbinZ_
Definition: HGCalSimHitStudy.cc:76
HGCalSimHitStudy::hcons_
const HcalDDDRecConstants * hcons_
Definition: HGCalSimHitStudy.cc:81
HGCalSimHitStudy::tok_hrndc_
edm::ESGetToken< HcalDDDRecConstants, HcalRecNumberingRecord > tok_hrndc_
Definition: HGCalSimHitStudy.cc:78
HFNoseDetId::type
int type() const
get the type
Definition: HFNoseDetId.h:50
HGCalSimHitStudy::h_C2_
std::vector< TH1D * > h_C2_
Definition: HGCalSimHitStudy.cc:89
type
type
Definition: SiPixelVCal_PayloadInspector.cc:37
gainCalibHelper::gainCalibPI::type
type
Definition: SiPixelGainCalibHelper.h:39
HGCalSimHitStudy::layers_
std::vector< int > layers_
Definition: HGCalSimHitStudy.cc:84
HcalDetId::subdet
constexpr HcalSubdetector subdet() const
get the subdetector
Definition: HcalDetId.h:138
HGCalSimHitStudy::rmin_
const double rmin_
Definition: HGCalSimHitStudy.cc:74
HcalDetId
Definition: HcalDetId.h:12
edm::Service< TFileService >
iEvent
int iEvent
Definition: GenABIO.cc:224
HGCalSimHitStudy::h_E_
std::vector< TH1D * > h_E_
Definition: HGCalSimHitStudy.cc:88
HGCScintillatorDetId::type
int type() const
get/set the type
Definition: HGCScintillatorDetId.h:43
M_PI
#define M_PI
Definition: BXVectorInputProducer.cc:49
HGCalSimHitStudy::nLayers_
const int nLayers_
Definition: HGCalSimHitStudy.cc:76
hgcalTopologyTester_cfi.cell2
cell2
Definition: hgcalTopologyTester_cfi.py:12
HGCalSimHitStudy::nbinR_
const int nbinR_
Definition: HGCalSimHitStudy.cc:76
HFNoseDetId::cellV
int cellV() const
Definition: HFNoseDetId.h:60
HGCalSimHitStudy::verbosity_
const int verbosity_
Definition: HGCalSimHitStudy.cc:76
HGCSiliconDetId::zside
int zside() const
get the z-side of the cell (1/-1)
Definition: HGCSiliconDetId.h:54
HFNoseDetId::cellU
int cellU() const
get the cell #'s in u,v or in x,y
Definition: HFNoseDetId.h:59
HGCalSimHitStudy::rmax_
const double rmax_
Definition: HGCalSimHitStudy.cc:74
HcalHitRelabeller::relabel
DetId relabel(const uint32_t testId) const
Definition: HcalHitRelabeller.cc:49
hgcalTopologyTester_cfi.sector2
sector2
Definition: hgcalTopologyTester_cfi.py:10
HGCSiliconDetId::cellV
int cellV() const
Definition: HGCSiliconDetId.h:61
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
HGCalSimHitStudy::h_XY_
std::vector< TH2D * > h_XY_
Definition: HGCalSimHitStudy.cc:87
DetId::rawId
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
HGCSiliconDetId::cellU
int cellU() const
get the cell #'s in u,v or in x,y
Definition: HGCSiliconDetId.h:60
HcalDDDRecConstants::getRZ
double getRZ(const int &subdet, const int &ieta, const int &depth) const
Definition: HcalDDDRecConstants.cc:416
HcalEndcap
Definition: HcalAssistant.h:34
HGCScintillatorDetId
Definition: HGCScintillatorDetId.h:23
edm::LogVerbatim
Log< level::Info, true > LogVerbatim
Definition: MessageLogger.h:128
triggerObjects_cff.id
id
Definition: triggerObjects_cff.py:31
HGCalSimHitStudy::tok_hgcGeom_
std::vector< edm::ESGetToken< HGCalDDDConstants, IdealGeometryRecord > > tok_hgcGeom_
Definition: HGCalSimHitStudy.cc:79
HGCalSimHitStudy::h_RZ_
std::vector< TH2D * > h_RZ_
Definition: HGCalSimHitStudy.cc:87
TFileService::kSharedResource
static const std::string kSharedResource
Definition: TFileService.h:76
HGCalSimHitStudy::ifLayer_
const bool ifLayer_
Definition: HGCalSimHitStudy.cc:77
HGCalSimHitStudy::h_W1_
std::vector< TH1D * > h_W1_
Definition: HGCalSimHitStudy.cc:89
HGCSiliconDetId::type
int type() const
get the type
Definition: HGCSiliconDetId.h:51
HGCSiliconDetId::waferU
int waferU() const
Definition: HGCSiliconDetId.h:76
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
HGCalSimHitStudy::heRebuild_
std::vector< bool > heRebuild_
Definition: HGCalSimHitStudy.cc:82
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
HcalDDDRecConstants::getMaxDepth
int getMaxDepth(const int &type) const
Definition: HcalDDDRecConstants.h:88
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
HcalDetId::ietaAbs
constexpr int ietaAbs() const
get the absolute value of the cell ieta
Definition: HcalDetId.h:148
HcalDDDRecConstants::getEtaPhi
std::pair< double, double > getEtaPhi(const int &subdet, const int &ieta, const int &iphi) const
Definition: HcalDDDRecConstants.cc:132
HFNoseDetId::waferV
int waferV() const
Definition: HFNoseDetId.h:78
HcalDetId::zside
constexpr int zside() const
get the z-side of the cell (1/-1)
Definition: HcalDetId.h:141
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
ntuplemaker.time
time
Definition: ntuplemaker.py:310
HGCalSimHitStudy::ifNose_
const bool ifNose_
Definition: HGCalSimHitStudy.cc:77
HGCalSimHitStudy::hgcons_
std::vector< const HGCalDDDConstants * > hgcons_
Definition: HGCalSimHitStudy.cc:80
HGCalSimHitStudy::h_W2_
std::vector< TH1D * > h_W2_
Definition: HGCalSimHitStudy.cc:89
fastmath::etaphi
std::pair< T, T > etaphi(T x, T y, T z)
Definition: FastMath.h:162
HGCalSimHitStudy::zmax_
const double zmax_
Definition: HGCalSimHitStudy.cc:74
edm::InputTag
Definition: InputTag.h:15
hit
Definition: SiStripHitEffFromCalibTree.cc:88
HGCSiliconDetId::waferV
int waferV() const
Definition: HGCSiliconDetId.h:77
TFileService::make
T * make(const Args &... args) const
make new ROOT object
Definition: TFileService.h:64
HGCalSimHitStudy::h_C1_
std::vector< TH1D * > h_C1_
Definition: HGCalSimHitStudy.cc:89
HGCalSimHitStudy::etamax_
const double etamax_
Definition: HGCalSimHitStudy.cc:75
HGCSiliconDetId::layer
int layer() const
get the layer #
Definition: HGCSiliconDetId.h:57