FCCAnalyses
Loading...
Searching...
No Matches
MCParticle.h File Reference
#include <cmath>
#include <vector>
#include "TLorentzVector.h"
#include "ROOT/RVec.hxx"
#include "edm4hep/MCParticleData.h"
#include "edm4hep/ParticleIDData.h"
#include "edm4hep/Vector3f.h"
#include "edm4hep/Vector3d.h"
#include "edm4hep/Vector2i.h"
Include dependency graph for MCParticle.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  FCCAnalyses::MCParticle::filter_pdgID
 Filter events based on a MCParticles PDGID. More...
 
struct  FCCAnalyses::MCParticle::sel_pt
 select MCParticles with transverse momentum greater than a minimum value [GeV] More...
 
struct  FCCAnalyses::MCParticle::sel_genStatus
 select MCParticles with their status More...
 
struct  FCCAnalyses::MCParticle::sel_pdgID
 select MCParticles with their PDG id More...
 
struct  FCCAnalyses::MCParticle::get_tree
 get MC history tree for a given MCParticle index More...
 
struct  FCCAnalyses::MCParticle::get_decay
 get the decay of a given particle More...
 
struct  FCCAnalyses::MCParticle::get_EventPrimaryVertex
 return the event primary vertex (mm) More...
 
struct  FCCAnalyses::MCParticle::get_EventPrimaryVertexP4
 return the event primary vertex position and time (mm) More...
 
struct  FCCAnalyses::MCParticle::get_indices
 return a list of indices that correspond to a given MC decay. The list contains the index of the mother, followed by the indices of the daughters, in the order specified. If m_inclusiveDecay is true, the list of daughters is the minimum required for the mother's decay (otherwise, the list is the exact daughters required for the mother's decay). In case there are several such decays in the event, keep only the first one. More...
 
struct  FCCAnalyses::MCParticle::get_indices_ExclusiveDecay
 A shorthand for get_indices, with m_chargeConjugateDaughters=false, inclusiveDecay=false. More...
 

Namespaces

namespace  FCCAnalyses
 FCC analyzers collection.
 
namespace  FCCAnalyses::MCParticle
 Analyzers operating on/with Monte Carlo particles.
 

Functions

ROOT::VecOps::RVec< int > FCCAnalyses::MCParticle::get_indices_MotherByIndex (int imother, std::vector< int > m_pdg_daughters, bool m_stableDaughters, bool m_chargeConjugateDaughters, bool m_inclusiveDecay, ROOT::VecOps::RVec< edm4hep::MCParticleData > in, ROOT::VecOps::RVec< int > ind)
 return a list of indices that correspond to a given MC decay
 
ROOT::VecOps::RVec< int > FCCAnalyses::MCParticle::get_indices_ExclusiveDecay_MotherByIndex (int imother, std::vector< int > m_pdg_daughters, bool m_stableDaughters, ROOT::VecOps::RVec< edm4hep::MCParticleData > in, ROOT::VecOps::RVec< int > ind)
 a shorthand for get_indices_MotherByIndex with m_chargeConjugateDaughters=false, m_inclusiveDecay =false
 
ROOT::VecOps::RVec< int > FCCAnalyses::MCParticle::get_parentid (ROOT::VecOps::RVec< int > mcind, ROOT::VecOps::RVec< edm4hep::MCParticleData > mc, ROOT::VecOps::RVec< int > parents)
 return the parent index of a given list of MC particles
 
ROOT::VecOps::RVec< float > FCCAnalyses::MCParticle::get_time (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the time of the input MCParticles
 
ROOT::VecOps::RVec< float > FCCAnalyses::MCParticle::get_pdg (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the PDG of the input MCParticles
 
ROOT::VecOps::RVec< float > FCCAnalyses::MCParticle::get_genStatus (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the generator status of the input MCParticles
 
ROOT::VecOps::RVec< float > FCCAnalyses::MCParticle::get_simStatus (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the simulation status of the input MCParticles
 
ROOT::VecOps::RVec< edm4hep::Vector3d > FCCAnalyses::MCParticle::get_vertex (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the production vertex of the input MCParticles
 
ROOT::VecOps::RVec< float > FCCAnalyses::MCParticle::get_vertex_x (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the production vertex x of the input MCParticles
 
ROOT::VecOps::RVec< float > FCCAnalyses::MCParticle::get_vertex_y (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the production vertex y of the input MCParticles
 
ROOT::VecOps::RVec< float > FCCAnalyses::MCParticle::get_vertex_z (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the production vertex z of the input MCParticles
 
ROOT::VecOps::RVec< edm4hep::Vector3d > FCCAnalyses::MCParticle::get_endPoint (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the end point of the input MCParticles
 
ROOT::VecOps::RVec< edm4hep::Vector3d > FCCAnalyses::MCParticle::get_endPoint (ROOT::VecOps::RVec< edm4hep::MCParticleData > in, ROOT::VecOps::RVec< int > ind)
 return the end point of the input MCParticles (not using the "endpoint" that is currently not filled)
 
ROOT::VecOps::RVec< float > FCCAnalyses::MCParticle::get_endPoint_x (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the end point x of the input MCParticles
 
ROOT::VecOps::RVec< float > FCCAnalyses::MCParticle::get_endPoint_y (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the end point y of the input MCParticles
 
ROOT::VecOps::RVec< float > FCCAnalyses::MCParticle::get_endPoint_z (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the z of the input MCParticles
 
ROOT::VecOps::RVec< float > FCCAnalyses::MCParticle::get_pt (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the transverse momenta of the input MCParticles
 
ROOT::VecOps::RVec< float > FCCAnalyses::MCParticle::get_p (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the momenta of the input MCParticles
 
ROOT::VecOps::RVec< float > FCCAnalyses::MCParticle::get_px (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the momenta of the input MCParticles
 
ROOT::VecOps::RVec< float > FCCAnalyses::MCParticle::get_py (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the momenta of the input MCParticles
 
ROOT::VecOps::RVec< float > FCCAnalyses::MCParticle::get_pz (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the momenta of the input MCParticles
 
ROOT::VecOps::RVec< float > FCCAnalyses::MCParticle::get_eta (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the pseudo-rapidity of the input MCParticles
 
ROOT::VecOps::RVec< float > FCCAnalyses::MCParticle::get_y (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the rapidity of the input MCParticles
 
ROOT::VecOps::RVec< float > FCCAnalyses::MCParticle::get_theta (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the theta of the input MCParticles
 
ROOT::VecOps::RVec< float > FCCAnalyses::MCParticle::get_phi (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the phi of the input MCParticles
 
ROOT::VecOps::RVec< float > FCCAnalyses::MCParticle::get_e (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the energy of the input MCParticles
 
ROOT::VecOps::RVec< float > FCCAnalyses::MCParticle::get_mass (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the masses of the input MCParticles
 
ROOT::VecOps::RVec< float > FCCAnalyses::MCParticle::get_charge (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the charges of the input MCParticles
 
ROOT::VecOps::RVec< TLorentzVector > FCCAnalyses::MCParticle::get_tlv (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the TlorentzVector of the input MCParticles
 
ROOT::VecOps::RVec< edm4hep::MCParticleData > FCCAnalyses::MCParticle::mergeParticles (ROOT::VecOps::RVec< edm4hep::MCParticleData > x, ROOT::VecOps::RVec< edm4hep::MCParticleData > y)
 concatenate both input vectors and return the resulting vector
 
int FCCAnalyses::MCParticle::get_n (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the size of the input collection
 
ROOT::VecOps::RVec< float > FCCAnalyses::MCParticle::AngleBetweenTwoMCParticles (ROOT::VecOps::RVec< edm4hep::MCParticleData > p1, ROOT::VecOps::RVec< edm4hep::MCParticleData > p2)
 return the angle (3D) between two MCParticles :
 
std::vector< int > FCCAnalyses::MCParticle::get_list_of_stable_particles_from_decay (int i, ROOT::VecOps::RVec< edm4hep::MCParticleData > in, ROOT::VecOps::RVec< int > ind)
 return the list of stable particles from the decay of a mother particle, looking at the full decay chain recursively. i is the mother index in the Particle block
 
std::vector< int > FCCAnalyses::MCParticle::get_list_of_particles_from_decay (int i, ROOT::VecOps::RVec< edm4hep::MCParticleData > in, ROOT::VecOps::RVec< int > ind)
 return the list of particles from the decay of a mother particle. i is the mother index in the Particle block.
 
edm4hep::MCParticleData FCCAnalyses::MCParticle::sel_byIndex (int idx, ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 returns one MCParticle selected by its index in the particle block
 
std::vector< int > FCCAnalyses::MCParticle::list_of_stable_particles_from_decay (int i, ROOT::VecOps::RVec< edm4hep::MCParticleData > in, ROOT::VecOps::RVec< int > ind)
 obsolete: should use get_list_of_stable_particles_from_decay instead
 
std::vector< int > FCCAnalyses::MCParticle::list_of_particles_from_decay (int i, ROOT::VecOps::RVec< edm4hep::MCParticleData > in, ROOT::VecOps::RVec< int > ind)
 obsolete: should use get_list_of_particles_from_decay instead
 
int FCCAnalyses::MCParticle::get_lepton_origin (int idx, const ROOT::VecOps::RVec< edm4hep::MCParticleData > &in, const ROOT::VecOps::RVec< int > &ind)
 return the pdg ID of the parent of a lepton (pre-FSR)
 
int FCCAnalyses::MCParticle::get_lepton_origin (const edm4hep::MCParticleData &p, const ROOT::VecOps::RVec< edm4hep::MCParticleData > &in, const ROOT::VecOps::RVec< int > &ind)
 
ROOT::VecOps::RVec< int > FCCAnalyses::MCParticle::get_leptons_origin (const ROOT::VecOps::RVec< edm4hep::MCParticleData > &particles, const ROOT::VecOps::RVec< edm4hep::MCParticleData > &in, const ROOT::VecOps::RVec< int > &ind)