7be13e68 |
1 | #ifndef ALIHBTREADERESD_H |
2 | #define ALIHBTREADERESD_H |
7be13e68 |
3 | //___________________________________________________________________________ |
4 | ///////////////////////////////////////////////////////////////////////////// |
5 | // // |
6 | // Multi file reader for ESD // |
7 | // // |
8 | // This reader reads tracks from Event Summary Data // |
9 | // do not read particles // |
10 | // Piotr.Skowronski@cern.ch // |
11 | // more info: http://alisoft.cern.ch/people/skowron/analyzer/index.html // |
12 | // // |
13 | ///////////////////////////////////////////////////////////////////////////// |
14 | |
61f231ad |
15 | #include "AliHBTReader.h" |
7be13e68 |
16 | #include <TString.h> |
17 | class TFile; |
bed069a4 |
18 | class AliRunLoader; |
61f231ad |
19 | class AliESD; |
eb9ddbc0 |
20 | class AliESDtrack; |
7be13e68 |
21 | |
22 | class AliHBTReaderESD: public AliHBTReader |
23 | { |
24 | public: |
bed069a4 |
25 | AliHBTReaderESD(const Char_t* esdfilename = "AliESDs.root", const Char_t* galfilename = "galice.root"); |
7be13e68 |
26 | |
bed069a4 |
27 | AliHBTReaderESD(TObjArray* dirs,const Char_t* esdfilename = "AliESDs.root", const Char_t* galfilename = "galice.root"); |
7be13e68 |
28 | |
29 | virtual ~AliHBTReaderESD(); |
30 | |
bed069a4 |
31 | void Rewind(); |
7be13e68 |
32 | |
bed069a4 |
33 | void ReadParticles(Bool_t flag){fReadParticles = flag;} |
34 | Bool_t ReadsTracks() const {return kTRUE;} |
35 | Bool_t ReadsParticles() const {return fReadParticles;} |
eb9ddbc0 |
36 | void SetCheckParticlePID(Bool_t flag){fCheckParticlePID = flag;} |
37 | |
88378f71 |
38 | void ReadDataTPC(){} |
39 | void ReadDataITS(){} |
40 | |
41 | void SetTPCNClustersRange(Int_t min,Int_t max); |
42 | void SetTPCChi2PerCluserRange(Float_t min, Float_t max); |
eb9ddbc0 |
43 | |
98383320 |
44 | void SetChi2Range(Float_t min, Float_t max); |
88378f71 |
45 | void SetC00Range(Float_t min, Float_t max); |
46 | void SetC11Range(Float_t min, Float_t max); |
47 | void SetC22Range(Float_t min, Float_t max); |
48 | void SetC33Range(Float_t min, Float_t max); |
49 | void SetC44Range(Float_t min, Float_t max); |
50 | void SetNumberOfTrackPoints(Int_t n = 5,Float_t dr = 30.0) {fNTrackPoints = n; fdR = dr;} |
51 | Int_t GetNumberOfTrackPoints() const {return fNTrackPoints;} |
52 | void SetClusterMap(Bool_t flag = kTRUE){fClusterMap = flag;} |
8cb21125 |
53 | void SetITSTrackPoints(Bool_t flag = kTRUE){fITSTrackPoints = flag;} |
ae05eed3 |
54 | void MustTPC(Bool_t flag){fMustTPC = flag;} |
88378f71 |
55 | |
7be13e68 |
56 | enum ESpecies {kESDElectron = 0, kESDMuon, kESDPion, kESDKaon, kESDProton, kNSpecies}; |
bed069a4 |
57 | static Int_t GetSpeciesPdgCode(ESpecies spec);//skowron |
7be13e68 |
58 | |
61f231ad |
59 | Int_t ReadESD(AliESD* esd); |
eb9ddbc0 |
60 | |
bed069a4 |
61 | protected: |
62 | Int_t ReadNext(); |
63 | TFile* OpenFile(Int_t evno);//opens files to be read for given event |
eb9ddbc0 |
64 | Bool_t CheckTrack(AliESDtrack* t) const; |
65 | |
bed069a4 |
66 | TString fESDFileName;//name of the file with tracks |
67 | TString fGAlFileName;//name of the file with tracks |
68 | TFile* fFile;//! pointer to current ESD file |
69 | AliRunLoader* fRunLoader;//!Run Loader |
88378f71 |
70 | TIter* fKeyIterator; |
bed069a4 |
71 | Bool_t fReadParticles;//flag indicating wether to read particles from kinematics |
eb9ddbc0 |
72 | Bool_t fCheckParticlePID;//flag indicating to perform the check on PID of simulated particle |
7be13e68 |
73 | |
88378f71 |
74 | Int_t fNTrackPoints;//number of track points; if==0 track points are not created |
75 | Float_t fdR;//spacing between points (along radius) in cm |
76 | //Track Points are needed for Anti-Merging Cut |
77 | |
78 | Bool_t fClusterMap;//Flag indicating if Claster Map should be created for each track |
79 | //Claster map is needed for Anti-Splitting Cut |
8cb21125 |
80 | |
81 | Bool_t fITSTrackPoints;//Flag indicalting if track positions in ITS are to be read |
82 | //currently we use only position at first pixels wich are |
83 | //used by anti-merging cut in non-id analysis |
88378f71 |
84 | |
ae05eed3 |
85 | Bool_t fMustTPC;// must be reconstructed in TPC -> reject tracks reconstructed ITS stand alone |
86 | |
88378f71 |
87 | //Cut Parameters specific to TPC tracks |
88 | |
89 | Int_t fNTPCClustMin;//Number of clusters min value |
90 | Int_t fNTPCClustMax;//Number of clusters max value |
91 | |
92 | Float_t fTPCChi2PerClustMin;//Chi^2 per number of clusters min value |
93 | Float_t fTPCChi2PerClustMax;//Chi^2 per number of clusters max value |
94 | |
95 | |
96 | // Required parameters at vertex |
eb9ddbc0 |
97 | Float_t fChi2Min;//Chi^2 min value |
98 | Float_t fChi2Max;//Chi^2 max value |
99 | |
88378f71 |
100 | Float_t fC00Min;//C00 (0th diagonal element of covariance matrix) min value |
101 | Float_t fC00Max;//C00 (0th diagonal element of covariance matrix) max value |
102 | |
103 | Float_t fC11Min;//C11 (1th diagonal element of covariance matrix) min value |
104 | Float_t fC11Max;//C11 (1th diagonal element of covariance matrix) max value |
105 | |
106 | Float_t fC22Min;//C22 (2th diagonal element of covariance matrix) min value |
107 | Float_t fC22Max;//C22 (2th diagonal element of covariance matrix) max value |
108 | |
109 | Float_t fC33Min;//C33 (3th diagonal element of covariance matrix) min value |
110 | Float_t fC33Max;//C33 (3th diagonal element of covariance matrix) max value |
111 | |
112 | Float_t fC44Min;//C44 (4th diagonal element of covariance matrix) min value |
113 | Float_t fC44Max;//C44 (4th diagonal element of covariance matrix) max value |
114 | |
115 | // Required parameters at TPC Inner Layer |
116 | Float_t fTPCC00Min;//C00 (0th diagonal element of covariance matrix) min value |
117 | Float_t fTPCC00Max;//C00 (0th diagonal element of covariance matrix) max value |
118 | |
119 | Float_t fTPCC11Min;//C11 (1th diagonal element of covariance matrix) min value |
120 | Float_t fTPCC11Max;//C11 (1th diagonal element of covariance matrix) max value |
121 | |
122 | Float_t fTPCC22Min;//C22 (2th diagonal element of covariance matrix) min value |
123 | Float_t fTPCC22Max;//C22 (2th diagonal element of covariance matrix) max value |
124 | |
125 | Float_t fTPCC33Min;//C33 (3th diagonal element of covariance matrix) min value |
126 | Float_t fTPCC33Max;//C33 (3th diagonal element of covariance matrix) max value |
127 | |
128 | Float_t fTPCC44Min;//C44 (4th diagonal element of covariance matrix) min value |
129 | Float_t fTPCC44Max;//C44 (4th diagonal element of covariance matrix) max value |
130 | |
7be13e68 |
131 | private: |
bed069a4 |
132 | ClassDef(AliHBTReaderESD,2) |
7be13e68 |
133 | }; |
134 | |
135 | |
136 | #endif |