]>
Commit | Line | Data |
---|---|---|
1 | #ifndef AliHBTReaderTPC_H | |
2 | #define AliHBTReaderTPC_H | |
3 | //______________________________________________ | |
4 | // | |
5 | // class AliHBTReaderTPC | |
6 | // | |
7 | // reader for TPC tracks | |
8 | // needs galice.root | |
9 | // | |
10 | // more info: http://aliweb.cern.ch/people/skowron/analyzer/index.html | |
11 | // Piotr.Skowronski@cern.ch | |
12 | // | |
13 | /////////////////////////////////////////////////////////////////////////// | |
14 | ||
15 | #include "AliHBTReader.h" | |
16 | #include <TString.h> | |
17 | ||
18 | class TFile; | |
19 | class TArrayF; | |
20 | class AliRunLoader; | |
21 | class AliTPCLoader; | |
22 | class AliTPCtrack; | |
23 | ||
24 | class AliHBTReaderTPC: public AliHBTReader | |
25 | { | |
26 | public: | |
27 | AliHBTReaderTPC(); | |
28 | AliHBTReaderTPC(const Char_t* galicefilename); | |
29 | AliHBTReaderTPC(TObjArray* dirs, const Char_t* galicefilename = "galice.root"); | |
30 | AliHBTReaderTPC(const AliHBTReaderTPC& in); | |
31 | ||
32 | virtual ~AliHBTReaderTPC(); | |
33 | ||
34 | AliHBTReaderTPC& operator=(const AliHBTReaderTPC& in); | |
35 | ||
36 | void Rewind(); | |
37 | ||
38 | Bool_t ReadsTracks() const {return kTRUE;} | |
39 | Bool_t ReadsParticles() const {return kTRUE;} | |
40 | ||
41 | void SetMagneticField(Float_t mf){fMagneticField=mf;} | |
42 | void UseMagneticFieldFromRun(Bool_t flag = kTRUE){fUseMagFFromRun=flag;} | |
43 | ||
44 | void SetNClustersRange(Int_t min,Int_t max); | |
45 | void SetChi2PerCluserRange(Float_t min, Float_t max); | |
46 | void SetC00Range(Float_t min, Float_t max); | |
47 | void SetC11Range(Float_t min, Float_t max); | |
48 | void SetC22Range(Float_t min, Float_t max); | |
49 | void SetC33Range(Float_t min, Float_t max); | |
50 | void SetC44Range(Float_t min, Float_t max); | |
51 | void SetNumberOfTrackPoints(Int_t n = 5,Float_t dr = 30.0) {fNTrackPoints = n; fdR = dr;} | |
52 | Int_t GetNumberOfTrackPoints() const {return fNTrackPoints;} | |
53 | void SetClusterMap(Bool_t flag = kTRUE){fClusterMap = flag;} | |
54 | ||
55 | protected: | |
56 | Int_t ReadNext(); | |
57 | Int_t OpenNextSession(); | |
58 | void DoOpenError(const char* msgfmt, ...); | |
59 | ||
60 | TString fFileName;//name of the file with galice.root | |
61 | AliRunLoader* fRunLoader;//!RL | |
62 | AliTPCLoader* fTPCLoader;//!TPCLoader | |
63 | Float_t fMagneticField;//magnetic field value that was enforced while reading | |
64 | Bool_t fUseMagFFromRun;//flag indicating if using field specified in gAlice (kTRUE) | |
65 | // or enforece other defined by fMagneticField | |
66 | ||
67 | Int_t fNTrackPoints;//number of track points; if==0 track points are not created | |
68 | Float_t fdR;//spacing between points (along radius) in cm | |
69 | //Track Points are needed for Anti-Merging Cut | |
70 | ||
71 | Bool_t fClusterMap;//Flag indicating if Claster Map should be created for each track | |
72 | //Claster map is needed for Anti-Splitting Cut | |
73 | ||
74 | //Cut Parameters specific to TPC tracks | |
75 | ||
76 | Int_t fNClustMin;//Number of clusters min value | |
77 | Int_t fNClustMax;//Number of clusters max value | |
78 | ||
79 | Float_t fNChi2PerClustMin;//Chi^2 per number of clusters min value | |
80 | Float_t fNChi2PerClustMax;//Chi^2 per number of clusters max value | |
81 | ||
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 | private: | |
98 | ||
99 | Bool_t CheckTrack(AliTPCtrack* t) const; | |
100 | ||
101 | ClassDef(AliHBTReaderTPC,3) | |
102 | }; | |
103 | ||
104 | ||
105 | #endif |