PandaRoot
DecayTreeFitter::ParticleBase Class Referenceabstract

#include <ParticleBase.h>

Inheritance diagram for DecayTreeFitter::ParticleBase:
DecayTreeFitter::InternalParticle DecayTreeFitter::MissingParticle DecayTreeFitter::RecoComposite DecayTreeFitter::RecoParticle DecayTreeFitter::InteractionPoint DecayTreeFitter::Resonance DecayTreeFitter::RecoResonance DecayTreeFitter::RecoPhoton DecayTreeFitter::RecoTrack

Public Types

enum  ParticleType {
  kInteractionPoint, kRecoComposite, kRecoResonance, kInternalParticle,
  kRecoTrack, kResonance, kRecoPhoton, kMissingParticle
}
 
typedef std::vector< ParticleBase * > ParticleContainer
 
typedef std::vector< ParticleBase * > daucontainer
 
typedef daucontainer::const_iterator const_iterator
 
typedef std::vector< std::pair< const ParticleBase *, int > > indexmap
 
typedef std::vector< DecayTreeFitter::Constraintconstraintlist
 

Public Member Functions

 ParticleBase (RhoCandidate *bc, const ParticleBase *mother)
 
 ParticleBase (const std::string &name)
 
virtual ~ParticleBase ()
 
virtual int dim () const =0
 
virtual void updateIndex (int &offset)
 
virtual ErrCode initPar1 (FitParams *)=0
 
virtual ErrCode initPar2 (FitParams *)=0
 
virtual ErrCode initCov (FitParams *) const
 
virtual std::string parname (int index) const
 
virtual void print (const FitParams *) const
 
const ParticleBaselocate (RhoCandidate *bc) const
 
RhoCandidateparticle () const
 
virtual int index () const
 
const ParticleBasemother () const
 
const std::string & name () const
 
virtual ErrCode projectGeoConstraint (const FitParams *, Projection &) const
 
virtual ErrCode projectMassConstraint (const FitParams *, Projection &) const
 
virtual ErrCode projectConstraint (Constraint::Type, const FitParams *, Projection &) const
 
virtual int type () const =0
 
virtual int posIndex () const
 
virtual int lenIndex () const
 
virtual int momIndex () const
 
virtual bool hasEnergy () const
 
virtual bool hasPosition () const
 
int eneIndex () const
 
virtual double chiSquareD (const FitParams *) const
 
double pdtMass () const
 
double pdtWidth () const
 
double pdtCLifeTime () const
 
double pdtTau () const
 
int charge () const
 
const daucontainerdaughters () const
 
const_iterator begin () const
 
const_iterator end () const
 
ParticleBaseaddDaughter (RhoCandidate *, const Configuration &config)
 
void removeDaughter (const ParticleBase *pb)
 
virtual void retrieveIndexMap (indexmap &anindexmap) const
 
void setMother (const ParticleBase *m)
 
virtual void addToConstraintList (constraintlist &alist, int depth) const =0
 
virtual int nFinalChargedCandidates () const
 
void setParticle (RhoCandidate *bc)
 
void collectVertexDaughters (daucontainer &particles, int posindex)
 
bool setMassConstraint (bool add)
 
void setMassConstraint (double mass)
 
ChiSquare chiSquare (const FitParams *fitparams) const
 

Static Public Member Functions

static ParticleBasecreateParticle (RhoCandidate *bc, const ParticleBase *mother, const Configuration &config)
 

Protected Member Functions

ErrCode initTau (FitParams *par) const
 
void makeName (RhoCandidate *bc)
 
daucontainerdaughters ()
 
bool hasMassConstraint () const
 
void setIndex (int i)
 
void setName (const std::string &n)
 

Static Protected Member Functions

static double pdtCLifeTime (RhoCandidate *bc)
 
static bool isAResonance (const TParticlePDG *bc)
 
static double bFieldOverC ()
 

Detailed Description

Definition at line 24 of file ParticleBase.h.

Member Typedef Documentation

◆ const_iterator

typedef daucontainer::const_iterator DecayTreeFitter::ParticleBase::const_iterator

Definition at line 89 of file ParticleBase.h.

◆ constraintlist

◆ daucontainer

Definition at line 88 of file ParticleBase.h.

◆ indexmap

typedef std::vector<std::pair<const ParticleBase *, int> > DecayTreeFitter::ParticleBase::indexmap

Definition at line 97 of file ParticleBase.h.

◆ ParticleContainer

Definition at line 27 of file ParticleBase.h.

Member Enumeration Documentation

◆ ParticleType

Constructor & Destructor Documentation

◆ ParticleBase() [1/2]

DecayTreeFitter::ParticleBase::ParticleBase ( RhoCandidate bc,
const ParticleBase mother 
)

◆ ParticleBase() [2/2]

DecayTreeFitter::ParticleBase::ParticleBase ( const std::string &  name)

◆ ~ParticleBase()

virtual DecayTreeFitter::ParticleBase::~ParticleBase ( )
virtual

Member Function Documentation

◆ addDaughter()

ParticleBase* DecayTreeFitter::ParticleBase::addDaughter ( RhoCandidate ,
const Configuration config 
)

Referenced by end().

◆ addToConstraintList()

◆ begin()

const_iterator DecayTreeFitter::ParticleBase::begin ( ) const
inline

Definition at line 92 of file ParticleBase.h.

92 { return m_daughters.begin(); }

◆ bFieldOverC()

static double DecayTreeFitter::ParticleBase::bFieldOverC ( )
staticprotected

Referenced by setMassConstraint().

◆ charge()

int DecayTreeFitter::ParticleBase::charge ( ) const
inline

Definition at line 82 of file ParticleBase.h.

82 { return m_charge; }

◆ chiSquare()

ChiSquare DecayTreeFitter::ParticleBase::chiSquare ( const FitParams fitparams) const

Referenced by setMassConstraint().

◆ chiSquareD()

virtual double DecayTreeFitter::ParticleBase::chiSquareD ( const FitParams ) const
virtual

Referenced by eneIndex().

◆ collectVertexDaughters()

void DecayTreeFitter::ParticleBase::collectVertexDaughters ( daucontainer particles,
int  posindex 
)

Referenced by setParticle().

◆ createParticle()

static ParticleBase* DecayTreeFitter::ParticleBase::createParticle ( RhoCandidate bc,
const ParticleBase mother,
const Configuration config 
)
static

◆ daughters() [1/2]

const daucontainer& DecayTreeFitter::ParticleBase::daughters ( ) const
inline

Definition at line 91 of file ParticleBase.h.

91 { return m_daughters; }

◆ daughters() [2/2]

daucontainer& DecayTreeFitter::ParticleBase::daughters ( )
inlineprotected

Definition at line 132 of file ParticleBase.h.

132 { return m_daughters; }

◆ dim()

◆ end()

const_iterator DecayTreeFitter::ParticleBase::end ( ) const
inline

Definition at line 93 of file ParticleBase.h.

References addDaughter(), and removeDaughter().

93 { return m_daughters.end(); }

◆ eneIndex()

int DecayTreeFitter::ParticleBase::eneIndex ( ) const
inline

Definition at line 72 of file ParticleBase.h.

References chiSquareD(), hasEnergy(), and momIndex().

72 { return hasEnergy() ? momIndex() + 3 : -1; }
virtual bool hasEnergy() const
Definition: ParticleBase.h:66
virtual int momIndex() const
Definition: ParticleBase.h:63

◆ hasEnergy()

virtual bool DecayTreeFitter::ParticleBase::hasEnergy ( ) const
inlinevirtual

◆ hasMassConstraint()

bool DecayTreeFitter::ParticleBase::hasMassConstraint ( ) const
inlineprotected

Definition at line 133 of file ParticleBase.h.

Referenced by DecayTreeFitter::MissingParticle::dim(), and DecayTreeFitter::MissingParticle::hasEnergy().

133 { return m_hasMassConstraint; }

◆ hasPosition()

virtual bool DecayTreeFitter::ParticleBase::hasPosition ( ) const
inlinevirtual

Reimplemented in DecayTreeFitter::RecoComposite, DecayTreeFitter::InternalParticle, and DecayTreeFitter::Resonance.

Definition at line 70 of file ParticleBase.h.

70 { return false; }

◆ index()

◆ initCov()

virtual ErrCode DecayTreeFitter::ParticleBase::initCov ( FitParams ) const
virtual

◆ initPar1()

◆ initPar2()

◆ initTau()

ErrCode DecayTreeFitter::ParticleBase::initTau ( FitParams par) const
protected

Referenced by setMassConstraint().

◆ isAResonance()

static bool DecayTreeFitter::ParticleBase::isAResonance ( const TParticlePDG *  bc)
staticprotected

Referenced by setMassConstraint().

◆ lenIndex()

virtual int DecayTreeFitter::ParticleBase::lenIndex ( ) const
inlinevirtual

◆ locate()

const ParticleBase* DecayTreeFitter::ParticleBase::locate ( RhoCandidate bc) const

◆ makeName()

void DecayTreeFitter::ParticleBase::makeName ( RhoCandidate bc)
protected

Referenced by setMassConstraint().

◆ momIndex()

virtual int DecayTreeFitter::ParticleBase::momIndex ( ) const
inlinevirtual

◆ mother()

◆ name()

const std::string& DecayTreeFitter::ParticleBase::name ( ) const
inline

Definition at line 53 of file ParticleBase.h.

References projectConstraint(), projectGeoConstraint(), projectMassConstraint(), and type().

53 { return m_name; }

◆ nFinalChargedCandidates()

virtual int DecayTreeFitter::ParticleBase::nFinalChargedCandidates ( ) const
virtual

◆ parname()

virtual std::string DecayTreeFitter::ParticleBase::parname ( int  index) const
virtual

◆ particle()

RhoCandidate* DecayTreeFitter::ParticleBase::particle ( ) const
inline

Definition at line 49 of file ParticleBase.h.

Referenced by DecayTreeFitter::compTrkTransverseMomentum(), and DecayTreeFitter::sortByType().

49 { return m_particle; }

◆ pdtCLifeTime() [1/2]

double DecayTreeFitter::ParticleBase::pdtCLifeTime ( ) const
inline

Definition at line 80 of file ParticleBase.h.

Referenced by setMassConstraint().

80 { return m_pdtCLifeTime; }

◆ pdtCLifeTime() [2/2]

static double DecayTreeFitter::ParticleBase::pdtCLifeTime ( RhoCandidate bc)
staticprotected

◆ pdtMass()

double DecayTreeFitter::ParticleBase::pdtMass ( ) const
inline

Definition at line 78 of file ParticleBase.h.

78 { return m_pdtMass; }

◆ pdtTau()

double DecayTreeFitter::ParticleBase::pdtTau ( ) const
inline

Definition at line 81 of file ParticleBase.h.

81 { return m_pdtMass > 0 ? m_pdtCLifeTime / m_pdtMass : 0; }

◆ pdtWidth()

double DecayTreeFitter::ParticleBase::pdtWidth ( ) const
inline

Definition at line 79 of file ParticleBase.h.

79 { return m_pdtWidth; }

◆ posIndex()

virtual int DecayTreeFitter::ParticleBase::posIndex ( ) const
inlinevirtual

◆ print()

virtual void DecayTreeFitter::ParticleBase::print ( const FitParams ) const
virtual

◆ projectConstraint()

virtual ErrCode DecayTreeFitter::ParticleBase::projectConstraint ( Constraint::Type  ,
const FitParams ,
Projection  
) const
virtual

◆ projectGeoConstraint()

virtual ErrCode DecayTreeFitter::ParticleBase::projectGeoConstraint ( const FitParams ,
Projection  
) const
virtual

Referenced by name().

◆ projectMassConstraint()

virtual ErrCode DecayTreeFitter::ParticleBase::projectMassConstraint ( const FitParams ,
Projection  
) const
virtual

Referenced by name().

◆ removeDaughter()

void DecayTreeFitter::ParticleBase::removeDaughter ( const ParticleBase pb)

Referenced by end().

◆ retrieveIndexMap()

virtual void DecayTreeFitter::ParticleBase::retrieveIndexMap ( indexmap anindexmap) const
virtual

◆ setIndex()

void DecayTreeFitter::ParticleBase::setIndex ( int  i)
inlineprotected

Definition at line 136 of file ParticleBase.h.

References i.

136 { m_index = i; }
unsigned int i
Definition: P4_F32vec4.h:21

◆ setMassConstraint() [1/2]

bool DecayTreeFitter::ParticleBase::setMassConstraint ( bool  add)
inline

Definition at line 110 of file ParticleBase.h.

111  {
112  std::swap(add, m_hasMassConstraint);
113  return add != m_hasMassConstraint;
114  }

◆ setMassConstraint() [2/2]

void DecayTreeFitter::ParticleBase::setMassConstraint ( double  mass)
inline

Definition at line 116 of file ParticleBase.h.

References bFieldOverC(), chiSquare(), initTau(), isAResonance(), makeName(), and pdtCLifeTime().

117  {
118  m_hasMassConstraint = true;
119  m_pdtMass = mass;
120  }

◆ setMother()

void DecayTreeFitter::ParticleBase::setMother ( const ParticleBase m)
inline

Definition at line 100 of file ParticleBase.h.

References m.

100 { m_mother = m; }
__m128 m
Definition: P4_F32vec4.h:26

◆ setName()

void DecayTreeFitter::ParticleBase::setName ( const std::string &  n)
inlineprotected

Definition at line 137 of file ParticleBase.h.

137 { m_name = n; }

◆ setParticle()

void DecayTreeFitter::ParticleBase::setParticle ( RhoCandidate bc)
inline

Definition at line 105 of file ParticleBase.h.

References collectVertexDaughters().

105 { m_particle = bc; }

◆ type()

◆ updateIndex()

virtual void DecayTreeFitter::ParticleBase::updateIndex ( int &  offset)
virtual

The documentation for this class was generated from the following file: