PandaRoot
PndFTSTopoReconstructor.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 #ifndef PndFTSTopoReconstructor_H
14 #define PndFTSTopoReconstructor_H
15 
16 /*
17  * Interface class for use KFParticle Topology Reconstructor
18  */
19 
20 #include "KFPTopoReconstructor.h"
21 #include "KFPTrack.h"
22 #include <vector>
23 
24 class PndFTSCAGBTracker;
25 class PndFTSCATrackParam;
26 class KFParticle;
27 class KFParticleSIMD;
28 
30  public:
31  PndFTSTopoReconstructor() { fKFPTopoReconstructor = new KFPTopoReconstructor; };
33 
34  void Init(PndFTSCAGBTracker *tracker); // init array of particles
35 
36  void ReconstructPrimVertex(); // find primary vertex
37  void ReconstructParticles(); // find short-lived particles
38 
40  KFParticle &GetPrimVertex() const { return fKFPTopoReconstructor->GetPrimVertex(); };
41  vector<KFParticle> const &GetParticles() const { return fParticles; }
42  vector<KFPTrack> const &GetTracks() const { return tmpTracks; }
43  vector<int> const &GetRTrackIds() const { return fRTrackIds; }
44  vector<float> const &GetChiPrim() const { return fChiToPrimVtx; }
45 
46  private:
49 
50  void GetChiToPrimVertex(vector<KFPTrack> &tracks, KFParticleSIMD &pv, vector<float> &chi);
51 
52  KFPTopoReconstructor *fKFPTopoReconstructor;
53 
54  std::vector<KFPTrack> tmpTracks;
55  std::vector<const PndFTSCATrackParam *> tmpGbTracks; // pointer to the tracks in tracker
56 
57 #ifdef DO_TPCCATRACKER_EFF_PERFORMANCE
58  friend class PndFTSTopoPerformance;
59 #endif
60  vector<int> fRTrackIds; // id of reco tracks in GBTracker indiced by id of tracks in KFPTopoReconstructor. Need for performance
61 
62  vector<float> fChiToPrimVtx;
63  vector<KFParticle> fParticles;
64 }; // class PndFTSTopoReconstructor
65 
66 #endif // PndFTSTopoReconstructor_H
vector< KFParticle > const & GetParticles() const
KFParticle & GetPrimVertex()
Accessors.
vector< int > const & GetRTrackIds() const
vector< float > const & GetChiPrim() const
void Init(PndFTSCAGBTracker *tracker)
KFParticle & GetPrimVertex() const
Accessors.
vector< KFPTrack > const & GetTracks() const