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

typedef ROOT::Math::Transform3DPJ::Point Point
 
enum  ReachHGCal { notReach = 0, outsideEESurface = 1, onEESurface = 2 }
 
typedef ROOT::Math::Transform3DPJ Transform3D
 

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 114 of file HGCalTriggerNtupleGen.cc.

Member Typedef Documentation

Definition at line 124 of file HGCalTriggerNtupleGen.cc.

Definition at line 123 of file HGCalTriggerNtupleGen.cc.

Member Enumeration Documentation

Enumerator
notReach 
outsideEESurface 
onEESurface 

Definition at line 126 of file HGCalTriggerNtupleGen.cc.

Constructor & Destructor Documentation

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

Definition at line 212 of file HGCalTriggerNtupleGen.cc.

References initialize().

213 {
214 }
HGCalTriggerNtupleBase(const edm::ParameterSet &conf)

Member Function Documentation

void HGCalTriggerNtupleGen::clear ( void  )
finalprivatevirtual

Implements HGCalTriggerNtupleBase.

Definition at line 458 of file HGCalTriggerNtupleGen.cc.

Referenced by fill().

459 {
460 
461  gen_n_ = 0;
462  gen_PUNumInt_ = 0;
463  gen_TrueNumInt_ = 0.;
464 
465  vtx_x_ = 0;
466  vtx_y_ = 0;
467  vtx_z_ = 0;
468 
469 
470  //
471  genpart_eta_.clear();
472  genpart_phi_.clear();
473  genpart_pt_.clear();
474  genpart_energy_.clear();
475  genpart_dvx_.clear();
476  genpart_dvy_.clear();
477  genpart_dvz_.clear();
478  genpart_ovx_.clear();
479  genpart_ovy_.clear();
480  genpart_ovz_.clear();
481  genpart_exx_.clear();
482  genpart_exy_.clear();
483  genpart_mother_.clear();
484  genpart_exphi_.clear();
485  genpart_exeta_.clear();
486  genpart_fbrem_.clear();
487  genpart_pid_.clear();
488  genpart_gen_.clear();
489  genpart_reachedEE_.clear();
490  genpart_fromBeamPipe_.clear();
491  genpart_posx_.clear();
492  genpart_posy_.clear();
493  genpart_posz_.clear();
494 
496  // reco::GenParticles
497  //
498  gen_eta_.clear();
499  gen_phi_.clear();
500  gen_pt_.clear();
501  gen_energy_.clear();
502  gen_charge_.clear();
503  gen_pdgid_.clear();
504  gen_status_.clear();
505  gen_daughters_.clear();
506 }
std::vector< int > genpart_mother_
std::vector< std::vector< int > > gen_daughters_
std::vector< std::vector< float > > genpart_posy_
std::vector< float > genpart_phi_
std::vector< float > gen_energy_
std::vector< float > genpart_exy_
std::vector< float > gen_eta_
std::vector< std::vector< float > > genpart_posz_
std::vector< int > gen_status_
std::vector< float > genpart_dvy_
std::vector< int > genpart_reachedEE_
std::vector< int > gen_pdgid_
std::vector< float > genpart_exx_
std::vector< float > gen_phi_
std::vector< int > genpart_pid_
std::vector< int > gen_charge_
std::vector< bool > genpart_fromBeamPipe_
std::vector< float > genpart_fbrem_
std::vector< float > genpart_eta_
std::vector< float > genpart_pt_
std::vector< float > genpart_ovz_
std::vector< std::vector< float > > genpart_posx_
std::vector< float > genpart_ovy_
std::vector< float > gen_pt_
std::vector< float > genpart_exphi_
std::vector< float > genpart_energy_
std::vector< float > genpart_ovx_
std::vector< float > genpart_exeta_
std::vector< float > genpart_dvz_
std::vector< int > genpart_gen_
std::vector< float > genpart_dvx_
void HGCalTriggerNtupleGen::fill ( const edm::Event iEvent,
const edm::EventSetup es 
)
finalvirtual

Implements HGCalTriggerNtupleBase.

Definition at line 279 of file HGCalTriggerNtupleGen.cc.

References funct::abs(), ALCARECOTkAlJpsiMuMu_cff::charge, clear(), hitfit::clear(), BPhysicsValidation_cfi::daughters, HGCal_helpers::Coordinates::eta, edm::EventSetup::get(), edm::Event::getByToken(), mps_fire::i, nlayers, npart, HGCal_helpers::Coordinates::phi, impactParameterTagInfos_cfi::primaryVertex, HGCal_helpers::SimpleTrackPropagator::propagate(), HGCal_helpers::SimpleTrackPropagator::setPropagationTargetZ(), HGCal_helpers::Coordinates::toVector(), badGlobalMuonTaggersAOD_cff::vtx, HGCal_helpers::Coordinates::x, HGCal_helpers::Coordinates::y, and HGCal_helpers::Coordinates::z.

Referenced by initialize().

280 {
281  clear();
282 
284  iEvent.getByToken(gen_PU_token_, PupInfo_h);
285  const std::vector< PileupSummaryInfo >& PupInfo = *PupInfo_h;
286 
287  if(pdt_watcher_.check(es))
288  {
290  es.get<PDTRecord>().get(pdt);
291  mySimEvent_->initializePdt(&(*pdt));
292  }
293 
294  if(magfield_watcher_.check(es))
295  {
297  es.get<IdealMagneticFieldRecord>().get(magfield);
298  aField_ = &(*magfield);
299  }
300 
302 
303  // This balck magic is needed to use the mySimEvent_
304  ParticleTable::Sentry ptable(mySimEvent_->theTable());
306  edm::Handle<std::vector<SimTrack>> simTracksHandle;
307  edm::Handle<std::vector<SimVertex>> simVerticesHandle;
308 
309  iEvent.getByToken(hepmcev_token_, hevH);
310  iEvent.getByToken(simTracks_token_, simTracksHandle);
311  iEvent.getByToken(simVertices_token_, simVerticesHandle);
312  mySimEvent_->fill(*simTracksHandle, *simVerticesHandle);
313 
314  HepMC::GenVertex *primaryVertex = *(hevH)->GetEvent()->vertices_begin();
315  const float mm2cm = 0.1;
316  vtx_x_ = primaryVertex->position().x() * mm2cm; // to put in official units
317  vtx_y_ = primaryVertex->position().y() * mm2cm;
318  vtx_z_ = primaryVertex->position().z() * mm2cm;
319  Point sim_pv(vtx_x_, vtx_y_, vtx_z_);
320 
321 
323  toHGCalPropagator.setPropagationTargetZ(triggerTools_.getLayerZ(1));
324  std::vector<FSimTrack *> allselectedgentracks;
325  const float eeInnerRadius = 25.;
326  const float eeOuterRadius = 160.;
327  unsigned int npart = mySimEvent_->nTracks();
328  for (unsigned int i = 0; i < npart; ++i) {
329  std::vector<float> xp, yp, zp;
330  FSimTrack &myTrack(mySimEvent_->track(i));
331  math::XYZTLorentzVectorD vtx(0, 0, 0, 0);
332 
333  int reachedEE = ReachHGCal::notReach; // compute the extrapolations for the particles reaching EE
334  // and for the gen particles
335  double fbrem = -1;
336 
337  if (std::abs(myTrack.vertex().position().z()) >= triggerTools_.getLayerZ(1)) continue;
338 
339  const unsigned nlayers = triggerTools_.lastLayerBH();
340  if (myTrack.noEndVertex()) // || myTrack.genpartIndex()>=0)
341  {
342  HGCal_helpers::Coordinates propcoords;
343  bool reachesHGCal = toHGCalPropagator.propagate(
344  myTrack.momentum(), myTrack.vertex().position(), myTrack.charge(), propcoords);
345  vtx = propcoords.toVector();
346 
347  if (reachesHGCal && vtx.Rho() < eeOuterRadius && vtx.Rho() > eeInnerRadius) {
348  reachedEE = ReachHGCal::onEESurface;
349  double dpt = 0;
350 
351  for (int i = 0; i < myTrack.nDaughters(); ++i) dpt += myTrack.daughter(i).momentum().pt();
352  if (abs(myTrack.type()) == 11) fbrem = dpt / myTrack.momentum().pt();
353  } else if (reachesHGCal && vtx.Rho() > eeOuterRadius)
354  reachedEE = ReachHGCal::outsideEESurface;
355 
356  HGCal_helpers::SimpleTrackPropagator indiv_particleProp(aField_);
357  for (unsigned il = 1; il <= nlayers; ++il) {
358  const float charge = myTrack.charge();
359  indiv_particleProp.setPropagationTargetZ(triggerTools_.getLayerZ(il));
360  HGCal_helpers::Coordinates propCoords;
361  indiv_particleProp.propagate(myTrack.momentum(), myTrack.vertex().position(), charge,
362  propCoords);
363 
364  xp.push_back(propCoords.x);
365  yp.push_back(propCoords.y);
366  zp.push_back(propCoords.z);
367  }
368  } else {
369  vtx = myTrack.endVertex().position();
370  }
371  auto orig_vtx = myTrack.vertex().position();
372 
373  allselectedgentracks.push_back(&mySimEvent_->track(i));
374  // fill branches
375  genpart_eta_.push_back(myTrack.momentum().eta());
376  genpart_phi_.push_back(myTrack.momentum().phi());
377  genpart_pt_.push_back(myTrack.momentum().pt());
378  genpart_energy_.push_back(myTrack.momentum().energy());
379  genpart_dvx_.push_back(vtx.x());
380  genpart_dvy_.push_back(vtx.y());
381  genpart_dvz_.push_back(vtx.z());
382 
383  genpart_ovx_.push_back(orig_vtx.x());
384  genpart_ovy_.push_back(orig_vtx.y());
385  genpart_ovz_.push_back(orig_vtx.z());
386 
387  HGCal_helpers::Coordinates hitsHGCal;
388  toHGCalPropagator.propagate(myTrack.momentum(), orig_vtx, myTrack.charge(), hitsHGCal);
389 
390  genpart_exphi_.push_back(hitsHGCal.phi);
391  genpart_exeta_.push_back(hitsHGCal.eta);
392  genpart_exx_.push_back(hitsHGCal.x);
393  genpart_exy_.push_back(hitsHGCal.y);
394 
395  genpart_fbrem_.push_back(fbrem);
396  genpart_pid_.push_back(myTrack.type());
397  genpart_gen_.push_back(myTrack.genpartIndex());
398  genpart_reachedEE_.push_back(reachedEE);
399  genpart_fromBeamPipe_.push_back(true);
400 
401  genpart_posx_.push_back(xp);
402  genpart_posy_.push_back(yp);
403  genpart_posz_.push_back(zp);
404  }
405 
406 
407  edm::Handle<std::vector<reco::GenParticle>> genParticlesHandle;
408  iEvent.getByToken(gen_token_, genParticlesHandle);
409  gen_n_ = genParticlesHandle->size();
410 
411  for (const auto& particle : *genParticlesHandle) {
412  gen_eta_.push_back(particle.eta());
413  gen_phi_.push_back(particle.phi());
414  gen_pt_.push_back(particle.pt());
415  gen_energy_.push_back(particle.energy());
416  gen_charge_.push_back(particle.charge());
417  gen_pdgid_.push_back(particle.pdgId());
418  gen_status_.push_back(particle.status());
419  std::vector<int> daughters(particle.daughterRefVector().size(), 0);
420  for (unsigned j = 0; j < particle.daughterRefVector().size(); ++j) {
421  daughters[j] = static_cast<int>(particle.daughterRefVector().at(j).key());
422  }
423  gen_daughters_.push_back(daughters);
424  }
425 
426 
427  // associate gen particles to mothers
428  genpart_mother_.resize(genpart_posz_.size(), -1);
429  for (size_t i = 0; i < allselectedgentracks.size(); i++) {
430  const auto tracki = allselectedgentracks.at(i);
431 
432  for (size_t j = i + 1; j < allselectedgentracks.size(); j++) {
433  const auto trackj = allselectedgentracks.at(j);
434 
435  if (!tracki->noMother()) {
436  if (&tracki->mother() == trackj) genpart_mother_.at(i) = j;
437  }
438  if (!trackj->noMother()) {
439  if (&trackj->mother() == tracki) genpart_mother_.at(j) = i;
440  }
441  }
442  }
443 
444  for(const auto& PVI : PupInfo)
445  {
446  if(PVI.getBunchCrossing() == 0)
447  {
448  gen_PUNumInt_ = PVI.getPU_NumInteractions();
449  gen_TrueNumInt_ = PVI.getTrueNumInteractions();
450  }
451  }
452 
453 }
const MagneticField * aField_
std::vector< int > genpart_mother_
void eventSetup(const edm::EventSetup &)
std::vector< std::vector< int > > gen_daughters_
ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< double > > XYZTLorentzVectorD
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:14
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:579
std::vector< std::vector< float > > genpart_posy_
double npart
Definition: HydjetWrapper.h:49
edm::ESWatcher< PDTRecord > pdt_watcher_
std::vector< float > genpart_phi_
float getLayerZ(const unsigned &layerWithOffset) const
std::vector< float > gen_energy_
std::vector< float > genpart_exy_
std::unique_ptr< FSimEvent > mySimEvent_
edm::EDGetToken simVertices_token_
std::vector< float > gen_eta_
std::vector< std::vector< float > > genpart_posz_
std::vector< int > gen_status_
std::vector< float > genpart_dvy_
std::vector< int > genpart_reachedEE_
std::vector< int > gen_pdgid_
std::vector< float > genpart_exx_
std::vector< float > gen_phi_
std::vector< int > genpart_pid_
math::XYZPoint Point
std::vector< int > gen_charge_
std::vector< bool > genpart_fromBeamPipe_
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
std::vector< float > genpart_fbrem_
std::vector< float > genpart_eta_
std::vector< float > genpart_pt_
std::vector< float > genpart_ovz_
unsigned lastLayerBH() const
edm::ESWatcher< IdealMagneticFieldRecord > magfield_watcher_
HGCalTriggerTools triggerTools_
std::vector< std::vector< float > > genpart_posx_
std::vector< float > genpart_ovy_
std::vector< float > gen_pt_
std::vector< float > genpart_exphi_
bool check(const edm::EventSetup &iSetup)
Definition: ESWatcher.h:57
std::vector< float > genpart_energy_
math::XYZTLorentzVectorD toVector()
T get() const
Definition: EventSetup.h:63
std::vector< float > genpart_ovx_
std::vector< float > genpart_exeta_
std::vector< float > genpart_dvz_
std::vector< int > genpart_gen_
std::vector< float > genpart_dvx_
void HGCalTriggerNtupleGen::initialize ( TTree &  tree,
const edm::ParameterSet conf,
edm::ConsumesCollector &&  collector 
)
finalvirtual

Implements HGCalTriggerNtupleBase.

Definition at line 219 of file HGCalTriggerNtupleGen.cc.

References fill(), and edm::ParameterSet::getParameter().

Referenced by HGCalTriggerNtupleGen().

220 {
221 
222  edm::ParameterSet particleFilter_(conf.getParameter<edm::ParameterSet>("particleFilter"));
223  mySimEvent_ = std::make_unique<FSimEvent>(particleFilter_);
224 
225  gen_token_ = collector.consumes<reco::GenParticleCollection>(conf.getParameter<edm::InputTag>("GenParticles"));
226  gen_PU_token_ = collector.consumes<std::vector<PileupSummaryInfo>>(conf.getParameter<edm::InputTag>("GenPU"));
227  tree.Branch("gen_n", &gen_n_, "gen_n/I");
228  tree.Branch("gen_PUNumInt", &gen_PUNumInt_ ,"gen_PUNumInt/I");
229  tree.Branch("gen_TrueNumInt", &gen_TrueNumInt_ ,"gen_TrueNumInt/F");
230 
231  hepmcev_token_ = collector.consumes<edm::HepMCProduct>(conf.getParameter<edm::InputTag>("MCEvent"));
232 
233  simTracks_token_ = collector.consumes<std::vector<SimTrack>>(conf.getParameter<edm::InputTag>("SimTracks"));
234  simVertices_token_ = collector.consumes<std::vector<SimVertex>>(conf.getParameter<edm::InputTag>("SimVertices"));
235 
236  tree.Branch("vtx_x", &vtx_x_);
237  tree.Branch("vtx_y", &vtx_y_);
238  tree.Branch("vtx_z", &vtx_z_);
239 
240 
241  tree.Branch("gen_eta", &gen_eta_);
242  tree.Branch("gen_phi", &gen_phi_);
243  tree.Branch("gen_pt", &gen_pt_);
244  tree.Branch("gen_energy", &gen_energy_);
245  tree.Branch("gen_charge", &gen_charge_);
246  tree.Branch("gen_pdgid", &gen_pdgid_);
247  tree.Branch("gen_status", &gen_status_);
248  tree.Branch("gen_daughters", &gen_daughters_);
249 
250  tree.Branch("genpart_eta", &genpart_eta_);
251  tree.Branch("genpart_phi", &genpart_phi_);
252  tree.Branch("genpart_pt", &genpart_pt_);
253  tree.Branch("genpart_energy", &genpart_energy_);
254  tree.Branch("genpart_dvx", &genpart_dvx_);
255  tree.Branch("genpart_dvy", &genpart_dvy_);
256  tree.Branch("genpart_dvz", &genpart_dvz_);
257  tree.Branch("genpart_ovx", &genpart_ovx_);
258  tree.Branch("genpart_ovy", &genpart_ovy_);
259  tree.Branch("genpart_ovz", &genpart_ovz_);
260  tree.Branch("genpart_mother", &genpart_mother_);
261  tree.Branch("genpart_exphi", &genpart_exphi_);
262  tree.Branch("genpart_exeta", &genpart_exeta_);
263  tree.Branch("genpart_exx", &genpart_exx_);
264  tree.Branch("genpart_exy", &genpart_exy_);
265  tree.Branch("genpart_fbrem", &genpart_fbrem_);
266  tree.Branch("genpart_pid", &genpart_pid_);
267  tree.Branch("genpart_gen", &genpart_gen_);
268  tree.Branch("genpart_reachedEE", &genpart_reachedEE_);
269  tree.Branch("genpart_fromBeamPipe", &genpart_fromBeamPipe_);
270  tree.Branch("genpart_posx", &genpart_posx_);
271  tree.Branch("genpart_posy", &genpart_posy_);
272  tree.Branch("genpart_posz", &genpart_posz_);
273 
274 
275 }
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
std::vector< GenParticle > GenParticleCollection
collection of GenParticles
T getParameter(std::string const &) const
std::vector< int > genpart_mother_
std::vector< std::vector< int > > gen_daughters_
std::vector< std::vector< float > > genpart_posy_
std::vector< float > genpart_phi_
std::vector< float > gen_energy_
std::vector< float > genpart_exy_
std::unique_ptr< FSimEvent > mySimEvent_
edm::EDGetToken simVertices_token_
std::vector< float > gen_eta_
std::vector< std::vector< float > > genpart_posz_
std::vector< int > gen_status_
std::vector< float > genpart_dvy_
std::vector< int > genpart_reachedEE_
std::vector< int > gen_pdgid_
std::vector< float > genpart_exx_
std::vector< float > gen_phi_
std::vector< int > genpart_pid_
std::vector< int > gen_charge_
std::vector< bool > genpart_fromBeamPipe_
std::vector< float > genpart_fbrem_
std::vector< float > genpart_eta_
std::vector< float > genpart_pt_
std::vector< float > genpart_ovz_
std::vector< std::vector< float > > genpart_posx_
std::vector< float > genpart_ovy_
std::vector< float > gen_pt_
std::vector< float > genpart_exphi_
std::vector< float > genpart_energy_
std::vector< float > genpart_ovx_
std::vector< float > genpart_exeta_
Definition: tree.py:1
std::vector< float > genpart_dvz_
std::vector< int > genpart_gen_
std::vector< float > genpart_dvx_

Member Data Documentation

const MagneticField* HGCalTriggerNtupleGen::aField_
private

Definition at line 191 of file HGCalTriggerNtupleGen.cc.

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

Definition at line 181 of file HGCalTriggerNtupleGen.cc.

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

Definition at line 184 of file HGCalTriggerNtupleGen.cc.

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

Definition at line 180 of file HGCalTriggerNtupleGen.cc.

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

Definition at line 177 of file HGCalTriggerNtupleGen.cc.

int HGCalTriggerNtupleGen::gen_n_
private

Definition at line 138 of file HGCalTriggerNtupleGen.cc.

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

Definition at line 182 of file HGCalTriggerNtupleGen.cc.

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

Definition at line 178 of file HGCalTriggerNtupleGen.cc.

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

Definition at line 179 of file HGCalTriggerNtupleGen.cc.

edm::EDGetToken HGCalTriggerNtupleGen::gen_PU_token_
private

Definition at line 136 of file HGCalTriggerNtupleGen.cc.

int HGCalTriggerNtupleGen::gen_PUNumInt_
private

Definition at line 139 of file HGCalTriggerNtupleGen.cc.

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

Definition at line 183 of file HGCalTriggerNtupleGen.cc.

edm::EDGetToken HGCalTriggerNtupleGen::gen_token_
private

Definition at line 135 of file HGCalTriggerNtupleGen.cc.

float HGCalTriggerNtupleGen::gen_TrueNumInt_
private

Definition at line 140 of file HGCalTriggerNtupleGen.cc.

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

Definition at line 154 of file HGCalTriggerNtupleGen.cc.

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

Definition at line 155 of file HGCalTriggerNtupleGen.cc.

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

Definition at line 156 of file HGCalTriggerNtupleGen.cc.

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

Definition at line 153 of file HGCalTriggerNtupleGen.cc.

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

Definition at line 150 of file HGCalTriggerNtupleGen.cc.

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

Definition at line 164 of file HGCalTriggerNtupleGen.cc.

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

Definition at line 163 of file HGCalTriggerNtupleGen.cc.

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

Definition at line 160 of file HGCalTriggerNtupleGen.cc.

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

Definition at line 161 of file HGCalTriggerNtupleGen.cc.

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

Definition at line 165 of file HGCalTriggerNtupleGen.cc.

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

Definition at line 169 of file HGCalTriggerNtupleGen.cc.

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

Definition at line 167 of file HGCalTriggerNtupleGen.cc.

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

Definition at line 162 of file HGCalTriggerNtupleGen.cc.

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

Definition at line 157 of file HGCalTriggerNtupleGen.cc.

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

Definition at line 158 of file HGCalTriggerNtupleGen.cc.

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

Definition at line 159 of file HGCalTriggerNtupleGen.cc.

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

Definition at line 151 of file HGCalTriggerNtupleGen.cc.

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

Definition at line 166 of file HGCalTriggerNtupleGen.cc.

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

Definition at line 170 of file HGCalTriggerNtupleGen.cc.

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

Definition at line 171 of file HGCalTriggerNtupleGen.cc.

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

Definition at line 172 of file HGCalTriggerNtupleGen.cc.

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

Definition at line 152 of file HGCalTriggerNtupleGen.cc.

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

Definition at line 168 of file HGCalTriggerNtupleGen.cc.

edm::EDGetToken HGCalTriggerNtupleGen::hepmcev_token_
private

Definition at line 198 of file HGCalTriggerNtupleGen.cc.

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

Definition at line 201 of file HGCalTriggerNtupleGen.cc.

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

Definition at line 188 of file HGCalTriggerNtupleGen.cc.

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

Definition at line 200 of file HGCalTriggerNtupleGen.cc.

edm::EDGetToken HGCalTriggerNtupleGen::simTracks_token_
private

Definition at line 196 of file HGCalTriggerNtupleGen.cc.

edm::EDGetToken HGCalTriggerNtupleGen::simVertices_token_
private

Definition at line 197 of file HGCalTriggerNtupleGen.cc.

HGCalTriggerTools HGCalTriggerNtupleGen::triggerTools_
private

Definition at line 193 of file HGCalTriggerNtupleGen.cc.

float HGCalTriggerNtupleGen::vtx_x_
private

Definition at line 142 of file HGCalTriggerNtupleGen.cc.

float HGCalTriggerNtupleGen::vtx_y_
private

Definition at line 143 of file HGCalTriggerNtupleGen.cc.

float HGCalTriggerNtupleGen::vtx_z_
private

Definition at line 144 of file HGCalTriggerNtupleGen.cc.