]>
Commit | Line | Data |
---|---|---|
65a39007 | 1 | #ifndef AliFTrackMaker_H |
2 | #define AliFTrackMaker_H | |
3 | ||
4 | ////////////////////////////////////////////////////////////////////////// | |
5 | // // | |
6 | // AliFast TrackMaker class. // | |
7 | // // | |
8 | // // | |
9 | ////////////////////////////////////////////////////////////////////////// | |
10 | ||
11 | #ifndef AliFMaker_H | |
12 | #include "AliFMaker.h" | |
13 | #endif | |
14 | #ifndef ROOT_TMatrix | |
15 | #include <TMatrix.h> | |
16 | #endif | |
17 | #ifndef ROOT_TH1 | |
18 | #include <TH1.h> | |
19 | #endif | |
20 | ||
21 | class AliFTrack; | |
22 | #include "AliFDet.h" | |
23 | ||
24 | ||
25 | class AliFTrackMaker : public AliFMaker { | |
26 | ||
27 | protected: | |
28 | Int_t fNTracks; //Number of tracks | |
29 | Int_t fRecTrack; //Tracks reconstruction on/off | |
30 | //masses | |
31 | Double_t fPionMass; | |
32 | Double_t fKaonMass; | |
33 | Double_t fElectronMass; | |
34 | Double_t fProtonMass; | |
35 | //matrices | |
36 | Double_t fHH[kNMaxDet2][kNMaxDet2]; | |
37 | Double_t fHHI[kNMaxDet2][kNMaxDet2]; | |
38 | //TPC resolution | |
39 | Double_t fSigmaRPhiSQ; | |
40 | Double_t fSigmaZSQ; | |
41 | // Tracks histograms (control) | |
42 | TH1D *fResID11; //histogram ID11 Elec: delta(1/pTot)/pTot | |
43 | TH1D *fResID12; //histogram ID12 Elec: delta(lambda)/lambda | |
44 | TH1D *fResID13; //histogram ID13 Elec: delta(phi)/phi | |
45 | TH1D *fResID21; //histogram ID21 Pion: delta(1/pTot)/pTot | |
46 | TH1D *fResID22; //histogram ID22 Pion: delta(lambda)/lambda | |
47 | TH1D *fResID23; //histogram ID23 Pion: delta(phi)/phi | |
48 | TH1D *fResID31; //histogram ID31 Kaon: delta(1/pTot)/pTot | |
49 | TH1D *fResID32; //histogram ID32 Kaon: delta(lambda)/lambda | |
50 | TH1D *fResID33; //histogram ID33 Kaon: delta(phi)/phi | |
51 | TH1D *fResID41; //histogram ID41 Proton: delta(1/pTot)/pTot | |
52 | TH1D *fResID42; //histogram ID42 Proton: delta(lambda)/lambda | |
53 | TH1D *fResID43; //histogram ID43 Proton: delta(phi)/phi | |
54 | // Tracks histograms (Test job) | |
55 | TH1D *fResID1Test; //histogram ID1 in res.f | |
56 | TH1D *fResID2Test; //histogram ID2 in res.f | |
57 | TH1D *fResID3Test; //histogram ID3 in res.f | |
58 | TH1D *fResID4Test; //histogram ID4 in res.f | |
59 | TH1D *fResID5Test; //histogram ID5 in res.f | |
60 | ||
61 | public: | |
62 | AliFTrackMaker(); | |
63 | AliFTrackMaker(const char *name, const char *title); | |
64 | virtual ~AliFTrackMaker(); | |
65 | virtual void Clear(Option_t *option=""); | |
66 | virtual void Draw(Option_t *option=""); | |
67 | virtual void Finish(); | |
68 | virtual void Init(); | |
69 | virtual void Make(); | |
70 | virtual void MakeTest(Int_t n); | |
71 | virtual void PrintInfo() {} | |
72 | AliFTrack *AddTrack(Int_t code, Double_t charge, Double_t pT, Double_t eta, Double_t phi, | |
73 | Double_t v11, Double_t v22, Double_t v33, | |
74 | Double_t v12, Double_t v13, Double_t v23, Int_t iFlag); | |
75 | void LogLikelyhood(Int_t idTrack, Double_t pInvers, Double_t lambda); | |
76 | void TPCResolution(Double_t ptransv, Double_t radiPad, Double_t lambda); | |
77 | Double_t ParticleMass(Int_t idTrack); | |
78 | Double_t Rapidity(Double_t pT, Double_t pZ); | |
79 | Double_t Angle(Double_t pX, Double_t pY); | |
80 | Int_t Charge(Int_t kf); | |
81 | Int_t Compress(Int_t kf); | |
82 | void ErrorMatrix(Int_t idTrack, Double_t pT, Double_t eta, | |
83 | Double_t &v11, Double_t &v22, Double_t &v33, | |
84 | Double_t &v12, Double_t &v13, Double_t &v23, Int_t &iFlag); | |
85 | ||
86 | // Getters | |
87 | Double_t HH(Int_t id1, Int_t id2) {return fHH[id1][id2];} | |
88 | Double_t HHI(Int_t id1, Int_t id2) {return fHHI[id1][id2];} | |
89 | Double_t SigmaRPhiSQ() {return fSigmaRPhiSQ;} | |
90 | Double_t SigmaZSQ() {return fSigmaZSQ;} | |
91 | Int_t NTracks() {return fNTracks;} | |
92 | ||
93 | ||
94 | // Getters Tracks histograms | |
95 | ||
96 | ||
97 | ||
98 | // Setters for tracks | |
99 | //masses | |
100 | void SetPionMass(Double_t val=0.1395679e0) {fPionMass=val;} | |
101 | void SetKaonMass(Double_t val=0.493646e0) {fKaonMass=val;} | |
102 | void SetElectronMass(Double_t val=0.51099906e-3) {fElectronMass=val;} | |
103 | void SetProtonMass(Double_t val=0.93827231e0) {fProtonMass=val;} | |
104 | void SetHH(Int_t id1, Int_t id2, Double_t hh) {fHH[id1][id2]=hh;} | |
105 | void SetHHI(Int_t id1, Int_t id2, Double_t hhi) {fHHI[id1][id2]=hhi;} | |
106 | void SetSigmaRPhiSQ(Double_t val){fSigmaRPhiSQ=val;} | |
107 | void SetSigmaZSQ(Double_t val){fSigmaZSQ=val;} | |
108 | void SetRecTrack(Int_t val=100){fRecTrack=val;} | |
109 | ||
110 | ||
111 | ||
112 | // | |
113 | ClassDef(AliFTrackMaker, 1) //AliFast TrackMaker | |
114 | }; | |
115 | ||
116 | #endif | |
117 | ||
118 | ||
119 | ||
120 | ||
121 | ||
122 | ||
123 | ||
124 |