CMS 3D CMS Logo

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

Public Member Functions

 CaloParticleDebugger (const edm::ParameterSet &)
 
 ~CaloParticleDebugger () override
 
- Public Member Functions inherited from edm::one::EDAnalyzer<>
 EDAnalyzer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () 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 const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
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
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
virtual ~EDConsumerBase () noexcept(false)
 

Static Public Member Functions

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

Private Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void beginJob () override
 
void endJob () override
 
void fillSimHits (std::map< int, float > &, const edm::Event &, const edm::EventSetup &)
 

Private Attributes

edm::InputTag caloParticles_
 
edm::EDGetTokenT< std::vector< CaloParticle > > caloParticlesToken_
 
std::vector< edm::InputTagcollectionTags_
 
std::vector< edm::EDGetTokenT< std::vector< PCaloHit > > > collectionTagsToken_
 
edm::InputTag genParticles_
 
edm::EDGetTokenT< std::vector< reco::GenParticle > > genParticlesToken_
 
edm::InputTag simClusters_
 
edm::EDGetTokenT< std::vector< SimCluster > > simClustersToken_
 
edm::InputTag simTracks_
 
edm::EDGetTokenT< std::vector< SimTrack > > simTracksToken_
 
edm::InputTag simVertices_
 
edm::EDGetTokenT< std::vector< SimVertex > > simVerticesToken_
 
edm::InputTag trackingParticles_
 
edm::EDGetTokenT< std::vector< TrackingParticle > > trackingParticlesToken_
 

Additional Inherited Members

- Public Types inherited from edm::one::EDAnalyzerBase
typedef EDAnalyzerBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Detailed Description

Definition at line 48 of file CaloParticleDebugger.cc.

Constructor & Destructor Documentation

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

Definition at line 90 of file CaloParticleDebugger.cc.

References caloParticles_, caloParticlesToken_, collectionTags_, collectionTagsToken_, edm::ConsumesCollector::consumes(), edm::EDConsumerBase::consumesCollector(), genParticles_, genParticlesToken_, simClusters_, simClustersToken_, simTracks_, simTracksToken_, simVertices_, simVerticesToken_, trackingParticles_, and trackingParticlesToken_.

91  : simTracks_(iConfig.getParameter<edm::InputTag>("simTracks")),
92  genParticles_(iConfig.getParameter<edm::InputTag>("genParticles")),
93  simVertices_(iConfig.getParameter<edm::InputTag>("simVertices")),
94  trackingParticles_(iConfig.getParameter<edm::InputTag>("trackingParticles")),
95  caloParticles_(iConfig.getParameter<edm::InputTag>("caloParticles")),
96  simClusters_(iConfig.getParameter<edm::InputTag>("simClusters")),
97  collectionTags_(iConfig.getParameter<std::vector<edm::InputTag> >("collectionTags")) {
99  simTracksToken_ = iC.consumes<std::vector<SimTrack> >(simTracks_);
100  genParticlesToken_ = iC.consumes<std::vector<reco::GenParticle> > (genParticles_);
101  simVerticesToken_ = iC.consumes<std::vector<SimVertex> >(simVertices_);
102  trackingParticlesToken_ = iC.consumes<std::vector<TrackingParticle> >(trackingParticles_);
103  caloParticlesToken_ = iC.consumes<std::vector<CaloParticle> >(caloParticles_);
104  simClustersToken_ = iC.consumes<std::vector<SimCluster> >(simClusters_);
105  for (auto const & collectionTag : collectionTags_) {
106  collectionTagsToken_.push_back(iC.consumes<std::vector<PCaloHit> >(collectionTag));
107  }
108 }
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
T getParameter(std::string const &) const
edm::EDGetTokenT< std::vector< TrackingParticle > > trackingParticlesToken_
edm::EDGetTokenT< std::vector< SimCluster > > simClustersToken_
std::vector< edm::EDGetTokenT< std::vector< PCaloHit > > > collectionTagsToken_
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
edm::EDGetTokenT< std::vector< SimTrack > > simTracksToken_
edm::EDGetTokenT< std::vector< CaloParticle > > caloParticlesToken_
edm::EDGetTokenT< std::vector< reco::GenParticle > > genParticlesToken_
edm::InputTag trackingParticles_
std::vector< edm::InputTag > collectionTags_
edm::EDGetTokenT< std::vector< SimVertex > > simVerticesToken_
CaloParticleDebugger::~CaloParticleDebugger ( )
override

Definition at line 110 of file CaloParticleDebugger.cc.

110 {}

Member Function Documentation

void CaloParticleDebugger::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivate

Definition at line 119 of file CaloParticleDebugger.cc.

References funct::abs(), begin, caloParticlesToken_, GetRecoTauVFromDQM_MC_cff::cl, gather_cfg::cout, SimDataFormats::CaloAnalysis::cp, end, CaloParticle::energy(), fillSimHits(), CaloParticle::g4Tracks(), GenHFHadronMatcher_cfi::genParticles, runTauDisplay::genParticlesH, genParticlesToken_, edm::Event::getByToken(), runTauDisplay::gp, SimCluster::hits_and_fractions(), mps_fire::i, training_settings::idx, CaloParticle::momentum(), CaloParticle::pdgId(), edm::Handle< T >::product(), SimDataFormats::CaloAnalysis::sc, CaloParticle::simClusters(), simClustersToken_, simTracksToken_, simVerticesToken_, edm::RefVector< C, T, F >::size(), lumiQTWidget::t, trackingParticlesToken_, l1t::tracks, findQualityFiles::v, and electrons_cff::vertices.

119  {
120  using namespace edm;
121  using std::begin;
122  using std::end;
123  using std::sort;
124  using std::iota;
125 
128  edm::Handle<std::vector<SimVertex> > simVerticesH;
129  edm::Handle<std::vector<TrackingParticle> > trackingParticlesH;
130  edm::Handle<std::vector<CaloParticle> > caloParticlesH;
132 
133  iEvent.getByToken(simTracksToken_, simTracksH);
134  auto const & tracks = *simTracksH.product();
135  std::vector<int> sorted_tracks_idx(tracks.size());
136  iota(begin(sorted_tracks_idx), end(sorted_tracks_idx), 0);
137  sort(begin(sorted_tracks_idx),
138  end(sorted_tracks_idx),
139  [&tracks] (int i, int j) {
140  return tracks[i].momentum().eta() < tracks[j].momentum().eta();
141  });
142 
143  iEvent.getByToken(genParticlesToken_, genParticlesH);
144  auto const & genParticles = *genParticlesH.product();
145  std::vector<int> sorted_genParticles_idx(genParticles.size());
146  iota(begin(sorted_genParticles_idx), end(sorted_genParticles_idx), 0);
147  sort(begin(sorted_genParticles_idx),
148  end(sorted_genParticles_idx), [&genParticles](int i, int j) {
149  return genParticles[i].momentum().eta() < genParticles[j].momentum().eta();});
150 
151  iEvent.getByToken(simVerticesToken_, simVerticesH);
152  auto const & vertices = *simVerticesH.product();
153  std::vector<int> sorted_vertices_idx(vertices.size());
154  iota(begin(sorted_vertices_idx), end(sorted_vertices_idx), 0);
155  sort(begin(sorted_vertices_idx),
156  end(sorted_vertices_idx), [&vertices](int i, int j){
157  return vertices[i].vertexId() < vertices[j].vertexId();
158  });
159 
160  iEvent.getByToken(trackingParticlesToken_, trackingParticlesH);
161  auto const & trackingpart = *trackingParticlesH.product();
162  std::vector<int> sorted_tp_idx(trackingpart.size());
163  iota(begin(sorted_tp_idx), end(sorted_tp_idx), 0);
164  sort(begin(sorted_tp_idx),
165  end(sorted_tp_idx), [&trackingpart] (int i, int j){
166  return trackingpart[i].eta() < trackingpart[j].eta();
167  });
168 
169  iEvent.getByToken(caloParticlesToken_, caloParticlesH);
170  auto const & calopart = *caloParticlesH.product();
171  std::vector<int> sorted_cp_idx(calopart.size());
172  iota(begin(sorted_cp_idx),
173  end(sorted_cp_idx), 0);
174  sort(begin(sorted_cp_idx),
175  end(sorted_cp_idx), [&calopart](int i, int j){
176  return calopart[i].eta() < calopart[j].eta();});
177 
178  iEvent.getByToken(simClustersToken_, simClustersH);
179  auto const & simclusters = *simClustersH.product();
180  std::vector<int> sorted_simcl_idx(simclusters.size());
181  iota(begin(sorted_simcl_idx),
182  end(sorted_simcl_idx), 0);
183  sort(begin(sorted_simcl_idx),
184  end(sorted_simcl_idx), [&simclusters](int i, int j){
185  return simclusters[i].eta() < simclusters[j].eta();});
186 
187  // Let's first fill in hits information
188  std::map<int, float> detIdToTotalSimEnergy;
189  fillSimHits(detIdToTotalSimEnergy, iEvent, iSetup);
190 
191  int idx = 0;
192 
193  std::map<int, int> trackid_to_track_index;
194  std::cout << "Printing SimTracks information" << std::endl;
195  std::cout << "IDX\tTrackId\tPDGID\tMOMENTUM(x,y,z,E)\tVertexIdx\tGenPartIdx" << std::endl;
196  for (auto i : sorted_tracks_idx) {
197  auto const & t = tracks[i];
198  std::cout << idx << "\t" << t.trackId() << "\t" << t << std::endl;
199  trackid_to_track_index[t.trackId()] = idx;
200  idx++;
201  }
202 
203  std::cout << "Printing GenParticles information" << std::endl;
204  std::cout << "IDX\tPDGID\tMOMENTUM(x,y,z)\tVertex(x,y,z)" << std::endl;
205  for (auto i : sorted_genParticles_idx) {
206  auto const & gp = genParticles[i];
207  std::cout << i
208  << "\t" << gp.pdgId()
209  << "\t" << gp.momentum()
210  << "\t" << gp.vertex() << std::endl;
211  }
212 
213  std::cout << "Printing SimVertex information" << std::endl;
214  std::cout << "IDX\tPOSITION(x,y,z)\tPARENT_INDEX\tVERTEX_ID" << std::endl;
215  for (auto i : sorted_vertices_idx) {
216  auto const & v = vertices[i];
217  std::cout << i << "\t" << v << std::endl;
218  }
219  std::cout << "Printing TrackingParticles information" << std::endl;
220  for (auto i : sorted_tp_idx) {
221  auto const & tp = trackingpart[i];
222  std::cout << i << "\t" << tp << std::endl;
223  }
224 
225  std::cout << "Printing CaloParticles information" << std::endl;
226  idx = 0;
227  for (auto i : sorted_cp_idx) {
228  auto const & cp = calopart[i];
229  std::cout << "\n\n" << idx++ << " |Eta|: " << std::abs(cp.momentum().eta())
230  << "\tType: " << cp.pdgId()
231  << "\tEnergy: " << cp.energy()
232  << "\tIdx: " << cp.g4Tracks()[0].trackId() << std::endl; // << cp << std::endl;
233  double total_sim_energy = 0.;
234  double total_cp_energy = 0.;
235  std::cout << "--> Overall simclusters's size: " << cp.simClusters().size() << std::endl;
236  // All the next mess just to print the simClusters ordered
237  auto const & simcs = cp.simClusters();
238  std::vector<int> sorted_sc_idx(simcs.size());
239  iota(begin(sorted_sc_idx), end(sorted_sc_idx), 0);
240  sort(begin(sorted_sc_idx),
241  end(sorted_sc_idx),
242  [&simcs] (int i, int j) {
243  return simcs[i]->momentum().eta() < simcs[j]->momentum().eta();
244  });
245  for (auto i : sorted_sc_idx) {
246  std::cout << *(simcs[i]);
247  }
248 
249  for (auto const & sc : cp.simClusters()) {
250  for (auto const & cl : sc->hits_and_fractions()) {
251  total_sim_energy += detIdToTotalSimEnergy[cl.first]*cl.second;
252  total_cp_energy += cp.energy()*cl.second;
253  }
254  }
255  std::cout << "--> Overall SC energy (sum using sim energies): " << total_sim_energy << std::endl;
256  std::cout << "--> Overall SC energy (sum using CaloP energies): " << total_cp_energy << std::endl;
257  }
258 
259  idx = 0;
260  std::cout << "Printing SimClusters information" << std::endl;
261  for (auto i : sorted_simcl_idx) {
262  auto const & simcl = simclusters[i];
263  std::cout << "\n\n" << idx++ << " |Eta|: " << std::abs(simcl.momentum().eta())
264  << "\tType: " << simcl.pdgId()
265  << "\tEnergy: " << simcl.energy()
266  << "\tKey: " << i << std::endl; // << simcl << std::endl;
267  double total_sim_energy = 0.;
268  std::cout << "--> Overall simclusters's size: " << simcl.numberOfRecHits() << std::endl;
269  for (auto const & cl : simcl.hits_and_fractions()) {
270  total_sim_energy += detIdToTotalSimEnergy[cl.first]*cl.second;
271  }
272  std::cout << simcl << std::endl;
273  std::cout << "--> Overall SimCluster energy (sum using sim energies): " << total_sim_energy << std::endl;
274  }
275 }
std::vector< std::pair< uint32_t, float > > hits_and_fractions() const
Returns list of rechit IDs and fractions for this SimCluster.
Definition: SimCluster.h:210
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:579
edm::EDGetTokenT< std::vector< TrackingParticle > > trackingParticlesToken_
const std::vector< SimTrack > & g4Tracks() const
Definition: CaloParticle.h:76
edm::EDGetTokenT< std::vector< SimCluster > > simClustersToken_
const SimClusterRefVector & simClusters() const
Definition: CaloParticle.h:74
float energy() const
Energy. Note this is taken from the first SimTrack only.
Definition: CaloParticle.h:106
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
edm::EDGetTokenT< std::vector< SimTrack > > simTracksToken_
#define end
Definition: vmac.h:39
edm::EDGetTokenT< std::vector< CaloParticle > > caloParticlesToken_
math::XYZVectorF momentum() const
spatial momentum vector
Definition: CaloParticle.h:91
T const * product() const
Definition: Handle.h:81
void fillSimHits(std::map< int, float > &, const edm::Event &, const edm::EventSetup &)
int pdgId() const
PDG ID.
Definition: CaloParticle.h:43
edm::EDGetTokenT< std::vector< reco::GenParticle > > genParticlesToken_
#define begin
Definition: vmac.h:32
HLT enums.
size_type size() const
Size of the RefVector.
Definition: RefVector.h:107
edm::EDGetTokenT< std::vector< SimVertex > > simVerticesToken_
void CaloParticleDebugger::beginJob ( void  )
overrideprivatevirtual

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 280 of file CaloParticleDebugger.cc.

280 {}
void CaloParticleDebugger::endJob ( void  )
overrideprivatevirtual

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 284 of file CaloParticleDebugger.cc.

284 {}
void CaloParticleDebugger::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 345 of file CaloParticleDebugger.cc.

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), and DEFINE_FWK_MODULE.

345  {
347  desc.add<edm::InputTag>("simTracks", edm::InputTag("g4SimHits"));
348  desc.add<edm::InputTag>("genParticles", edm::InputTag("genParticles"));
349  desc.add<edm::InputTag>("simVertices", edm::InputTag("g4SimHits"));
350  desc.add<edm::InputTag>("trackingParticles", edm::InputTag("mix", "MergedTrackTruth"));
351  desc.add<edm::InputTag>("caloParticles", edm::InputTag("mix", "MergedCaloTruth"));
352  desc.add<edm::InputTag>("simClusters", edm::InputTag("mix", "MergedCaloTruth"));
353  desc.add<std::vector<edm::InputTag> >("collectionTags",
354  { edm::InputTag("g4SimHits", "HGCHitsEE"),
355  edm::InputTag("g4SimHits", "HGCHitsHEfront"),
356  edm::InputTag("g4SimHits", "HcalHits")});
357  descriptions.add("caloParticleDebugger", desc);
358 }
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
void CaloParticleDebugger::fillSimHits ( std::map< int, float > &  detIdToTotalSimEnergy,
const edm::Event iEvent,
const edm::EventSetup iSetup 
)
private

Definition at line 286 of file CaloParticleDebugger.cc.

References collectionTags_, collectionTagsToken_, HGCalTopology::dddConstants(), HcalTopology::dddConstants(), DetId::Forward, relativeConstraints::geom, edm::EventSetup::get(), edm::Event::getByToken(), CaloGeometry::getSubdetectorGeometry(), DetId::Hcal, HcalEndcap, HGCEE, HGCHEF, mps_fire::i, triggerObjects_cff::id, HcalHitRelabeller::relabel(), rpcPointValidation_cfi::simHit, HGCalDDDConstants::simToReco(), HcalDetId::subdet(), HGCalGeometry::topology(), HcalGeometry::topology(), and HGCalTestNumbering::unpackHexagonIndex().

Referenced by analyze().

288  {
289  // Taken needed quantities from the EventSetup
291  iSetup.get<CaloGeometryRecord>().get(geom);
292  const HGCalGeometry *eegeom, *fhgeom;
293  const HcalGeometry *bhgeom;
294  const HGCalDDDConstants* hgddd[2];
295  const HGCalTopology* hgtopo[2];
296  const HcalDDDRecConstants* hcddd;
297 
298  eegeom = static_cast<const HGCalGeometry*>(geom->getSubdetectorGeometry(DetId::Forward, HGCEE));
299  fhgeom = static_cast<const HGCalGeometry*>(geom->getSubdetectorGeometry(DetId::Forward, HGCHEF));
300  bhgeom = static_cast<const HcalGeometry*>(geom->getSubdetectorGeometry(DetId::Hcal, HcalEndcap));
301 
302  hgtopo[0] = &(eegeom->topology());
303  hgtopo[1] = &(fhgeom->topology());
304 
305  for (unsigned i = 0; i < 2; ++i) {
306  hgddd[i] = &(hgtopo[i]->dddConstants());
307  }
308 
309  hcddd = bhgeom->topology().dddConstants();
310 
311  // loop over the collections
312  int token = 0;
313  for (auto const& collectionTag : collectionTags_) {
315  const bool isHcal = ( collectionTag.instance().find("HcalHits") != std::string::npos );
316  iEvent.getByToken(collectionTagsToken_[token++], hSimHits);
317  for (auto const& simHit : *hSimHits) {
318  DetId id(0);
319  const uint32_t simId = simHit.id();
320  if (isHcal) {
321  HcalDetId hid = HcalHitRelabeller::relabel(simId, hcddd);
322  if (hid.subdet() == HcalEndcap) id = hid;
323  } else {
324  int subdet, layer, cell, sec, subsec, zp;
325  HGCalTestNumbering::unpackHexagonIndex(simId, subdet, zp, layer, sec, subsec, cell);
326  const HGCalDDDConstants* ddd = hgddd[subdet-3];
327  std::pair<int, int> recoLayerCell = ddd->simToReco(cell, layer, sec,
328  hgtopo[subdet-3]->detectorType());
329  cell = recoLayerCell.first;
330  layer = recoLayerCell.second;
331  // skip simhits with bad barcodes or non-existant layers
332  if (layer == -1 || simHit.geantTrackId() == 0) continue;
333  id = HGCalDetId((ForwardSubdetector)subdet, zp, layer, subsec, sec, cell);
334  }
335 
336  if (DetId(0) == id) continue;
337 
338  detIdToTotalSimEnergy[id.rawId()] += simHit.energy();
339  }
340  } // end of loop over InputTags
341 }
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
Definition: CaloGeometry.cc:49
const HcalDDDRecConstants * dddConstants() const
Definition: HcalTopology.h:167
HcalSubdetector subdet() const
get the subdetector
Definition: HcalDetId.h:142
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:579
ForwardSubdetector
const HcalTopology & topology() const
Definition: HcalGeometry.h:117
std::pair< int, int > simToReco(int cell, int layer, int mod, bool half) const
std::vector< edm::EDGetTokenT< std::vector< PCaloHit > > > collectionTagsToken_
const HGCalTopology & topology() const
Definition: DetId.h:18
const HGCalDDDConstants & dddConstants() const
T get() const
Definition: EventSetup.h:63
DetId relabel(const uint32_t testId) const
static void unpackHexagonIndex(const uint32_t &idx, int &subdet, int &z, int &lay, int &wafer, int &celltyp, int &cell)
std::vector< edm::InputTag > collectionTags_

Member Data Documentation

edm::InputTag CaloParticleDebugger::caloParticles_
private

Definition at line 66 of file CaloParticleDebugger.cc.

Referenced by CaloParticleDebugger().

edm::EDGetTokenT<std::vector<CaloParticle> > CaloParticleDebugger::caloParticlesToken_
private

Definition at line 73 of file CaloParticleDebugger.cc.

Referenced by analyze(), and CaloParticleDebugger().

std::vector<edm::InputTag> CaloParticleDebugger::collectionTags_
private

Definition at line 68 of file CaloParticleDebugger.cc.

Referenced by CaloParticleDebugger(), and fillSimHits().

std::vector<edm::EDGetTokenT<std::vector<PCaloHit> > > CaloParticleDebugger::collectionTagsToken_
private

Definition at line 75 of file CaloParticleDebugger.cc.

Referenced by CaloParticleDebugger(), and fillSimHits().

edm::InputTag CaloParticleDebugger::genParticles_
private

Definition at line 63 of file CaloParticleDebugger.cc.

Referenced by CaloParticleDebugger().

edm::EDGetTokenT<std::vector<reco::GenParticle> > CaloParticleDebugger::genParticlesToken_
private

Definition at line 70 of file CaloParticleDebugger.cc.

Referenced by analyze(), and CaloParticleDebugger().

edm::InputTag CaloParticleDebugger::simClusters_
private

Definition at line 67 of file CaloParticleDebugger.cc.

Referenced by CaloParticleDebugger().

edm::EDGetTokenT<std::vector<SimCluster> > CaloParticleDebugger::simClustersToken_
private

Definition at line 74 of file CaloParticleDebugger.cc.

Referenced by analyze(), and CaloParticleDebugger().

edm::InputTag CaloParticleDebugger::simTracks_
private

Definition at line 62 of file CaloParticleDebugger.cc.

Referenced by CaloParticleDebugger().

edm::EDGetTokenT<std::vector<SimTrack> > CaloParticleDebugger::simTracksToken_
private

Definition at line 69 of file CaloParticleDebugger.cc.

Referenced by analyze(), and CaloParticleDebugger().

edm::InputTag CaloParticleDebugger::simVertices_
private

Definition at line 64 of file CaloParticleDebugger.cc.

Referenced by CaloParticleDebugger().

edm::EDGetTokenT<std::vector<SimVertex> > CaloParticleDebugger::simVerticesToken_
private

Definition at line 71 of file CaloParticleDebugger.cc.

Referenced by analyze(), and CaloParticleDebugger().

edm::InputTag CaloParticleDebugger::trackingParticles_
private

Definition at line 65 of file CaloParticleDebugger.cc.

Referenced by CaloParticleDebugger().

edm::EDGetTokenT<std::vector<TrackingParticle> > CaloParticleDebugger::trackingParticlesToken_
private

Definition at line 72 of file CaloParticleDebugger.cc.

Referenced by analyze(), and CaloParticleDebugger().