FCCAnalyses
Loading...
Searching...
No Matches
Classes | Functions
FCCAnalyses::MCParticle Namespace Reference

Analyzers operating on/with Monte Carlo particles. More...

Classes

struct  filter_pdgID
 Filter events based on a MCParticles PDGID. More...
 
struct  get_decay
 get the decay of a given particle More...
 
struct  get_EventPrimaryVertex
 return the event primary vertex (mm) More...
 
struct  get_EventPrimaryVertexP4
 return the event primary vertex position and time (mm) More...
 
struct  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  get_indices_ExclusiveDecay
 A shorthand for get_indices, with m_chargeConjugateDaughters=false, inclusiveDecay=false. More...
 
struct  get_tree
 get MC history tree for a given MCParticle index More...
 
struct  sel_genStatus
 select MCParticles with their status More...
 
struct  sel_pdgID
 select MCParticles with their PDG id More...
 
struct  sel_pt
 select MCParticles with transverse momentum greater than a minimum value [GeV] More...
 

Functions

ROOT::VecOps::RVec< int > 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 > 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 > 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 > get_time (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the time of the input MCParticles
 
ROOT::VecOps::RVec< float > get_pdg (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the PDG of the input MCParticles
 
ROOT::VecOps::RVec< float > get_genStatus (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the generator status of the input MCParticles
 
ROOT::VecOps::RVec< float > get_simStatus (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the simulation status of the input MCParticles
 
ROOT::VecOps::RVec< edm4hep::Vector3d > get_vertex (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the production vertex of the input MCParticles
 
ROOT::VecOps::RVec< float > get_vertex_x (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the production vertex x of the input MCParticles
 
ROOT::VecOps::RVec< float > get_vertex_y (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the production vertex y of the input MCParticles
 
ROOT::VecOps::RVec< float > get_vertex_z (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the production vertex z of the input MCParticles
 
ROOT::VecOps::RVec< edm4hep::Vector3d > get_endPoint (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the end point of the input MCParticles
 
ROOT::VecOps::RVec< edm4hep::Vector3d > 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 > get_endPoint_x (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the end point x of the input MCParticles
 
ROOT::VecOps::RVec< float > get_endPoint_y (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the end point y of the input MCParticles
 
ROOT::VecOps::RVec< float > get_endPoint_z (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the z of the input MCParticles
 
ROOT::VecOps::RVec< float > get_pt (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the transverse momenta of the input MCParticles
 
ROOT::VecOps::RVec< float > get_p (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the momenta of the input MCParticles
 
ROOT::VecOps::RVec< float > get_px (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the momenta of the input MCParticles
 
ROOT::VecOps::RVec< float > get_py (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the momenta of the input MCParticles
 
ROOT::VecOps::RVec< float > get_pz (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the momenta of the input MCParticles
 
ROOT::VecOps::RVec< float > get_eta (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the pseudo-rapidity of the input MCParticles
 
ROOT::VecOps::RVec< float > get_y (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the rapidity of the input MCParticles
 
ROOT::VecOps::RVec< float > get_theta (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the theta of the input MCParticles
 
ROOT::VecOps::RVec< float > get_phi (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the phi of the input MCParticles
 
ROOT::VecOps::RVec< float > get_e (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the energy of the input MCParticles
 
ROOT::VecOps::RVec< float > get_mass (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the masses of the input MCParticles
 
ROOT::VecOps::RVec< float > get_charge (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the charges of the input MCParticles
 
ROOT::VecOps::RVec< TLorentzVector > get_tlv (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the TlorentzVector of the input MCParticles
 
ROOT::VecOps::RVec< edm4hep::MCParticleData > mergeParticles (ROOT::VecOps::RVec< edm4hep::MCParticleData > x, ROOT::VecOps::RVec< edm4hep::MCParticleData > y)
 concatenate both input vectors and return the resulting vector
 
int get_n (ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 return the size of the input collection
 
ROOT::VecOps::RVec< float > AngleBetweenTwoMCParticles (ROOT::VecOps::RVec< edm4hep::MCParticleData > p1, ROOT::VecOps::RVec< edm4hep::MCParticleData > p2)
 return the angle (3D) between two MCParticles :
 
std::vector< int > 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 > 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 sel_byIndex (int idx, ROOT::VecOps::RVec< edm4hep::MCParticleData > in)
 returns one MCParticle selected by its index in the particle block
 
std::vector< int > 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 > 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 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 get_lepton_origin (const edm4hep::MCParticleData &p, const ROOT::VecOps::RVec< edm4hep::MCParticleData > &in, const ROOT::VecOps::RVec< int > &ind)
 
ROOT::VecOps::RVec< int > get_leptons_origin (const ROOT::VecOps::RVec< edm4hep::MCParticleData > &particles, const ROOT::VecOps::RVec< edm4hep::MCParticleData > &in, const ROOT::VecOps::RVec< int > &ind)
 

Detailed Description

Analyzers operating on/with Monte Carlo particles.

This represents a set functions and utilities to access and perform operations on the MCParticle collection.

Function Documentation

◆ AngleBetweenTwoMCParticles()

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 :

◆ get_charge()

ROOT::VecOps::RVec< float > FCCAnalyses::MCParticle::get_charge ( ROOT::VecOps::RVec< edm4hep::MCParticleData >  in)

return the charges of the input MCParticles

◆ get_e()

ROOT::VecOps::RVec< float > FCCAnalyses::MCParticle::get_e ( ROOT::VecOps::RVec< edm4hep::MCParticleData >  in)

return the energy of the input MCParticles

◆ get_endPoint() [1/2]

ROOT::VecOps::RVec< edm4hep::Vector3d > FCCAnalyses::MCParticle::get_endPoint ( ROOT::VecOps::RVec< edm4hep::MCParticleData >  in)

return the end point of the input MCParticles

◆ get_endPoint() [2/2]

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)

◆ get_endPoint_x()

ROOT::VecOps::RVec< float > FCCAnalyses::MCParticle::get_endPoint_x ( ROOT::VecOps::RVec< edm4hep::MCParticleData >  in)

return the end point x of the input MCParticles

◆ get_endPoint_y()

ROOT::VecOps::RVec< float > FCCAnalyses::MCParticle::get_endPoint_y ( ROOT::VecOps::RVec< edm4hep::MCParticleData >  in)

return the end point y of the input MCParticles

◆ get_endPoint_z()

ROOT::VecOps::RVec< float > FCCAnalyses::MCParticle::get_endPoint_z ( ROOT::VecOps::RVec< edm4hep::MCParticleData >  in)

return the z of the input MCParticles

◆ get_eta()

ROOT::VecOps::RVec< float > FCCAnalyses::MCParticle::get_eta ( ROOT::VecOps::RVec< edm4hep::MCParticleData >  in)

return the pseudo-rapidity of the input MCParticles

◆ get_genStatus()

ROOT::VecOps::RVec< float > FCCAnalyses::MCParticle::get_genStatus ( ROOT::VecOps::RVec< edm4hep::MCParticleData >  in)

return the generator status of the input MCParticles

◆ get_indices_ExclusiveDecay_MotherByIndex()

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

◆ get_indices_MotherByIndex()

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

◆ get_lepton_origin() [1/2]

int FCCAnalyses::MCParticle::get_lepton_origin ( const edm4hep::MCParticleData &  p,
const ROOT::VecOps::RVec< edm4hep::MCParticleData > &  in,
const ROOT::VecOps::RVec< int > &  ind 
)

◆ get_lepton_origin() [2/2]

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)

◆ get_leptons_origin()

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 
)

◆ get_list_of_particles_from_decay()

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.

◆ get_list_of_stable_particles_from_decay()

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

◆ get_mass()

ROOT::VecOps::RVec< float > FCCAnalyses::MCParticle::get_mass ( ROOT::VecOps::RVec< edm4hep::MCParticleData >  in)

return the masses of the input MCParticles

◆ get_n()

int FCCAnalyses::MCParticle::get_n ( ROOT::VecOps::RVec< edm4hep::MCParticleData >  in)

return the size of the input collection

◆ get_p()

ROOT::VecOps::RVec< float > FCCAnalyses::MCParticle::get_p ( ROOT::VecOps::RVec< edm4hep::MCParticleData >  in)

return the momenta of the input MCParticles

◆ get_parentid()

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

◆ get_pdg()

ROOT::VecOps::RVec< float > FCCAnalyses::MCParticle::get_pdg ( ROOT::VecOps::RVec< edm4hep::MCParticleData >  in)

return the PDG of the input MCParticles

◆ get_phi()

ROOT::VecOps::RVec< float > FCCAnalyses::MCParticle::get_phi ( ROOT::VecOps::RVec< edm4hep::MCParticleData >  in)

return the phi of the input MCParticles

◆ get_pt()

ROOT::VecOps::RVec< float > FCCAnalyses::MCParticle::get_pt ( ROOT::VecOps::RVec< edm4hep::MCParticleData >  in)

return the transverse momenta of the input MCParticles

◆ get_px()

ROOT::VecOps::RVec< float > FCCAnalyses::MCParticle::get_px ( ROOT::VecOps::RVec< edm4hep::MCParticleData >  in)

return the momenta of the input MCParticles

◆ get_py()

ROOT::VecOps::RVec< float > FCCAnalyses::MCParticle::get_py ( ROOT::VecOps::RVec< edm4hep::MCParticleData >  in)

return the momenta of the input MCParticles

◆ get_pz()

ROOT::VecOps::RVec< float > FCCAnalyses::MCParticle::get_pz ( ROOT::VecOps::RVec< edm4hep::MCParticleData >  in)

return the momenta of the input MCParticles

◆ get_simStatus()

ROOT::VecOps::RVec< float > FCCAnalyses::MCParticle::get_simStatus ( ROOT::VecOps::RVec< edm4hep::MCParticleData >  in)

return the simulation status of the input MCParticles

◆ get_theta()

ROOT::VecOps::RVec< float > FCCAnalyses::MCParticle::get_theta ( ROOT::VecOps::RVec< edm4hep::MCParticleData >  in)

return the theta of the input MCParticles

◆ get_time()

ROOT::VecOps::RVec< float > FCCAnalyses::MCParticle::get_time ( ROOT::VecOps::RVec< edm4hep::MCParticleData >  in)

return the time of the input MCParticles

◆ get_tlv()

ROOT::VecOps::RVec< TLorentzVector > FCCAnalyses::MCParticle::get_tlv ( ROOT::VecOps::RVec< edm4hep::MCParticleData >  in)

return the TlorentzVector of the input MCParticles

◆ get_vertex()

ROOT::VecOps::RVec< edm4hep::Vector3d > FCCAnalyses::MCParticle::get_vertex ( ROOT::VecOps::RVec< edm4hep::MCParticleData >  in)

return the production vertex of the input MCParticles

◆ get_vertex_x()

ROOT::VecOps::RVec< float > FCCAnalyses::MCParticle::get_vertex_x ( ROOT::VecOps::RVec< edm4hep::MCParticleData >  in)

return the production vertex x of the input MCParticles

◆ get_vertex_y()

ROOT::VecOps::RVec< float > FCCAnalyses::MCParticle::get_vertex_y ( ROOT::VecOps::RVec< edm4hep::MCParticleData >  in)

return the production vertex y of the input MCParticles

◆ get_vertex_z()

ROOT::VecOps::RVec< float > FCCAnalyses::MCParticle::get_vertex_z ( ROOT::VecOps::RVec< edm4hep::MCParticleData >  in)

return the production vertex z of the input MCParticles

◆ get_y()

ROOT::VecOps::RVec< float > FCCAnalyses::MCParticle::get_y ( ROOT::VecOps::RVec< edm4hep::MCParticleData >  in)

return the rapidity of the input MCParticles

◆ list_of_particles_from_decay()

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

◆ list_of_stable_particles_from_decay()

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

◆ mergeParticles()

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

◆ sel_byIndex()

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