1 #ifndef AliHBTReaderTPC_H
2 #define AliHBTReaderTPC_H
4 #include "AliHBTReader.h"
6 //Multi file reader for TPC
8 //This reader reads tracks AliTPCtracks.root
9 // particles form gAlice
10 //Piotr.Skowronski@cern.ch
11 //more info: http://alisoft.cern.ch/people/skowron/analyzer/index.html
20 class AliHBTReaderTPC: public AliHBTReader
24 AliHBTReaderTPC(const Char_t* galicefilename);
25 AliHBTReaderTPC(TObjArray* dirs, const Char_t* galicefilename = "galice.root");
27 virtual ~AliHBTReaderTPC();
31 Bool_t ReadsTracks() const {return kTRUE;}
32 Bool_t ReadsParticles() const {return kTRUE;}
34 void SetMagneticField(Float_t mf){fMagneticField=mf;}
35 void UseMagneticFieldFromRun(Bool_t flag = kTRUE){fUseMagFFromRun=flag;}
37 void SetNClustersRange(Int_t min,Int_t max);
38 void SetChi2PerCluserRange(Float_t min, Float_t max);
39 void SetC00Range(Float_t min, Float_t max);
40 void SetC11Range(Float_t min, Float_t max);
41 void SetC22Range(Float_t min, Float_t max);
42 void SetC33Range(Float_t min, Float_t max);
43 void SetC44Range(Float_t min, Float_t max);
44 void SetNumberOfTrackPoints(Int_t n = 5,Float_t dr = 30.0) {fNTrackPoints = n; fdR = dr;}
45 Int_t GetNumberOfTrackPoints() const {return fNTrackPoints;}
47 //in the future this class is will read global tracking
49 Int_t OpenNextSession();
50 void DoOpenError(const char* msgfmt, ...);
52 TString fFileName;//name of the file with galice.root
53 AliRunLoader* fRunLoader;//!RL
54 AliTPCLoader* fTPCLoader;//!TPCLoader
55 Float_t fMagneticField;//magnetic field value that was enforced while reading
56 Bool_t fUseMagFFromRun;//flag indicating if using field specified in gAlice (kTRUE)
57 // or enforece other defined by fMagneticField
59 Int_t fNTrackPoints;//number of track points
60 Float_t fdR;//spacing between points (along radius) in cm
62 Int_t fNClustMin;//Number of clusters min value
63 Int_t fNClustMax;//Number of clusters max value
65 Float_t fNChi2PerClustMin;//Chi^2 per number of clusters min value
66 Float_t fNChi2PerClustMax;//Chi^2 per number of clusters max value
68 Float_t fC00Min;//C00 (0th diagonal element of covariance matrix) min value
69 Float_t fC00Max;//C00 (0th diagonal element of covariance matrix) max value
71 Float_t fC11Min;//C11 (1th diagonal element of covariance matrix) min value
72 Float_t fC11Max;//C11 (1th diagonal element of covariance matrix) max value
74 Float_t fC22Min;//C22 (2th diagonal element of covariance matrix) min value
75 Float_t fC22Max;//C22 (2th diagonal element of covariance matrix) max value
77 Float_t fC33Min;//C33 (3th diagonal element of covariance matrix) min value
78 Float_t fC33Max;//C33 (3th diagonal element of covariance matrix) max value
80 Float_t fC44Min;//C44 (4th diagonal element of covariance matrix) min value
81 Float_t fC44Max;//C44 (4th diagonal element of covariance matrix) max value
85 Bool_t CheckTrack(AliTPCtrack* t);
87 ClassDef(AliHBTReaderTPC,3)