Belle II Software development
V0ValidationVertex Class Reference

Class which stores some additional information on V0 vertices. More...

#include <V0ValidationVertex.h>

Inheritance diagram for V0ValidationVertex:
V0 RelationsInterface< TObject >

Public Member Functions

 V0ValidationVertex ()
 Default Constructor.
 
 V0ValidationVertex (const std::pair< const Belle2::Track *, const Belle2::TrackFitResult * > &trackPairPositive, const std::pair< const Belle2::Track *, const Belle2::TrackFitResult * > &trackPairNegative, double vertexX, double vertexY, double vertexZ)
 Constructor equivalent to the constructor of the V0 mdst dataobjects.
 
 V0ValidationVertex (const std::pair< const Belle2::Track *, const Belle2::TrackFitResult * > &trackPairPositive, const std::pair< const Belle2::Track *, const Belle2::TrackFitResult * > &trackPairNegative, const ROOT::Math::XYZVector &fittedVertexPosition, const TMatrixDSym &fittedVertexPositionCovariance, const double &momentum, const double &invariantMass, const double &chi2)
 Constructor to initialize a V0 with additional information which is only available on reconstruction level.
 
ROOT::Math::XYZVector getVertexPosition () const
 Getter for the reconstructed vertex position. Aliases getFittedVertexPosition for backwards compatibility.
 
TMatrixDSym getVertexPositionCovariance () const
 Getter for the reconstructed vertex position covariance.
 
float getFittedMomentum () const
 Getter for the reconstructed momentum.
 
float getFittedInvariantMass () const
 Getter for the reconstructed invariant mass.
 
float getVertexChi2 () const
 Getter for the chi2 of the vertex fit.
 
std::pair< Track *, Track * > getTracks () const
 Get pair of the Tracks, that are part of the V0 particle.
 
std::pair< short, short > getTrackIndices () const
 Get indices of the Tracks, that are part of the V0 particle.
 
std::pair< TrackFitResult *, TrackFitResult * > getTrackFitResults () const
 Get pair of the TrackFitResults, that are part of the V0 particle.
 
std::pair< short, short > getTrackFitResultIndices () const
 Get indices of the TrackFitResults, that are part of the V0 particle.
 
Const::ParticleType getV0Hypothesis () const
 Get the hypothesis under which the V0 particle was created.
 
double getFittedVertexX () const
 Get the X coordinate of the fitted vertex.
 
double getFittedVertexY () const
 Get the Y coordinate of the fitted vertex.
 
double getFittedVertexZ () const
 Get the Z coordinate of the fitted vertex.
 
ROOT::Math::XYZVector getFittedVertexPosition () const
 Get the fitted vertex position.
 
void addRelationTo (const RelationsInterface< TObject > *object, float weight=1.0, const std::string &namedRelation="") const
 Add a relation from this object to another object (with caching).
 
void addRelationTo (const TObject *object, float weight=1.0, const std::string &namedRelation="") const
 Add a relation from this object to another object (no caching, can be quite slow).
 
void addRelationTo (const RelationsInterface< TObject > *object, float weight=1.0, const std::string &namedRelation="") const
 Add a relation from this object to another object (with caching).
 
void addRelationTo (const TObject *object, float weight=1.0, const std::string &namedRelation="") const
 Add a relation from this object to another object (no caching, can be quite slow).
 
void copyRelations (const RelationsInterface< TObject > *sourceObj)
 Copies all relations of sourceObj (pointing from or to sourceObj) to this object (including weights).
 
void copyRelations (const RelationsInterface< TObject > *sourceObj)
 Copies all relations of sourceObj (pointing from or to sourceObj) to this object (including weights).
 
RelationVector< TO > getRelationsTo (const std::string &name="", const std::string &namedRelation="") const
 Get the relations that point from this object to another store array.
 
RelationVector< TO > getRelationsTo (const std::string &name="", const std::string &namedRelation="") const
 Get the relations that point from this object to another store array.
 
RelationVector< FROM > getRelationsFrom (const std::string &name="", const std::string &namedRelation="") const
 Get the relations that point from another store array to this object.
 
RelationVector< FROM > getRelationsFrom (const std::string &name="", const std::string &namedRelation="") const
 Get the relations that point from another store array to this object.
 
RelationVector< T > getRelationsWith (const std::string &name="", const std::string &namedRelation="") const
 Get the relations between this object and another store array.
 
RelationVector< T > getRelationsWith (const std::string &name="", const std::string &namedRelation="") const
 Get the relations between this object and another store array.
 
TO * getRelatedTo (const std::string &name="", const std::string &namedRelation="") const
 Get the object to which this object has a relation.
 
TO * getRelatedTo (const std::string &name="", const std::string &namedRelation="") const
 Get the object to which this object has a relation.
 
FROM * getRelatedFrom (const std::string &name="", const std::string &namedRelation="") const
 Get the object from which this object has a relation.
 
FROM * getRelatedFrom (const std::string &name="", const std::string &namedRelation="") const
 Get the object from which this object has a relation.
 
T * getRelated (const std::string &name="", const std::string &namedRelation="") const
 Get the object to or from which this object has a relation.
 
T * getRelated (const std::string &name="", const std::string &namedRelation="") const
 Get the object to or from which this object has a relation.
 
std::pair< TO *, float > getRelatedToWithWeight (const std::string &name="", const std::string &namedRelation="") const
 Get first related object & weight of relation pointing to an array.
 
std::pair< TO *, float > getRelatedToWithWeight (const std::string &name="", const std::string &namedRelation="") const
 Get first related object & weight of relation pointing to an array.
 
std::pair< FROM *, float > getRelatedFromWithWeight (const std::string &name="", const std::string &namedRelation="") const
 Get first related object & weight of relation pointing from an array.
 
std::pair< FROM *, float > getRelatedFromWithWeight (const std::string &name="", const std::string &namedRelation="") const
 Get first related object & weight of relation pointing from an array.
 
std::pair< T *, float > getRelatedWithWeight (const std::string &name="", const std::string &namedRelation="") const
 Get first related object & weight of relation pointing from/to an array.
 
std::pair< T *, float > getRelatedWithWeight (const std::string &name="", const std::string &namedRelation="") const
 Get first related object & weight of relation pointing from/to an array.
 
virtual std::string getName () const
 Return a short name that describes this object, e.g.
 
virtual std::string getName () const
 Return a short name that describes this object, e.g.
 
virtual std::string getInfoHTML () const
 Return a short summary of this object's contents in HTML format.
 
virtual std::string getInfoHTML () const
 Return a short summary of this object's contents in HTML format.
 
std::string getInfo () const
 Return a short summary of this object's contents in raw text format.
 
std::string getInfo () const
 Return a short summary of this object's contents in raw text format.
 
std::string getArrayName () const
 Get name of array this object is stored in, or "" if not found.
 
std::string getArrayName () const
 Get name of array this object is stored in, or "" if not found.
 
int getArrayIndex () const
 Returns this object's array index (in StoreArray), or -1 if not found.
 
int getArrayIndex () const
 Returns this object's array index (in StoreArray), or -1 if not found.
 

Protected Member Functions

TClonesArray * getArrayPointer () const
 Returns the pointer to the raw DataStore array holding this object (protected since these arrays are easy to misuse).
 
TClonesArray * getArrayPointer () const
 Returns the pointer to the raw DataStore array holding this object (protected since these arrays are easy to misuse).
 

Private Member Functions

 ClassDef (V0ValidationVertex, 4)
 Dataobjects for the reconstruction level validation of V0 reconstruction.
 

Private Attributes

TMatrixDSym m_fittedVertexPositionCovariance
 vertex position covariance
 
float m_fittedMomentum
 reconstructed momentum
 
float m_fittedInvariantMass
 reconstructed invariant mass
 
float m_chi2
 reconstructed chi2
 
Double32_t m_fittedVertexX = 0.0
 The X coordinate of the fitted vertex.
 
Double32_t m_fittedVertexY = 0.0
 The Y coordinate of the fitted vertex.
 
Double32_t m_fittedVertexZ = 0.0
 The Z coordinate of the fitted vertex.
 
short m_trackIndexPositive = -1
 Indicates which positively charged track was used for this V0.
 
short m_trackIndexNegative = -1
 Indicates which negatively charged track was used for this V0.
 
short m_trackFitResultIndexPositive = -1
 Points to the new TrackFitResult of the positive Track.
 
short m_trackFitResultIndexNegative = -1
 Points to the new TrackFitResult of the positive Track.
 
DataStore::StoreEntrym_cacheDataStoreEntry
 Cache of the data store entry to which this object belongs.
 
DataStore::StoreEntrym_cacheDataStoreEntry
 Cache of the data store entry to which this object belongs.
 
int m_cacheArrayIndex
 Cache of the index in the TClonesArray to which this object belongs.
 
int m_cacheArrayIndex
 Cache of the index in the TClonesArray to which this object belongs.
 

Detailed Description

Class which stores some additional information on V0 vertices.

The information is created by RAVE and lost when the V0 is stored. For a reconstruction level validation, this additional information has to be stored. To enable the usage of this class, use the validation flag of the V0FinderModule.

Definition at line 25 of file V0ValidationVertex.h.

Constructor & Destructor Documentation

◆ V0ValidationVertex() [1/3]

V0ValidationVertex ( )
inline

Default Constructor.

Definition at line 29 of file V0ValidationVertex.h.

29 :
30 V0(),
31 m_fittedMomentum(0),
32 m_fittedInvariantMass(0),
33 m_chi2(0)
34 {}

◆ V0ValidationVertex() [2/3]

V0ValidationVertex ( const std::pair< const Belle2::Track *, const Belle2::TrackFitResult * > & trackPairPositive,
const std::pair< const Belle2::Track *, const Belle2::TrackFitResult * > & trackPairNegative,
double vertexX,
double vertexY,
double vertexZ )
inline

Constructor equivalent to the constructor of the V0 mdst dataobjects.

Parameters
trackPairPositivePositive charged Belle2::Track and TrackFitResult from the V0.
trackPairNegativeNegative charged Belle2::Track and TrackFitResult from the V0.
vertexXThe x coordinate of the fitted vertex position.
vertexYThe y coordinate of the fitted vertex position.
vertexZThe z coordinate of the fitted vertex position.

Definition at line 44 of file V0ValidationVertex.h.

46 :
47 V0(trackPairPositive, trackPairNegative, vertexX, vertexY, vertexZ),
48 m_fittedMomentum(0),
49 m_fittedInvariantMass(0),
50 m_chi2(0)
51 {}

◆ V0ValidationVertex() [3/3]

V0ValidationVertex ( const std::pair< const Belle2::Track *, const Belle2::TrackFitResult * > & trackPairPositive,
const std::pair< const Belle2::Track *, const Belle2::TrackFitResult * > & trackPairNegative,
const ROOT::Math::XYZVector & fittedVertexPosition,
const TMatrixDSym & fittedVertexPositionCovariance,
const double & momentum,
const double & invariantMass,
const double & chi2 )
inline

Constructor to initialize a V0 with additional information which is only available on reconstruction level.

Parameters
trackPairPositivePositive charged Belle2::Track and TrackFitResult from the V0.
trackPairNegativeNegative charged Belle2::Track and TrackFitResult from the V0.
fittedVertexPositionFitted vertex position from RAVE.
fittedVertexPositionCovarianceCovariance of the vertex position from RAVE.
momentumReconstructed momentum from RAVE.
invariantMassReconstructed invariant mass from RAVE.
chi2Chi2 of vertex fit from RAVE.

Definition at line 63 of file V0ValidationVertex.h.

69 :
70 V0(trackPairPositive, trackPairNegative, fittedVertexPosition.X(), fittedVertexPosition.Y(), fittedVertexPosition.Z()),
71 m_fittedVertexPositionCovariance(fittedVertexPositionCovariance),
72 m_fittedMomentum(momentum),
73 m_fittedInvariantMass(invariantMass),
74 m_chi2(chi2)
75 {}

Member Function Documentation

◆ addRelationTo() [1/4]

void addRelationTo ( const RelationsInterface< TObject > * object,
float weight = 1.0,
const std::string & namedRelation = "" ) const
inlineinherited

Add a relation from this object to another object (with caching).

Parameters
objectThe object to which the relation should point.
weightThe weight of the relation.
namedRelationAdditional name for the relation, or "" for the default naming

Definition at line 142 of file RelationsObject.h.

143 {
144 if (object)
145 DataStore::Instance().addRelation(this, m_cacheDataStoreEntry, m_cacheArrayIndex,
146 object, object->m_cacheDataStoreEntry, object->m_cacheArrayIndex, weight, namedRelation);
147 }

◆ addRelationTo() [2/4]

void addRelationTo ( const RelationsInterface< TObject > * object,
float weight = 1.0,
const std::string & namedRelation = "" ) const
inlineinherited

Add a relation from this object to another object (with caching).

Parameters
objectThe object to which the relation should point.
weightThe weight of the relation.
namedRelationAdditional name for the relation, or "" for the default naming

Definition at line 142 of file RelationsObject.h.

143 {
144 if (object)
145 DataStore::Instance().addRelation(this, m_cacheDataStoreEntry, m_cacheArrayIndex,
146 object, object->m_cacheDataStoreEntry, object->m_cacheArrayIndex, weight, namedRelation);
147 }

◆ addRelationTo() [3/4]

void addRelationTo ( const TObject * object,
float weight = 1.0,
const std::string & namedRelation = "" ) const
inlineinherited

Add a relation from this object to another object (no caching, can be quite slow).

Parameters
objectThe object to which the relation should point.
weightThe weight of the relation.
namedRelationAdditional name for the relation, or "" for the default naming

Definition at line 155 of file RelationsObject.h.

156 {
157 StoreEntry* toEntry = nullptr;
158 int toIndex = -1;
159 DataStore::Instance().addRelation(this, m_cacheDataStoreEntry, m_cacheArrayIndex, object, toEntry, toIndex, weight, namedRelation);
160 }

◆ addRelationTo() [4/4]

void addRelationTo ( const TObject * object,
float weight = 1.0,
const std::string & namedRelation = "" ) const
inlineinherited

Add a relation from this object to another object (no caching, can be quite slow).

Parameters
objectThe object to which the relation should point.
weightThe weight of the relation.
namedRelationAdditional name for the relation, or "" for the default naming

Definition at line 155 of file RelationsObject.h.

156 {
157 StoreEntry* toEntry = nullptr;
158 int toIndex = -1;
159 DataStore::Instance().addRelation(this, m_cacheDataStoreEntry, m_cacheArrayIndex, object, toEntry, toIndex, weight, namedRelation);
160 }

◆ copyRelations() [1/2]

void copyRelations ( const RelationsInterface< TObject > * sourceObj)
inlineinherited

Copies all relations of sourceObj (pointing from or to sourceObj) to this object (including weights).

Useful if you want to make a complete copy of a StoreArray object to make modifications to it, but retain all information on linked objects.

Note: this only works if sourceObj inherits from the same base (e.g. RelationsObject), and only for related objects that also inherit from the same base.

Definition at line 170 of file RelationsObject.h.

171 {
172 if (!sourceObj)
173 return;
174 auto fromRels = sourceObj->getRelationsFrom<RelationsInterface<BASE>>("ALL");
175 for (unsigned int iRel = 0; iRel < fromRels.size(); iRel++) {
176 fromRels.object(iRel)->addRelationTo(this, fromRels.weight(iRel));
177 }
178
179 auto toRels = sourceObj->getRelationsTo<RelationsInterface<BASE>>("ALL");
180 for (unsigned int iRel = 0; iRel < toRels.size(); iRel++) {
181 this->addRelationTo(toRels.object(iRel), toRels.weight(iRel));
182 }
183 }

◆ copyRelations() [2/2]

void copyRelations ( const RelationsInterface< TObject > * sourceObj)
inlineinherited

Copies all relations of sourceObj (pointing from or to sourceObj) to this object (including weights).

Useful if you want to make a complete copy of a StoreArray object to make modifications to it, but retain all information on linked objects.

Note: this only works if sourceObj inherits from the same base (e.g. RelationsObject), and only for related objects that also inherit from the same base.

Definition at line 170 of file RelationsObject.h.

171 {
172 if (!sourceObj)
173 return;
174 auto fromRels = sourceObj->getRelationsFrom<RelationsInterface<BASE>>("ALL");
175 for (unsigned int iRel = 0; iRel < fromRels.size(); iRel++) {
176 fromRels.object(iRel)->addRelationTo(this, fromRels.weight(iRel));
177 }
178
179 auto toRels = sourceObj->getRelationsTo<RelationsInterface<BASE>>("ALL");
180 for (unsigned int iRel = 0; iRel < toRels.size(); iRel++) {
181 this->addRelationTo(toRels.object(iRel), toRels.weight(iRel));
182 }
183 }

◆ getArrayIndex() [1/2]

int getArrayIndex ( ) const
inlineinherited

Returns this object's array index (in StoreArray), or -1 if not found.

Definition at line 385 of file RelationsObject.h.

386 {
387 DataStore::Instance().findStoreEntry(this, m_cacheDataStoreEntry, m_cacheArrayIndex);
388 return m_cacheArrayIndex;
389 }

◆ getArrayIndex() [2/2]

int getArrayIndex ( ) const
inlineinherited

Returns this object's array index (in StoreArray), or -1 if not found.

Definition at line 385 of file RelationsObject.h.

386 {
387 DataStore::Instance().findStoreEntry(this, m_cacheDataStoreEntry, m_cacheArrayIndex);
388 return m_cacheArrayIndex;
389 }

◆ getArrayName() [1/2]

std::string getArrayName ( ) const
inlineinherited

Get name of array this object is stored in, or "" if not found.

Definition at line 377 of file RelationsObject.h.

378 {
379 DataStore::Instance().findStoreEntry(this, m_cacheDataStoreEntry, m_cacheArrayIndex);
380 return m_cacheDataStoreEntry ? m_cacheDataStoreEntry->name : "";
381 }

◆ getArrayName() [2/2]

std::string getArrayName ( ) const
inlineinherited

Get name of array this object is stored in, or "" if not found.

Definition at line 377 of file RelationsObject.h.

378 {
379 DataStore::Instance().findStoreEntry(this, m_cacheDataStoreEntry, m_cacheArrayIndex);
380 return m_cacheDataStoreEntry ? m_cacheDataStoreEntry->name : "";
381 }

◆ getArrayPointer() [1/2]

TClonesArray * getArrayPointer ( ) const
inlineprotectedinherited

Returns the pointer to the raw DataStore array holding this object (protected since these arrays are easy to misuse).

Definition at line 418 of file RelationsObject.h.

419 {
420 DataStore::Instance().findStoreEntry(this, m_cacheDataStoreEntry, m_cacheArrayIndex);
421 if (!m_cacheDataStoreEntry)
422 return nullptr;
423 return m_cacheDataStoreEntry->getPtrAsArray();
424 }

◆ getArrayPointer() [2/2]

TClonesArray * getArrayPointer ( ) const
inlineprotectedinherited

Returns the pointer to the raw DataStore array holding this object (protected since these arrays are easy to misuse).

Definition at line 418 of file RelationsObject.h.

419 {
420 DataStore::Instance().findStoreEntry(this, m_cacheDataStoreEntry, m_cacheArrayIndex);
421 if (!m_cacheDataStoreEntry)
422 return nullptr;
423 return m_cacheDataStoreEntry->getPtrAsArray();
424 }

◆ getFittedInvariantMass()

float getFittedInvariantMass ( ) const
inline

Getter for the reconstructed invariant mass.

Definition at line 87 of file V0ValidationVertex.h.

87{ return m_fittedInvariantMass; }

◆ getFittedMomentum()

float getFittedMomentum ( ) const
inline

Getter for the reconstructed momentum.

Definition at line 84 of file V0ValidationVertex.h.

84{ return m_fittedMomentum; }

◆ getFittedVertexPosition()

ROOT::Math::XYZVector getFittedVertexPosition ( ) const
inlineinherited

Get the fitted vertex position.

Definition at line 84 of file V0.h.

84{ return ROOT::Math::XYZVector(m_fittedVertexX, m_fittedVertexY, m_fittedVertexZ); }

◆ getFittedVertexX()

double getFittedVertexX ( ) const
inlineinherited

Get the X coordinate of the fitted vertex.

Definition at line 75 of file V0.h.

75{ return m_fittedVertexX; }

◆ getFittedVertexY()

double getFittedVertexY ( ) const
inlineinherited

Get the Y coordinate of the fitted vertex.

Definition at line 78 of file V0.h.

78{ return m_fittedVertexY; }

◆ getFittedVertexZ()

double getFittedVertexZ ( ) const
inlineinherited

Get the Z coordinate of the fitted vertex.

Definition at line 81 of file V0.h.

81{ return m_fittedVertexZ; }

◆ getInfo() [1/2]

std::string getInfo ( ) const
inlineinherited

Return a short summary of this object's contents in raw text format.

Returns the contents of getInfoHTML() while translating line-breaks etc.

Note
: You don't need to implement this function (it's not virtual), getInfoHTML() is enough.

Definition at line 370 of file RelationsObject.h.

371 {
372 return _RelationsInterfaceImpl::htmlToPlainText(getInfoHTML());
373 }

◆ getInfo() [2/2]

std::string getInfo ( ) const
inlineinherited

Return a short summary of this object's contents in raw text format.

Returns the contents of getInfoHTML() while translating line-breaks etc.

Note
: You don't need to implement this function (it's not virtual), getInfoHTML() is enough.

Definition at line 370 of file RelationsObject.h.

371 {
372 return _RelationsInterfaceImpl::htmlToPlainText(getInfoHTML());
373 }

◆ getInfoHTML() [1/2]

virtual std::string getInfoHTML ( ) const
inlinevirtualinherited

Return a short summary of this object's contents in HTML format.

Reimplement this in your own class to provide useful output for display or debugging purposes. For example, you might do something like:

std::stringstream out;
out << "<b>PDG</b>: " << m_pdg << "<br>";
out << "<b>Covariance Matrix</b>: " << HTML::getString(getCovariance5()) << "<br>";
return out.str();
std::string getString(const TMatrixFBase &matrix, int precision=2, bool color=true)
get HTML table representing a matrix.
Definition HTML.cc:24
See also
Particle::getInfoHTML() for a more complex example.
HTML for some utility functions.
Use getInfo() to get a raw text version of this output.

Reimplemented in Cluster, MCParticle, Particle, PIDLikelihood, RecoTrack, SoftwareTriggerResult, Track, TrackFitResult, and TRGSummary.

Definition at line 362 of file RelationsObject.h.

362{ return ""; }

◆ getInfoHTML() [2/2]

virtual std::string getInfoHTML ( ) const
inlinevirtualinherited

Return a short summary of this object's contents in HTML format.

Reimplement this in your own class to provide useful output for display or debugging purposes. For example, you might do something like:

std::stringstream out;
out << "<b>PDG</b>: " << m_pdg << "<br>";
out << "<b>Covariance Matrix</b>: " << HTML::getString(getCovariance5()) << "<br>";
return out.str();
See also
Particle::getInfoHTML() for a more complex example.
HTML for some utility functions.
Use getInfo() to get a raw text version of this output.

Reimplemented in Cluster, MCParticle, Particle, PIDLikelihood, RecoTrack, SoftwareTriggerResult, Track, TrackFitResult, and TRGSummary.

Definition at line 362 of file RelationsObject.h.

362{ return ""; }

◆ getName() [1/2]

virtual std::string getName ( ) const
inlinevirtualinherited

Return a short name that describes this object, e.g.

pi+ for an MCParticle.

Reimplemented in MCParticle, Particle, and SpacePoint.

Definition at line 344 of file RelationsObject.h.

344{ return ""; }

◆ getName() [2/2]

virtual std::string getName ( ) const
inlinevirtualinherited

Return a short name that describes this object, e.g.

pi+ for an MCParticle.

Reimplemented in MCParticle, Particle, and SpacePoint.

Definition at line 344 of file RelationsObject.h.

344{ return ""; }

◆ getRelated() [1/2]

T * getRelated ( const std::string & name = "",
const std::string & namedRelation = "" ) const
inlineinherited

Get the object to or from which this object has a relation.

Template Parameters
TThe class of objects to or from which the relation points.
Parameters
nameThe name of the store array to or from which the relation points. If empty the default store array name for class T will be used. If the special name "ALL" is given all store arrays containing objects of type T are considered.
namedRelationAdditional name for the relation, or "" for the default naming
Returns
The first related object or a null pointer.

Definition at line 278 of file RelationsObject.h.

279 {
280 return static_cast<T*>(DataStore::Instance().getRelationWith(DataStore::c_BothSides, this, m_cacheDataStoreEntry, m_cacheArrayIndex,
281 T::Class(), name, namedRelation).object);
282 }

◆ getRelated() [2/2]

T * getRelated ( const std::string & name = "",
const std::string & namedRelation = "" ) const
inlineinherited

Get the object to or from which this object has a relation.

Template Parameters
TThe class of objects to or from which the relation points.
Parameters
nameThe name of the store array to or from which the relation points. If empty the default store array name for class T will be used. If the special name "ALL" is given all store arrays containing objects of type T are considered.
namedRelationAdditional name for the relation, or "" for the default naming
Returns
The first related object or a null pointer.

Definition at line 278 of file RelationsObject.h.

279 {
280 return static_cast<T*>(DataStore::Instance().getRelationWith(DataStore::c_BothSides, this, m_cacheDataStoreEntry, m_cacheArrayIndex,
281 T::Class(), name, namedRelation).object);
282 }

◆ getRelatedFrom() [1/2]

FROM * getRelatedFrom ( const std::string & name = "",
const std::string & namedRelation = "" ) const
inlineinherited

Get the object from which this object has a relation.

Template Parameters
FROMThe class of objects from which the relation points.
Parameters
nameThe name of the store array from which the relation points. If empty the default store array name for class FROM will be used. If the special name "ALL" is given all store arrays containing objects of type FROM are considered.
namedRelationAdditional name for the relation, or "" for the default naming
Returns
The first related object or a null pointer.

Definition at line 263 of file RelationsObject.h.

264 {
265 return static_cast<FROM*>(DataStore::Instance().getRelationWith(DataStore::c_FromSide, this, m_cacheDataStoreEntry,
266 m_cacheArrayIndex, FROM::Class(), name, namedRelation).object);
267 }

◆ getRelatedFrom() [2/2]

FROM * getRelatedFrom ( const std::string & name = "",
const std::string & namedRelation = "" ) const
inlineinherited

Get the object from which this object has a relation.

Template Parameters
FROMThe class of objects from which the relation points.
Parameters
nameThe name of the store array from which the relation points. If empty the default store array name for class FROM will be used. If the special name "ALL" is given all store arrays containing objects of type FROM are considered.
namedRelationAdditional name for the relation, or "" for the default naming
Returns
The first related object or a null pointer.

Definition at line 263 of file RelationsObject.h.

264 {
265 return static_cast<FROM*>(DataStore::Instance().getRelationWith(DataStore::c_FromSide, this, m_cacheDataStoreEntry,
266 m_cacheArrayIndex, FROM::Class(), name, namedRelation).object);
267 }

◆ getRelatedFromWithWeight() [1/2]

std::pair< FROM *, float > getRelatedFromWithWeight ( const std::string & name = "",
const std::string & namedRelation = "" ) const
inlineinherited

Get first related object & weight of relation pointing from an array.

Template Parameters
FROMThe class of objects from which the relation points.
Parameters
nameThe name of the store array from which the relation points. If empty the default store array name for class FROM will be used. If the special name "ALL" is given all store arrays containing objects of type FROM are considered.
namedRelationAdditional name for the relation, or "" for the default naming
Returns
Pair of first related object and the relation weight, or (NULL, 1.0) if none found.

Definition at line 314 of file RelationsObject.h.

316 {
317 RelationEntry entry = DataStore::Instance().getRelationWith(DataStore::c_FromSide, this, m_cacheDataStoreEntry, m_cacheArrayIndex,
318 FROM::Class(), name, namedRelation);
319 return std::make_pair(static_cast<FROM*>(entry.object), entry.weight);
320 }

◆ getRelatedFromWithWeight() [2/2]

std::pair< FROM *, float > getRelatedFromWithWeight ( const std::string & name = "",
const std::string & namedRelation = "" ) const
inlineinherited

Get first related object & weight of relation pointing from an array.

Template Parameters
FROMThe class of objects from which the relation points.
Parameters
nameThe name of the store array from which the relation points. If empty the default store array name for class FROM will be used. If the special name "ALL" is given all store arrays containing objects of type FROM are considered.
namedRelationAdditional name for the relation, or "" for the default naming
Returns
Pair of first related object and the relation weight, or (NULL, 1.0) if none found.

Definition at line 314 of file RelationsObject.h.

316 {
317 RelationEntry entry = DataStore::Instance().getRelationWith(DataStore::c_FromSide, this, m_cacheDataStoreEntry, m_cacheArrayIndex,
318 FROM::Class(), name, namedRelation);
319 return std::make_pair(static_cast<FROM*>(entry.object), entry.weight);
320 }

◆ getRelatedTo() [1/2]

TO * getRelatedTo ( const std::string & name = "",
const std::string & namedRelation = "" ) const
inlineinherited

Get the object to which this object has a relation.

Template Parameters
TOThe class of objects to which the relation points.
Parameters
nameThe name of the store array to which the relation points. If empty the default store array name for class TO will be used. If the special name "ALL" is given all store arrays containing objects of type TO are considered.
namedRelationAdditional name for the relation, or "" for the default naming
Returns
The first related object or a null pointer.

Definition at line 248 of file RelationsObject.h.

249 {
250 return static_cast<TO*>(DataStore::Instance().getRelationWith(DataStore::c_ToSide, this, m_cacheDataStoreEntry, m_cacheArrayIndex,
251 TO::Class(), name, namedRelation).object);
252 }

◆ getRelatedTo() [2/2]

TO * getRelatedTo ( const std::string & name = "",
const std::string & namedRelation = "" ) const
inlineinherited

Get the object to which this object has a relation.

Template Parameters
TOThe class of objects to which the relation points.
Parameters
nameThe name of the store array to which the relation points. If empty the default store array name for class TO will be used. If the special name "ALL" is given all store arrays containing objects of type TO are considered.
namedRelationAdditional name for the relation, or "" for the default naming
Returns
The first related object or a null pointer.

Definition at line 248 of file RelationsObject.h.

249 {
250 return static_cast<TO*>(DataStore::Instance().getRelationWith(DataStore::c_ToSide, this, m_cacheDataStoreEntry, m_cacheArrayIndex,
251 TO::Class(), name, namedRelation).object);
252 }

◆ getRelatedToWithWeight() [1/2]

std::pair< TO *, float > getRelatedToWithWeight ( const std::string & name = "",
const std::string & namedRelation = "" ) const
inlineinherited

Get first related object & weight of relation pointing to an array.

Template Parameters
TOThe class of objects to which the relation points.
Parameters
nameThe name of the store array to which the relation points. If empty the default store array name for class TO will be used. If the special name "ALL" is given all store arrays containing objects of type TO are considered.
namedRelationAdditional name for the relation, or "" for the default naming
Returns
Pair of first related object and the relation weight, or (NULL, 1.0) if none found.

Definition at line 297 of file RelationsObject.h.

299 {
300 RelationEntry entry = DataStore::Instance().getRelationWith(DataStore::c_ToSide, this, m_cacheDataStoreEntry, m_cacheArrayIndex,
301 TO::Class(), name, namedRelation);
302 return std::make_pair(static_cast<TO*>(entry.object), entry.weight);
303 }

◆ getRelatedToWithWeight() [2/2]

std::pair< TO *, float > getRelatedToWithWeight ( const std::string & name = "",
const std::string & namedRelation = "" ) const
inlineinherited

Get first related object & weight of relation pointing to an array.

Template Parameters
TOThe class of objects to which the relation points.
Parameters
nameThe name of the store array to which the relation points. If empty the default store array name for class TO will be used. If the special name "ALL" is given all store arrays containing objects of type TO are considered.
namedRelationAdditional name for the relation, or "" for the default naming
Returns
Pair of first related object and the relation weight, or (NULL, 1.0) if none found.

Definition at line 297 of file RelationsObject.h.

299 {
300 RelationEntry entry = DataStore::Instance().getRelationWith(DataStore::c_ToSide, this, m_cacheDataStoreEntry, m_cacheArrayIndex,
301 TO::Class(), name, namedRelation);
302 return std::make_pair(static_cast<TO*>(entry.object), entry.weight);
303 }

◆ getRelatedWithWeight() [1/2]

std::pair< T *, float > getRelatedWithWeight ( const std::string & name = "",
const std::string & namedRelation = "" ) const
inlineinherited

Get first related object & weight of relation pointing from/to an array.

Template Parameters
TThe class of objects to or from which the relation points.
Parameters
nameThe name of the store array to or from which the relation points. If empty the default store array name for class T will be used. If the special name "ALL" is given all store arrays containing objects of type T are considered.
namedRelationAdditional name for the relation, or "" for the default naming
Returns
Pair of first related object and the relation weight, or (NULL, 1.0) if none found.

Definition at line 331 of file RelationsObject.h.

333 {
334 RelationEntry entry = DataStore::Instance().getRelationWith(DataStore::c_BothSides, this, m_cacheDataStoreEntry, m_cacheArrayIndex,
335 T::Class(), name, namedRelation);
336 return std::make_pair(static_cast<T*>(entry.object), entry.weight);
337 }

◆ getRelatedWithWeight() [2/2]

std::pair< T *, float > getRelatedWithWeight ( const std::string & name = "",
const std::string & namedRelation = "" ) const
inlineinherited

Get first related object & weight of relation pointing from/to an array.

Template Parameters
TThe class of objects to or from which the relation points.
Parameters
nameThe name of the store array to or from which the relation points. If empty the default store array name for class T will be used. If the special name "ALL" is given all store arrays containing objects of type T are considered.
namedRelationAdditional name for the relation, or "" for the default naming
Returns
Pair of first related object and the relation weight, or (NULL, 1.0) if none found.

Definition at line 331 of file RelationsObject.h.

333 {
334 RelationEntry entry = DataStore::Instance().getRelationWith(DataStore::c_BothSides, this, m_cacheDataStoreEntry, m_cacheArrayIndex,
335 T::Class(), name, namedRelation);
336 return std::make_pair(static_cast<T*>(entry.object), entry.weight);
337 }

◆ getRelationsFrom() [1/2]

RelationVector< FROM > getRelationsFrom ( const std::string & name = "",
const std::string & namedRelation = "" ) const
inlineinherited

Get the relations that point from another store array to this object.

Template Parameters
FROMThe class of objects from which the relations point.
Parameters
nameThe name of the store array from which the relations point. If empty the default store array name for class FROM will be used. If the special name "ALL" is given all store arrays containing objects of type FROM are considered.
namedRelationAdditional name for the relation, or "" for the default naming
Returns
A vector of relations.

Definition at line 212 of file RelationsObject.h.

214 {
215 return RelationVector<FROM>(DataStore::Instance().getRelationsWith(DataStore::c_FromSide, this, m_cacheDataStoreEntry,
216 m_cacheArrayIndex, FROM::Class(), name, namedRelation));
217 }

◆ getRelationsFrom() [2/2]

RelationVector< FROM > getRelationsFrom ( const std::string & name = "",
const std::string & namedRelation = "" ) const
inlineinherited

Get the relations that point from another store array to this object.

Template Parameters
FROMThe class of objects from which the relations point.
Parameters
nameThe name of the store array from which the relations point. If empty the default store array name for class FROM will be used. If the special name "ALL" is given all store arrays containing objects of type FROM are considered.
namedRelationAdditional name for the relation, or "" for the default naming
Returns
A vector of relations.

Definition at line 212 of file RelationsObject.h.

214 {
215 return RelationVector<FROM>(DataStore::Instance().getRelationsWith(DataStore::c_FromSide, this, m_cacheDataStoreEntry,
216 m_cacheArrayIndex, FROM::Class(), name, namedRelation));
217 }

◆ getRelationsTo() [1/2]

RelationVector< TO > getRelationsTo ( const std::string & name = "",
const std::string & namedRelation = "" ) const
inlineinherited

Get the relations that point from this object to another store array.

Template Parameters
TOThe class of objects to which the relations point.
Parameters
nameThe name of the store array to which the relations point. If empty the default store array name for class TO will be used. If the special name "ALL" is given all store arrays containing objects of type TO are considered.
namedRelationAdditional name for the relation, or "" for the default naming
Returns
A vector of relations.

Definition at line 197 of file RelationsObject.h.

198 {
199 return RelationVector<TO>(DataStore::Instance().getRelationsWith(DataStore::c_ToSide, this, m_cacheDataStoreEntry,
200 m_cacheArrayIndex, TO::Class(), name, namedRelation));
201 }

◆ getRelationsTo() [2/2]

RelationVector< TO > getRelationsTo ( const std::string & name = "",
const std::string & namedRelation = "" ) const
inlineinherited

Get the relations that point from this object to another store array.

Template Parameters
TOThe class of objects to which the relations point.
Parameters
nameThe name of the store array to which the relations point. If empty the default store array name for class TO will be used. If the special name "ALL" is given all store arrays containing objects of type TO are considered.
namedRelationAdditional name for the relation, or "" for the default naming
Returns
A vector of relations.

Definition at line 197 of file RelationsObject.h.

198 {
199 return RelationVector<TO>(DataStore::Instance().getRelationsWith(DataStore::c_ToSide, this, m_cacheDataStoreEntry,
200 m_cacheArrayIndex, TO::Class(), name, namedRelation));
201 }

◆ getRelationsWith() [1/2]

RelationVector< T > getRelationsWith ( const std::string & name = "",
const std::string & namedRelation = "" ) const
inlineinherited

Get the relations between this object and another store array.

Relations in both directions are returned.

Template Parameters
TThe class of objects to or from which the relations point.
Parameters
nameThe name of the store array to or from which the relations point. If empty the default store array name for class T will be used. If the special name "ALL" is given all store arrays containing objects of type T are considered.
namedRelationAdditional name for the relation, or "" for the default naming
Returns
A vector of relations.

Definition at line 230 of file RelationsObject.h.

231 {
232 return RelationVector<T>(DataStore::Instance().getRelationsWith(DataStore::c_BothSides, this, m_cacheDataStoreEntry,
233 m_cacheArrayIndex, T::Class(), name, namedRelation));
234 }

◆ getRelationsWith() [2/2]

RelationVector< T > getRelationsWith ( const std::string & name = "",
const std::string & namedRelation = "" ) const
inlineinherited

Get the relations between this object and another store array.

Relations in both directions are returned.

Template Parameters
TThe class of objects to or from which the relations point.
Parameters
nameThe name of the store array to or from which the relations point. If empty the default store array name for class T will be used. If the special name "ALL" is given all store arrays containing objects of type T are considered.
namedRelationAdditional name for the relation, or "" for the default naming
Returns
A vector of relations.

Definition at line 230 of file RelationsObject.h.

231 {
232 return RelationVector<T>(DataStore::Instance().getRelationsWith(DataStore::c_BothSides, this, m_cacheDataStoreEntry,
233 m_cacheArrayIndex, T::Class(), name, namedRelation));
234 }

◆ getTrackFitResultIndices()

std::pair< short, short > getTrackFitResultIndices ( ) const
inlineinherited

Get indices of the TrackFitResults, that are part of the V0 particle.

Definition at line 65 of file V0.h.

66 {
67 return std::make_pair(m_trackFitResultIndexPositive, m_trackFitResultIndexNegative);
68 }

◆ getTrackFitResults()

std::pair< TrackFitResult *, TrackFitResult * > getTrackFitResults ( ) const
inlineinherited

Get pair of the TrackFitResults, that are part of the V0 particle.

Definition at line 58 of file V0.h.

59 {
60 StoreArray<TrackFitResult> trackFitResults;
61 return std::make_pair(trackFitResults[m_trackFitResultIndexPositive], trackFitResults[m_trackFitResultIndexNegative]);
62 }

◆ getTrackIndices()

std::pair< short, short > getTrackIndices ( ) const
inlineinherited

Get indices of the Tracks, that are part of the V0 particle.

Definition at line 52 of file V0.h.

53 {
54 return std::make_pair(m_trackIndexPositive, m_trackIndexNegative);
55 }

◆ getTracks()

std::pair< Track *, Track * > getTracks ( ) const
inlineinherited

Get pair of the Tracks, that are part of the V0 particle.

Definition at line 45 of file V0.h.

46 {
47 StoreArray<Track> tracks;
48 return std::make_pair(tracks[m_trackIndexPositive], tracks[m_trackIndexNegative]);
49 }

◆ getV0Hypothesis()

Const::ParticleType getV0Hypothesis ( ) const
inherited

Get the hypothesis under which the V0 particle was created.

This does not use an MC information, but just checks the particle type in the corresponding TrackFitResults.

Definition at line 25 of file V0.cc.

26{
27 StoreArray<TrackFitResult> trackFitResults{};
28 const auto posParticleType = trackFitResults[m_trackFitResultIndexPositive]->getParticleType();
29 const auto negParticleType = trackFitResults[m_trackFitResultIndexNegative]->getParticleType();
30
31 if ((posParticleType == Const::pion) && (negParticleType == Const::pion)) {
32 return Const::Kshort;
33 }
34 if ((posParticleType == Const::proton) && (negParticleType == Const::pion)) {
35 return Const::Lambda;
36 }
37 if ((posParticleType == Const::pion) && (negParticleType == Const::proton)) {
38 return Const::antiLambda;
39 }
40 if ((posParticleType == Const::electron) && (negParticleType == Const::electron)) {
41 return Const::photon;
42 }
44}
static const ParticleType unspecifiedParticle
Unspecified particle, used when no other particle type fits.
Definition Const.h:683
static const ParticleType Lambda
Lambda particle.
Definition Const.h:679
static const ChargedStable pion
charged pion particle
Definition Const.h:661
static const ParticleType antiLambda
Anti-Lambda particle.
Definition Const.h:680
static const ChargedStable proton
proton particle
Definition Const.h:663
static const ParticleType Kshort
K^0_S particle.
Definition Const.h:677
static const ParticleType photon
photon particle
Definition Const.h:673
static const ChargedStable electron
electron particle
Definition Const.h:659
short m_trackFitResultIndexNegative
Points to the new TrackFitResult of the positive Track.
Definition V0.h:106
short m_trackFitResultIndexPositive
Points to the new TrackFitResult of the positive Track.
Definition V0.h:103

◆ getVertexChi2()

float getVertexChi2 ( ) const
inline

Getter for the chi2 of the vertex fit.

Definition at line 90 of file V0ValidationVertex.h.

90{ return m_chi2; }

◆ getVertexPosition()

ROOT::Math::XYZVector getVertexPosition ( ) const
inline

Getter for the reconstructed vertex position. Aliases getFittedVertexPosition for backwards compatibility.

Definition at line 78 of file V0ValidationVertex.h.

78{ return getFittedVertexPosition(); }

◆ getVertexPositionCovariance()

TMatrixDSym getVertexPositionCovariance ( ) const
inline

Getter for the reconstructed vertex position covariance.

Definition at line 81 of file V0ValidationVertex.h.

81{ return m_fittedVertexPositionCovariance; }

Member Data Documentation

◆ m_cacheArrayIndex [1/2]

int m_cacheArrayIndex
mutableprivateinherited

Cache of the index in the TClonesArray to which this object belongs.

Definition at line 432 of file RelationsObject.h.

◆ m_cacheArrayIndex [2/2]

int m_cacheArrayIndex
mutableprivateinherited

Cache of the index in the TClonesArray to which this object belongs.

Definition at line 432 of file RelationsObject.h.

◆ m_cacheDataStoreEntry [1/2]

DataStore::StoreEntry* m_cacheDataStoreEntry
mutableprivateinherited

Cache of the data store entry to which this object belongs.

Definition at line 429 of file RelationsObject.h.

◆ m_cacheDataStoreEntry [2/2]

DataStore::StoreEntry* m_cacheDataStoreEntry
mutableprivateinherited

Cache of the data store entry to which this object belongs.

Definition at line 429 of file RelationsObject.h.

◆ m_chi2

float m_chi2
private

reconstructed chi2

Definition at line 96 of file V0ValidationVertex.h.

◆ m_fittedInvariantMass

float m_fittedInvariantMass
private

reconstructed invariant mass

Definition at line 95 of file V0ValidationVertex.h.

◆ m_fittedMomentum

float m_fittedMomentum
private

reconstructed momentum

Definition at line 94 of file V0ValidationVertex.h.

◆ m_fittedVertexPositionCovariance

TMatrixDSym m_fittedVertexPositionCovariance
private

vertex position covariance

Definition at line 93 of file V0ValidationVertex.h.

◆ m_fittedVertexX

Double32_t m_fittedVertexX = 0.0
privateinherited

The X coordinate of the fitted vertex.

Definition at line 88 of file V0.h.

◆ m_fittedVertexY

Double32_t m_fittedVertexY = 0.0
privateinherited

The Y coordinate of the fitted vertex.

Definition at line 91 of file V0.h.

◆ m_fittedVertexZ

Double32_t m_fittedVertexZ = 0.0
privateinherited

The Z coordinate of the fitted vertex.

Definition at line 94 of file V0.h.

◆ m_trackFitResultIndexNegative

short m_trackFitResultIndexNegative = -1
privateinherited

Points to the new TrackFitResult of the positive Track.

Definition at line 106 of file V0.h.

◆ m_trackFitResultIndexPositive

short m_trackFitResultIndexPositive = -1
privateinherited

Points to the new TrackFitResult of the positive Track.

Definition at line 103 of file V0.h.

◆ m_trackIndexNegative

short m_trackIndexNegative = -1
privateinherited

Indicates which negatively charged track was used for this V0.

Definition at line 100 of file V0.h.

◆ m_trackIndexPositive

short m_trackIndexPositive = -1
privateinherited

Indicates which positively charged track was used for this V0.

Definition at line 97 of file V0.h.


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