Belle II Software development
|
Object holding information for Kinks. More...
#include <Kink.h>
Public Member Functions | |
Kink () | |
Constructor without arguments; needed for I/O. | |
Kink (const std::pair< const Belle2::Track *, std::pair< const Belle2::TrackFitResult *, const Belle2::TrackFitResult * > > &trackPairMother, const std::pair< const Belle2::Track *, const Belle2::TrackFitResult * > &trackPairDaughter, const Double32_t vertexX, const Double32_t vertexY, const Double32_t vertexZ, const short filterFlag) | |
Constructor taking two pairs of tracks and trackFitResults, the fitted vertex coordinates, and filter flag. | |
Track * | getMotherTrack () const |
Get mother Track . | |
Track * | getDaughterTrack () const |
Get daughter Track (it is the same as mother's in case of track splitting). | |
short | getMotherTrackIndex () const |
Get index of the mother Track . | |
short | getDaughterTrackIndex () const |
Get index of the daughter Track (it is the same as mother's in case of track splitting). | |
TrackFitResult * | getMotherTrackFitResultStart () const |
Get the TrackFitResult of mother at the starting point. | |
TrackFitResult * | getMotherTrackFitResultEnd () const |
Get the TrackFitResult of mother at the ending point. | |
TrackFitResult * | getDaughterTrackFitResult () const |
Get the TrackFitResult of daughter at the starting point. | |
short | getTrackFitResultIndexMotherStart () const |
Get index of the TrackFitResult of mother at the starting point. | |
short | getTrackFitResultIndexMotherEnd () const |
Get index of the TrackFitResult of mother at the ending point. | |
short | getTrackFitResultIndexDaughter () const |
Get index of the TrackFitResult of daughter at the starting point. | |
Double32_t | getFittedVertexX () const |
Get the X coordinate of the fitted kink vertex. | |
Double32_t | getFittedVertexY () const |
Get the Y coordinate of the fitted kink vertex. | |
Double32_t | getFittedVertexZ () const |
Get the Z coordinate of the fitted kink vertex. | |
ROOT::Math::XYZVector | getFittedVertexPosition () const |
Get the fitted kink vertex position. | |
short | getFilterFlag () const |
Get the filter flag. | |
short | getPrefilterFlag () const |
Get the flag of prefilter with which kink track pair (or track in case of splitting) was selected. | |
short | getCombinedFitResultFlag () const |
Get the flag containing information about combined fit for track pairs. | |
short | getSplitTrackDistanceAtVertexFlag () const |
Get the flag showing if the distance at kink vertex criteria was failed for split track. | |
short | getNumberOfReassignedHits () const |
Get signed number of reassigned hits (- from daughter to mother, + from mother to daughter). | |
void | addRelationTo (const RelationsInterface< BASE > *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< BASE > *sourceObj) |
Copies all relations of sourceObj (pointing from or to sourceObj) to this object (including weights). | |
template<class TO > | |
RelationVector< TO > | getRelationsTo (const std::string &name="", const std::string &namedRelation="") const |
Get the relations that point from this object to another store array. | |
template<class FROM > | |
RelationVector< FROM > | getRelationsFrom (const std::string &name="", const std::string &namedRelation="") const |
Get the relations that point from another store array to this object. | |
template<class T > | |
RelationVector< T > | getRelationsWith (const std::string &name="", const std::string &namedRelation="") const |
Get the relations between this object and another store array. | |
template<class TO > | |
TO * | getRelatedTo (const std::string &name="", const std::string &namedRelation="") const |
Get the object to which this object has a relation. | |
template<class FROM > | |
FROM * | getRelatedFrom (const std::string &name="", const std::string &namedRelation="") const |
Get the object from which this object has a relation. | |
template<class T > | |
T * | getRelated (const std::string &name="", const std::string &namedRelation="") const |
Get the object to or from which this object has a relation. | |
template<class TO > | |
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. | |
template<class FROM > | |
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. | |
template<class T > | |
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 | 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 | 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. | |
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). | |
Private Member Functions | |
ClassDef (Kink, 1) | |
Macro for ROOTification. | |
Private Attributes | |
short | m_trackIndexMother = -1 |
Indicates which mother Track was used for this Kink . | |
short | m_trackIndexDaughter = -1 |
Indicates which daughter Track was used for this Kink (it is the same as mother's in case of track splitting). | |
short | m_trackFitResultIndexMotherStart = -1 |
Points to the new TrackFitResult of the mother Track at Start. | |
short | m_trackFitResultIndexMotherEnd = -1 |
Points to the new TrackFitResult of the mother Track at End. | |
short | m_trackFitResultIndexDaughter = -1 |
Points to the new TrackFitResult of the daughter Track at Start. | |
Double32_t | m_fittedVertexX = 0.0 |
The X coordinate of the fitted kink vertex. | |
Double32_t | m_fittedVertexY = 0.0 |
The Y coordinate of the fitted kink vertex. | |
Double32_t | m_fittedVertexZ = 0.0 |
The Z coordinate of the fitted kink vertex. | |
short | m_filterFlag = 0 |
The filter flag of the kink. | |
DataStore::StoreEntry * | m_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. | |
Friends | |
class | FixMergedObjectsModule |
Object holding information for Kinks.
This object holds the indices of the Tracks used to create the Kink, the indices of the TrackFitResults belonging to that Tracks [with material effects and hits as appropriate for the IP (mother) and the vertex (mother and daughter)], the fitted vertex position, and flag, indicating the filter used to reconstruct Kink, holding information about the combined fit of two tracks, and storing number of reassigned hits between the tracks.
Kink | ( | ) |
Constructor without arguments; needed for I/O.
Should not be used to create Kinks!
Definition at line 12 of file Kink.cc.
Kink | ( | const std::pair< const Belle2::Track *, std::pair< const Belle2::TrackFitResult *, const Belle2::TrackFitResult * > > & | trackPairMother, |
const std::pair< const Belle2::Track *, const Belle2::TrackFitResult * > & | trackPairDaughter, | ||
const Double32_t | vertexX, | ||
const Double32_t | vertexY, | ||
const Double32_t | vertexZ, | ||
const short | filterFlag | ||
) |
Constructor taking two pairs of tracks and trackFitResults, the fitted vertex coordinates, and filter flag.
trackPairMother | a pair of mother particle Belle2::Track and a pair of Belle2::TrackFitResult , the first Belle2::TrackFitResult is determined at IP, and the second one is determined at the kink vertex |
trackPairDaughter | a pair of daughter particle Belle2::Track and Belle2::TrackFitResult determined at the kink vertex |
vertexX | X coordinate of kink vertex |
vertexY | Y coordinate of kink vertex |
vertexZ | Z coordinate of kink vertex |
filterFlag | a flag containing the following information: the 1st digit is a flag of filter used to preselect the kink candidate (from 1 to 5); the 2nd and 3rd digits form a flag of the two tracks combined fit result (from 0 to 15, 18, and 19) if the first digit is 1 or 2; if the first digit is 3 to 5, then the second digit is equal to 1 when the distance between daughter and mother track at vertex bigger than the cut in KinkFitter ; the 4th and 5th digits together show the number of reassigned hits between tracks (from 0 to 32); the sign shows from which track the hits were taken (- from daughter, + from mother). The content of the filterFlag may change, please, refer for the details to KinkFitter.cc . |
Definition at line 24 of file Kink.cc.
|
inlineinherited |
Add a relation from this object to another object (with caching).
object | The object to which the relation should point. |
weight | The weight of the relation. |
namedRelation | Additional name for the relation, or "" for the default naming |
Definition at line 142 of file RelationsObject.h.
|
inlineinherited |
Add a relation from this object to another object (no caching, can be quite slow).
object | The object to which the relation should point. |
weight | The weight of the relation. |
namedRelation | Additional name for the relation, or "" for the default naming |
Definition at line 155 of file RelationsObject.h.
|
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.
|
inlineinherited |
Returns this object's array index (in StoreArray), or -1 if not found.
Definition at line 385 of file RelationsObject.h.
|
inlineinherited |
Get name of array this object is stored in, or "" if not found.
Definition at line 377 of file RelationsObject.h.
|
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.
|
inline |
Get the flag containing information about combined fit for track pairs.
For details, refer to the documentation of Kink::m_filterFlag.
Definition at line 143 of file Kink.h.
Track * getDaughterTrack | ( | ) | const |
Get daughter Track
(it is the same as mother's in case of track splitting).
Definition at line 47 of file Kink.cc.
TrackFitResult * getDaughterTrackFitResult | ( | ) | const |
Get the TrackFitResult
of daughter at the starting point.
Definition at line 71 of file Kink.cc.
|
inline |
Get index of the daughter Track
(it is the same as mother's in case of track splitting).
|
inline |
Get the filter flag.
For the content of the flag, refer to the documentation of Kink::m_filterFlag. Use this function only in case one of the content getters for some reason returns wrong values.
|
inline |
Get the fitted kink vertex position.
|
inline |
|
inline |
|
inline |
|
inlineinherited |
Return a short summary of this object's contents in raw text format.
Returns the contents of getInfoHTML() while translating line-breaks etc.
Definition at line 370 of file RelationsObject.h.
|
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:
Reimplemented in Particle, Cluster, MCParticle, PIDLikelihood, SoftwareTriggerResult, Track, TrackFitResult, TRGSummary, and RecoTrack.
Definition at line 362 of file RelationsObject.h.
Track * getMotherTrack | ( | ) | const |
Get mother Track
.
Definition at line 39 of file Kink.cc.
TrackFitResult * getMotherTrackFitResultEnd | ( | ) | const |
Get the TrackFitResult
of mother at the ending point.
Definition at line 63 of file Kink.cc.
TrackFitResult * getMotherTrackFitResultStart | ( | ) | const |
Get the TrackFitResult
of mother at the starting point.
Definition at line 55 of file Kink.cc.
|
inline |
Get index of the mother Track
.
|
inlinevirtualinherited |
Return a short name that describes this object, e.g.
pi+ for an MCParticle.
Reimplemented in Particle, MCParticle, and SpacePoint.
Definition at line 344 of file RelationsObject.h.
|
inline |
Get signed number of reassigned hits (- from daughter to mother, + from mother to daughter).
For details, refer to the documentation of Kink::m_filterFlag.
|
inline |
Get the flag of prefilter with which kink track pair (or track in case of splitting) was selected.
For details, refer to the documentation of Kink::m_filterFlag.
|
inlineinherited |
Get the object to or from which this object has a relation.
T | The class of objects to or from which the relation points. |
name | The 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. |
namedRelation | Additional name for the relation, or "" for the default naming |
Definition at line 278 of file RelationsObject.h.
|
inlineinherited |
Get the object from which this object has a relation.
FROM | The class of objects from which the relation points. |
name | The 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. |
namedRelation | Additional name for the relation, or "" for the default naming |
Definition at line 263 of file RelationsObject.h.
|
inlineinherited |
Get first related object & weight of relation pointing from an array.
FROM | The class of objects from which the relation points. |
name | The 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. |
namedRelation | Additional name for the relation, or "" for the default naming |
Definition at line 314 of file RelationsObject.h.
|
inlineinherited |
Get the object to which this object has a relation.
TO | The class of objects to which the relation points. |
name | The 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. |
namedRelation | Additional name for the relation, or "" for the default naming |
Definition at line 248 of file RelationsObject.h.
|
inlineinherited |
Get first related object & weight of relation pointing to an array.
TO | The class of objects to which the relation points. |
name | The 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. |
namedRelation | Additional name for the relation, or "" for the default naming |
Definition at line 297 of file RelationsObject.h.
|
inlineinherited |
Get first related object & weight of relation pointing from/to an array.
T | The class of objects to or from which the relation points. |
name | The 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. |
namedRelation | Additional name for the relation, or "" for the default naming |
Definition at line 331 of file RelationsObject.h.
|
inlineinherited |
Get the relations that point from another store array to this object.
FROM | The class of objects from which the relations point. |
name | The 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. |
namedRelation | Additional name for the relation, or "" for the default naming |
Definition at line 212 of file RelationsObject.h.
|
inlineinherited |
Get the relations that point from this object to another store array.
TO | The class of objects to which the relations point. |
name | The 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. |
namedRelation | Additional name for the relation, or "" for the default naming |
Definition at line 197 of file RelationsObject.h.
|
inlineinherited |
Get the relations between this object and another store array.
Relations in both directions are returned.
T | The class of objects to or from which the relations point. |
name | The 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. |
namedRelation | Additional name for the relation, or "" for the default naming |
Definition at line 230 of file RelationsObject.h.
|
inline |
Get the flag showing if the distance at kink vertex criteria was failed for split track.
For details, refer to the documentation of Kink::m_filterFlag.
Definition at line 152 of file Kink.h.
|
inline |
Get index of the TrackFitResult
of daughter at the starting point.
|
inline |
Get index of the TrackFitResult
of mother at the ending point.
|
inline |
Get index of the TrackFitResult
of mother at the starting point.
|
friend |
|
mutableprivateinherited |
Cache of the index in the TClonesArray to which this object belongs.
Definition at line 432 of file RelationsObject.h.
|
mutableprivateinherited |
Cache of the data store entry to which this object belongs.
Definition at line 429 of file RelationsObject.h.
|
private |
The filter flag of the kink.
1st digit represents the filter in KinkFinderModule
used to preselect the kink candidate (from 1 to 5): Filter 1, 2, 4, and 5 of KinkFinderModule
are saved as 1 (track pair that has close endpoints); Filter 3 and 6 of KinkFinderModule
are saved as 2 (track pair selected with daughter Helix extrapolation); Filter 7, 8, and 9 of KinkFinderModule
are saved as 3, 4, and 5, respectively (split tracks). Split-track kinks (3-5) have worse resolutions compared to track-pair kinks (1-2). The filter number (3-5) for split-track kinks might be helpful to supress false track splitting with ML. The kinks created from track pair that has close endpoints (1) might have better resolutions than ones selected with daughter Helix extrapolation (2).
2nd and 3rd digits for filter 1-6 of KinkFinderModule
represent the result of combined fit (from 0 to 15, 18 and 19); 19 means fit of combined track is failed; 18 means combined track has less n.d.f. than mother track; if <16, it should be understood in bit form, where the results of following comparisons are 1 or 0: 1st bit: p-value of combined fit > p-value of mother fit; 2nd bit: p-value of combined fit > p-value of daughter fit; 3rd bit: n.d.f. of combined track > n.d.f. daughter track; 4th bit: p-value of combined fit > 10^{−7}.
2nd digit for filter 7-9 of KinkFinderModule
shows 1 (0) if the distance at the fitted vertex is bigger (smaller) than required cut in KinkFitter
.
4th and 5th digits together form a number of reassigned hits (from 0 to 32); If more than 32 hits are reassigned, set 32.
The sign shows from which track the hits were taken (- from daughter, + from mother).
The content of the m_filterFlag may change, please, refer for the details to KinkFitter.cc
.
Example 1: -23181: -2318"1" track pair was preselected with filter 1, 2, 4, or 5 (mother track and daughter track end points are close); -23"18"1 the exit code of combined fit is 18, so the combined track has less n.d.f. than mother track; "-23"181 – 23 hits were reassigned from daughter track to mother track Example 2: 2015: 201"5" kink was created from split track selected with filter 9 (track did not pass neither mother nor daughter preselection criteria); 2"01"5 the code 1 means that the distance at the fitted kink vertex is larger than the set cut; "2"015 – 2 hits were reassigned from mother track to daughter track
|
private |
|
private |
|
private |
|
private |
Points to the new TrackFitResult
of the daughter Track
at Start.
|
private |
Points to the new TrackFitResult
of the mother Track
at End.
|
private |
Points to the new TrackFitResult
of the mother Track
at Start.
|
private |
|
private |