]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ANALYSIS/AliReaderESD.h
AliAOD and AODParticle (T.Kuhr) - Readers, AODStdParticle and Cuts (P.Skowronski...
[u/mrichter/AliRoot.git] / ANALYSIS / AliReaderESD.h
CommitLineData
a5556ea5 1#ifndef AliReaderESD_H
2#define AliReaderESD_H
3//___________________________________________________________________________
4/////////////////////////////////////////////////////////////////////////////
5// //
6// Multi file reader for ESD //
7// //
8// This reader reads tracks from Event Summary Data //
9// do not read particles //
10// Piotr.Skowronski@cern.ch //
11// more info: http://alisoft.cern.ch/people/skowron/analyzer/index.html //
12// //
13/////////////////////////////////////////////////////////////////////////////
14
15#include "AliReader.h"
16#include <TString.h>
17class TFile;
18class AliRunLoader;
19class AliESD;
20class AliESDtrack;
21
22class AliReaderESD: public AliReader
23{
24 public:
25 AliReaderESD(const Char_t* esdfilename = "AliESDs.root", const Char_t* galfilename = "galice.root");
26
27 AliReaderESD(TObjArray* dirs,const Char_t* esdfilename = "AliESDs.root", const Char_t* galfilename = "galice.root");
28
29 virtual ~AliReaderESD();
30
31 void Rewind();
32
33 void ReadSimulatedData(Bool_t flag){fReadSim = flag;}//switches reading MC data
34 Bool_t ReadsRec() const {return kTRUE;}
35 Bool_t ReadsSim() const {return fReadSim;}
36 void SetCheckParticlePID(Bool_t flag){fCheckParticlePID = flag;}
37 void SetReadMostProbableOnly(Bool_t flag){fReadMostProbableOnly = flag;}
38
39 void ReadDataTPC(){}
40 void ReadDataITS(){}
41
42 void SetTPCNClustersRange(Int_t min,Int_t max);
43 void SetTPCChi2PerCluserRange(Float_t min, Float_t max);
44
45 void SetChi2Range(Float_t min, Float_t max);
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);
50 void SetC44Range(Float_t min, Float_t max);
51 void SetNumberOfTrackPoints(Int_t n = 5,Float_t dr = 30.0) {fNTrackPoints = n; fdR = dr;}
52 Int_t GetNumberOfTrackPoints() const {return fNTrackPoints;}
53 void SetClusterMap(Bool_t flag = kTRUE){fClusterMap = flag;}
54
55
56 enum ESpecies {kESDElectron = 0, kESDMuon, kESDPion, kESDKaon, kESDProton, kNSpecies};
57 static Int_t GetSpeciesPdgCode(ESpecies spec);//skowron
58
59 Int_t ReadESD(AliESD* esd);
60
61 protected:
62 Int_t ReadNext();
63 TFile* OpenFile(Int_t evno);//opens files to be read for given event
64 Bool_t CheckTrack(AliESDtrack* t) const;
65
66 TString fESDFileName;//name of the file with tracks
67 TString fGAlFileName;//name of the file with tracks
68 TFile* fFile;//! pointer to current ESD file
69 AliRunLoader* fRunLoader;//!Run Loader
70 TIter* fKeyIterator;//!iterator over keys in ESD file
71 Bool_t fReadSim;//flag indicating wether to read particles from kinematics
72 Bool_t fCheckParticlePID;//flag indicating to perform the check on PID of simulated particle - usefull in resoluion analysis
73 Bool_t fReadMostProbableOnly;//flag indicating to read ony one incarnation with the highest probability
74 Int_t fNTrackPoints;//number of track points; if==0 track points are not created
75 Float_t fdR;//spacing between points (along radius) in cm
76 //Track Points are needed for Anti-Merging Cut
77
78 Bool_t fClusterMap;//Flag indicating if Claster Map should be created for each track
79 //Claster map is needed for Anti-Splitting Cut
80
81 //Cut Parameters specific to TPC tracks
82
83 Int_t fNTPCClustMin;//Number of clusters min value
84 Int_t fNTPCClustMax;//Number of clusters max value
85
86 Float_t fTPCChi2PerClustMin;//Chi^2 per number of clusters min value
87 Float_t fTPCChi2PerClustMax;//Chi^2 per number of clusters max value
88
89
90 // Required parameters at vertex
91 Float_t fChi2Min;//Chi^2 min value
92 Float_t fChi2Max;//Chi^2 max value
93
94 Float_t fC00Min;//C00 (0th diagonal element of covariance matrix) min value
95 Float_t fC00Max;//C00 (0th diagonal element of covariance matrix) max value
96
97 Float_t fC11Min;//C11 (1th diagonal element of covariance matrix) min value
98 Float_t fC11Max;//C11 (1th diagonal element of covariance matrix) max value
99
100 Float_t fC22Min;//C22 (2th diagonal element of covariance matrix) min value
101 Float_t fC22Max;//C22 (2th diagonal element of covariance matrix) max value
102
103 Float_t fC33Min;//C33 (3th diagonal element of covariance matrix) min value
104 Float_t fC33Max;//C33 (3th diagonal element of covariance matrix) max value
105
106 Float_t fC44Min;//C44 (4th diagonal element of covariance matrix) min value
107 Float_t fC44Max;//C44 (4th diagonal element of covariance matrix) max value
108
109 // Required parameters at TPC Inner Layer
110 Float_t fTPCC00Min;//C00 (0th diagonal element of covariance matrix) min value
111 Float_t fTPCC00Max;//C00 (0th diagonal element of covariance matrix) max value
112
113 Float_t fTPCC11Min;//C11 (1th diagonal element of covariance matrix) min value
114 Float_t fTPCC11Max;//C11 (1th diagonal element of covariance matrix) max value
115
116 Float_t fTPCC22Min;//C22 (2th diagonal element of covariance matrix) min value
117 Float_t fTPCC22Max;//C22 (2th diagonal element of covariance matrix) max value
118
119 Float_t fTPCC33Min;//C33 (3th diagonal element of covariance matrix) min value
120 Float_t fTPCC33Max;//C33 (3th diagonal element of covariance matrix) max value
121
122 Float_t fTPCC44Min;//C44 (4th diagonal element of covariance matrix) min value
123 Float_t fTPCC44Max;//C44 (4th diagonal element of covariance matrix) max value
124
125 private:
126 ClassDef(AliReaderESD,1)
127};
128
129
130#endif