geometry 12 + 24 && recent media properties
[u/mrichter/AliRoot.git] / HBTAN / AliHBTReaderTPC.h
CommitLineData
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 18class TFile;
bfb09ece 19class TArrayF;
bed069a4 20class AliRunLoader;
21class AliTPCLoader;
3f745d47 22class AliTPCtrack;
1b446896 23
24class 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