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