Coding Violations Corrected.
[u/mrichter/AliRoot.git] / HBTAN / AliHBTReaderTPC.h
CommitLineData
16701d1b 1#ifndef AliHBTReaderTPC_H
2#define AliHBTReaderTPC_H
1b446896 3
4#include "AliHBTReader.h"
5
16701d1b 6//Multi file reader for TPC
7//
1b446896 8//This reader reads tracks AliTPCtracks.root
16701d1b 9// particles form gAlice
1b446896 10//Piotr.Skowronski@cern.ch
11//more info: http://alisoft.cern.ch/people/skowron/analyzer/index.html
12
13#include <TString.h>
14class TFile;
bfb09ece 15class TArrayF;
bed069a4 16class AliRunLoader;
17class AliTPCLoader;
3f745d47 18class AliTPCtrack;
1b446896 19
20class AliHBTReaderTPC: public AliHBTReader
21{
22 public:
88cb7938 23 AliHBTReaderTPC();
24 AliHBTReaderTPC(const Char_t* galicefilename);
25 AliHBTReaderTPC(TObjArray* dirs, const Char_t* galicefilename = "galice.root");
16701d1b 26
1b446896 27 virtual ~AliHBTReaderTPC();
28
bed069a4 29 void Rewind();
1b446896 30
bed069a4 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;}
1b446896 36
3f745d47 37 void SetNClustersRange(Int_t min,Int_t max);
38 void SetChi2PerCluserRange(Float_t min, Float_t max);
f5de2f09 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);
3f745d47 43 void SetC44Range(Float_t min, Float_t max);
f5de2f09 44 void SetNumberOfTrackPoints(Int_t n = 5,Float_t dr = 30.0) {fNTrackPoints = n; fdR = dr;}
45 Int_t GetNumberOfTrackPoints() const {return fNTrackPoints;}
66d1d1a4 46 void SetClusterMap(Bool_t flag = kTRUE){fClusterMap = flag;}
47
1b446896 48 protected:
bed069a4 49 Int_t ReadNext();
50 Int_t OpenNextSession();
51 void DoOpenError(const char* msgfmt, ...);
1b446896 52
bed069a4 53 TString fFileName;//name of the file with galice.root
54 AliRunLoader* fRunLoader;//!RL
55 AliTPCLoader* fTPCLoader;//!TPCLoader
56 Float_t fMagneticField;//magnetic field value that was enforced while reading
57 Bool_t fUseMagFFromRun;//flag indicating if using field specified in gAlice (kTRUE)
58 // or enforece other defined by fMagneticField
3f745d47 59
66d1d1a4 60 Int_t fNTrackPoints;//number of track points; if==0 track points are not created
f5de2f09 61 Float_t fdR;//spacing between points (along radius) in cm
66d1d1a4 62 //Track Points are needed for Anti-Merging Cut
63
64 Bool_t fClusterMap;//Flag indicating if Claster Map should be created for each track
65 //Claster map is needed for Anti-Splitting Cut
66
67 //Cut Parameters specific to TPC tracks
f5de2f09 68
69 Int_t fNClustMin;//Number of clusters min value
70 Int_t fNClustMax;//Number of clusters max value
71
72 Float_t fNChi2PerClustMin;//Chi^2 per number of clusters min value
73 Float_t fNChi2PerClustMax;//Chi^2 per number of clusters max value
74
75 Float_t fC00Min;//C00 (0th diagonal element of covariance matrix) min value
76 Float_t fC00Max;//C00 (0th diagonal element of covariance matrix) max value
77
78 Float_t fC11Min;//C11 (1th diagonal element of covariance matrix) min value
79 Float_t fC11Max;//C11 (1th diagonal element of covariance matrix) max value
3f745d47 80
f5de2f09 81 Float_t fC22Min;//C22 (2th diagonal element of covariance matrix) min value
82 Float_t fC22Max;//C22 (2th diagonal element of covariance matrix) max value
3f745d47 83
f5de2f09 84 Float_t fC33Min;//C33 (3th diagonal element of covariance matrix) min value
85 Float_t fC33Max;//C33 (3th diagonal element of covariance matrix) max value
3f745d47 86
f5de2f09 87 Float_t fC44Min;//C44 (4th diagonal element of covariance matrix) min value
88 Float_t fC44Max;//C44 (4th diagonal element of covariance matrix) max value
89
1b446896 90 private:
3f745d47 91
92 Bool_t CheckTrack(AliTPCtrack* t);
66d1d1a4 93
88cb7938 94 public:
bed069a4 95 ClassDef(AliHBTReaderTPC,3)
1b446896 96};
97
98
1b446896 99#endif