Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
KFParticleTopoReconstructor Class Reference

Class for reconstruction of the full event topology including primary vertices and short-lived particles. More...

#include <KFParticle/blob/master/KFParticle/KFParticleTopoReconstructor.h>

+ Collaboration diagram for KFParticleTopoReconstructor:

Public Member Functions

 KFParticleTopoReconstructor ()
 
 ~KFParticleTopoReconstructor ()
 
void Init (std::vector< KFParticle > &particles, std::vector< int > *pdg=0, std::vector< int > *nPixelHits=0)
 
void Init (const KFPTrackVector *particles, const std::vector< KFParticle > &pv)
 
void Init (KFPTrackVector &tracks, KFPTrackVector &tracksAtLastPoint)
 
void SetEmcClusters (KFPEmcCluster *clusters)
 Sets input clusters of the electromagnetic calorimeter to KFParticleFinder.
 
void SetMixedEventAnalysis ()
 KFParticleFinder is forced to be run in the mixed event analysis mode.
 
void DeInit ()
 Sets a pointer to the input tracks KFParticleTopoReconstructor::fTracks to NULL.
 
void Clear ()
 Cleans all candidates for primary vertices and short-lived particles.
 
void ReconstructPrimVertex (bool isHeavySystem=1)
 
void SortTracks ()
 
void ReconstructParticles ()
 
void SelectParticleCandidates ()
 
int NPrimaryVertices () const
 Returns number of the found primary vertex candidates.
 
KFParticleGetPrimVertex (int iPV=0) const
 Return primary vertex candidate with index "iPV".
 
KFVertexGetPrimKFVertex (int iPV=0) const
 Return primary vertex candidate with index "iPV".
 
std::vector< int > & GetPVTrackIndexArray (int iPV=0) const
 
std::vector< KFParticle > const & GetParticles () const
 Returns constant reference to the vector with short-lived particle candidates.
 
void RemoveParticle (const int iParticle)
 Logically kills the candidate for short-lived particle with index "iParticle" by setting its PDG hypothesis to "-1".
 
const KFPTrackVectorGetTracks () const
 Returns a pointer to the arrays with tracks KFParticleTopoReconstructor::fTracks.
 
const kfvector_floatGetChiPrim () const
 Returns a pointer to the arrays with chi2-deviations KFParticleTopoReconstructor::fChiToPrimVtx.
 
KFParticleFinderGetKFParticleFinder ()
 Returns a pointer to the KFParticleFinder object.
 
const KFParticleFinderGetKFParticleFinder () const
 Returns a constant pointer to the KFParticleFinder object.
 
void CleanPV ()
 
void AddPV (const KFVertex &pv, const std::vector< int > &tracks)
 
void AddPV (const KFVertex &pv)
 
void FillPVIndices ()
 
void AddParticle (const KFParticle &particle)
 Adds an external particle candidate to the vector.
 
void AddCandidate (const KFParticle &candidate, int iPV=-1)
 Adds an external particle candidate to the vector with primary or secondary candidates of KFParticleFinde.
 
void SetBeamLine (KFParticle &p)
 Sets the beam line for precise reconstruction of the primary vertex.
 
void SaveInputParticles (const std::string prefix="KFPData", bool onlySecondary=0)
 
void SetNThreads (short int n)
 Sets the number of threads to be run in KFParticleFinder. Currently is not used.
 
void SetChi2PrimaryCut (float chi)
 
void GetListOfDaughterTracks (const KFParticle &particle, std::vector< int > &daughters)
 
bool ParticleHasRepeatingDaughters (const KFParticle &particle)
 
const KFParticleTopoReconstructoroperator= (const KFParticleTopoReconstructor &a)
 
 KFParticleTopoReconstructor (const KFParticleTopoReconstructor &a)
 A copy constructor. All pointers are set to zero, other members are copied.
 
void CopyCuts (const KFParticleTopoReconstructor *topo)
 

Private Member Functions

void GetChiToPrimVertex (KFParticleSIMD *pv, const int nPV)
 
void TransportPVTracksToPrimVertex ()
 

Private Attributes

KFParticlePVReconstructorfKFParticlePVReconstructor
 Pointer to the KFParticlePVReconstructor. Allocated in the constructor.
 
KFParticleFinderfKFParticleFinder
 Pointer to the KFParticleFinder object. Allocated in the constructor.
 
KFPTrackVectorfTracks
 
kfvector_float fChiToPrimVtx [2]
 Chi2-deviation of the secondary tracks.
 
std::vector< KFParticlefParticles
 Vector of the reconstructed candidates of short-lived particles.
 
std::vector< KFParticleSIMD,
KFPSimdAllocator
< KFParticleSIMD > > 
fPV
 Vector of the reconstructed primary vertices.
 
short int fNThreads
 Number of threads to be run in KFParticleFinder. Currently is not used.
 

Detailed Description

Class for reconstruction of the full event topology including primary vertices and short-lived particles.

Author
I.Kisel, M.Zyzak
Date
05.02.2019
Version
1.0

The class receives as an input tracks from the track finder (both at first and last hit positions) with the PDG hypothesis, reconstructs primary vertex candidates, divides tracks into secondary and primary, each of these groups are subdivided into positive and negative tracks, then they are sorted according to the PDG hypothesis, short-lived particles are constructed, optionally competition between different particle hypothesis is run for the constructed candidates.

Definition at line 64 of file KFParticleTopoReconstructor.h.

View newest version in sPHENIX GitHub at line 64 of file KFParticleTopoReconstructor.h

Constructor & Destructor Documentation

KFParticleTopoReconstructor::KFParticleTopoReconstructor ( )
inline

The default constructor. Allocates memory for all pointers.

Definition at line 66 of file KFParticleTopoReconstructor.h.

View newest version in sPHENIX GitHub at line 66 of file KFParticleTopoReconstructor.h

References fKFParticleFinder, fKFParticlePVReconstructor, fNThreads, i, and KFParticleFinder::SetNThreads().

+ Here is the call graph for this function:

KFParticleTopoReconstructor::~KFParticleTopoReconstructor ( )

The default destructor. Deallocates memory for all pointers if objects exist.

Definition at line 41 of file KFParticleTopoReconstructor.cxx.

View newest version in sPHENIX GitHub at line 41 of file KFParticleTopoReconstructor.cxx

References fKFParticleFinder, fKFParticlePVReconstructor, and fTracks.

KFParticleTopoReconstructor::KFParticleTopoReconstructor ( const KFParticleTopoReconstructor a)
inline

A copy constructor. All pointers are set to zero, other members are copied.

Definition at line 235 of file KFParticleTopoReconstructor.h.

View newest version in sPHENIX GitHub at line 235 of file KFParticleTopoReconstructor.h

Member Function Documentation

void KFParticleTopoReconstructor::AddCandidate ( const KFParticle candidate,
int  iPV = -1 
)
inline

Adds an external particle candidate to the vector with primary or secondary candidates of KFParticleFinde.

Definition at line 189 of file KFParticleTopoReconstructor.h.

View newest version in sPHENIX GitHub at line 189 of file KFParticleTopoReconstructor.h

References KFParticleFinder::AddCandidate(), and fKFParticleFinder.

+ Here is the call graph for this function:

void KFParticleTopoReconstructor::AddParticle ( const KFParticle particle)
inline

Adds an external particle candidate to the vector.

Definition at line 187 of file KFParticleTopoReconstructor.h.

View newest version in sPHENIX GitHub at line 187 of file KFParticleTopoReconstructor.h

References fParticles.

void KFParticleTopoReconstructor::AddPV ( const KFVertex pv,
const std::vector< int > &  tracks 
)
inline

Adds externally found primary vertex to the list together with the cluster of tracks from this vertex.

Parameters
[in]pv- external primary vertex
[in]tracks- vector with indices of tracks associated with the provided primary vertex.

Definition at line 157 of file KFParticleTopoReconstructor.h.

View newest version in sPHENIX GitHub at line 157 of file KFParticleTopoReconstructor.h

References KFParticlePVReconstructor::AddPV(), fKFParticleFinder, fKFParticlePVReconstructor, fPV, and KFParticleFinder::SetNPV().

+ Here is the call graph for this function:

void KFParticleTopoReconstructor::AddPV ( const KFVertex pv)
inline

Adds externally found primary vertex to the list.

Parameters
[in]pv- external primary vertex

Definition at line 168 of file KFParticleTopoReconstructor.h.

View newest version in sPHENIX GitHub at line 168 of file KFParticleTopoReconstructor.h

References KFParticlePVReconstructor::AddPV(), fKFParticleFinder, fKFParticlePVReconstructor, fPV, and KFParticleFinder::SetNPV().

+ Here is the call graph for this function:

void KFParticleTopoReconstructor::CleanPV ( )
inline

Cleans vectors with primary vertex candidates and corresponding clusters by calling KFParticlePVReconstructor::CleanPV().

Definition at line 153 of file KFParticleTopoReconstructor.h.

View newest version in sPHENIX GitHub at line 153 of file KFParticleTopoReconstructor.h

References KFParticlePVReconstructor::CleanPV(), and fKFParticlePVReconstructor.

+ Here is the call graph for this function:

void KFParticleTopoReconstructor::Clear ( void  )
inline

Cleans all candidates for primary vertices and short-lived particles.

Definition at line 129 of file KFParticleTopoReconstructor.h.

View newest version in sPHENIX GitHub at line 129 of file KFParticleTopoReconstructor.h

References KFParticlePVReconstructor::CleanPV(), fKFParticlePVReconstructor, fParticles, and fPV.

+ Here is the call graph for this function:

void KFParticleTopoReconstructor::CopyCuts ( const KFParticleTopoReconstructor topo)
inline

Copy cuts from KF Particle Finder of another topology reconstructor object topo.

Definition at line 243 of file KFParticleTopoReconstructor.h.

View newest version in sPHENIX GitHub at line 243 of file KFParticleTopoReconstructor.h

References KFParticleFinder::CopyCuts(), and fKFParticleFinder.

+ Here is the call graph for this function:

void KFParticleTopoReconstructor::DeInit ( )
inline

Sets a pointer to the input tracks KFParticleTopoReconstructor::fTracks to NULL.

Definition at line 127 of file KFParticleTopoReconstructor.h.

View newest version in sPHENIX GitHub at line 127 of file KFParticleTopoReconstructor.h

References fTracks.

void KFParticleTopoReconstructor::FillPVIndices ( )
inline

Assigns index of the corresponding primary vertex to each input track according to the clusters reconstructed by KFParticlePVReconstructor.

Definition at line 177 of file KFParticleTopoReconstructor.h.

View newest version in sPHENIX GitHub at line 177 of file KFParticleTopoReconstructor.h

References fTracks, GetPVTrackIndexArray(), NPrimaryVertices(), and SetPVIndex().

+ Here is the call graph for this function:

const kfvector_float* KFParticleTopoReconstructor::GetChiPrim ( ) const
inline

Returns a pointer to the arrays with chi2-deviations KFParticleTopoReconstructor::fChiToPrimVtx.

Definition at line 148 of file KFParticleTopoReconstructor.h.

View newest version in sPHENIX GitHub at line 148 of file KFParticleTopoReconstructor.h

References fChiToPrimVtx.

void KFParticleTopoReconstructor::GetChiToPrimVertex ( KFParticleSIMD pv,
const int  nPV 
)
private

Calculates the chi2-deviation from the primary vertex. If several primary vertices are found the minimum value is stored.

Parameters
[in]pv- pointer to the array with primary vertices
[in]nPV- number of the primary vertices in the array

Definition at line 582 of file KFParticleTopoReconstructor.cxx.

View newest version in sPHENIX GitHub at line 582 of file KFParticleTopoReconstructor.cxx

References KFParticleSIMD::Create(), fChiToPrimVtx, float_vLen, fTracks, KFParticleBaseSIMD::GetDeviationFromVertex(), KFPTrackVector::PDG(), KFPTrackVector::Size(), KFParticleSIMD::TransportToPoint(), KFParticleSIMD::X(), KFParticleSIMD::Y(), and KFParticleSIMD::Z().

Referenced by ReconstructParticles().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

KFParticleFinder* KFParticleTopoReconstructor::GetKFParticleFinder ( )
inline

Returns a pointer to the KFParticleFinder object.

Definition at line 150 of file KFParticleTopoReconstructor.h.

View newest version in sPHENIX GitHub at line 150 of file KFParticleTopoReconstructor.h

References fKFParticleFinder.

const KFParticleFinder* KFParticleTopoReconstructor::GetKFParticleFinder ( ) const
inline

Returns a constant pointer to the KFParticleFinder object.

Definition at line 151 of file KFParticleTopoReconstructor.h.

View newest version in sPHENIX GitHub at line 151 of file KFParticleTopoReconstructor.h

References fKFParticleFinder.

void KFParticleTopoReconstructor::GetListOfDaughterTracks ( const KFParticle particle,
std::vector< int > &  daughters 
)

Returns the list of indices of all tracks used for construction of the given particle including tracks from the short-lived daughter particles in the decay chain.

Parameters
[in]particle- the particle to be processed
[out]daughters- a vector with indices of all daughter tracks

Definition at line 1002 of file KFParticleTopoReconstructor.cxx.

View newest version in sPHENIX GitHub at line 1002 of file KFParticleTopoReconstructor.cxx

References KFParticleBase::DaughterIds(), fParticles, and KFParticleBase::NDaughters().

Referenced by ParticleHasRepeatingDaughters().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

std::vector<KFParticle> const& KFParticleTopoReconstructor::GetParticles ( ) const
inline

Returns constant reference to the vector with short-lived particle candidates.

Definition at line 144 of file KFParticleTopoReconstructor.h.

View newest version in sPHENIX GitHub at line 144 of file KFParticleTopoReconstructor.h

References fParticles.

Referenced by KFPHistogram::Fill().

+ Here is the caller graph for this function:

KFVertex& KFParticleTopoReconstructor::GetPrimKFVertex ( int  iPV = 0) const
inline

Return primary vertex candidate with index "iPV".

Definition at line 140 of file KFParticleTopoReconstructor.h.

View newest version in sPHENIX GitHub at line 140 of file KFParticleTopoReconstructor.h

References fKFParticlePVReconstructor, and KFParticlePVReconstructor::GetPrimKFVertex().

+ Here is the call graph for this function:

KFParticle& KFParticleTopoReconstructor::GetPrimVertex ( int  iPV = 0) const
inline

Return primary vertex candidate with index "iPV".

Definition at line 139 of file KFParticleTopoReconstructor.h.

View newest version in sPHENIX GitHub at line 139 of file KFParticleTopoReconstructor.h

References fKFParticlePVReconstructor, and KFParticlePVReconstructor::GetPrimVertex().

Referenced by ReconstructPrimVertex(), and SelectParticleCandidates().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

std::vector<int>& KFParticleTopoReconstructor::GetPVTrackIndexArray ( int  iPV = 0) const
inline

Returns vector with track indices from a cluster with index "iPV".

Definition at line 142 of file KFParticleTopoReconstructor.h.

View newest version in sPHENIX GitHub at line 142 of file KFParticleTopoReconstructor.h

References fKFParticlePVReconstructor, and KFParticlePVReconstructor::GetPVTrackIndexArray().

Referenced by FillPVIndices(), ReconstructPrimVertex(), and SortTracks().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

const KFPTrackVector* KFParticleTopoReconstructor::GetTracks ( ) const
inline

Returns a pointer to the arrays with tracks KFParticleTopoReconstructor::fTracks.

Definition at line 147 of file KFParticleTopoReconstructor.h.

View newest version in sPHENIX GitHub at line 147 of file KFParticleTopoReconstructor.h

References fTracks.

void KFParticleTopoReconstructor::Init ( std::vector< KFParticle > &  particles,
std::vector< int > *  pdg = 0,
std::vector< int > *  nPixelHits = 0 
)

Copies provided particles to the vector KFParticleTopoReconstructor::fTracks assuming a given PDG hypothesis for each particle. If pointer to pdg-vector is not provided "-1" PDG is assigned to each input particle. If pointer to number of precise measurements is provided then this field of KFPTrackVector is also initialised. Only tracks at the first hit position are initialised by this method. The KFParticleTopoReconstructor::fKFParticlePVReconstructor is initialised with the copied tracks.

Parameters
[in]particles- vector with input particles (tracks)
[in]pdg- pointer to the vector with PDG hypothesis for each track, if pointer is not provided "-1" is set as the pdg hypothesis for all tracks
[in]nPixelHits- pointer to the vector with number of precise measurement in each track

Definition at line 252 of file KFParticleTopoReconstructor.cxx.

View newest version in sPHENIX GitHub at line 252 of file KFParticleTopoReconstructor.cxx

References fKFParticlePVReconstructor, fParticles, fPV, fTracks, Id(), KFParticlePVReconstructor::Init(), NInputSets, Q(), KFPTrackVector::Resize(), SetCovariance(), KFPTrackVector::SetId(), KFPTrackVector::SetNPixelHits(), SetParameter(), KFPTrackVector::SetPDG(), KFPTrackVector::SetPVIndex(), and KFPTrackVector::SetQ().

+ Here is the call graph for this function:

void KFParticleTopoReconstructor::Init ( const KFPTrackVector particles,
const std::vector< KFParticle > &  pv 
)

Initialises the pointer KFParticleTopoReconstructor::fTracks with the external pointer "particles". Primary vertices are assumed to be found and are also provided externally. Only reconstruction of short-lived particles should be run if this initialisation method is used. After reconstruction of short-lived particles the KFParticleTopoReconstructor::DeInit() method should be called, otherwise an external memory will be released that can lead to the memory corruption and segmentation fault.

Parameters
[in]particles- pointer to the external vectors with input tracks
[in]pv- vector with externally reconstructed primary vertex candidates

Definition at line 335 of file KFParticleTopoReconstructor.cxx.

View newest version in sPHENIX GitHub at line 335 of file KFParticleTopoReconstructor.cxx

References fChiToPrimVtx, fParticles, fPV, fTracks, particles, and Size().

+ Here is the call graph for this function:

void KFParticleTopoReconstructor::Init ( KFPTrackVector tracks,
KFPTrackVector tracksAtLastPoint 
)

Initialises tracks at the first and last hit positions. The KFParticleTopoReconstructor::fKFParticlePVReconstructor is initialised with the copied tracks at the first hit position.

Parameters
[in]tracks- vector with the tracks at the first hit position
[in]tracksAtLastPoint- vector with the tracks at the last hit position

Definition at line 304 of file KFParticleTopoReconstructor.cxx.

View newest version in sPHENIX GitHub at line 304 of file KFParticleTopoReconstructor.cxx

References fKFParticlePVReconstructor, fParticles, fPV, fTracks, KFParticlePVReconstructor::Init(), NInputSets, KFPTrackVector::Resize(), KFPTrackVector::Set(), and KFPTrackVector::Size().

+ Here is the call graph for this function:

int KFParticleTopoReconstructor::NPrimaryVertices ( ) const
inline

Returns number of the found primary vertex candidates.

Definition at line 138 of file KFParticleTopoReconstructor.h.

View newest version in sPHENIX GitHub at line 138 of file KFParticleTopoReconstructor.h

References fKFParticlePVReconstructor, and KFParticlePVReconstructor::NPrimaryVertices().

Referenced by FillPVIndices(), ReconstructPrimVertex(), SelectParticleCandidates(), and SortTracks().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

const KFParticleTopoReconstructor& KFParticleTopoReconstructor::operator= ( const KFParticleTopoReconstructor a)
inline

Copy operator. All pointers are set to zero, other members are copied. Returns the current object after copying is finished.

Definition at line 222 of file KFParticleTopoReconstructor.h.

View newest version in sPHENIX GitHub at line 222 of file KFParticleTopoReconstructor.h

References fKFParticleFinder, fKFParticlePVReconstructor, fNThreads, and fTracks.

bool KFParticleTopoReconstructor::ParticleHasRepeatingDaughters ( const KFParticle particle)

Checks if the provided particle candidate has two or more daughter tracks with the same index including tracks from the daughter particles in the decay chains. Such candidates should be rejected.

Definition at line 979 of file KFParticleTopoReconstructor.cxx.

View newest version in sPHENIX GitHub at line 979 of file KFParticleTopoReconstructor.cxx

References GetListOfDaughterTracks(), KFParticleBase::NDaughters(), and Acts::Experimental::detail::BlueprintHelper::sort().

+ Here is the call graph for this function:

void KFParticleTopoReconstructor::ReconstructParticles ( )

Runs reconstruction of the short-lived particles by KFParticleFinder. At first, primary tracks are transported to the DCA point with the corresponding primary vertices for better precision, chi2-deviation of the secondary tracks to the primary vertex is calculated, and than KFParticleFinder is run. Optionally cleanup of the output array of particle candidates can be run.

Definition at line 1016 of file KFParticleTopoReconstructor.cxx.

View newest version in sPHENIX GitHub at line 1016 of file KFParticleTopoReconstructor.cxx

References fChiToPrimVtx, KFParticleFinder::FindParticles(), fKFParticleFinder, fParticles, fPV, fTracks, GetChiToPrimVertex(), and TransportPVTracksToPrimVertex().

+ Here is the call graph for this function:

void KFParticleTopoReconstructor::ReconstructPrimVertex ( bool  isHeavySystem = 1)

Runs reconstruction of primary vertices. If "isHeavySystem" is defined - only the best vertex with the maximum number of tracks-contributors is stored.

Definition at line 357 of file KFParticleTopoReconstructor.cxx.

View newest version in sPHENIX GitHub at line 357 of file KFParticleTopoReconstructor.cxx

References KFParticlePVReconstructor::AddPV(), KFParticlePVReconstructor::CleanPV(), fKFParticlePVReconstructor, fPV, fTracks, KFParticlePVReconstructor::GetPrimKFVertex(), GetPrimVertex(), KFParticlePVReconstructor::GetPVTrackIndexArray(), GetPVTrackIndexArray(), i, NPrimaryVertices(), KFParticlePVReconstructor::ReconstructPrimVertex(), SetPVIndex(), and tracks().

+ Here is the call graph for this function:

void KFParticleTopoReconstructor::RemoveParticle ( const int  iParticle)
inline

Logically kills the candidate for short-lived particle with index "iParticle" by setting its PDG hypothesis to "-1".

Definition at line 146 of file KFParticleTopoReconstructor.h.

View newest version in sPHENIX GitHub at line 146 of file KFParticleTopoReconstructor.h

References fParticles.

void KFParticleTopoReconstructor::SaveInputParticles ( const std::string  prefix = "KFPData",
bool  onlySecondary = 0 
)

Stores input tracks to the output file. If the "onlySecondary" flag is set, only secondary particles are stored. As an input function takes the full path to the folder, where output files should be stored. For each event a corresponding file will be created in the provided folder. The name of the file is "event#_KFPTracks.data", where "#" is the number of the event.

Parameters
[in]prefix- path to the output folder
[in]onlySecondary- flag shows if only secondary tracks should be stored

Definition at line 1112 of file KFParticleTopoReconstructor.cxx.

View newest version in sPHENIX GitHub at line 1112 of file KFParticleTopoReconstructor.cxx

References configureMap::data, fPV, fTracks, GetCovariance(), KFParticle::GetFieldValue(), Id(), KFPTrackVector::LastElectron(), KFPTrackVector::LastKaon(), KFPTrackVector::LastMuon(), KFPTrackVector::LastPion(), KFPTrackVector::LastProton(), nEvents, NInputSets, out, writeMapConfig::outFileName, Parameter(), PDG(), PVIndex(), Q(), physmon_track_finding_ttbar::r, and KFPTrackVector::Size().

+ Here is the call graph for this function:

void KFParticleTopoReconstructor::SelectParticleCandidates ( )

Cleans reconstructed short-lived particles:
1) primary K0, Lambda, anti-Lambda, gamma, hypernuclei are selected;
2) competition between candidates defined by the KFParticleTopoReconstructor::UseParticleInCompetition is run;
3) dielectron spectrum is cleaned from gamma-electrons;
4) in the dielectron spectrum for low mass vector mesons only those candidates are left, which have both daughters identified as electrons.

Definition at line 663 of file KFParticleTopoReconstructor.cxx.

View newest version in sPHENIX GitHub at line 663 of file KFParticleTopoReconstructor.cxx

References KFParticle::Chi2(), ParticleInfo::compare(), DaughterIds(), f, fParticles, KFParticleDatabase::GetMotherMass(), GetPDG(), GetPrimVertex(), index, KFParticleDatabase::Instance(), mass, KFParticle::NDF(), NPrimaryVertices(), KFParticleBase::SetProductionVertex(), Acts::Experimental::detail::BlueprintHelper::sort(), Acts::Test::tmp(), and UseParticleInCompetition().

+ Here is the call graph for this function:

void KFParticleTopoReconstructor::SetBeamLine ( KFParticle p)
inline

Sets the beam line for precise reconstruction of the primary vertex.

Definition at line 191 of file KFParticleTopoReconstructor.h.

View newest version in sPHENIX GitHub at line 191 of file KFParticleTopoReconstructor.h

References fKFParticlePVReconstructor, and KFParticlePVReconstructor::SetBeamLine().

+ Here is the call graph for this function:

void KFParticleTopoReconstructor::SetChi2PrimaryCut ( float  chi)
inline

Sets the same chi-primary cut to the primary vertex finder and KF Particle Finder.

Definition at line 213 of file KFParticleTopoReconstructor.h.

View newest version in sPHENIX GitHub at line 213 of file KFParticleTopoReconstructor.h

References fKFParticleFinder, fKFParticlePVReconstructor, KFParticlePVReconstructor::SetChi2PrimaryCut(), and KFParticleFinder::SetChiPrimaryCut2D().

+ Here is the call graph for this function:

void KFParticleTopoReconstructor::SetEmcClusters ( KFPEmcCluster clusters)
inline

Sets input clusters of the electromagnetic calorimeter to KFParticleFinder.

Definition at line 124 of file KFParticleTopoReconstructor.h.

View newest version in sPHENIX GitHub at line 124 of file KFParticleTopoReconstructor.h

References fKFParticleFinder, and KFParticleFinder::SetEmcClusters().

+ Here is the call graph for this function:

void KFParticleTopoReconstructor::SetMixedEventAnalysis ( )
inline

KFParticleFinder is forced to be run in the mixed event analysis mode.

Definition at line 125 of file KFParticleTopoReconstructor.h.

View newest version in sPHENIX GitHub at line 125 of file KFParticleTopoReconstructor.h

References fKFParticleFinder, and KFParticleFinder::SetMixedEventAnalysis().

+ Here is the call graph for this function:

void KFParticleTopoReconstructor::SetNThreads ( short int  n)
inline

Sets the number of threads to be run in KFParticleFinder. Currently is not used.

Definition at line 211 of file KFParticleTopoReconstructor.h.

View newest version in sPHENIX GitHub at line 211 of file KFParticleTopoReconstructor.h

References fNThreads, and n.

void KFParticleTopoReconstructor::SortTracks ( )

Sorts input tracks according to they charge, relation to the primary vertex candidates, PDG hypothesis. The tracks after sorting are divided into several groups:
0) secondary positive at the first hit position;
1) secondary negative at the first hit position;
2) primary positive at the first hit position;
3) primary negative at the first hit position;
4) secondary positive at the last hit position;
5) secondary negative at the last hit position;
6) primary positive at the last hit position;
7) primary negative at the last hit position.
In each group they are sorted according to PDG: electrons, muons, pions, tracks without PID, kaons, protons, deuterons, tritons, He3, He4.

Definition at line 424 of file KFParticleTopoReconstructor.cxx.

View newest version in sPHENIX GitHub at line 424 of file KFParticleTopoReconstructor.cxx

References KFPTrackIndex::Compare(), fChiToPrimVtx, fKFParticlePVReconstructor, fTracks, KFParticlePVReconstructor::GetPVTrackIndexArray(), GetPVTrackIndexArray(), NPrimaryVertices(), offset, KFPTrackVector::PDG(), PVIndex(), KFPTrackVector::Q(), RecalculateLastIndex(), KFPTrackVector::Resize(), KFPTrackVector::Set(), KFPTrackVector::SetTracks(), SetTracks(), KFPTrackVector::Size(), Size(), and Acts::Experimental::detail::BlueprintHelper::sort().

+ Here is the call graph for this function:

void KFParticleTopoReconstructor::TransportPVTracksToPrimVertex ( )
private

Tracks which are considered as primary, i.e. were used in fit of candidates for the primary vertex, are transported to the DCA point to the corresponding primary vertex.

Definition at line 543 of file KFParticleTopoReconstructor.cxx.

View newest version in sPHENIX GitHub at line 543 of file KFParticleTopoReconstructor.cxx

References float_vLen, fPV, fTracks, KFParticleSIMD::GetCovariance(), KFParticleSIMD::GetParameter(), KFParticleSIMD::Load(), KFPTrackVector::PDG(), KFPTrackVector::PVIndex(), SetCovariance(), SetParameter(), KFPTrackVector::Size(), and KFParticleSIMD::TransportToPoint().

Referenced by ReconstructParticles().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

kfvector_float KFParticleTopoReconstructor::fChiToPrimVtx[2]
private

Chi2-deviation of the secondary tracks.

Definition at line 265 of file KFParticleTopoReconstructor.h.

View newest version in sPHENIX GitHub at line 265 of file KFParticleTopoReconstructor.h

Referenced by GetChiPrim(), GetChiToPrimVertex(), Init(), ReconstructParticles(), and SortTracks().

KFParticleFinder* KFParticleTopoReconstructor::fKFParticleFinder
private
KFParticlePVReconstructor* KFParticleTopoReconstructor::fKFParticlePVReconstructor
private
short int KFParticleTopoReconstructor::fNThreads
private

Number of threads to be run in KFParticleFinder. Currently is not used.

Definition at line 269 of file KFParticleTopoReconstructor.h.

View newest version in sPHENIX GitHub at line 269 of file KFParticleTopoReconstructor.h

Referenced by KFParticleTopoReconstructor(), operator=(), and SetNThreads().

std::vector<KFParticle> KFParticleTopoReconstructor::fParticles
private

Vector of the reconstructed candidates of short-lived particles.

Definition at line 266 of file KFParticleTopoReconstructor.h.

View newest version in sPHENIX GitHub at line 266 of file KFParticleTopoReconstructor.h

Referenced by AddParticle(), Clear(), GetListOfDaughterTracks(), GetParticles(), Init(), ReconstructParticles(), RemoveParticle(), and SelectParticleCandidates().

std::vector<KFParticleSIMD, KFPSimdAllocator<KFParticleSIMD> > KFParticleTopoReconstructor::fPV
private

Vector of the reconstructed primary vertices.

Definition at line 267 of file KFParticleTopoReconstructor.h.

View newest version in sPHENIX GitHub at line 267 of file KFParticleTopoReconstructor.h

Referenced by AddPV(), Clear(), Init(), ReconstructParticles(), ReconstructPrimVertex(), SaveInputParticles(), and TransportPVTracksToPrimVertex().

KFPTrackVector* KFParticleTopoReconstructor::fTracks
private

Pointer to the array with the input tracks. Memory is allocated by the Init() functions. For reconstruction of primary vertex candidates unsorted tracks are used. For reconstruction of short-lived particles Tracks should be sorted by the KFParticleTopoReconstructor::SortTracks() function. The tracks after sorting are divided into several groups:
0) secondary positive at the first hit position;
1) secondary negative at the first hit position;
2) primary positive at the first hit position;
3) primary negative at the first hit position;
4) secondary positive at the last hit position;
5) secondary negative at the last hit position;
6) primary positive at the last hit position;
7) primary negative at the last hit position.

Definition at line 264 of file KFParticleTopoReconstructor.h.

View newest version in sPHENIX GitHub at line 264 of file KFParticleTopoReconstructor.h

Referenced by DeInit(), FillPVIndices(), GetChiToPrimVertex(), GetTracks(), Init(), operator=(), ReconstructParticles(), ReconstructPrimVertex(), SaveInputParticles(), SortTracks(), TransportPVTracksToPrimVertex(), and ~KFParticleTopoReconstructor().


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