]>
Commit | Line | Data |
---|---|---|
16701d1b | 1 | #ifndef AliHBTReaderTPC_H |
2 | #define AliHBTReaderTPC_H | |
c0cebee1 | 3 | //______________________________________________ |
16701d1b | 4 | // |
c0cebee1 | 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 | /////////////////////////////////////////////////////////////////////////// | |
1b446896 | 14 | |
c0cebee1 | 15 | #include "AliHBTReader.h" |
1b446896 | 16 | #include <TString.h> |
c0cebee1 | 17 | |
1b446896 | 18 | class TFile; |
bfb09ece | 19 | class TArrayF; |
bed069a4 | 20 | class AliRunLoader; |
21 | class AliTPCLoader; | |
3f745d47 | 22 | class AliTPCtrack; |
1b446896 | 23 | |
24 | class AliHBTReaderTPC: public AliHBTReader | |
25 | { | |
26 | public: | |
88cb7938 | 27 | AliHBTReaderTPC(); |
28 | AliHBTReaderTPC(const Char_t* galicefilename); | |
29 | AliHBTReaderTPC(TObjArray* dirs, const Char_t* galicefilename = "galice.root"); | |
c0cebee1 | 30 | AliHBTReaderTPC(const AliHBTReaderTPC& in); |
31 | ||
1b446896 | 32 | virtual ~AliHBTReaderTPC(); |
33 | ||
c0cebee1 | 34 | AliHBTReaderTPC& operator=(const AliHBTReaderTPC& in); |
35 | ||
bed069a4 | 36 | void Rewind(); |
1b446896 | 37 | |
bed069a4 | 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;} | |
1b446896 | 43 | |
3f745d47 | 44 | void SetNClustersRange(Int_t min,Int_t max); |
45 | void SetChi2PerCluserRange(Float_t min, Float_t max); | |
f5de2f09 | 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); | |
3f745d47 | 50 | void SetC44Range(Float_t min, Float_t max); |
f5de2f09 | 51 | void SetNumberOfTrackPoints(Int_t n = 5,Float_t dr = 30.0) {fNTrackPoints = n; fdR = dr;} |
52 | Int_t GetNumberOfTrackPoints() const {return fNTrackPoints;} | |
66d1d1a4 | 53 | void SetClusterMap(Bool_t flag = kTRUE){fClusterMap = flag;} |
54 | ||
1b446896 | 55 | protected: |
bed069a4 | 56 | Int_t ReadNext(); |
57 | Int_t OpenNextSession(); | |
58 | void DoOpenError(const char* msgfmt, ...); | |
1b446896 | 59 | |
bed069a4 | 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 | |
3f745d47 | 66 | |
66d1d1a4 | 67 | Int_t fNTrackPoints;//number of track points; if==0 track points are not created |
f5de2f09 | 68 | Float_t fdR;//spacing between points (along radius) in cm |
66d1d1a4 | 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 | |
f5de2f09 | 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 | |
3f745d47 | 87 | |
f5de2f09 | 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 | |
3f745d47 | 90 | |
f5de2f09 | 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 | |
3f745d47 | 93 | |
f5de2f09 | 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 | ||
1b446896 | 97 | private: |
3f745d47 | 98 | |
c0cebee1 | 99 | Bool_t CheckTrack(AliTPCtrack* t) const; |
66d1d1a4 | 100 | |
bed069a4 | 101 | ClassDef(AliHBTReaderTPC,3) |
1b446896 | 102 | }; |
103 | ||
104 | ||
1b446896 | 105 | #endif |