 |
Belle II Software
release-05-02-19
|
15 #include <framework/core/Module.h>
17 #include <analysis/dataobjects/RestOfEvent.h>
18 #include <analysis/DecayDescriptor/DecayDescriptor.h>
19 #include <analysis/VariableManager/Utility.h>
65 class ParticleLoaderModule :
public Module {
71 typedef std::tuple<int, std::string, std::string, bool, std::shared_ptr<Variable::Cut>>
PList;
76 c_PListPDGCode, c_PListName, c_AntiPListName, c_IsPListSelfConjugated, c_CutPointer
95 virtual void event()
override;
161 std::vector<std::tuple<std::string, std::string>>
void appendDaughtersRecursive(Particle *mother)
recursively append bottom of a particle's decay chain (daughters of mother, granddaughters of daughte...
bool m_enforceFitHypothesis
If true, a Particle is only created if a track fit with the particle hypothesis passed to the Particl...
void eclClustersToParticles()
Loads ECLCluster object as Particle to StoreArray<Particle> and adds it to the ParticleList.
std::string m_roeMaskName
ROE mask name to load.
bool m_addDaughters
toggle addition of the bottom part of the particle's decay chain
std::vector< PList > m_Tracks2Plists
Collection of PLists that will collect Particles created from Tracks.
bool m_useROEs
Switch to load ROE as Particle.
void roeToParticles()
Loads ROE object as Particle of specified type to StoreArray<Particle> and adds it to the ParticleLis...
virtual void event() override
Event processor.
std::vector< PList > m_V02Plists
Collection of PLists that will collect Particles created from V0.
This is a general purpose class for collecting reconstructed MDST data objects that are not used in r...
int m_trackHypothesis
pdg code for track hypothesis that should be used to create the particle
void mcParticlesToParticles()
Loads specified MCParticles as Particle to StoreArray<Particle>
void addROEToParticleList(RestOfEvent *roe, int pdgCode=0, bool isSelfConjugatedParticle=true)
Helper method to load ROE object as Particle.
virtual void initialize() override
Initialize the Module.
std::vector< PList > m_KLMClusters2Plists
Collection of PLists that will collect Particles created from KLMClusters.
std::vector< PList > m_ECLClusters2Plists
Collection of PLists that will collect Particles created from ECLClusters.
void v0sToParticles()
Loads V0 object as Particle of specified type to StoreArray<Particle> and adds it to the ParticleList...
std::vector< int > m_chargeZeroTrackCounts
internally used to count number of tracks with charge zero
Abstract base class for different kinds of events.
bool isValidPDGCode(const int pdgCode)
returns true if the PDG code determined from the decayString is valid
virtual void terminate() override
Terminate the Module.
void klmClustersToParticles()
Loads KLMCluster object as Particle to StoreArray<Particle> and adds it to the ParticleList.
void mdstToParticle()
Loads specified MSDT object as Particle to StoreArray<Particle>
bool m_writeOut
toggle particle list btw.
void tracksToParticles()
Loads Track object as Particle to StoreArray<Particle> and adds it to the ParticleList.
std::vector< PList > m_MCParticles2Plists
Collection of PLists that will collect Particles created from MCParticles.
std::string m_sourceParticleListName
Particle list name from which we need to get related ROEs.
Class to store reconstructed particles.
DecayDescriptor m_decaydescriptor
Decay descriptor for parsing the user specified DecayString.
ParticleLoaderModule()
Constructor.
The DecayDescriptor stores information about a decay tree or parts of a decay tree.
bool m_skipNonPrimaryDaughters
toggle skip of secondary MC daughters
bool m_useMissing
Use missing momentum to build a particle.
std::vector< int > m_sameChargeDaughtersV0Counts
internally used to count the number of V0s with same charge daughters
std::tuple< int, std::string, std::string, bool, std::shared_ptr< Variable::Cut > > PList
tuple for collecting everything we know about the ParticlList to be created.
std::vector< PList > m_ROE2Plists
Collection of PLists that will collect Particles created from V0.
std::vector< std::tuple< std::string, std::string > > m_decayStringsWithCuts
Input DecayString specifying the particle being created/loaded.
bool m_useMCParticles
Load MCParticle as Particle instead of the corresponding MDST dataobject.
PListIndex
Enum for describing each element in the above tuple.