CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
HGCalTriggerNtupleGenTau Class Reference
Inheritance diagram for HGCalTriggerNtupleGenTau:
HGCalTriggerNtupleBase

Public Member Functions

void fill (const edm::Event &, const edm::EventSetup &) final
 
 HGCalTriggerNtupleGenTau (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
 
bool isChargedHadron (const reco::GenParticle &daughter) const
 
bool isChargedHadronFromResonance (const reco::GenParticle &daughter) const
 
bool isElectron (const reco::GenParticle &daughter) const
 
bool isGamma (const reco::GenParticle &daughter) const
 
bool isGoodTau (const reco::GenParticle &candidate) const
 
bool isIntermediateResonance (const reco::GenParticle &daughter) const
 
bool isMuon (const reco::GenParticle &daughter) const
 
bool isNeutralPion (const reco::GenParticle &daughter) const
 
bool isNeutralPionFromResonance (const reco::GenParticle &daughter) const
 
bool isStableLepton (const reco::GenParticle &daughter) const
 
bool isStableNeutralHadron (const reco::GenParticle &daughter) const
 

Private Attributes

edm::EDGetToken gen_token_
 
std::vector< int > gentau_decayMode_
 
std::vector< float > gentau_energy_
 
std::vector< float > gentau_eta_
 
std::vector< float > gentau_mass_
 
std::vector< float > gentau_phi_
 
std::vector< std::vector< float > > gentau_products_energy_
 
std::vector< std::vector< float > > gentau_products_eta_
 
std::vector< std::vector< int > > gentau_products_id_
 
std::vector< std::vector< float > > gentau_products_mass_
 
std::vector< std::vector< float > > gentau_products_phi_
 
std::vector< std::vector< float > > gentau_products_pt_
 
std::vector< float > gentau_pt_
 
std::vector< int > gentau_totNcharged_
 
std::vector< int > gentau_totNgamma_
 
std::vector< int > gentau_totNpiZero_
 
std::vector< int > gentau_totNproducts_
 
std::vector< float > gentau_vis_energy_
 
std::vector< float > gentau_vis_eta_
 
std::vector< float > gentau_vis_mass_
 
std::vector< float > gentau_vis_phi_
 
std::vector< float > gentau_vis_pt_
 
bool isPythia8generator_
 

Additional Inherited Members

Detailed Description

Definition at line 9 of file HGCalTriggerNtupleGenTau.cc.

Constructor & Destructor Documentation

◆ HGCalTriggerNtupleGenTau()

HGCalTriggerNtupleGenTau::HGCalTriggerNtupleGenTau ( const edm::ParameterSet conf)

Definition at line 61 of file HGCalTriggerNtupleGenTau.cc.

61 : HGCalTriggerNtupleBase(conf) {}

Member Function Documentation

◆ clear()

void HGCalTriggerNtupleGenTau::clear ( void  )
finalprivatevirtual

◆ fill()

void HGCalTriggerNtupleGenTau::fill ( const edm::Event e,
const edm::EventSetup es 
)
finalvirtual

Implements HGCalTriggerNtupleBase.

Definition at line 146 of file HGCalTriggerNtupleGenTau.cc.

146  {
148  e.getByToken(gen_token_, gen_particles_h);
149  const reco::GenParticleCollection& gen_particles = *gen_particles_h;
150 
151  clear();
152 
153  for (const auto& particle : gen_particles) {
154  /* select good taus */
155  if (isGoodTau(particle)) {
156  LorentzVector tau_p4vis(0., 0., 0., 0.);
157  gentau_pt_.emplace_back(particle.pt());
158  gentau_eta_.emplace_back(particle.eta());
159  gentau_phi_.emplace_back(particle.phi());
160  gentau_energy_.emplace_back(particle.energy());
161  gentau_mass_.emplace_back(particle.mass());
162 
163  int n_pi = 0;
164  int n_piZero = 0;
165  int n_gamma = 0;
166  int n_ele = 0;
167  int n_mu = 0;
168 
169  std::vector<float> tau_products_pt;
170  std::vector<float> tau_products_eta;
171  std::vector<float> tau_products_phi;
172  std::vector<float> tau_products_energy;
173  std::vector<float> tau_products_mass;
174  std::vector<int> tau_products_id;
175 
176  /* loop over tau daughters */
177  const reco::GenParticleRefVector& daughters = particle.daughterRefVector();
178 
179  for (const auto& daughter : daughters) {
180  reco::GenParticleRefVector finalProds;
181 
182  if (isStableLepton(*daughter)) {
183  if (isElectron(*daughter)) {
184  n_ele++;
185  } else if (isMuon(*daughter)) {
186  n_mu++;
187  }
188  tau_p4vis += (daughter->p4());
189  finalProds.push_back(daughter);
190  }
191 
192  else if (isChargedHadron(*daughter)) {
193  n_pi++;
194  tau_p4vis += (daughter->p4());
195  finalProds.push_back(daughter);
196  }
197 
198  else if (isNeutralPion(*daughter)) {
199  n_piZero++;
200  const reco::GenParticleRefVector& granddaughters = daughter->daughterRefVector();
201  for (const auto& granddaughter : granddaughters) {
202  if (isGamma(*granddaughter)) {
203  n_gamma++;
204  tau_p4vis += (granddaughter->p4());
205  finalProds.push_back(granddaughter);
206  }
207  }
208  }
209 
210  else if (isStableNeutralHadron(*daughter)) {
211  tau_p4vis += (daughter->p4());
212  finalProds.push_back(daughter);
213  }
214 
215  else {
216  const reco::GenParticleRefVector& granddaughters = daughter->daughterRefVector();
217 
218  for (const auto& granddaughter : granddaughters) {
219  if (isStableNeutralHadron(*granddaughter)) {
220  tau_p4vis += (granddaughter->p4());
221  finalProds.push_back(granddaughter);
222  }
223  }
224  }
225 
226  /* Here the selection of the decay product according to the Pythia6 decayTree */
227  if (!isPythia8generator_) {
228  if (isIntermediateResonance(*daughter)) {
229  const reco::GenParticleRefVector& grandaughters = daughter->daughterRefVector();
230  for (const auto& grandaughter : grandaughters) {
231  if (isChargedHadron(*grandaughter) || isChargedHadronFromResonance(*grandaughter)) {
232  n_pi++;
233  tau_p4vis += (grandaughter->p4());
234  finalProds.push_back(daughter);
235  } else if (isNeutralPion(*grandaughter) || isNeutralPionFromResonance(*grandaughter)) {
236  n_piZero++;
237  const reco::GenParticleRefVector& descendants = grandaughter->daughterRefVector();
238  for (const auto& descendant : descendants) {
239  if (isGamma(*descendant)) {
240  n_gamma++;
241  tau_p4vis += (descendant->p4());
242  finalProds.push_back(daughter);
243  }
244  }
245  }
246  }
247  }
248  }
249 
250  /* Fill daughter informations */
251  for (const auto& prod : finalProds) {
252  tau_products_pt.emplace_back(prod->pt());
253  tau_products_eta.emplace_back(prod->eta());
254  tau_products_phi.emplace_back(prod->phi());
255  tau_products_energy.emplace_back(prod->energy());
256  tau_products_mass.emplace_back(prod->mass());
257  tau_products_id.emplace_back(prod->pdgId());
258  }
259  }
260 
261  /* assign the tau-variables */
262  gentau_vis_pt_.emplace_back(tau_p4vis.Pt());
263  gentau_vis_eta_.emplace_back(tau_p4vis.Eta());
264  gentau_vis_phi_.emplace_back(tau_p4vis.Phi());
265  gentau_vis_energy_.emplace_back(tau_p4vis.E());
266  gentau_vis_mass_.emplace_back(tau_p4vis.M());
267  gentau_totNproducts_.emplace_back(n_pi + n_gamma);
268  gentau_totNgamma_.emplace_back(n_gamma);
269  gentau_totNpiZero_.emplace_back(n_piZero);
270  gentau_totNcharged_.emplace_back(n_pi);
271 
272  gentau_products_pt_.emplace_back(tau_products_pt);
273  gentau_products_eta_.emplace_back(tau_products_eta);
274  gentau_products_phi_.emplace_back(tau_products_phi);
275  gentau_products_energy_.emplace_back(tau_products_energy);
276  gentau_products_mass_.emplace_back(tau_products_mass);
277  gentau_products_id_.emplace_back(tau_products_id);
278 
279  /* leptonic tau decays */
280  if (n_pi == 0 && n_piZero == 0 && n_ele == 1) {
281  gentau_decayMode_.emplace_back(11);
282  } else if (n_pi == 0 && n_piZero == 0 && n_mu == 1) {
283  gentau_decayMode_.emplace_back(13);
284  }
285  /* 1-prong */
286  else if (n_pi == 1 && n_piZero == 0) {
287  gentau_decayMode_.emplace_back(0);
288  }
289  /* 1-prong + pi0s */
290  else if (n_pi == 1 && n_piZero >= 1) {
291  gentau_decayMode_.emplace_back(1);
292  }
293  /* 3-prongs */
294  else if (n_pi == 3 && n_piZero == 0) {
295  gentau_decayMode_.emplace_back(4);
296  }
297  /* 3-prongs + pi0s */
298  else if (n_pi == 3 && n_piZero >= 1) {
299  gentau_decayMode_.emplace_back(5);
300  }
301  /* other decays */
302  else {
303  gentau_decayMode_.emplace_back(-1);
304  }
305  }
306  }
307 }

References clear(), BPhysicsValidation_cfi::daughters, MillePedeFileConverter_cfg::e, gen_token_, gentau_decayMode_, gentau_energy_, gentau_eta_, gentau_mass_, gentau_phi_, gentau_products_energy_, gentau_products_eta_, gentau_products_id_, gentau_products_mass_, gentau_products_phi_, gentau_products_pt_, gentau_pt_, gentau_totNcharged_, gentau_totNgamma_, gentau_totNpiZero_, gentau_totNproducts_, gentau_vis_energy_, gentau_vis_eta_, gentau_vis_mass_, gentau_vis_phi_, gentau_vis_pt_, isChargedHadron(), isChargedHadronFromResonance(), isElectron(), isGamma(), isGoodTau(), isIntermediateResonance(), isMuon(), isNeutralPion(), isNeutralPionFromResonance(), isPythia8generator_, isStableLepton(), isStableNeutralHadron(), dumpMFGeometry_cfg::prod, and edm::RefVector< C, T, F >::push_back().

◆ initialize()

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

Implements HGCalTriggerNtupleBase.

Definition at line 63 of file HGCalTriggerNtupleGenTau.cc.

65  {
66  gen_token_ = collector.consumes<reco::GenParticleCollection>(conf.getParameter<edm::InputTag>("GenParticles"));
67  isPythia8generator_ = conf.getParameter<bool>("isPythia8");
68 
69  tree.Branch("gentau_pt", &gentau_pt_);
70  tree.Branch("gentau_eta", &gentau_eta_);
71  tree.Branch("gentau_phi", &gentau_phi_);
72  tree.Branch("gentau_energy", &gentau_energy_);
73  tree.Branch("gentau_mass", &gentau_mass_);
74  tree.Branch("gentau_vis_pt", &gentau_vis_pt_);
75  tree.Branch("gentau_vis_eta", &gentau_vis_eta_);
76  tree.Branch("gentau_vis_phi", &gentau_vis_phi_);
77  tree.Branch("gentau_vis_energy", &gentau_vis_energy_);
78  tree.Branch("gentau_vis_mass", &gentau_vis_mass_);
79  tree.Branch("gentau_products_pt", &gentau_products_pt_);
80  tree.Branch("gentau_products_eta", &gentau_products_eta_);
81  tree.Branch("gentau_products_phi", &gentau_products_phi_);
82  tree.Branch("gentau_products_energy", &gentau_products_energy_);
83  tree.Branch("gentau_products_mass", &gentau_products_mass_);
84  tree.Branch("gentau_products_id", &gentau_products_id_);
85  tree.Branch("gentau_decayMode", &gentau_decayMode_);
86  tree.Branch("gentau_totNproducts", &gentau_totNproducts_);
87  tree.Branch("gentau_totNgamma", &gentau_totNgamma_);
88  tree.Branch("gentau_totNpiZero", &gentau_totNpiZero_);
89  tree.Branch("gentau_totNcharged", &gentau_totNcharged_);
90 }

References gen_token_, gentau_decayMode_, gentau_energy_, gentau_eta_, gentau_mass_, gentau_phi_, gentau_products_energy_, gentau_products_eta_, gentau_products_id_, gentau_products_mass_, gentau_products_phi_, gentau_products_pt_, gentau_pt_, gentau_totNcharged_, gentau_totNgamma_, gentau_totNpiZero_, gentau_totNproducts_, gentau_vis_energy_, gentau_vis_eta_, gentau_vis_mass_, gentau_vis_phi_, gentau_vis_pt_, edm::ParameterSet::getParameter(), and isPythia8generator_.

◆ isChargedHadron()

bool HGCalTriggerNtupleGenTau::isChargedHadron ( const reco::GenParticle daughter) const
private

Definition at line 96 of file HGCalTriggerNtupleGenTau.cc.

96  {
97  return ((std::abs(candidate.pdgId()) == 211 || std::abs(candidate.pdgId()) == 321) && candidate.status() == 1 &&
98  candidate.isDirectPromptTauDecayProductFinalState() && candidate.isLastCopy());
99 }

References funct::abs(), reco::GenParticle::isDirectPromptTauDecayProductFinalState(), reco::GenParticle::isLastCopy(), reco::LeafCandidate::pdgId(), and reco::LeafCandidate::status().

Referenced by fill(), and isStableNeutralHadron().

◆ isChargedHadronFromResonance()

bool HGCalTriggerNtupleGenTau::isChargedHadronFromResonance ( const reco::GenParticle daughter) const
private

Definition at line 101 of file HGCalTriggerNtupleGenTau.cc.

101  {
102  return ((std::abs(candidate.pdgId()) == 211 || std::abs(candidate.pdgId()) == 321) && candidate.status() == 1 &&
103  candidate.isLastCopy());
104 }

References funct::abs(), reco::GenParticle::isLastCopy(), reco::LeafCandidate::pdgId(), and reco::LeafCandidate::status().

Referenced by fill().

◆ isElectron()

bool HGCalTriggerNtupleGenTau::isElectron ( const reco::GenParticle daughter) const
private

Definition at line 111 of file HGCalTriggerNtupleGenTau.cc.

111  {
112  return (std::abs(candidate.pdgId()) == 11 && candidate.isDirectPromptTauDecayProductFinalState() &&
113  candidate.isLastCopy());
114 }

References funct::abs(), reco::GenParticle::isDirectPromptTauDecayProductFinalState(), reco::GenParticle::isLastCopy(), and reco::LeafCandidate::pdgId().

Referenced by fill().

◆ isGamma()

bool HGCalTriggerNtupleGenTau::isGamma ( const reco::GenParticle daughter) const
private

Definition at line 130 of file HGCalTriggerNtupleGenTau.cc.

130  {
131  return (std::abs(candidate.pdgId()) == 22 && candidate.status() == 1 && candidate.statusFlags().isTauDecayProduct() &&
132  !candidate.isDirectPromptTauDecayProductFinalState() && candidate.isLastCopy());
133 }

References funct::abs(), reco::GenParticle::isDirectPromptTauDecayProductFinalState(), reco::GenParticle::isLastCopy(), reco::GenStatusFlags::isTauDecayProduct(), reco::LeafCandidate::pdgId(), reco::LeafCandidate::status(), and reco::GenParticle::statusFlags().

Referenced by fill().

◆ isGoodTau()

bool HGCalTriggerNtupleGenTau::isGoodTau ( const reco::GenParticle candidate) const
private

Definition at line 92 of file HGCalTriggerNtupleGenTau.cc.

92  {
93  return (std::abs(candidate.pdgId()) == 15 && candidate.status() == 2);
94 }

References funct::abs(), reco::LeafCandidate::pdgId(), and reco::LeafCandidate::status().

Referenced by fill().

◆ isIntermediateResonance()

bool HGCalTriggerNtupleGenTau::isIntermediateResonance ( const reco::GenParticle daughter) const
private

Definition at line 135 of file HGCalTriggerNtupleGenTau.cc.

135  {
136  return ((std::abs(candidate.pdgId()) == 213 || std::abs(candidate.pdgId()) == 20213 ||
137  std::abs(candidate.pdgId()) == 24) &&
138  candidate.status() == 2);
139 }

References funct::abs(), reco::LeafCandidate::pdgId(), and reco::LeafCandidate::status().

Referenced by fill().

◆ isMuon()

bool HGCalTriggerNtupleGenTau::isMuon ( const reco::GenParticle daughter) const
private

Definition at line 116 of file HGCalTriggerNtupleGenTau.cc.

116  {
117  return (std::abs(candidate.pdgId()) == 13 && candidate.isDirectPromptTauDecayProductFinalState() &&
118  candidate.isLastCopy());
119 }

References funct::abs(), reco::GenParticle::isDirectPromptTauDecayProductFinalState(), reco::GenParticle::isLastCopy(), and reco::LeafCandidate::pdgId().

Referenced by fill().

◆ isNeutralPion()

bool HGCalTriggerNtupleGenTau::isNeutralPion ( const reco::GenParticle daughter) const
private

Definition at line 121 of file HGCalTriggerNtupleGenTau.cc.

121  {
122  return (std::abs(candidate.pdgId()) == 111 && candidate.status() == 2 &&
123  candidate.statusFlags().isTauDecayProduct() && !candidate.isDirectPromptTauDecayProductFinalState());
124 }

References funct::abs(), reco::GenParticle::isDirectPromptTauDecayProductFinalState(), reco::GenStatusFlags::isTauDecayProduct(), reco::LeafCandidate::pdgId(), reco::LeafCandidate::status(), and reco::GenParticle::statusFlags().

Referenced by fill().

◆ isNeutralPionFromResonance()

bool HGCalTriggerNtupleGenTau::isNeutralPionFromResonance ( const reco::GenParticle daughter) const
private

Definition at line 126 of file HGCalTriggerNtupleGenTau.cc.

126  {
127  return (std::abs(candidate.pdgId()) == 111 && candidate.status() == 2 && candidate.statusFlags().isTauDecayProduct());
128 }

References funct::abs(), reco::GenStatusFlags::isTauDecayProduct(), reco::LeafCandidate::pdgId(), reco::LeafCandidate::status(), and reco::GenParticle::statusFlags().

Referenced by fill().

◆ isStableLepton()

bool HGCalTriggerNtupleGenTau::isStableLepton ( const reco::GenParticle daughter) const
private

Definition at line 106 of file HGCalTriggerNtupleGenTau.cc.

106  {
107  return ((std::abs(candidate.pdgId()) == 11 || std::abs(candidate.pdgId()) == 13) && candidate.status() == 1 &&
108  candidate.isDirectPromptTauDecayProductFinalState() && candidate.isLastCopy());
109 }

References funct::abs(), reco::GenParticle::isDirectPromptTauDecayProductFinalState(), reco::GenParticle::isLastCopy(), reco::LeafCandidate::pdgId(), and reco::LeafCandidate::status().

Referenced by fill().

◆ isStableNeutralHadron()

bool HGCalTriggerNtupleGenTau::isStableNeutralHadron ( const reco::GenParticle daughter) const
private

Definition at line 141 of file HGCalTriggerNtupleGenTau.cc.

141  {
142  return (!(std::abs(candidate.pdgId()) > 10 && std::abs(candidate.pdgId()) < 17) && !isChargedHadron(candidate) &&
143  candidate.status() == 1);
144 }

References funct::abs(), isChargedHadron(), reco::LeafCandidate::pdgId(), and reco::LeafCandidate::status().

Referenced by fill().

Member Data Documentation

◆ gen_token_

edm::EDGetToken HGCalTriggerNtupleGenTau::gen_token_
private

Definition at line 31 of file HGCalTriggerNtupleGenTau.cc.

Referenced by fill(), and initialize().

◆ gentau_decayMode_

std::vector<int> HGCalTriggerNtupleGenTau::gentau_decayMode_
private

Definition at line 45 of file HGCalTriggerNtupleGenTau.cc.

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

◆ gentau_energy_

std::vector<float> HGCalTriggerNtupleGenTau::gentau_energy_
private

Definition at line 37 of file HGCalTriggerNtupleGenTau.cc.

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

◆ gentau_eta_

std::vector<float> HGCalTriggerNtupleGenTau::gentau_eta_
private

Definition at line 35 of file HGCalTriggerNtupleGenTau.cc.

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

◆ gentau_mass_

std::vector<float> HGCalTriggerNtupleGenTau::gentau_mass_
private

Definition at line 38 of file HGCalTriggerNtupleGenTau.cc.

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

◆ gentau_phi_

std::vector<float> HGCalTriggerNtupleGenTau::gentau_phi_
private

Definition at line 36 of file HGCalTriggerNtupleGenTau.cc.

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

◆ gentau_products_energy_

std::vector<std::vector<float> > HGCalTriggerNtupleGenTau::gentau_products_energy_
private

Definition at line 54 of file HGCalTriggerNtupleGenTau.cc.

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

◆ gentau_products_eta_

std::vector<std::vector<float> > HGCalTriggerNtupleGenTau::gentau_products_eta_
private

Definition at line 52 of file HGCalTriggerNtupleGenTau.cc.

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

◆ gentau_products_id_

std::vector<std::vector<int> > HGCalTriggerNtupleGenTau::gentau_products_id_
private

Definition at line 56 of file HGCalTriggerNtupleGenTau.cc.

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

◆ gentau_products_mass_

std::vector<std::vector<float> > HGCalTriggerNtupleGenTau::gentau_products_mass_
private

Definition at line 55 of file HGCalTriggerNtupleGenTau.cc.

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

◆ gentau_products_phi_

std::vector<std::vector<float> > HGCalTriggerNtupleGenTau::gentau_products_phi_
private

Definition at line 53 of file HGCalTriggerNtupleGenTau.cc.

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

◆ gentau_products_pt_

std::vector<std::vector<float> > HGCalTriggerNtupleGenTau::gentau_products_pt_
private

Definition at line 51 of file HGCalTriggerNtupleGenTau.cc.

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

◆ gentau_pt_

std::vector<float> HGCalTriggerNtupleGenTau::gentau_pt_
private

Definition at line 34 of file HGCalTriggerNtupleGenTau.cc.

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

◆ gentau_totNcharged_

std::vector<int> HGCalTriggerNtupleGenTau::gentau_totNcharged_
private

Definition at line 49 of file HGCalTriggerNtupleGenTau.cc.

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

◆ gentau_totNgamma_

std::vector<int> HGCalTriggerNtupleGenTau::gentau_totNgamma_
private

Definition at line 47 of file HGCalTriggerNtupleGenTau.cc.

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

◆ gentau_totNpiZero_

std::vector<int> HGCalTriggerNtupleGenTau::gentau_totNpiZero_
private

Definition at line 48 of file HGCalTriggerNtupleGenTau.cc.

Referenced by fill(), and initialize().

◆ gentau_totNproducts_

std::vector<int> HGCalTriggerNtupleGenTau::gentau_totNproducts_
private

Definition at line 46 of file HGCalTriggerNtupleGenTau.cc.

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

◆ gentau_vis_energy_

std::vector<float> HGCalTriggerNtupleGenTau::gentau_vis_energy_
private

Definition at line 43 of file HGCalTriggerNtupleGenTau.cc.

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

◆ gentau_vis_eta_

std::vector<float> HGCalTriggerNtupleGenTau::gentau_vis_eta_
private

Definition at line 41 of file HGCalTriggerNtupleGenTau.cc.

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

◆ gentau_vis_mass_

std::vector<float> HGCalTriggerNtupleGenTau::gentau_vis_mass_
private

Definition at line 44 of file HGCalTriggerNtupleGenTau.cc.

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

◆ gentau_vis_phi_

std::vector<float> HGCalTriggerNtupleGenTau::gentau_vis_phi_
private

Definition at line 42 of file HGCalTriggerNtupleGenTau.cc.

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

◆ gentau_vis_pt_

std::vector<float> HGCalTriggerNtupleGenTau::gentau_vis_pt_
private

Definition at line 40 of file HGCalTriggerNtupleGenTau.cc.

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

◆ isPythia8generator_

bool HGCalTriggerNtupleGenTau::isPythia8generator_
private

Definition at line 32 of file HGCalTriggerNtupleGenTau.cc.

Referenced by fill(), and initialize().

HGCalTriggerNtupleGenTau::gentau_totNcharged_
std::vector< int > gentau_totNcharged_
Definition: HGCalTriggerNtupleGenTau.cc:49
HGCalTriggerNtupleGenTau::gentau_products_phi_
std::vector< std::vector< float > > gentau_products_phi_
Definition: HGCalTriggerNtupleGenTau.cc:53
reco::LeafCandidate::status
int status() const final
status word
Definition: LeafCandidate.h:180
HGCalTriggerNtupleGenTau::isStableNeutralHadron
bool isStableNeutralHadron(const reco::GenParticle &daughter) const
Definition: HGCalTriggerNtupleGenTau.cc:141
tree
Definition: tree.py:1
reco::GenParticleCollection
std::vector< GenParticle > GenParticleCollection
collection of GenParticles
Definition: GenParticleFwd.h:13
HGCalTriggerNtupleGenTau::gentau_vis_mass_
std::vector< float > gentau_vis_mass_
Definition: HGCalTriggerNtupleGenTau.cc:44
HGCalTriggerNtupleGenTau::gentau_totNproducts_
std::vector< int > gentau_totNproducts_
Definition: HGCalTriggerNtupleGenTau.cc:46
HGCalTriggerNtupleGenTau::isIntermediateResonance
bool isIntermediateResonance(const reco::GenParticle &daughter) const
Definition: HGCalTriggerNtupleGenTau.cc:135
HGCalTriggerNtupleGenTau::gentau_pt_
std::vector< float > gentau_pt_
Definition: HGCalTriggerNtupleGenTau.cc:34
HGCalTriggerNtupleGenTau::isChargedHadronFromResonance
bool isChargedHadronFromResonance(const reco::GenParticle &daughter) const
Definition: HGCalTriggerNtupleGenTau.cc:101
HGCalTriggerNtupleGenTau::gentau_vis_eta_
std::vector< float > gentau_vis_eta_
Definition: HGCalTriggerNtupleGenTau.cc:41
edm::RefVector< GenParticleCollection >
edm::Handle< reco::GenParticleCollection >
HGCalTriggerNtupleGenTau::gentau_vis_pt_
std::vector< float > gentau_vis_pt_
Definition: HGCalTriggerNtupleGenTau.cc:40
HGCalTriggerNtupleGenTau::gentau_products_mass_
std::vector< std::vector< float > > gentau_products_mass_
Definition: HGCalTriggerNtupleGenTau.cc:55
HGCalTriggerNtupleGenTau::gentau_totNgamma_
std::vector< int > gentau_totNgamma_
Definition: HGCalTriggerNtupleGenTau.cc:47
HGCalTriggerNtupleGenTau::isGoodTau
bool isGoodTau(const reco::GenParticle &candidate) const
Definition: HGCalTriggerNtupleGenTau.cc:92
HGCalTriggerNtupleGenTau::gentau_totNpiZero_
std::vector< int > gentau_totNpiZero_
Definition: HGCalTriggerNtupleGenTau.cc:48
HGCalTriggerNtupleGenTau::gentau_decayMode_
std::vector< int > gentau_decayMode_
Definition: HGCalTriggerNtupleGenTau.cc:45
HGCalTriggerNtupleBase::HGCalTriggerNtupleBase
HGCalTriggerNtupleBase(const edm::ParameterSet &conf)
Definition: HGCalTriggerNtupleBase.h:12
HGCalTriggerNtupleGenTau::isNeutralPionFromResonance
bool isNeutralPionFromResonance(const reco::GenParticle &daughter) const
Definition: HGCalTriggerNtupleGenTau.cc:126
HGCalTriggerNtupleGenTau::gentau_energy_
std::vector< float > gentau_energy_
Definition: HGCalTriggerNtupleGenTau.cc:37
BPhysicsValidation_cfi.daughters
daughters
Definition: BPhysicsValidation_cfi.py:11
dumpMFGeometry_cfg.prod
prod
Definition: dumpMFGeometry_cfg.py:24
HGCalTriggerNtupleGenTau::gentau_mass_
std::vector< float > gentau_mass_
Definition: HGCalTriggerNtupleGenTau.cc:38
edm::ConsumesCollector::consumes
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
Definition: ConsumesCollector.h:49
HGCalTriggerNtupleGenTau::isGamma
bool isGamma(const reco::GenParticle &daughter) const
Definition: HGCalTriggerNtupleGenTau.cc:130
HGCalTriggerNtupleGenTau::gentau_products_id_
std::vector< std::vector< int > > gentau_products_id_
Definition: HGCalTriggerNtupleGenTau.cc:56
HGCalTriggerNtupleGenTau::isElectron
bool isElectron(const reco::GenParticle &daughter) const
Definition: HGCalTriggerNtupleGenTau.cc:111
HGCalTriggerNtupleGenTau::gentau_phi_
std::vector< float > gentau_phi_
Definition: HGCalTriggerNtupleGenTau.cc:36
HGCalTriggerNtupleGenTau::isNeutralPion
bool isNeutralPion(const reco::GenParticle &daughter) const
Definition: HGCalTriggerNtupleGenTau.cc:121
HGCalTriggerNtupleGenTau::isMuon
bool isMuon(const reco::GenParticle &daughter) const
Definition: HGCalTriggerNtupleGenTau.cc:116
reco::LeafCandidate::pdgId
int pdgId() const final
PDG identifier.
Definition: LeafCandidate.h:176
HGCalTriggerNtupleGenTau::isChargedHadron
bool isChargedHadron(const reco::GenParticle &daughter) const
Definition: HGCalTriggerNtupleGenTau.cc:96
edm::RefVector::push_back
void push_back(value_type const &ref)
Add a Ref<C, T> to the RefVector.
Definition: RefVector.h:67
HGCalTriggerNtupleGenTau::isStableLepton
bool isStableLepton(const reco::GenParticle &daughter) const
Definition: HGCalTriggerNtupleGenTau.cc:106
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
HGCalTriggerNtupleGenTau::gen_token_
edm::EDGetToken gen_token_
Definition: HGCalTriggerNtupleGenTau.cc:31
HGCalTriggerNtupleGenTau::gentau_vis_phi_
std::vector< float > gentau_vis_phi_
Definition: HGCalTriggerNtupleGenTau.cc:42
HGCalTriggerNtupleGenTau::gentau_vis_energy_
std::vector< float > gentau_vis_energy_
Definition: HGCalTriggerNtupleGenTau.cc:43
HGCalTriggerNtupleGenTau::gentau_eta_
std::vector< float > gentau_eta_
Definition: HGCalTriggerNtupleGenTau.cc:35
LorentzVector
math::XYZTLorentzVector LorentzVector
Definition: HLTMuonMatchAndPlot.h:49
HGCalTriggerNtupleGenTau::gentau_products_energy_
std::vector< std::vector< float > > gentau_products_energy_
Definition: HGCalTriggerNtupleGenTau.cc:54
HGCalTriggerNtupleGenTau::gentau_products_pt_
std::vector< std::vector< float > > gentau_products_pt_
Definition: HGCalTriggerNtupleGenTau.cc:51
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
HGCalTriggerNtupleGenTau::isPythia8generator_
bool isPythia8generator_
Definition: HGCalTriggerNtupleGenTau.cc:32
HGCalTriggerNtupleGenTau::gentau_products_eta_
std::vector< std::vector< float > > gentau_products_eta_
Definition: HGCalTriggerNtupleGenTau.cc:52
edm::InputTag
Definition: InputTag.h:15
HGCalTriggerNtupleGenTau::clear
void clear() final
Definition: HGCalTriggerNtupleGenTau.cc:309
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37