]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HBTAN/AliHBTReaderTPC.h
Cuts on tracks quality implemented
[u/mrichter/AliRoot.git] / HBTAN / AliHBTReaderTPC.h
1 #ifndef AliHBTReaderTPC_H
2 #define AliHBTReaderTPC_H
3
4 #include "AliHBTReader.h"
5
6 //Multi file reader for TPC
7 //
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
12
13 #include <TString.h>
14 class TFile;
15 class AliRunLoader;
16 class AliTPCLoader;
17 class AliTPCtrack;
18
19 class AliHBTReaderTPC: public AliHBTReader
20 {
21   public:
22     AliHBTReaderTPC();
23     AliHBTReaderTPC(const Char_t* galicefilename);
24     AliHBTReaderTPC(TObjArray* dirs, const Char_t* galicefilename = "galice.root");
25
26     virtual ~AliHBTReaderTPC();
27     
28     void          Rewind();
29     
30     Bool_t        ReadsTracks() const {return kTRUE;}
31     Bool_t        ReadsParticles() const {return kTRUE;}
32     
33     void          SetMagneticField(Float_t mf){fMagneticField=mf;}
34     void          UseMagneticFieldFromRun(Bool_t flag = kTRUE){fUseMagFFromRun=flag;}
35     
36     void          SetNClustersRange(Int_t min,Int_t max);
37     void          SetChi2PerCluserRange(Float_t min, Float_t max);
38     void          SetC44Range(Float_t min, Float_t max);
39     
40   protected:
41     //in the future this class is will read global tracking
42     Int_t         ReadNext();
43     Int_t         OpenNextSession();
44     void          DoOpenError(const char* msgfmt, ...);
45     
46     TString       fFileName;//name of the file with galice.root
47     AliRunLoader* fRunLoader;//!RL
48     AliTPCLoader* fTPCLoader;//!TPCLoader
49     Float_t       fMagneticField;//magnetic field value that was enforced while reading
50     Bool_t        fUseMagFFromRun;//flag indicating if using field specified in gAlice (kTRUE)
51                                // or enforece other defined by fMagneticField
52     
53     Int_t fNClustMin;
54     Int_t fNClustMax;
55     
56     Float_t fNChi2PerClustMin;
57     Float_t fNChi2PerClustMax;
58     
59     Float_t fC44Min;
60     Float_t fC44Max;
61     
62   private:
63     
64     Bool_t CheckTrack(AliTPCtrack* t);
65   public:
66     ClassDef(AliHBTReaderTPC,3)
67 };
68
69
70 #endif