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