FairRoot/PandaRoot
PndTrackingQualityMCInfo.h
Go to the documentation of this file.
1 
8 #ifndef PNDTRACKINGQUALITYMCINFO_H
9 #define PNDTRACKINGQUALITYMCINFO_H
10 
11 // #include "PndTrack.h"
12 #include "TVector3.h"
13 #include "TArrayI.h"
14 
15 
16 class PndTrackingQualityMCInfo : public TObject
17 {
18 
19  public:
20 
22  PndTrackingQualityMCInfo(int nofmvdpix, int nofmvdstr, int nofsttparal, int nofsttskew, int nofgem, int noffts);
25 
27 
28 
29  void SetPositionFirst(TVector3 pos) { fPosFirst = pos; }
30  void SetMomentumFirst(TVector3 mom) { fMomFirst = mom; }
31  void SetPositionLast(TVector3 pos) { fPosLast = pos; }
32  void SetMomentumLast(TVector3 mom) { fMomLast = mom; }
33 
34  void SetCharge(int ch) { fCharge = ch; }
36  void SetVertex(TVector3 val) { fVertex = val;}
37  void SetMomentum(TVector3 val) { fMomentum = val; }
38 
39 
46  Int_t GetNofGemPoints() {return fNofGemPoints; }
47  Int_t GetNofFtsPoints() {return fNofFtsPoints; }
49 
50  Int_t GetMCTrackID() { return fMCTrackID; } //< Returns the corresponding MCTrack to an ideal track
51  Short_t GetNofRecoTracks(void) const { return fRecoTrackIDs.size(); } //< Returns the number of reco tracks associated to the ideal track
52  Int_t GetRecoTrackID(Int_t i=0) const { //< Returns the id of the ith reco track associated to the ideal track
53  if(i < GetNofRecoTracks()) return fRecoTrackIDs[i];
54  return -1; }
55  Int_t GetAssoRecoTrackID() const { return fAssoRecoTrackID; }
56 
57  TVector3 GetPositionFirst() { return fPosFirst; }
58  TVector3 GetMomentumFirst() { return fMomFirst; }
59  TVector3 GetPositionLast() { return fPosLast; }
60  TVector3 GetMomentumLast() { return fMomLast; }
61 
62  Int_t GetCharge() { return fCharge; }
64  TVector3 GetVertex() { return fVertex; }
65  TVector3 GetStartMomentum() { return fMomentum; }
66 
67  void SetPDGCode(int pdg) { fPDGCode = pdg; }
68  Int_t GetPDGCode() { return fPDGCode; }
69 
72 
73  void SetMCTrackID(Int_t mctrackid) { fMCTrackID = mctrackid; }
74  void SetRecoTrackIDs(const std::vector<int> recotrkids) { fRecoTrackIDs = recotrkids; }
75  void SetRecoTrackID(int recotrkid) {
76  fRecoTrackIDs.push_back(recotrkid);
77  }
78  void SetAssoRecoTrackID(int asso) { fAssoRecoTrackID = asso; }
80 
81  void SetQuality(int quality) { fQuality = quality; }
82  Int_t GetQuality() { return fQuality; }
83 
84  void SetMCQuality(int mcquality) { fMCQuality = mcquality; }
85  Int_t GetMCQuality() { return fMCQuality; }
86 
87  protected:
88 
90 
92  Int_t fMCTrackID;
93  std::vector<int> fRecoTrackIDs;
94  TVector3 fPosFirst, fMomFirst;
95  TVector3 fPosLast, fMomLast;
96 
97  Int_t fCharge; //< Charge from MCTrack
99  TVector3 fVertex; //< Vertex position from MCTrack
100  TVector3 fMomentum; //< Momentum at vertex position from MCTrack
101  Int_t fPDGCode; //< PDG code from MCTrack
102 
103  Int_t fQuality;
104  Int_t fMCQuality;
105  Int_t fAssoRecoTrackID; //< Id of the reco track with the highest efficiency (or highest purity if two tracks with identical eff. exist)
106 
108 };
109 
110 
111 #endif
ClassDef(PndTrackingQualityMCInfo, 3)
TVector3 pos
Int_t i
Definition: run_full.C:25
void SetMCTrackID(Int_t mctrackid)
Double_t val[nBoxes][nFEBox]
Definition: createCalib.C:11
void SetRecoTrackID(int recotrkid)
Double_t mom
Definition: plot_dirc.C:14
void SetRecoTrackIDs(const std::vector< int > recotrkids)
PndTrackingQualityMCInfo & operator=(const PndTrackingQualityMCInfo &info)
void SetReconstructabilityStatus(Int_t reco)
Short_t GetNofRecoTracks(void) const
int reco()
Int_t GetRecoTrackID(Int_t i=0) const