Make coherent ROOTLIBS definition
[u/mrichter/AliRoot.git] / ALIFAST / AliFTrackMaker.h
CommitLineData
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
21class AliFTrack;
22#include "AliFDet.h"
23
24
25class AliFTrackMaker : public AliFMaker {
26
27protected:
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
61public:
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