7 #include "AliSimDigits.h"
12 class AliL3TrackArray;
13 class AliL3SpacePointData;
21 class AliL3Evaluate : public TObject {
26 TFile *fMCclusterfile; //If you run the fast simulator.
27 TClonesArray *fParticles;
28 AliL3TrackArray *fTracks; //!
30 AliL3SpacePointData *fClusters[36][5]; //!
31 AliL3Transform *fTransform; //!
32 AliSimDigits *fDigits;
37 Int_t fRowid[36][174];
38 Int_t fMinPointsOnTrack; //Minimum points on track to be considered.
47 TH1F *fNFoundTracksPt;
50 TH1F *fFakeTrackEffPt;
51 TH1F *fNGoodTracksEta;
52 TH1F *fNFoundTracksEta;
53 TH1F *fNFakeTracksEta;
55 TH1F *fFakeTrackEffEta;
57 void FillEffHistos(TObjArray *good_particles,Int_t *particle_id);
60 Bool_t SetDigitsTree();
61 Bool_t SetMCParticleArray();
62 TObjArray *DefineGoodTracks(Int_t slice,Int_t *padrow,Int_t good_number,Int_t *particle_id);
63 Int_t GetMCTrackLabel(AliL3Track *track,UInt_t *index=0,Int_t *pID=0,Int_t npoints=0);
64 Int_t **GetClusterIDs(AliL3Track *track,UInt_t *index=0,Int_t *pID=0,Int_t npoints=0);
65 Int_t *GetFastIDs(UInt_t &tmp_ind,Int_t &npoints);
66 void Setup(Char_t *trackfile,Char_t *path);
70 AliL3Evaluate(Char_t *mcfile,Int_t *slice);
72 virtual ~AliL3Evaluate();
74 void SetupFast(Char_t *trackfile,Char_t *mcClusterfile,Char_t *path="./");
75 void SetupSlow(Char_t *trackfile,Char_t *path="./");
76 void CreateHistos(Int_t nbin=20,Int_t xlow=0,Int_t xup=4);
77 void EvaluatePatch(Int_t slice,Int_t patch,Int_t min_points,Int_t good_number);
78 void EvaluateSlice(Int_t slice,Int_t min_points,Int_t good_number);
79 void EvaluateGlobal(Int_t min_points,Int_t good_number);
80 void Write2File(Char_t *outputfile);
82 TH1F *GetTrackEffPt() {return fTrackEffPt;}
83 TH1F *GetTrackEffEta() {return fTrackEffEta;}
84 TH1F *GetPtRes() {return fPtRes;}
86 void SetMinPoints(Int_t f) {fMinPointsOnTrack = f;}
88 ClassDef(AliL3Evaluate,1)