]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/src/AliL3Evaluate.h
Smaller changes. A few lines in order to make filling an ntuppel
[u/mrichter/AliRoot.git] / HLT / src / AliL3Evaluate.h
CommitLineData
108615fc 1#ifndef ALIL3_Evaluate
2#define ALIL3_Evaluate
3
4#include <TObject.h>
5#include <TH1.h>
6#include <TTree.h>
1f79afc0 7#include <TNtuple.h>
108615fc 8#include "AliSimDigits.h"
9
e1a32fa5 10
11struct GoodTrack
12{
e1a32fa5 13 Int_t label;
40896357 14 Double_t eta;
e1a32fa5 15 Int_t code;
16 Double_t px,py,pz;
e0f4d6b2 17 Double_t x,y,z;
18 Int_t nhits;
a8a3f5c2 19 Int_t sector;
e1a32fa5 20};
21typedef struct GoodTrack GoodTrack;
22
23
108615fc 24class AliL3Track;
25class TClonesArray;
26class TFile;
27class AliL3TrackArray;
28class AliL3SpacePointData;
29class TH1F;
108615fc 30class AliTPCParam;
31class TTree;
32class AliSimDigits;
33class TObjArray;
78127e35 34class TParticle;
a8a3f5c2 35class TNtupleD;
108615fc 36
e0f4d6b2 37class AliL3Evaluate {
108615fc 38
39 private:
40
108615fc 41 AliL3TrackArray *fTracks; //!
42 AliTPCParam *fParam;
40896357 43 AliL3SpacePointData *fClusters[36][6]; //!
108615fc 44 AliSimDigits *fDigits;
45 TTree *fDigitsTree;
46 Int_t fMinSlice;
47 Int_t fMaxSlice;
40896357 48 UInt_t fNcl[36][6];
ae97a0b9 49 Int_t fRowid[36][176];
108615fc 50 Int_t fMinPointsOnTrack; //Minimum points on track to be considered.
e0f4d6b2 51 Int_t fMinHitsFromParticle;
52 GoodTrack *fGoodTracks; //!
53 Float_t fMaxFalseClusters;
54
108615fc 55 Int_t fNFastPoints;
c0217812 56 UInt_t *fMcIndex;//!
57 Int_t *fMcId;//!
23908b9b 58 Int_t fGoodFound;
59 Int_t fGoodGen;
e170e0f9 60 Double_t fMinGoodPt;
23908b9b 61
108615fc 62 //Histograms
1f79afc0 63 TNtuple *fNtuppel;
108615fc 64 TH1F *fPtRes;
65 TH1F *fNGoodTracksPt;
66 TH1F *fNFoundTracksPt;
67 TH1F *fNFakeTracksPt;
68 TH1F *fTrackEffPt;
69 TH1F *fFakeTrackEffPt;
70 TH1F *fNGoodTracksEta;
71 TH1F *fNFoundTracksEta;
72 TH1F *fNFakeTracksEta;
73 TH1F *fTrackEffEta;
74 TH1F *fFakeTrackEffEta;
75
e0f4d6b2 76
e1a32fa5 77
108615fc 78 public:
79 AliL3Evaluate();
e0f4d6b2 80 AliL3Evaluate(Char_t *path,Int_t min_clusters,Int_t minhits,Double_t minpt=0.1,Int_t *slice=0);
108615fc 81 virtual ~AliL3Evaluate();
82
e0f4d6b2 83 void CreateHistos(Int_t nbin=20,Float_t xlow=0,Float_t xup=4);
108615fc 84 void Write2File(Char_t *outputfile);
e0f4d6b2 85 void FillEffHistos();
86 void FillEffHistosNAIVE();
87 void CalcEffHistos();
88 void AssignIDs();
a8a3f5c2 89 void GetGoodParticles(Char_t *particle_file,Bool_t sector=kFALSE);
e0f4d6b2 90 void GetFastClusterIDs(Char_t *path);
91 void GetCFeff(Char_t *outfile);
92 Int_t GetMCTrackLabel(AliL3Track *track);
a8a3f5c2 93 TNtupleD *CalculateResiduals(Char_t *datapath);
e0f4d6b2 94 TNtuple *EvaluatePoints(Char_t *rootfile);
95
108615fc 96 void SetMinPoints(Int_t f) {fMinPointsOnTrack = f;}
e170e0f9 97 void SetMinGoodPt(Double_t f) {fMinGoodPt = f;}
e0f4d6b2 98 void SetMaxFalseClusters(Float_t f) {fMaxFalseClusters = f;}
99
23908b9b 100 Int_t GetNGoodTracks() {return fGoodGen;}
101 Int_t GetNFoundTracks() {return fGoodFound;}
e0f4d6b2 102 TH1F *GetTrackEffPt() {return fTrackEffPt;}
103 TH1F *GetTrackEffEta() {return fTrackEffEta;}
104 TH1F *GetFakeEffEta() {return fFakeTrackEffEta;}
105 TH1F *GetFakeEffPt() {return fFakeTrackEffPt;}
106 TH1F *GetPtRes() {return fPtRes;}
78127e35 107
e0f4d6b2 108
b661165c 109 ClassDef(AliL3Evaluate,1) //Tracking evaluation class
108615fc 110};
111
112#endif