CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
HGCalTriggerNtupleGen Class Reference
Inheritance diagram for HGCalTriggerNtupleGen:
HGCalTriggerNtupleBase

Public Types

enum  ReachHGCal { notReach = 0, outsideEESurface = 1, onEESurface = 2 }
 

Public Member Functions

void fill (const edm::Event &, const edm::EventSetup &) final
 
 HGCalTriggerNtupleGen (const edm::ParameterSet &)
 
void initialize (TTree &, const edm::ParameterSet &, edm::ConsumesCollector &&) final
 
- Public Member Functions inherited from HGCalTriggerNtupleBase
 HGCalTriggerNtupleBase (const edm::ParameterSet &conf)
 
virtual ~HGCalTriggerNtupleBase ()
 

Private Member Functions

void clear () final
 

Private Attributes

const MagneticFieldaField_
 
std::vector< int > gen_charge_
 
std::vector< std::vector< int > > gen_daughters_
 
std::vector< float > gen_energy_
 
std::vector< float > gen_eta_
 
int gen_n_
 
std::vector< int > gen_pdgid_
 
std::vector< float > gen_phi_
 
std::vector< float > gen_pt_
 
edm::EDGetToken gen_PU_token_
 
int gen_PUNumInt_
 
std::vector< int > gen_status_
 
edm::EDGetToken gen_token_
 
float gen_TrueNumInt_
 
std::vector< float > genpart_dvx_
 
std::vector< float > genpart_dvy_
 
std::vector< float > genpart_dvz_
 
std::vector< float > genpart_energy_
 
std::vector< float > genpart_eta_
 
std::vector< float > genpart_exeta_
 
std::vector< float > genpart_exphi_
 
std::vector< float > genpart_exx_
 
std::vector< float > genpart_exy_
 
std::vector< float > genpart_fbrem_
 
std::vector< bool > genpart_fromBeamPipe_
 
std::vector< int > genpart_gen_
 
std::vector< int > genpart_mother_
 
std::vector< float > genpart_ovx_
 
std::vector< float > genpart_ovy_
 
std::vector< float > genpart_ovz_
 
std::vector< float > genpart_phi_
 
std::vector< int > genpart_pid_
 
std::vector< std::vector< float > > genpart_posx_
 
std::vector< std::vector< float > > genpart_posy_
 
std::vector< std::vector< float > > genpart_posz_
 
std::vector< float > genpart_pt_
 
std::vector< int > genpart_reachedEE_
 
edm::EDGetToken hepmcev_token_
 
edm::ESWatcher< IdealMagneticFieldRecordmagfield_watcher_
 
std::unique_ptr< FSimEventmySimEvent_
 
edm::ESWatcher< PDTRecordpdt_watcher_
 
edm::EDGetToken simTracks_token_
 
edm::EDGetToken simVertices_token_
 
HGCalTriggerTools triggerTools_
 
float vtx_x_
 
float vtx_y_
 
float vtx_z_
 

Additional Inherited Members

Detailed Description

Definition at line 118 of file HGCalTriggerNtupleGen.cc.

Member Enumeration Documentation

◆ ReachHGCal

Enumerator
notReach 
outsideEESurface 
onEESurface 

Definition at line 125 of file HGCalTriggerNtupleGen.cc.

125 { notReach = 0, outsideEESurface = 1, onEESurface = 2 };

Constructor & Destructor Documentation

◆ HGCalTriggerNtupleGen()

HGCalTriggerNtupleGen::HGCalTriggerNtupleGen ( const edm::ParameterSet conf)

Definition at line 199 of file HGCalTriggerNtupleGen.cc.

199 : HGCalTriggerNtupleBase(conf) {}

Member Function Documentation

◆ clear()

void HGCalTriggerNtupleGen::clear ( void  )
finalprivatevirtual

Implements HGCalTriggerNtupleBase.

Definition at line 423 of file HGCalTriggerNtupleGen.cc.

423  {
424  gen_n_ = 0;
425  gen_PUNumInt_ = 0;
426  gen_TrueNumInt_ = 0.;
427 
428  vtx_x_ = 0;
429  vtx_y_ = 0;
430  vtx_z_ = 0;
431 
432  //
433  genpart_eta_.clear();
434  genpart_phi_.clear();
435  genpart_pt_.clear();
436  genpart_energy_.clear();
437  genpart_dvx_.clear();
438  genpart_dvy_.clear();
439  genpart_dvz_.clear();
440  genpart_ovx_.clear();
441  genpart_ovy_.clear();
442  genpart_ovz_.clear();
443  genpart_exx_.clear();
444  genpart_exy_.clear();
445  genpart_mother_.clear();
446  genpart_exphi_.clear();
447  genpart_exeta_.clear();
448  genpart_fbrem_.clear();
449  genpart_pid_.clear();
450  genpart_gen_.clear();
451  genpart_reachedEE_.clear();
452  genpart_fromBeamPipe_.clear();
453  genpart_posx_.clear();
454  genpart_posy_.clear();
455  genpart_posz_.clear();
456 
458  // reco::GenParticles
459  //
460  gen_eta_.clear();
461  gen_phi_.clear();
462  gen_pt_.clear();
463  gen_energy_.clear();
464  gen_charge_.clear();
465  gen_pdgid_.clear();
466  gen_status_.clear();
467  gen_daughters_.clear();
468 }

References gen_charge_, gen_daughters_, gen_energy_, gen_eta_, gen_n_, gen_pdgid_, gen_phi_, gen_pt_, gen_PUNumInt_, gen_status_, gen_TrueNumInt_, genpart_dvx_, genpart_dvy_, genpart_dvz_, genpart_energy_, genpart_eta_, genpart_exeta_, genpart_exphi_, genpart_exx_, genpart_exy_, genpart_fbrem_, genpart_fromBeamPipe_, genpart_gen_, genpart_mother_, genpart_ovx_, genpart_ovy_, genpart_ovz_, genpart_phi_, genpart_pid_, genpart_posx_, genpart_posy_, genpart_posz_, genpart_pt_, genpart_reachedEE_, vtx_x_, vtx_y_, and vtx_z_.

Referenced by fill().

◆ fill()

void HGCalTriggerNtupleGen::fill ( const edm::Event iEvent,
const edm::EventSetup es 
)
finalvirtual

Implements HGCalTriggerNtupleBase.

Definition at line 254 of file HGCalTriggerNtupleGen.cc.

254  {
255  clear();
256 
258  iEvent.getByToken(gen_PU_token_, PupInfo_h);
259  const std::vector<PileupSummaryInfo> &PupInfo = *PupInfo_h;
260 
261  if (pdt_watcher_.check(es)) {
263  es.get<PDTRecord>().get(pdt);
264  mySimEvent_->initializePdt(&(*pdt));
265  }
266 
267  if (magfield_watcher_.check(es)) {
270  aField_ = &(*magfield);
271  }
272 
274 
275  // This balck magic is needed to use the mySimEvent_
277  edm::Handle<std::vector<SimTrack>> simTracksHandle;
278  edm::Handle<std::vector<SimVertex>> simVerticesHandle;
279 
280  iEvent.getByToken(hepmcev_token_, hevH);
281  iEvent.getByToken(simTracks_token_, simTracksHandle);
282  iEvent.getByToken(simVertices_token_, simVerticesHandle);
283  mySimEvent_->fill(*simTracksHandle, *simVerticesHandle);
284 
285  HepMC::GenVertex *primaryVertex = *(hevH)->GetEvent()->vertices_begin();
286  const float mm2cm = 0.1;
287  vtx_x_ = primaryVertex->position().x() * mm2cm; // to put in official units
288  vtx_y_ = primaryVertex->position().y() * mm2cm;
289  vtx_z_ = primaryVertex->position().z() * mm2cm;
290 
292  toHGCalPropagator.setPropagationTargetZ(triggerTools_.getLayerZ(1));
293  std::vector<FSimTrack *> allselectedgentracks;
294  const float eeInnerRadius = 25.;
295  const float eeOuterRadius = 160.;
296  unsigned int npart = mySimEvent_->nTracks();
297  for (unsigned int i = 0; i < npart; ++i) {
298  std::vector<float> xp, yp, zp;
299  FSimTrack &myTrack(mySimEvent_->track(i));
300  math::XYZTLorentzVectorD vtx(0, 0, 0, 0);
301 
302  int reachedEE = ReachHGCal::notReach; // compute the extrapolations for the particles reaching EE
303  // and for the gen particles
304  double fbrem = -1;
305 
306  if (std::abs(myTrack.vertex().position().z()) >= triggerTools_.getLayerZ(1))
307  continue;
308 
309  const unsigned nlayers = triggerTools_.lastLayerBH();
310  if (myTrack.noEndVertex()) // || myTrack.genpartIndex()>=0)
311  {
312  HGCal_helpers::Coordinates propcoords;
313  bool reachesHGCal =
314  toHGCalPropagator.propagate(myTrack.momentum(), myTrack.vertex().position(), myTrack.charge(), propcoords);
315  vtx = propcoords.toVector();
316 
317  if (reachesHGCal && vtx.Rho() < eeOuterRadius && vtx.Rho() > eeInnerRadius) {
318  reachedEE = ReachHGCal::onEESurface;
319  double dpt = 0;
320 
321  for (int i = 0; i < myTrack.nDaughters(); ++i)
322  dpt += myTrack.daughter(i).momentum().pt();
323  if (abs(myTrack.type()) == 11)
324  fbrem = dpt / myTrack.momentum().pt();
325  } else if (reachesHGCal && vtx.Rho() > eeOuterRadius)
326  reachedEE = ReachHGCal::outsideEESurface;
327 
328  HGCal_helpers::SimpleTrackPropagator indiv_particleProp(aField_);
329  for (unsigned il = 1; il <= nlayers; ++il) {
330  const float charge = myTrack.charge();
331  indiv_particleProp.setPropagationTargetZ(triggerTools_.getLayerZ(il));
332  HGCal_helpers::Coordinates propCoords;
333  indiv_particleProp.propagate(myTrack.momentum(), myTrack.vertex().position(), charge, propCoords);
334 
335  xp.push_back(propCoords.x);
336  yp.push_back(propCoords.y);
337  zp.push_back(propCoords.z);
338  }
339  } else {
340  vtx = myTrack.endVertex().position();
341  }
342  auto orig_vtx = myTrack.vertex().position();
343 
344  allselectedgentracks.push_back(&mySimEvent_->track(i));
345  // fill branches
346  genpart_eta_.push_back(myTrack.momentum().eta());
347  genpart_phi_.push_back(myTrack.momentum().phi());
348  genpart_pt_.push_back(myTrack.momentum().pt());
349  genpart_energy_.push_back(myTrack.momentum().energy());
350  genpart_dvx_.push_back(vtx.x());
351  genpart_dvy_.push_back(vtx.y());
352  genpart_dvz_.push_back(vtx.z());
353 
354  genpart_ovx_.push_back(orig_vtx.x());
355  genpart_ovy_.push_back(orig_vtx.y());
356  genpart_ovz_.push_back(orig_vtx.z());
357 
358  HGCal_helpers::Coordinates hitsHGCal;
359  toHGCalPropagator.propagate(myTrack.momentum(), orig_vtx, myTrack.charge(), hitsHGCal);
360 
361  genpart_exphi_.push_back(hitsHGCal.phi);
362  genpart_exeta_.push_back(hitsHGCal.eta);
363  genpart_exx_.push_back(hitsHGCal.x);
364  genpart_exy_.push_back(hitsHGCal.y);
365 
366  genpart_fbrem_.push_back(fbrem);
367  genpart_pid_.push_back(myTrack.type());
368  genpart_gen_.push_back(myTrack.genpartIndex());
369  genpart_reachedEE_.push_back(reachedEE);
370  genpart_fromBeamPipe_.push_back(true);
371 
372  genpart_posx_.push_back(xp);
373  genpart_posy_.push_back(yp);
374  genpart_posz_.push_back(zp);
375  }
376 
377  edm::Handle<std::vector<reco::GenParticle>> genParticlesHandle;
378  iEvent.getByToken(gen_token_, genParticlesHandle);
379  gen_n_ = genParticlesHandle->size();
380 
381  for (const auto &particle : *genParticlesHandle) {
382  gen_eta_.push_back(particle.eta());
383  gen_phi_.push_back(particle.phi());
384  gen_pt_.push_back(particle.pt());
385  gen_energy_.push_back(particle.energy());
386  gen_charge_.push_back(particle.charge());
387  gen_pdgid_.push_back(particle.pdgId());
388  gen_status_.push_back(particle.status());
389  std::vector<int> daughters(particle.daughterRefVector().size(), 0);
390  for (unsigned j = 0; j < particle.daughterRefVector().size(); ++j) {
391  daughters[j] = static_cast<int>(particle.daughterRefVector().at(j).key());
392  }
393  gen_daughters_.push_back(daughters);
394  }
395 
396  // associate gen particles to mothers
397  genpart_mother_.resize(genpart_posz_.size(), -1);
398  for (size_t i = 0; i < allselectedgentracks.size(); i++) {
399  const auto tracki = allselectedgentracks.at(i);
400 
401  for (size_t j = i + 1; j < allselectedgentracks.size(); j++) {
402  const auto trackj = allselectedgentracks.at(j);
403 
404  if (!tracki->noMother()) {
405  if (&tracki->mother() == trackj)
406  genpart_mother_.at(i) = j;
407  }
408  if (!trackj->noMother()) {
409  if (&trackj->mother() == tracki)
410  genpart_mother_.at(j) = i;
411  }
412  }
413  }
414 
415  for (const auto &PVI : PupInfo) {
416  if (PVI.getBunchCrossing() == 0) {
417  gen_PUNumInt_ = PVI.getPU_NumInteractions();
418  gen_TrueNumInt_ = PVI.getTrueNumInteractions();
419  }
420  }
421 }

References funct::abs(), aField_, ALCARECOTkAlJpsiMuMu_cff::charge, edm::ESWatcher< T >::check(), clear(), BPhysicsValidation_cfi::daughters, HGCal_helpers::Coordinates::eta, HGCalTriggerTools::eventSetup(), gen_charge_, gen_daughters_, gen_energy_, gen_eta_, gen_n_, gen_pdgid_, gen_phi_, gen_pt_, gen_PU_token_, gen_PUNumInt_, gen_status_, gen_token_, gen_TrueNumInt_, genpart_dvx_, genpart_dvy_, genpart_dvz_, genpart_energy_, genpart_eta_, genpart_exeta_, genpart_exphi_, genpart_exx_, genpart_exy_, genpart_fbrem_, genpart_fromBeamPipe_, genpart_gen_, genpart_mother_, genpart_ovx_, genpart_ovy_, genpart_ovz_, genpart_phi_, genpart_pid_, genpart_posx_, genpart_posy_, genpart_posz_, genpart_pt_, genpart_reachedEE_, edm::EventSetup::get(), get, HGCalTriggerTools::getLayerZ(), hepmcev_token_, mps_fire::i, iEvent, dqmiolumiharvest::j, HGCalTriggerTools::lastLayerBH(), volumeBasedMagneticField_160812_cfi::magfield, magfield_watcher_, mySimEvent_, nlayers, npart, pdt_watcher_, HGCal_helpers::Coordinates::phi, BeamMonitor_cff::primaryVertex, HGCal_helpers::SimpleTrackPropagator::propagate(), HGCal_helpers::SimpleTrackPropagator::setPropagationTargetZ(), simTracks_token_, simVertices_token_, HGCal_helpers::Coordinates::toVector(), triggerTools_, extraflags_cff::vtx, vtx_x_, vtx_y_, vtx_z_, HGCal_helpers::Coordinates::x, HGCal_helpers::Coordinates::y, and HGCal_helpers::Coordinates::z.

◆ initialize()

void HGCalTriggerNtupleGen::initialize ( TTree &  tree,
const edm::ParameterSet conf,
edm::ConsumesCollector &&  collector 
)
finalvirtual

Implements HGCalTriggerNtupleBase.

Definition at line 201 of file HGCalTriggerNtupleGen.cc.

201  {
202  edm::ParameterSet particleFilter_(conf.getParameter<edm::ParameterSet>("particleFilter"));
203  mySimEvent_ = std::make_unique<FSimEvent>(particleFilter_);
204 
205  gen_token_ = collector.consumes<reco::GenParticleCollection>(conf.getParameter<edm::InputTag>("GenParticles"));
206  gen_PU_token_ = collector.consumes<std::vector<PileupSummaryInfo>>(conf.getParameter<edm::InputTag>("GenPU"));
207  tree.Branch("gen_n", &gen_n_, "gen_n/I");
208  tree.Branch("gen_PUNumInt", &gen_PUNumInt_, "gen_PUNumInt/I");
209  tree.Branch("gen_TrueNumInt", &gen_TrueNumInt_, "gen_TrueNumInt/F");
210 
211  hepmcev_token_ = collector.consumes<edm::HepMCProduct>(conf.getParameter<edm::InputTag>("MCEvent"));
212 
213  simTracks_token_ = collector.consumes<std::vector<SimTrack>>(conf.getParameter<edm::InputTag>("SimTracks"));
214  simVertices_token_ = collector.consumes<std::vector<SimVertex>>(conf.getParameter<edm::InputTag>("SimVertices"));
215 
216  tree.Branch("vtx_x", &vtx_x_);
217  tree.Branch("vtx_y", &vtx_y_);
218  tree.Branch("vtx_z", &vtx_z_);
219 
220  tree.Branch("gen_eta", &gen_eta_);
221  tree.Branch("gen_phi", &gen_phi_);
222  tree.Branch("gen_pt", &gen_pt_);
223  tree.Branch("gen_energy", &gen_energy_);
224  tree.Branch("gen_charge", &gen_charge_);
225  tree.Branch("gen_pdgid", &gen_pdgid_);
226  tree.Branch("gen_status", &gen_status_);
227  tree.Branch("gen_daughters", &gen_daughters_);
228 
229  tree.Branch("genpart_eta", &genpart_eta_);
230  tree.Branch("genpart_phi", &genpart_phi_);
231  tree.Branch("genpart_pt", &genpart_pt_);
232  tree.Branch("genpart_energy", &genpart_energy_);
233  tree.Branch("genpart_dvx", &genpart_dvx_);
234  tree.Branch("genpart_dvy", &genpart_dvy_);
235  tree.Branch("genpart_dvz", &genpart_dvz_);
236  tree.Branch("genpart_ovx", &genpart_ovx_);
237  tree.Branch("genpart_ovy", &genpart_ovy_);
238  tree.Branch("genpart_ovz", &genpart_ovz_);
239  tree.Branch("genpart_mother", &genpart_mother_);
240  tree.Branch("genpart_exphi", &genpart_exphi_);
241  tree.Branch("genpart_exeta", &genpart_exeta_);
242  tree.Branch("genpart_exx", &genpart_exx_);
243  tree.Branch("genpart_exy", &genpart_exy_);
244  tree.Branch("genpart_fbrem", &genpart_fbrem_);
245  tree.Branch("genpart_pid", &genpart_pid_);
246  tree.Branch("genpart_gen", &genpart_gen_);
247  tree.Branch("genpart_reachedEE", &genpart_reachedEE_);
248  tree.Branch("genpart_fromBeamPipe", &genpart_fromBeamPipe_);
249  tree.Branch("genpart_posx", &genpart_posx_);
250  tree.Branch("genpart_posy", &genpart_posy_);
251  tree.Branch("genpart_posz", &genpart_posz_);
252 }

References gen_charge_, gen_daughters_, gen_energy_, gen_eta_, gen_n_, gen_pdgid_, gen_phi_, gen_pt_, gen_PU_token_, gen_PUNumInt_, gen_status_, gen_token_, gen_TrueNumInt_, genpart_dvx_, genpart_dvy_, genpart_dvz_, genpart_energy_, genpart_eta_, genpart_exeta_, genpart_exphi_, genpart_exx_, genpart_exy_, genpart_fbrem_, genpart_fromBeamPipe_, genpart_gen_, genpart_mother_, genpart_ovx_, genpart_ovy_, genpart_ovz_, genpart_phi_, genpart_pid_, genpart_posx_, genpart_posy_, genpart_posz_, genpart_pt_, genpart_reachedEE_, edm::ParameterSet::getParameter(), hepmcev_token_, mySimEvent_, simTracks_token_, simVertices_token_, vtx_x_, vtx_y_, and vtx_z_.

Member Data Documentation

◆ aField_

const MagneticField* HGCalTriggerNtupleGen::aField_
private

Definition at line 184 of file HGCalTriggerNtupleGen.cc.

Referenced by fill().

◆ gen_charge_

std::vector<int> HGCalTriggerNtupleGen::gen_charge_
private

Definition at line 175 of file HGCalTriggerNtupleGen.cc.

Referenced by clear(), fill(), and initialize().

◆ gen_daughters_

std::vector<std::vector<int> > HGCalTriggerNtupleGen::gen_daughters_
private

Definition at line 178 of file HGCalTriggerNtupleGen.cc.

Referenced by clear(), fill(), and initialize().

◆ gen_energy_

std::vector<float> HGCalTriggerNtupleGen::gen_energy_
private

Definition at line 174 of file HGCalTriggerNtupleGen.cc.

Referenced by clear(), fill(), and initialize().

◆ gen_eta_

std::vector<float> HGCalTriggerNtupleGen::gen_eta_
private

Definition at line 171 of file HGCalTriggerNtupleGen.cc.

Referenced by clear(), fill(), and initialize().

◆ gen_n_

int HGCalTriggerNtupleGen::gen_n_
private

Definition at line 133 of file HGCalTriggerNtupleGen.cc.

Referenced by clear(), fill(), and initialize().

◆ gen_pdgid_

std::vector<int> HGCalTriggerNtupleGen::gen_pdgid_
private

Definition at line 176 of file HGCalTriggerNtupleGen.cc.

Referenced by clear(), fill(), and initialize().

◆ gen_phi_

std::vector<float> HGCalTriggerNtupleGen::gen_phi_
private

Definition at line 172 of file HGCalTriggerNtupleGen.cc.

Referenced by clear(), fill(), and initialize().

◆ gen_pt_

std::vector<float> HGCalTriggerNtupleGen::gen_pt_
private

Definition at line 173 of file HGCalTriggerNtupleGen.cc.

Referenced by clear(), fill(), and initialize().

◆ gen_PU_token_

edm::EDGetToken HGCalTriggerNtupleGen::gen_PU_token_
private

Definition at line 131 of file HGCalTriggerNtupleGen.cc.

Referenced by fill(), and initialize().

◆ gen_PUNumInt_

int HGCalTriggerNtupleGen::gen_PUNumInt_
private

Definition at line 134 of file HGCalTriggerNtupleGen.cc.

Referenced by clear(), fill(), and initialize().

◆ gen_status_

std::vector<int> HGCalTriggerNtupleGen::gen_status_
private

Definition at line 177 of file HGCalTriggerNtupleGen.cc.

Referenced by clear(), fill(), and initialize().

◆ gen_token_

edm::EDGetToken HGCalTriggerNtupleGen::gen_token_
private

Definition at line 130 of file HGCalTriggerNtupleGen.cc.

Referenced by fill(), and initialize().

◆ gen_TrueNumInt_

float HGCalTriggerNtupleGen::gen_TrueNumInt_
private

Definition at line 135 of file HGCalTriggerNtupleGen.cc.

Referenced by clear(), fill(), and initialize().

◆ genpart_dvx_

std::vector<float> HGCalTriggerNtupleGen::genpart_dvx_
private

Definition at line 148 of file HGCalTriggerNtupleGen.cc.

Referenced by clear(), fill(), and initialize().

◆ genpart_dvy_

std::vector<float> HGCalTriggerNtupleGen::genpart_dvy_
private

Definition at line 149 of file HGCalTriggerNtupleGen.cc.

Referenced by clear(), fill(), and initialize().

◆ genpart_dvz_

std::vector<float> HGCalTriggerNtupleGen::genpart_dvz_
private

Definition at line 150 of file HGCalTriggerNtupleGen.cc.

Referenced by clear(), fill(), and initialize().

◆ genpart_energy_

std::vector<float> HGCalTriggerNtupleGen::genpart_energy_
private

Definition at line 147 of file HGCalTriggerNtupleGen.cc.

Referenced by clear(), fill(), and initialize().

◆ genpart_eta_

std::vector<float> HGCalTriggerNtupleGen::genpart_eta_
private

Definition at line 144 of file HGCalTriggerNtupleGen.cc.

Referenced by clear(), fill(), and initialize().

◆ genpart_exeta_

std::vector<float> HGCalTriggerNtupleGen::genpart_exeta_
private

Definition at line 158 of file HGCalTriggerNtupleGen.cc.

Referenced by clear(), fill(), and initialize().

◆ genpart_exphi_

std::vector<float> HGCalTriggerNtupleGen::genpart_exphi_
private

Definition at line 157 of file HGCalTriggerNtupleGen.cc.

Referenced by clear(), fill(), and initialize().

◆ genpart_exx_

std::vector<float> HGCalTriggerNtupleGen::genpart_exx_
private

Definition at line 154 of file HGCalTriggerNtupleGen.cc.

Referenced by clear(), fill(), and initialize().

◆ genpart_exy_

std::vector<float> HGCalTriggerNtupleGen::genpart_exy_
private

Definition at line 155 of file HGCalTriggerNtupleGen.cc.

Referenced by clear(), fill(), and initialize().

◆ genpart_fbrem_

std::vector<float> HGCalTriggerNtupleGen::genpart_fbrem_
private

Definition at line 159 of file HGCalTriggerNtupleGen.cc.

Referenced by clear(), fill(), and initialize().

◆ genpart_fromBeamPipe_

std::vector<bool> HGCalTriggerNtupleGen::genpart_fromBeamPipe_
private

Definition at line 163 of file HGCalTriggerNtupleGen.cc.

Referenced by clear(), fill(), and initialize().

◆ genpart_gen_

std::vector<int> HGCalTriggerNtupleGen::genpart_gen_
private

Definition at line 161 of file HGCalTriggerNtupleGen.cc.

Referenced by clear(), fill(), and initialize().

◆ genpart_mother_

std::vector<int> HGCalTriggerNtupleGen::genpart_mother_
private

Definition at line 156 of file HGCalTriggerNtupleGen.cc.

Referenced by clear(), fill(), and initialize().

◆ genpart_ovx_

std::vector<float> HGCalTriggerNtupleGen::genpart_ovx_
private

Definition at line 151 of file HGCalTriggerNtupleGen.cc.

Referenced by clear(), fill(), and initialize().

◆ genpart_ovy_

std::vector<float> HGCalTriggerNtupleGen::genpart_ovy_
private

Definition at line 152 of file HGCalTriggerNtupleGen.cc.

Referenced by clear(), fill(), and initialize().

◆ genpart_ovz_

std::vector<float> HGCalTriggerNtupleGen::genpart_ovz_
private

Definition at line 153 of file HGCalTriggerNtupleGen.cc.

Referenced by clear(), fill(), and initialize().

◆ genpart_phi_

std::vector<float> HGCalTriggerNtupleGen::genpart_phi_
private

Definition at line 145 of file HGCalTriggerNtupleGen.cc.

Referenced by clear(), fill(), and initialize().

◆ genpart_pid_

std::vector<int> HGCalTriggerNtupleGen::genpart_pid_
private

Definition at line 160 of file HGCalTriggerNtupleGen.cc.

Referenced by clear(), fill(), and initialize().

◆ genpart_posx_

std::vector<std::vector<float> > HGCalTriggerNtupleGen::genpart_posx_
private

Definition at line 164 of file HGCalTriggerNtupleGen.cc.

Referenced by clear(), fill(), and initialize().

◆ genpart_posy_

std::vector<std::vector<float> > HGCalTriggerNtupleGen::genpart_posy_
private

Definition at line 165 of file HGCalTriggerNtupleGen.cc.

Referenced by clear(), fill(), and initialize().

◆ genpart_posz_

std::vector<std::vector<float> > HGCalTriggerNtupleGen::genpart_posz_
private

Definition at line 166 of file HGCalTriggerNtupleGen.cc.

Referenced by clear(), fill(), and initialize().

◆ genpart_pt_

std::vector<float> HGCalTriggerNtupleGen::genpart_pt_
private

Definition at line 146 of file HGCalTriggerNtupleGen.cc.

Referenced by clear(), fill(), and initialize().

◆ genpart_reachedEE_

std::vector<int> HGCalTriggerNtupleGen::genpart_reachedEE_
private

Definition at line 162 of file HGCalTriggerNtupleGen.cc.

Referenced by clear(), fill(), and initialize().

◆ hepmcev_token_

edm::EDGetToken HGCalTriggerNtupleGen::hepmcev_token_
private

Definition at line 191 of file HGCalTriggerNtupleGen.cc.

Referenced by fill(), and initialize().

◆ magfield_watcher_

edm::ESWatcher<IdealMagneticFieldRecord> HGCalTriggerNtupleGen::magfield_watcher_
private

Definition at line 194 of file HGCalTriggerNtupleGen.cc.

Referenced by fill().

◆ mySimEvent_

std::unique_ptr<FSimEvent> HGCalTriggerNtupleGen::mySimEvent_
private

Definition at line 181 of file HGCalTriggerNtupleGen.cc.

Referenced by fill(), and initialize().

◆ pdt_watcher_

edm::ESWatcher<PDTRecord> HGCalTriggerNtupleGen::pdt_watcher_
private

Definition at line 193 of file HGCalTriggerNtupleGen.cc.

Referenced by fill().

◆ simTracks_token_

edm::EDGetToken HGCalTriggerNtupleGen::simTracks_token_
private

Definition at line 189 of file HGCalTriggerNtupleGen.cc.

Referenced by fill(), and initialize().

◆ simVertices_token_

edm::EDGetToken HGCalTriggerNtupleGen::simVertices_token_
private

Definition at line 190 of file HGCalTriggerNtupleGen.cc.

Referenced by fill(), and initialize().

◆ triggerTools_

HGCalTriggerTools HGCalTriggerNtupleGen::triggerTools_
private

Definition at line 186 of file HGCalTriggerNtupleGen.cc.

Referenced by fill().

◆ vtx_x_

float HGCalTriggerNtupleGen::vtx_x_
private

Definition at line 137 of file HGCalTriggerNtupleGen.cc.

Referenced by clear(), fill(), and initialize().

◆ vtx_y_

float HGCalTriggerNtupleGen::vtx_y_
private

Definition at line 138 of file HGCalTriggerNtupleGen.cc.

Referenced by clear(), fill(), and initialize().

◆ vtx_z_

float HGCalTriggerNtupleGen::vtx_z_
private

Definition at line 139 of file HGCalTriggerNtupleGen.cc.

Referenced by clear(), fill(), and initialize().

HGCalTriggerNtupleGen::mySimEvent_
std::unique_ptr< FSimEvent > mySimEvent_
Definition: HGCalTriggerNtupleGen.cc:181
edm::ESWatcher::check
bool check(const edm::EventSetup &iSetup)
Definition: ESWatcher.h:52
HGCalTriggerNtupleGen::genpart_posz_
std::vector< std::vector< float > > genpart_posz_
Definition: HGCalTriggerNtupleGen.cc:166
HGCalTriggerNtupleGen::genpart_dvx_
std::vector< float > genpart_dvx_
Definition: HGCalTriggerNtupleGen.cc:148
HGCalTriggerTools::eventSetup
void eventSetup(const edm::EventSetup &)
Definition: HGCalTriggerTools.cc:35
mps_fire.i
i
Definition: mps_fire.py:428
HGCalTriggerNtupleGen::genpart_exy_
std::vector< float > genpart_exy_
Definition: HGCalTriggerNtupleGen.cc:155
HGCalTriggerNtupleGen::gen_eta_
std::vector< float > gen_eta_
Definition: HGCalTriggerNtupleGen.cc:171
tree
Definition: tree.py:1
math::XYZTLorentzVectorD
ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< double > > XYZTLorentzVectorD
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:14
HGCalTriggerNtupleGen::genpart_posx_
std::vector< std::vector< float > > genpart_posx_
Definition: HGCalTriggerNtupleGen.cc:164
reco::GenParticleCollection
std::vector< GenParticle > GenParticleCollection
collection of GenParticles
Definition: GenParticleFwd.h:13
HGCalTriggerNtupleGen::pdt_watcher_
edm::ESWatcher< PDTRecord > pdt_watcher_
Definition: HGCalTriggerNtupleGen.cc:193
HGCal_helpers::Coordinates::phi
float phi
Definition: HGCalTriggerNtupleGen.cc:30
HGCalTriggerNtupleGen::genpart_ovy_
std::vector< float > genpart_ovy_
Definition: HGCalTriggerNtupleGen.cc:152
HGCalTriggerNtupleGen::gen_pt_
std::vector< float > gen_pt_
Definition: HGCalTriggerNtupleGen.cc:173
HGCalTriggerNtupleGen::genpart_pt_
std::vector< float > genpart_pt_
Definition: HGCalTriggerNtupleGen.cc:146
HGCalTriggerNtupleGen::genpart_exphi_
std::vector< float > genpart_exphi_
Definition: HGCalTriggerNtupleGen.cc:157
HGCalTriggerNtupleGen::vtx_z_
float vtx_z_
Definition: HGCalTriggerNtupleGen.cc:139
edm::Handle
Definition: AssociativeIterator.h:50
HGCalTriggerNtupleGen::gen_energy_
std::vector< float > gen_energy_
Definition: HGCalTriggerNtupleGen.cc:174
npart
double npart
Definition: HydjetWrapper.h:46
HGCalTriggerNtupleGen::magfield_watcher_
edm::ESWatcher< IdealMagneticFieldRecord > magfield_watcher_
Definition: HGCalTriggerNtupleGen.cc:194
HGCalTriggerNtupleGen::genpart_exeta_
std::vector< float > genpart_exeta_
Definition: HGCalTriggerNtupleGen.cc:158
HGCal_helpers::Coordinates::x
float x
Definition: HGCalTriggerNtupleGen.cc:30
BeamMonitor_cff.primaryVertex
primaryVertex
hltOfflineBeamSpot for HLTMON
Definition: BeamMonitor_cff.py:7
IdealMagneticFieldRecord
Definition: IdealMagneticFieldRecord.h:11
HGCalTriggerNtupleBase::HGCalTriggerNtupleBase
HGCalTriggerNtupleBase(const edm::ParameterSet &conf)
Definition: HGCalTriggerNtupleBase.h:12
edm::EventSetup::get
T get() const
Definition: EventSetup.h:87
HGCalTriggerNtupleGen::notReach
Definition: HGCalTriggerNtupleGen.cc:125
BPhysicsValidation_cfi.daughters
daughters
Definition: BPhysicsValidation_cfi.py:11
HGCalTriggerTools::lastLayerBH
unsigned lastLayerBH() const
Definition: HGCalTriggerTools.h:56
edm::ESHandle< HepPDT::ParticleDataTable >
edm::ConsumesCollector::consumes
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
Definition: ConsumesCollector.h:55
HGCal_helpers::Coordinates::eta
float eta
Definition: HGCalTriggerNtupleGen.cc:30
HGCalTriggerNtupleGen::genpart_eta_
std::vector< float > genpart_eta_
Definition: HGCalTriggerNtupleGen.cc:144
HGCal_helpers::SimpleTrackPropagator
Definition: HGCalTriggerNtupleGen.cc:34
HGCalTriggerNtupleGen::gen_PU_token_
edm::EDGetToken gen_PU_token_
Definition: HGCalTriggerNtupleGen.cc:131
ALCARECOTkAlJpsiMuMu_cff.charge
charge
Definition: ALCARECOTkAlJpsiMuMu_cff.py:47
HGCal_helpers::Coordinates::y
float y
Definition: HGCalTriggerNtupleGen.cc:30
HGCalTriggerNtupleGen::outsideEESurface
Definition: HGCalTriggerNtupleGen.cc:125
edm::ParameterSet
Definition: ParameterSet.h:47
HGCalTriggerNtupleGen::clear
void clear() final
Definition: HGCalTriggerNtupleGen.cc:423
HGCalTriggerNtupleGen::genpart_dvz_
std::vector< float > genpart_dvz_
Definition: HGCalTriggerNtupleGen.cc:150
HGCalTriggerNtupleGen::genpart_mother_
std::vector< int > genpart_mother_
Definition: HGCalTriggerNtupleGen.cc:156
HGCalTriggerNtupleGen::gen_pdgid_
std::vector< int > gen_pdgid_
Definition: HGCalTriggerNtupleGen.cc:176
HGCalTriggerNtupleGen::genpart_fromBeamPipe_
std::vector< bool > genpart_fromBeamPipe_
Definition: HGCalTriggerNtupleGen.cc:163
HGCalTriggerNtupleGen::gen_daughters_
std::vector< std::vector< int > > gen_daughters_
Definition: HGCalTriggerNtupleGen.cc:178
HGCalTriggerNtupleGen::hepmcev_token_
edm::EDGetToken hepmcev_token_
Definition: HGCalTriggerNtupleGen.cc:191
iEvent
int iEvent
Definition: GenABIO.cc:224
HGCalTriggerNtupleGen::genpart_phi_
std::vector< float > genpart_phi_
Definition: HGCalTriggerNtupleGen.cc:145
HGCalTriggerNtupleGen::gen_charge_
std::vector< int > gen_charge_
Definition: HGCalTriggerNtupleGen.cc:175
HGCalTriggerNtupleGen::genpart_gen_
std::vector< int > genpart_gen_
Definition: HGCalTriggerNtupleGen.cc:161
HGCal_helpers::Coordinates::z
float z
Definition: HGCalTriggerNtupleGen.cc:30
get
#define get
HGCalTriggerNtupleGen::aField_
const MagneticField * aField_
Definition: HGCalTriggerNtupleGen.cc:184
HGCalTriggerNtupleGen::genpart_ovx_
std::vector< float > genpart_ovx_
Definition: HGCalTriggerNtupleGen.cc:151
extraflags_cff.vtx
vtx
Definition: extraflags_cff.py:18
HGCalTriggerNtupleGen::vtx_x_
float vtx_x_
Definition: HGCalTriggerNtupleGen.cc:137
HGCalTriggerNtupleGen::simTracks_token_
edm::EDGetToken simTracks_token_
Definition: HGCalTriggerNtupleGen.cc:189
HGCalTriggerNtupleGen::genpart_fbrem_
std::vector< float > genpart_fbrem_
Definition: HGCalTriggerNtupleGen.cc:159
HGCalTriggerNtupleGen::simVertices_token_
edm::EDGetToken simVertices_token_
Definition: HGCalTriggerNtupleGen.cc:190
HGCalTriggerNtupleGen::genpart_exx_
std::vector< float > genpart_exx_
Definition: HGCalTriggerNtupleGen.cc:154
HGCalTriggerNtupleGen::genpart_ovz_
std::vector< float > genpart_ovz_
Definition: HGCalTriggerNtupleGen.cc:153
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
HGCalTriggerNtupleGen::genpart_posy_
std::vector< std::vector< float > > genpart_posy_
Definition: HGCalTriggerNtupleGen.cc:165
HGCal_helpers::Coordinates::toVector
math::XYZTLorentzVectorD toVector()
Definition: HGCalTriggerNtupleGen.cc:31
HGCalTriggerNtupleGen::triggerTools_
HGCalTriggerTools triggerTools_
Definition: HGCalTriggerNtupleGen.cc:186
FSimTrack
Definition: FSimTrack.h:30
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
HGCalTriggerNtupleGen::gen_status_
std::vector< int > gen_status_
Definition: HGCalTriggerNtupleGen.cc:177
HGCalTriggerNtupleGen::genpart_dvy_
std::vector< float > genpart_dvy_
Definition: HGCalTriggerNtupleGen.cc:149
edm::HepMCProduct
Definition: HepMCProduct.h:21
HGCalTriggerNtupleGen::onEESurface
Definition: HGCalTriggerNtupleGen.cc:125
HGCal_helpers::Coordinates
Definition: HGCalTriggerNtupleGen.cc:27
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
HGCalTriggerNtupleGen::gen_n_
int gen_n_
Definition: HGCalTriggerNtupleGen.cc:133
HGCalTriggerNtupleGen::vtx_y_
float vtx_y_
Definition: HGCalTriggerNtupleGen.cc:138
HGCalTriggerNtupleGen::genpart_energy_
std::vector< float > genpart_energy_
Definition: HGCalTriggerNtupleGen.cc:147
HGCalTriggerNtupleGen::gen_TrueNumInt_
float gen_TrueNumInt_
Definition: HGCalTriggerNtupleGen.cc:135
HGCalTriggerNtupleGen::gen_PUNumInt_
int gen_PUNumInt_
Definition: HGCalTriggerNtupleGen.cc:134
volumeBasedMagneticField_160812_cfi.magfield
magfield
Definition: volumeBasedMagneticField_160812_cfi.py:11
HGCalTriggerTools::getLayerZ
float getLayerZ(const unsigned &layerWithOffset) const
Definition: HGCalTriggerTools.cc:312
PDTRecord
Definition: PDTRecord.h:14
edm::InputTag
Definition: InputTag.h:15
HGCalTriggerNtupleGen::gen_phi_
std::vector< float > gen_phi_
Definition: HGCalTriggerNtupleGen.cc:172
HGCalTriggerNtupleGen::gen_token_
edm::EDGetToken gen_token_
Definition: HGCalTriggerNtupleGen.cc:130
HGCalTriggerNtupleGen::genpart_pid_
std::vector< int > genpart_pid_
Definition: HGCalTriggerNtupleGen.cc:160
nlayers
Definition: HIMultiTrackSelector.h:48
HGCalTriggerNtupleGen::genpart_reachedEE_
std::vector< int > genpart_reachedEE_
Definition: HGCalTriggerNtupleGen.cc:162