8 #include "AliSimDigits.h"
19 typedef struct GoodTrack GoodTrack;
25 class AliL3TrackArray;
26 class AliL3SpacePointData;
35 class AliL3Evaluate : public TObject {
40 TFile *fMCclusterfile; //If you run the fast simulator.
42 GoodTrack fGoodTracks[15000]; //!
43 TObjArray *fParticles;
44 AliL3TrackArray *fTracks; //!
46 AliL3SpacePointData *fClusters[36][6]; //!
47 AliL3Transform *fTransform; //!
48 AliSimDigits *fDigits;
53 Int_t fRowid[36][176];
54 Int_t fMinPointsOnTrack; //Minimum points on track to be considered.
68 TH1F *fNFoundTracksPt;
71 TH1F *fFakeTrackEffPt;
72 TH1F *fNGoodTracksEta;
73 TH1F *fNFoundTracksEta;
74 TH1F *fNFakeTracksEta;
76 TH1F *fFakeTrackEffEta;
82 void DefineGoodTracks(Int_t *slice,Int_t *padrow,Int_t good_number,Char_t *fname="good_tracks_tpc");
83 Int_t GetMCTrackLabel(AliL3Track *track);
84 Int_t **GetClusterIDs(AliL3Track *track);
85 void GetFastClusterIDs(Char_t *path);
89 AliL3Evaluate(Char_t *mcfile,Int_t *slice);
90 AliL3Evaluate(Int_t *slice);
92 virtual ~AliL3Evaluate();
94 void SetupFast(Char_t *trackfile,Char_t *mcClusterfile,Char_t *path=".");
95 void SetupSlow(Char_t *trackfile,Char_t *digitsfile,Char_t *path=".");
96 void Setup(Char_t *trackfile,Char_t *path);
97 void CreateHistos(Int_t nbin=20,Int_t xlow=0,Int_t xup=4);
98 void EvaluatePatch(Int_t slice,Int_t patch,Int_t min_points,Int_t good_number);
99 void EvaluateSlice(Int_t slice,Int_t min_points,Int_t good_number);
100 void EvaluateGlobal(Int_t min_points,Int_t good_number,Char_t *fname);
101 void Write2File(Char_t *outputfile);
103 TH1F *GetTrackEffPt() {return fTrackEffPt;}
104 TH1F *GetTrackEffEta() {return fTrackEffEta;}
105 TH1F *GetPtRes() {return fPtRes;}
107 void SetMinPoints(Int_t f) {fMinPointsOnTrack = f;}
108 void SetMinGoodPt(Double_t f) {fMinGoodPt = f;}
109 void DoSingleTracks() {fNoOverlap = kTRUE;}
110 Int_t GetNGoodTracks() {return fGoodGen;}
111 Int_t GetNFoundTracks() {return fGoodFound;}
113 TNtuple *CalculateResiduals();
114 TNtuple *EvaluatePoints(Char_t *rootfile);
115 Bool_t GetParticleCrossingPoint(TParticle *part,Int_t slice,Int_t padrow,Float_t *xyz);
116 void GetCFeff(Char_t *outfile);
118 ClassDef(AliL3Evaluate,1) //Tracking evaluation class