Belle II Software development
|
base class for all particles More...
#include <ParticleBase.h>
Public Types | |
enum | TFParticleType { kInteractionPoint , kOrigin , kComposite , kRecoResonance , kInternalParticle , kRecoTrack , kResonance , kRecoPhoton , kRecoKlong , kMissingParticle } |
particle types More... | |
typedef std::vector< Constraint > | constraintlist |
alias | |
typedef std::vector< std::pair< const ParticleBase *, int > > | indexmap |
alias | |
Public Member Functions | |
ParticleBase (Belle2::Particle *particle, const ParticleBase *mother, const ConstraintConfiguration *config=nullptr) | |
default constructor | |
ParticleBase (const std::string &name) | |
constructor only used by interaction point (ip constraint) | |
virtual | ~ParticleBase () |
destructor, actually does something | |
virtual ErrCode | initMotherlessParticle (FitParams &)=0 |
init particle that does not need a mother vertex | |
virtual ErrCode | initParticleWithMother (FitParams &)=0 |
init particle that does need a mother vertex | |
virtual ErrCode | initCovariance (FitParams &) const |
init covariance matrix | |
virtual int | dim () const =0 |
get dimension of constraint | |
virtual void | updateIndex (int &offset) |
this sets the index for momentum, position, etc. | |
virtual std::string | parname (int index) const |
get name of parameter i | |
const ParticleBase * | locate (Belle2::Particle *particle) const |
get particle base from basf2 particle | |
Belle2::Particle * | particle () const |
get basf2 particle | |
int | index () const |
get index | |
const ParticleBase * | mother () const |
getMother() / hasMother() | |
virtual ErrCode | projectGeoConstraint (const FitParams &, Projection &) const |
project geometrical constraint | |
virtual ErrCode | projectMassConstraintParticle (const FitParams &, Projection &) const |
project mass constraint using the particles parameters | |
virtual ErrCode | projectMassConstraintDaughters (const FitParams &, Projection &) const |
project mass constraint using the parameters of the daughters | |
virtual ErrCode | projectMassConstraint (const FitParams &, Projection &) const |
project mass constraint abstract | |
virtual ErrCode | projectConstraint (Constraint::Type, const FitParams &, Projection &) const |
project constraint. | |
virtual void | forceP4Sum (FitParams &) const |
force p4 sum conservation all along the tree | |
virtual int | type () const =0 |
get particle type | |
virtual int | posIndex () const |
get vertex index (in statevector!) | |
virtual int | tauIndex () const |
get tau index | |
virtual int | momIndex () const |
get momentum index | |
virtual bool | hasEnergy () const |
get momentum dimension | |
virtual bool | hasPosition () const |
get false | |
int | eneIndex () const |
get energy index | |
virtual double | chiSquare (const FitParams &) const |
get chi2 | |
int | charge () const |
get charge | |
virtual ParticleBase * | addDaughter (Belle2::Particle *, const ConstraintConfiguration &config, bool forceFitAll=false) |
add daughter | |
virtual void | removeDaughter (const ParticleBase *pb) |
remove daughter | |
virtual void | retrieveIndexMap (indexmap &anindexmap) const |
get index map | |
void | setMother (const ParticleBase *m) |
set mother | |
virtual void | addToConstraintList (constraintlist &alist, int depth) const =0 |
add to constraint list | |
void | collectVertexDaughters (std::vector< ParticleBase * > &particles, int posindex) |
get vertex daughters | |
virtual int | nFinalChargedCandidates () const |
number of charged candidates | |
Static Public Member Functions | |
static ParticleBase * | createParticle (Belle2::Particle *particle, const ParticleBase *mother, const ConstraintConfiguration &config, bool forceFitAll=false) |
create the according treeFitter particle obj for a basf2 particle type | |
static ParticleBase * | createOrigin (Belle2::Particle *daughter, const ConstraintConfiguration &config, bool forceFitAll) |
create a custom origin particle or a beamspot | |
Protected Types | |
typedef std::vector< ParticleBase * > | ParticleContainer |
just an alias | |
Protected Member Functions | |
ErrCode | initTau (FitParams &par) const |
initialises tau as a length | |
void | setIndex (int i) |
set Index (in statevector) | |
Static Protected Member Functions | |
static bool | isAResonance (Belle2::Particle *particle) |
controls if a particle is treated as a resonance(lifetime=0) or a particle that has a finite lifetime. | |
Protected Attributes | |
Belle2::Particle * | m_particle |
pointer to framework type | |
const ParticleBase * | m_mother |
motherparticle | |
std::vector< ParticleBase * > | m_daughters |
daughter container | |
bool | m_isStronglyDecayingResonance |
decay length less than 1 micron | |
const ConstraintConfiguration * | m_config |
has all the constraint config | |
Private Attributes | |
int | m_index |
index | |
std::string | m_name |
name | |
base class for all particles
Definition at line 25 of file ParticleBase.h.
typedef std::vector<Constraint> constraintlist |
alias
Definition at line 52 of file ParticleBase.h.
typedef std::vector< std::pair<const ParticleBase*, int> > indexmap |
alias
Definition at line 55 of file ParticleBase.h.
|
protected |
just an alias
Definition at line 178 of file ParticleBase.h.
enum TFParticleType |
particle types
Definition at line 30 of file ParticleBase.h.
ParticleBase | ( | Belle2::Particle * | particle, |
const ParticleBase * | mother, | ||
const ConstraintConfiguration * | config = nullptr |
||
) |
default constructor
Definition at line 30 of file ParticleBase.cc.
ParticleBase | ( | const std::string & | name | ) |
constructor only used by interaction point (ip constraint)
Definition at line 47 of file ParticleBase.cc.
|
virtual |
destructor, actually does something
Definition at line 57 of file ParticleBase.cc.
|
virtual |
add daughter
Definition at line 65 of file ParticleBase.cc.
|
pure virtual |
add to constraint list
Implemented in Composite, RecoKlong, RecoPhoton, RecoTrack, InternalParticle, Origin, and RecoResonance.
|
inline |
get charge
Definition at line 144 of file ParticleBase.h.
|
virtual |
get chi2
Definition at line 231 of file ParticleBase.cc.
void collectVertexDaughters | ( | std::vector< ParticleBase * > & | particles, |
int | posindex | ||
) |
get vertex daughters
Definition at line 156 of file ParticleBase.cc.
|
static |
create a custom origin particle or a beamspot
Definition at line 93 of file ParticleBase.cc.
|
static |
create the according treeFitter particle obj for a basf2 particle type
Definition at line 102 of file ParticleBase.cc.
|
pure virtual |
get dimension of constraint
Implemented in Composite, InternalParticle, Origin, RecoKlong, RecoParticle, RecoPhoton, RecoResonance, and Resonance.
|
inline |
get energy index
Definition at line 138 of file ParticleBase.h.
|
inlinevirtual |
force p4 sum conservation all along the tree
Reimplemented in InternalParticle.
Definition at line 116 of file ParticleBase.h.
|
inlinevirtual |
get momentum dimension
Reimplemented in Composite, InternalParticle, Origin, RecoKlong, RecoParticle, and RecoPhoton.
Definition at line 132 of file ParticleBase.h.
|
inlinevirtual |
get false
Reimplemented in Composite, InternalParticle, and Resonance.
Definition at line 135 of file ParticleBase.h.
|
inline |
init covariance matrix
Reimplemented in InternalParticle, Origin, RecoKlong, RecoPhoton, and RecoTrack.
Definition at line 167 of file ParticleBase.cc.
init particle that does not need a mother vertex
Implemented in Composite, InternalParticle, Origin, RecoKlong, RecoParticle, RecoPhoton, RecoResonance, RecoTrack, and Resonance.
init particle that does need a mother vertex
Implemented in Composite, InternalParticle, Origin, RecoKlong, RecoPhoton, RecoResonance, RecoTrack, and Resonance.
initialises tau as a length
Definition at line 426 of file ParticleBase.cc.
|
staticprotected |
controls if a particle is treated as a resonance(lifetime=0) or a particle that has a finite lifetime.
A finite life time means it will register a geo constraint for this particle
Definition at line 134 of file ParticleBase.cc.
const ParticleBase * locate | ( | Belle2::Particle * | particle | ) | const |
get particle base from basf2 particle
Definition at line 211 of file ParticleBase.cc.
|
inlinevirtual |
get momentum index
Reimplemented in Composite, InternalParticle, Origin, RecoParticle, RecoResonance, and Resonance.
Definition at line 128 of file ParticleBase.h.
|
inline |
|
virtual |
number of charged candidates
Reimplemented in RecoTrack.
Definition at line 240 of file ParticleBase.cc.
|
virtual |
get name of parameter i
Reimplemented in InternalParticle, RecoParticle, RecoResonance, and Resonance.
Definition at line 194 of file ParticleBase.cc.
|
inline |
|
inlinevirtual |
get vertex index (in statevector!)
Reimplemented in Composite, InternalParticle, Origin, RecoResonance, and Resonance.
Definition at line 122 of file ParticleBase.h.
|
virtual |
project constraint.
Reimplemented in InternalParticle, Composite, Origin, RecoParticle, and RecoResonance.
Definition at line 416 of file ParticleBase.cc.
|
virtual |
project geometrical constraint
the direction of the momentum is very well known from the kinematic constraints that is why we do not extract the distance as a vector here
Definition at line 249 of file ParticleBase.cc.
|
virtual |
project mass constraint abstract
Definition at line 405 of file ParticleBase.cc.
|
virtual |
project mass constraint using the parameters of the daughters
be aware that the signs here are important E-|p|-m extracts a negative mass and messes with the momentum !
Definition at line 314 of file ParticleBase.cc.
|
virtual |
project mass constraint using the particles parameters
be aware that the signs here are important E-|p|-m extracts a negative mass and messes with the momentum !
Definition at line 375 of file ParticleBase.cc.
|
virtual |
remove daughter
Definition at line 73 of file ParticleBase.cc.
|
virtual |
get index map
Definition at line 223 of file ParticleBase.cc.
|
inlineprotected |
|
inline |
|
inlinevirtual |
get tau index
Reimplemented in Composite, InternalParticle, Origin, RecoResonance, and Resonance.
Definition at line 125 of file ParticleBase.h.
|
pure virtual |
get particle type
Implemented in Composite, InternalParticle, Origin, RecoKlong, RecoPhoton, RecoResonance, RecoTrack, and Resonance.
|
virtual |
this sets the index for momentum, position, etc.
in the statevector
Definition at line 84 of file ParticleBase.cc.
|
protected |
has all the constraint config
Definition at line 204 of file ParticleBase.h.
|
protected |
daughter container
Definition at line 198 of file ParticleBase.h.
|
private |
index
Definition at line 208 of file ParticleBase.h.
|
protected |
decay length less than 1 micron
Definition at line 201 of file ParticleBase.h.
|
protected |
motherparticle
Definition at line 195 of file ParticleBase.h.
|
private |
name
Definition at line 211 of file ParticleBase.h.
|
protected |
pointer to framework type
Definition at line 192 of file ParticleBase.h.