CMS 3D CMS Logo

HGCalTriggerNtupleHGCDigis.cc
Go to the documentation of this file.
8 
11 
15 
17 public:
20  void initialize(TTree&, const edm::ParameterSet&, edm::ConsumesCollector&&) final;
21  void fill(const edm::Event& e, const edm::EventSetup& es) final;
22 
23 private:
24  void simhits(const edm::Event& e,
25  std::unordered_map<uint32_t, double>& simhits_ee,
26  std::unordered_map<uint32_t, double>& simhits_fh,
27  std::unordered_map<uint32_t, double>& simhits_bh);
28  void clear() final;
29 
33 
34  std::vector<unsigned int> digiBXselect_;
35  static constexpr unsigned kDigiSize_ = 5;
36 
38 
51  // V8 detid scheme
54  // V9 detid scheme
59 
60  int bhdigi_n_;
69  std::vector<float> bhdigi_z_;
73 
75 };
76 
78 
80  is_Simhit_comp_ = conf.getParameter<bool>("isSimhitComp");
81  digiBXselect_ = conf.getParameter<std::vector<unsigned int>>("digiBXselect");
82 
83  if (digiBXselect_.empty()) {
84  throw cms::Exception("BadInitialization") << "digiBXselect vector is empty";
85  }
86  if (*std::max_element(digiBXselect_.begin(), digiBXselect_.end()) >= kDigiSize_) {
87  throw cms::Exception("BadInitialization")
88  << "digiBXselect vector requests a BX outside of maximum size of digis (" << kDigiSize_ << " BX)";
89  }
90  //sort and check for duplicates
91  std::sort(digiBXselect_.begin(), digiBXselect_.end());
92  if (std::unique(digiBXselect_.begin(), digiBXselect_.end()) != digiBXselect_.end()) {
93  throw cms::Exception("BadInitialization") << "digiBXselect vector contains duplicate BX values";
94  }
95 }
96 
98  const edm::ParameterSet& conf,
99  edm::ConsumesCollector&& collector) {
100  ee_token_ = collector.consumes<HGCalDigiCollection>(conf.getParameter<edm::InputTag>("HGCDigisEE"));
101  fh_token_ = collector.consumes<HGCalDigiCollection>(conf.getParameter<edm::InputTag>("HGCDigisFH"));
102  bh_token_ = collector.consumes<HGCalDigiCollection>(conf.getParameter<edm::InputTag>("HGCDigisBH"));
103  if (is_Simhit_comp_) {
104  SimHits_inputee_ = collector.consumes<edm::PCaloHitContainer>(conf.getParameter<edm::InputTag>("eeSimHits"));
105  SimHits_inputfh_ = collector.consumes<edm::PCaloHitContainer>(conf.getParameter<edm::InputTag>("fhSimHits"));
106  SimHits_inputbh_ = collector.consumes<edm::PCaloHitContainer>(conf.getParameter<edm::InputTag>("bhSimHits"));
107  }
108 
109  hgcdigi_data_.resize(digiBXselect_.size());
110  hgcdigi_isadc_.resize(digiBXselect_.size());
111  bhdigi_data_.resize(digiBXselect_.size());
112  bhdigi_isadc_.resize(digiBXselect_.size());
113 
114  tree.Branch("hgcdigi_n", &hgcdigi_n_, "hgcdigi_n/I");
115  tree.Branch("hgcdigi_id", &hgcdigi_id_);
116  tree.Branch("hgcdigi_subdet", &hgcdigi_subdet_);
117  tree.Branch("hgcdigi_zside", &hgcdigi_side_);
118  tree.Branch("hgcdigi_layer", &hgcdigi_layer_);
119  tree.Branch("hgcdigi_wafertype", &hgcdigi_wafertype_);
120  tree.Branch("hgcdigi_eta", &hgcdigi_eta_);
121  tree.Branch("hgcdigi_phi", &hgcdigi_phi_);
122  tree.Branch("hgcdigi_z", &hgcdigi_z_);
123  std::string bname;
124  auto withBX([&bname](char const* vname, unsigned int bx) -> char const* {
125  bname = std::string(vname) + "_BX" + to_string(bx);
126  return bname.c_str();
127  });
128  for (unsigned int i = 0; i < digiBXselect_.size(); i++) {
129  unsigned int bxi = digiBXselect_[i];
130  tree.Branch(withBX("hgcdigi_data", bxi), &hgcdigi_data_[i]);
131  tree.Branch(withBX("hgcdigi_isadc", bxi), &hgcdigi_isadc_[i]);
132  }
133  // V9 detid scheme
134  tree.Branch("hgcdigi_waferu", &hgcdigi_waferu_);
135  tree.Branch("hgcdigi_waferv", &hgcdigi_waferv_);
136  tree.Branch("hgcdigi_cellu", &hgcdigi_cellu_);
137  tree.Branch("hgcdigi_cellv", &hgcdigi_cellv_);
138  // V8 detid scheme
139  tree.Branch("hgcdigi_wafer", &hgcdigi_wafer_);
140  tree.Branch("hgcdigi_cell", &hgcdigi_cell_);
141  if (is_Simhit_comp_)
142  tree.Branch("hgcdigi_simenergy", &hgcdigi_simenergy_);
143 
144  tree.Branch("bhdigi_n", &bhdigi_n_, "bhdigi_n/I");
145  tree.Branch("bhdigi_id", &bhdigi_id_);
146  tree.Branch("bhdigi_subdet", &bhdigi_subdet_);
147  tree.Branch("bhdigi_zside", &bhdigi_side_);
148  tree.Branch("bhdigi_layer", &bhdigi_layer_);
149  tree.Branch("bhdigi_ieta", &bhdigi_ieta_);
150  tree.Branch("bhdigi_iphi", &bhdigi_iphi_);
151  tree.Branch("bhdigi_eta", &bhdigi_eta_);
152  tree.Branch("bhdigi_phi", &bhdigi_phi_);
153  tree.Branch("bhdigi_z", &bhdigi_z_);
154  for (unsigned int i = 0; i < digiBXselect_.size(); i++) {
155  unsigned int bxi = digiBXselect_[i];
156  tree.Branch(withBX("bhdigi_data", bxi), &bhdigi_data_[i]);
157  tree.Branch(withBX("bhdigi_isadc", bxi), &bhdigi_isadc_[i]);
158  }
159  if (is_Simhit_comp_)
160  tree.Branch("bhdigi_simenergy", &bhdigi_simenergy_);
161 }
162 
165 
167  e.getByToken(ee_token_, ee_digis_h);
168  const HGCalDigiCollection& ee_digis = *ee_digis_h;
170  e.getByToken(fh_token_, fh_digis_h);
171  const HGCalDigiCollection& fh_digis = *fh_digis_h;
173  e.getByToken(bh_token_, bh_digis_h);
174  const HGCalDigiCollection& bh_digis = *bh_digis_h;
175 
177 
178  // sim hit association
179  std::unordered_map<uint32_t, double> simhits_ee;
180  std::unordered_map<uint32_t, double> simhits_fh;
181  std::unordered_map<uint32_t, double> simhits_bh;
182  if (is_Simhit_comp_)
183  simhits(e, simhits_ee, simhits_fh, simhits_bh);
184 
185  clear();
186  hgcdigi_n_ = ee_digis.size() + fh_digis.size();
187  hgcdigi_id_.reserve(hgcdigi_n_);
188  hgcdigi_subdet_.reserve(hgcdigi_n_);
189  hgcdigi_side_.reserve(hgcdigi_n_);
190  hgcdigi_layer_.reserve(hgcdigi_n_);
192  hgcdigi_eta_.reserve(hgcdigi_n_);
193  hgcdigi_phi_.reserve(hgcdigi_n_);
194  hgcdigi_z_.reserve(hgcdigi_n_);
195  for (unsigned int i = 0; i < digiBXselect_.size(); i++) {
196  hgcdigi_data_[i].reserve(hgcdigi_n_);
197  hgcdigi_isadc_[i].reserve(hgcdigi_n_);
198  }
200  hgcdigi_waferu_.reserve(hgcdigi_n_);
201  hgcdigi_waferv_.reserve(hgcdigi_n_);
202  hgcdigi_cellu_.reserve(hgcdigi_n_);
203  hgcdigi_cellv_.reserve(hgcdigi_n_);
204  } else {
205  hgcdigi_wafer_.reserve(hgcdigi_n_);
206  hgcdigi_cell_.reserve(hgcdigi_n_);
207  }
208  if (is_Simhit_comp_)
210 
211  bhdigi_n_ = bh_digis.size();
212  bhdigi_id_.reserve(bhdigi_n_);
213  bhdigi_subdet_.reserve(bhdigi_n_);
214  bhdigi_side_.reserve(bhdigi_n_);
215  bhdigi_layer_.reserve(bhdigi_n_);
216  bhdigi_ieta_.reserve(bhdigi_n_);
217  bhdigi_iphi_.reserve(bhdigi_n_);
218  bhdigi_eta_.reserve(bhdigi_n_);
219  bhdigi_phi_.reserve(bhdigi_n_);
220  bhdigi_z_.reserve(bhdigi_n_);
221  for (unsigned int i = 0; i < digiBXselect_.size(); i++) {
222  bhdigi_data_[i].reserve(bhdigi_n_);
223  bhdigi_isadc_[i].reserve(bhdigi_n_);
224  }
225  if (is_Simhit_comp_)
226  bhdigi_simenergy_.reserve(bhdigi_n_);
227 
228  for (const auto& digi : ee_digis) {
229  const DetId id(digi.id());
230  hgcdigi_id_.emplace_back(id.rawId());
231  hgcdigi_subdet_.emplace_back(id.subdetId());
232  hgcdigi_side_.emplace_back(triggerTools_.zside(id));
233  hgcdigi_layer_.emplace_back(triggerTools_.layerWithOffset(id));
234  GlobalPoint cellpos = triggerGeometry_->eeGeometry()->getPosition(id.rawId());
235  hgcdigi_eta_.emplace_back(cellpos.eta());
236  hgcdigi_phi_.emplace_back(cellpos.phi());
237  hgcdigi_z_.emplace_back(cellpos.z());
238  for (unsigned int i = 0; i < digiBXselect_.size(); i++) {
239  hgcdigi_data_[i].emplace_back(digi[digiBXselect_[i]].data());
240  hgcdigi_isadc_[i].emplace_back(!digi[digiBXselect_[i]].mode());
241  }
243  const HGCSiliconDetId idv9(digi.id());
244  hgcdigi_waferu_.emplace_back(idv9.waferU());
245  hgcdigi_waferv_.emplace_back(idv9.waferV());
246  hgcdigi_wafertype_.emplace_back(idv9.type());
247  hgcdigi_cellu_.emplace_back(idv9.cellU());
248  hgcdigi_cellv_.emplace_back(idv9.cellV());
249  } else {
250  const HGCalDetId idv8(digi.id());
251  hgcdigi_wafer_.emplace_back(idv8.wafer());
252  hgcdigi_wafertype_.emplace_back(idv8.waferType());
253  hgcdigi_cell_.emplace_back(idv8.cell());
254  }
255  if (is_Simhit_comp_) {
256  double hit_energy = 0;
257  auto itr = simhits_ee.find(id);
258  if (itr != simhits_ee.end())
259  hit_energy = itr->second;
260  hgcdigi_simenergy_.emplace_back(hit_energy);
261  }
262  }
263 
264  for (const auto& digi : fh_digis) {
265  const DetId id(digi.id());
266  hgcdigi_id_.emplace_back(id.rawId());
267  hgcdigi_subdet_.emplace_back(id.subdetId());
268  hgcdigi_side_.emplace_back(triggerTools_.zside(id));
269  hgcdigi_layer_.emplace_back(triggerTools_.layerWithOffset(id));
270  GlobalPoint cellpos = triggerGeometry_->hsiGeometry()->getPosition(id.rawId());
271  hgcdigi_eta_.emplace_back(cellpos.eta());
272  hgcdigi_phi_.emplace_back(cellpos.phi());
273  hgcdigi_z_.emplace_back(cellpos.z());
274  for (unsigned int i = 0; i < digiBXselect_.size(); i++) {
275  hgcdigi_data_[i].emplace_back(digi[digiBXselect_[i]].data());
276  hgcdigi_isadc_[i].emplace_back(!digi[digiBXselect_[i]].mode());
277  }
279  const HGCSiliconDetId idv9(digi.id());
280  hgcdigi_waferu_.emplace_back(idv9.waferU());
281  hgcdigi_waferv_.emplace_back(idv9.waferV());
282  hgcdigi_wafertype_.emplace_back(idv9.type());
283  hgcdigi_cellu_.emplace_back(idv9.cellU());
284  hgcdigi_cellv_.emplace_back(idv9.cellV());
285  } else {
286  const HGCalDetId idv8(digi.id());
287  hgcdigi_wafer_.emplace_back(idv8.wafer());
288  hgcdigi_wafertype_.emplace_back(idv8.waferType());
289  hgcdigi_cell_.emplace_back(idv8.cell());
290  }
291  if (is_Simhit_comp_) {
292  double hit_energy = 0;
293  auto itr = simhits_fh.find(id);
294  if (itr != simhits_fh.end())
295  hit_energy = itr->second;
296  hgcdigi_simenergy_.emplace_back(hit_energy);
297  }
298  }
299 
300  for (const auto& digi : bh_digis) {
301  const DetId id(digi.id());
302  bhdigi_id_.emplace_back(id.rawId());
303  bhdigi_subdet_.emplace_back(id.subdetId());
304  bhdigi_side_.emplace_back(triggerTools_.zside(id));
305  bhdigi_layer_.emplace_back(triggerTools_.layerWithOffset(id));
307  : triggerGeometry_->bhGeometry()->getPosition(id.rawId()));
308  bhdigi_eta_.emplace_back(cellpos.eta());
309  bhdigi_phi_.emplace_back(cellpos.phi());
310  bhdigi_z_.emplace_back(cellpos.z());
311  for (unsigned int i = 0; i < digiBXselect_.size(); i++) {
312  bhdigi_data_[i].emplace_back(digi[digiBXselect_[i]].data());
313  bhdigi_isadc_[i].emplace_back(!digi[digiBXselect_[i]].mode());
314  }
316  const HGCScintillatorDetId idv9(digi.id());
317  bhdigi_ieta_.emplace_back(idv9.ietaAbs());
318  bhdigi_iphi_.emplace_back(idv9.iphi());
319  } else {
320  const HcalDetId idv8(digi.id());
321  bhdigi_ieta_.emplace_back(idv8.ieta());
322  bhdigi_iphi_.emplace_back(idv8.iphi());
323  }
324  if (is_Simhit_comp_) {
325  double hit_energy = 0;
326  auto itr = simhits_bh.find(id);
327  if (itr != simhits_bh.end())
328  hit_energy = itr->second;
329  bhdigi_simenergy_.emplace_back(hit_energy);
330  }
331  }
332 }
333 
335  std::unordered_map<uint32_t, double>& simhits_ee,
336  std::unordered_map<uint32_t, double>& simhits_fh,
337  std::unordered_map<uint32_t, double>& simhits_bh) {
339  e.getByToken(SimHits_inputee_, ee_simhits_h);
340  const edm::PCaloHitContainer& ee_simhits = *ee_simhits_h;
342  e.getByToken(SimHits_inputfh_, fh_simhits_h);
343  const edm::PCaloHitContainer& fh_simhits = *fh_simhits_h;
345  e.getByToken(SimHits_inputbh_, bh_simhits_h);
346  const edm::PCaloHitContainer& bh_simhits = *bh_simhits_h;
347 
348  //EE
349  for (const auto& simhit : ee_simhits) {
351  if (id.rawId() == 0)
352  continue;
353  auto itr_insert = simhits_ee.emplace(id, 0.);
354  itr_insert.first->second += simhit.energy();
355  }
356  // FH
357  for (const auto& simhit : fh_simhits) {
359  if (id.rawId() == 0)
360  continue;
361  auto itr_insert = simhits_fh.emplace(id, 0.);
362  itr_insert.first->second += simhit.energy();
363  }
364  // BH
365  for (const auto& simhit : bh_simhits) {
366  DetId id =
369  if (id.rawId() == 0)
370  continue;
371  auto itr_insert = simhits_bh.emplace(id, 0.);
372  itr_insert.first->second += simhit.energy();
373  }
374 }
375 
377  hgcdigi_n_ = 0;
378  hgcdigi_id_.clear();
379  hgcdigi_subdet_.clear();
380  hgcdigi_side_.clear();
381  hgcdigi_layer_.clear();
382  hgcdigi_wafer_.clear();
383  hgcdigi_waferu_.clear();
384  hgcdigi_waferv_.clear();
385  hgcdigi_wafertype_.clear();
386  hgcdigi_cell_.clear();
387  hgcdigi_cellu_.clear();
388  hgcdigi_cellv_.clear();
389  hgcdigi_eta_.clear();
390  hgcdigi_phi_.clear();
391  hgcdigi_z_.clear();
392  for (unsigned int i = 0; i < digiBXselect_.size(); i++) {
393  hgcdigi_data_[i].clear();
394  hgcdigi_isadc_[i].clear();
395  }
396  if (is_Simhit_comp_)
397  hgcdigi_simenergy_.clear();
398 
399  bhdigi_n_ = 0;
400  bhdigi_id_.clear();
401  bhdigi_subdet_.clear();
402  bhdigi_side_.clear();
403  bhdigi_layer_.clear();
404  bhdigi_ieta_.clear();
405  bhdigi_iphi_.clear();
406  bhdigi_eta_.clear();
407  bhdigi_phi_.clear();
408  bhdigi_z_.clear();
409  for (unsigned int i = 0; i < digiBXselect_.size(); i++) {
410  bhdigi_data_[i].clear();
411  bhdigi_isadc_[i].clear();
412  }
413  if (is_Simhit_comp_)
414  bhdigi_simenergy_.clear();
415 }
HGCalTriggerTools.h
HGCalTriggerNtupleHGCDigis::hgcdigi_subdet_
std::vector< int > hgcdigi_subdet_
Definition: HGCalTriggerNtupleHGCDigis.cc:41
HGCalTriggerGeometryBase::eeTopology
const HGCalTopology & eeTopology() const
Definition: HGCalTriggerGeometryBase.h:65
HGCalTriggerGeometryBase
Definition: HGCalTriggerGeometryBase.h:19
HGCalTriggerNtupleHGCDigis::triggerTools_
HGCalTriggerTools triggerTools_
Definition: HGCalTriggerNtupleHGCDigis.cc:37
HGCalTriggerTools::eventSetup
void eventSetup(const edm::EventSetup &)
Definition: HGCalTriggerTools.cc:35
HGCalTriggerNtupleHGCDigis::hgcdigi_side_
std::vector< int > hgcdigi_side_
Definition: HGCalTriggerNtupleHGCDigis.cc:42
mps_fire.i
i
Definition: mps_fire.py:428
HGCalTriggerGeometryBase::hsiGeometry
const HGCalGeometry * hsiGeometry() const
Definition: HGCalTriggerGeometryBase.h:57
ESHandle.h
CaloGeometryRecord
Definition: CaloGeometryRecord.h:30
edm
HLT enums.
Definition: AlignableModifier.h:19
HGCalTriggerNtupleHGCDigis::clear
void clear() final
Definition: HGCalTriggerNtupleHGCDigis.cc:376
tree
Definition: tree.py:1
ALCARECOPromptCalibProdSiPixelAli0T_cff.mode
mode
Definition: ALCARECOPromptCalibProdSiPixelAli0T_cff.py:96
HGCalTriggerNtupleHGCDigis::bhdigi_id_
std::vector< int > bhdigi_id_
Definition: HGCalTriggerNtupleHGCDigis.cc:61
l1GtPatternGenerator_cfi.bx
bx
Definition: l1GtPatternGenerator_cfi.py:18
HGCalTriggerNtupleHGCDigis::simhits
void simhits(const edm::Event &e, std::unordered_map< uint32_t, double > &simhits_ee, std::unordered_map< uint32_t, double > &simhits_fh, std::unordered_map< uint32_t, double > &simhits_bh)
Definition: HGCalTriggerNtupleHGCDigis.cc:334
ESHandle
HGCalTriggerNtupleHGCDigis::hgcdigi_cellu_
std::vector< int > hgcdigi_cellu_
Definition: HGCalTriggerNtupleHGCDigis.cc:57
edm::SortedCollection
Definition: SortedCollection.h:49
edm::SortedCollection::size
size_type size() const
Definition: SortedCollection.h:215
HGCalTriggerNtupleHGCDigis::ee_token_
edm::EDGetToken ee_token_
Definition: HGCalTriggerNtupleHGCDigis.cc:30
HGCalTriggerNtupleHGCDigis::digiBXselect_
std::vector< unsigned int > digiBXselect_
Definition: HGCalTriggerNtupleHGCDigis.cc:34
HGCalTriggerNtupleHGCDigis::bhdigi_layer_
std::vector< int > bhdigi_layer_
Definition: HGCalTriggerNtupleHGCDigis.cc:64
watchdog.const
const
Definition: watchdog.py:83
edm::Handle
Definition: AssociativeIterator.h:50
HGCalTriggerNtupleHGCDigis::bhdigi_z_
std::vector< float > bhdigi_z_
Definition: HGCalTriggerNtupleHGCDigis.cc:69
HGCSiliconDetId
Definition: HGCSiliconDetId.h:22
HGCalTriggerNtupleHGCDigis::triggerGeometry_
edm::ESHandle< HGCalTriggerGeometryBase > triggerGeometry_
Definition: HGCalTriggerNtupleHGCDigis.cc:74
HGCalTriggerNtupleHGCDigis::hgcdigi_id_
std::vector< int > hgcdigi_id_
Definition: HGCalTriggerNtupleHGCDigis.cc:40
HGCalTriggerNtupleHGCDigis::bhdigi_iphi_
std::vector< int > bhdigi_iphi_
Definition: HGCalTriggerNtupleHGCDigis.cc:66
ForwardSubdetector.h
PV3DBase::z
T z() const
Definition: PV3DBase.h:61
HGCalTriggerNtupleBase
Definition: HGCalTriggerNtupleBase.h:10
DetId
Definition: DetId.h:17
HGCalTriggerNtupleHGCDigis::SimHits_inputbh_
edm::EDGetToken SimHits_inputbh_
Definition: HGCalTriggerNtupleHGCDigis.cc:32
HGCalTriggerNtupleHGCDigis::is_Simhit_comp_
bool is_Simhit_comp_
Definition: HGCalTriggerNtupleHGCDigis.cc:31
edm::EventSetup::get
T get() const
Definition: EventSetup.h:80
HGCalTriggerGeometryBase.h
HGCalTriggerNtupleHGCDigis::bhdigi_phi_
std::vector< float > bhdigi_phi_
Definition: HGCalTriggerNtupleHGCDigis.cc:68
HGCalTriggerNtupleHGCDigis::hgcdigi_phi_
std::vector< float > hgcdigi_phi_
Definition: HGCalTriggerNtupleHGCDigis.cc:46
Event
HGCalTriggerNtupleHGCDigis::hgcdigi_waferv_
std::vector< int > hgcdigi_waferv_
Definition: HGCalTriggerNtupleHGCDigis.cc:56
HGCalTriggerNtupleHGCDigis::hgcdigi_z_
std::vector< float > hgcdigi_z_
Definition: HGCalTriggerNtupleHGCDigis.cc:47
HGCalTriggerTools::layerWithOffset
unsigned layerWithOffset(const DetId &) const
Definition: HGCalTriggerTools.cc:134
HGCalTriggerNtupleHGCDigis::hgcdigi_simenergy_
std::vector< float > hgcdigi_simenergy_
Definition: HGCalTriggerNtupleHGCDigis.cc:50
HGCalTriggerTools::zside
int zside(const DetId &) const
Definition: HGCalTriggerTools.cc:210
Point3DBase< float, GlobalTag >
HGCalTriggerNtupleHGCDigis::bhdigi_subdet_
std::vector< int > bhdigi_subdet_
Definition: HGCalTriggerNtupleHGCDigis.cc:62
DEFINE_EDM_PLUGIN
#define DEFINE_EDM_PLUGIN(factory, type, name)
Definition: PluginFactory.h:124
HGCalTriggerNtupleHGCDigis::hgcdigi_wafer_
std::vector< int > hgcdigi_wafer_
Definition: HGCalTriggerNtupleHGCDigis.cc:52
CaloGeometryRecord.h
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
HGCalTriggerNtupleHGCDigis::hgcdigi_wafertype_
std::vector< int > hgcdigi_wafertype_
Definition: HGCalTriggerNtupleHGCDigis.cc:44
edm::ParameterSet
Definition: ParameterSet.h:47
HGCalTriggerNtupleHGCDigis::~HGCalTriggerNtupleHGCDigis
~HGCalTriggerNtupleHGCDigis() override
Definition: HGCalTriggerNtupleHGCDigis.cc:19
HcalGeometry::getPosition
GlobalPoint getPosition(const DetId &id) const
Definition: HcalGeometry.cc:179
ParameterSet
Definition: Functions.h:16
HGCalTriggerNtupleHGCDigis::hgcdigi_eta_
std::vector< float > hgcdigi_eta_
Definition: HGCalTriggerNtupleHGCDigis.cc:45
edmplugin::PluginFactory
Definition: PluginFactory.h:34
HcalDetId.h
HGCalTriggerNtupleBase.h
PCaloHit.h
PV3DBase::eta
T eta() const
Definition: PV3DBase.h:73
HcalDetId
Definition: HcalDetId.h:12
HGCalTriggerNtupleHGCDigis::bhdigi_data_
std::vector< std::vector< uint32_t > > bhdigi_data_
Definition: HGCalTriggerNtupleHGCDigis.cc:70
HGCDigiCollections.h
HGCalTriggerNtupleHGCDigis::SimHits_inputfh_
edm::EDGetToken SimHits_inputfh_
Definition: HGCalTriggerNtupleHGCDigis.cc:32
HGCalTriggerNtupleHGCDigis::hgcdigi_cell_
std::vector< int > hgcdigi_cell_
Definition: HGCalTriggerNtupleHGCDigis.cc:53
trackerHitRTTI::vector
Definition: trackerHitRTTI.h:21
HGCalTriggerNtupleHGCDigis::hgcdigi_waferu_
std::vector< int > hgcdigi_waferu_
Definition: HGCalTriggerNtupleHGCDigis.cc:55
HGCalTriggerGeometryBase::bhTopology
const HcalTopology & bhTopology() const
Definition: HGCalTriggerGeometryBase.h:67
HGCalTriggerNtupleHGCDigis::hgcdigi_isadc_
std::vector< std::vector< int > > hgcdigi_isadc_
Definition: HGCalTriggerNtupleHGCDigis.cc:49
HGCalTriggerGeometryBase::isV9Geometry
bool isV9Geometry() const
Definition: HGCalTriggerGeometryBase.h:30
HGCalGeometry::getPosition
GlobalPoint getPosition(const DetId &id) const
Definition: HGCalGeometry.cc:191
edm::EventSetup
Definition: EventSetup.h:57
itr
std::vector< std::pair< float, float > >::iterator itr
Definition: HGCDigitizer.cc:29
HGCalTriggerTools::simToReco
DetId simToReco(const DetId &, const HGCalTopology &) const
Definition: HGCalTriggerTools.cc:346
get
#define get
HGCalTriggerNtupleHGCDigis::initialize
void initialize(TTree &, const edm::ParameterSet &, edm::ConsumesCollector &&) final
Definition: HGCalTriggerNtupleHGCDigis.cc:97
HGCalTriggerNtupleHGCDigis::bhdigi_eta_
std::vector< float > bhdigi_eta_
Definition: HGCalTriggerNtupleHGCDigis.cc:67
HGCalTriggerNtupleHGCDigis::hgcdigi_n_
int hgcdigi_n_
Definition: HGCalTriggerNtupleHGCDigis.cc:39
HGCalTriggerNtupleHGCDigis::bhdigi_isadc_
std::vector< std::vector< int > > bhdigi_isadc_
Definition: HGCalTriggerNtupleHGCDigis.cc:71
EDGetToken
HGCalTriggerNtupleHGCDigis::bh_token_
edm::EDGetToken bh_token_
Definition: HGCalTriggerNtupleHGCDigis.cc:30
HGCalDetId
Definition: HGCalDetId.h:8
HGCalTriggerGeometryBase::eeGeometry
const HGCalGeometry * eeGeometry() const
Definition: HGCalTriggerGeometryBase.h:41
HGCalDetId.h
std
Definition: JetResolutionObject.h:76
HGCalTriggerNtupleHGCDigis::bhdigi_side_
std::vector< int > bhdigi_side_
Definition: HGCalTriggerNtupleHGCDigis.cc:63
tier0.unique
def unique(seq, keepstr=True)
Definition: tier0.py:24
HGCalTriggerNtupleHGCDigis::hgcdigi_cellv_
std::vector< int > hgcdigi_cellv_
Definition: HGCalTriggerNtupleHGCDigis.cc:58
HGCScintillatorDetId
Definition: HGCScintillatorDetId.h:23
triggerObjects_cff.id
id
Definition: triggerObjects_cff.py:31
Exception
Definition: hltDiff.cc:246
CaloGeometry.h
edm::PCaloHitContainer
std::vector< PCaloHit > PCaloHitContainer
Definition: PCaloHitContainer.h:8
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
HGCalTriggerNtupleHGCDigis::bhdigi_ieta_
std::vector< int > bhdigi_ieta_
Definition: HGCalTriggerNtupleHGCDigis.cc:65
PCaloHitContainer.h
data
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:79
HGCalTriggerTools
Definition: HGCalTriggerTools.h:32
HGCalTriggerNtupleHGCDigis::bhdigi_n_
int bhdigi_n_
Definition: HGCalTriggerNtupleHGCDigis.cc:60
HGCalTriggerNtupleHGCDigis::HGCalTriggerNtupleHGCDigis
HGCalTriggerNtupleHGCDigis(const edm::ParameterSet &conf)
Definition: HGCalTriggerNtupleHGCDigis.cc:79
HGCalTriggerGeometryBase::hscGeometry
const HGCalGeometry * hscGeometry() const
Definition: HGCalTriggerGeometryBase.h:58
HGCalTriggerNtupleHGCDigis::fill
void fill(const edm::Event &e, const edm::EventSetup &es) final
Definition: HGCalTriggerNtupleHGCDigis.cc:163
EventSetup
HGCalTriggerNtupleHGCDigis::hgcdigi_data_
std::vector< std::vector< uint32_t > > hgcdigi_data_
Definition: HGCalTriggerNtupleHGCDigis.cc:48
edm::Event
Definition: Event.h:73
HGCalTriggerNtupleHGCDigis::hgcdigi_layer_
std::vector< int > hgcdigi_layer_
Definition: HGCalTriggerNtupleHGCDigis.cc:43
HGCalTriggerNtupleHGCDigis
Definition: HGCalTriggerNtupleHGCDigis.cc:16
edm::InputTag
Definition: InputTag.h:15
edm::ConsumesCollector
Definition: ConsumesCollector.h:45
PV3DBase::phi
Geom::Phi< T > phi() const
Definition: PV3DBase.h:66
HGCalTriggerGeometryBase::bhGeometry
const HcalGeometry * bhGeometry() const
Definition: HGCalTriggerGeometryBase.h:51
HGCalTriggerNtupleHGCDigis::kDigiSize_
static constexpr unsigned kDigiSize_
Definition: HGCalTriggerNtupleHGCDigis.cc:35
HGCalTriggerNtupleHGCDigis::SimHits_inputee_
edm::EDGetToken SimHits_inputee_
Definition: HGCalTriggerNtupleHGCDigis.cc:32
HGCalTriggerGeometryBase::fhTopology
const HGCalTopology & fhTopology() const
Definition: HGCalTriggerGeometryBase.h:66
HGCalTriggerNtupleHGCDigis::bhdigi_simenergy_
std::vector< float > bhdigi_simenergy_
Definition: HGCalTriggerNtupleHGCDigis.cc:72
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37
HGCalTriggerNtupleHGCDigis::fh_token_
edm::EDGetToken fh_token_
Definition: HGCalTriggerNtupleHGCDigis.cc:30
HGCalTriggerGeometryBase::hscTopology
const HGCalTopology & hscTopology() const
Definition: HGCalTriggerGeometryBase.h:69