]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - 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
1#ifndef ALIL3_Evaluate
2#define ALIL3_Evaluate
3
4#include <TObject.h>
5#include <TH1.h>
6#include <TTree.h>
7#include <TNtuple.h>
8#include "AliSimDigits.h"
9
10
11struct GoodTrack
12{
13 Int_t label;
14 Double_t eta;
15 Int_t code;
16 Double_t px,py,pz;
17 Double_t x,y,z;
18 Int_t nhits;
19 Int_t sector;
20};
21typedef struct GoodTrack GoodTrack;
22
23
24class AliL3Track;
25class TClonesArray;
26class TFile;
27class AliL3TrackArray;
28class AliL3SpacePointData;
29class TH1F;
30class AliTPCParam;
31class TTree;
32class AliSimDigits;
33class TObjArray;
34class TParticle;
35class TNtupleD;
36
37class AliL3Evaluate {
38
39 private:
40
41 AliL3TrackArray *fTracks; //!
42 AliTPCParam *fParam;
43 AliL3SpacePointData *fClusters[36][6]; //!
44 AliSimDigits *fDigits;
45 TTree *fDigitsTree;
46 Int_t fMinSlice;
47 Int_t fMaxSlice;
48 UInt_t fNcl[36][6];
49 Int_t fRowid[36][176];
50 Int_t fMinPointsOnTrack; //Minimum points on track to be considered.
51 Int_t fMinHitsFromParticle;
52 GoodTrack *fGoodTracks; //!
53 Float_t fMaxFalseClusters;
54
55 Int_t fNFastPoints;
56 UInt_t *fMcIndex;//!
57 Int_t *fMcId;//!
58 Int_t fGoodFound;
59 Int_t fGoodGen;
60 Double_t fMinGoodPt;
61
62 //Histograms
63 TNtuple *fNtuppel;
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
76
77
78 public:
79 AliL3Evaluate();
80 AliL3Evaluate(Char_t *path,Int_t min_clusters,Int_t minhits,Double_t minpt=0.1,Int_t *slice=0);
81 virtual ~AliL3Evaluate();
82
83 void CreateHistos(Int_t nbin=20,Float_t xlow=0,Float_t xup=4);
84 void Write2File(Char_t *outputfile);
85 void FillEffHistos();
86 void FillEffHistosNAIVE();
87 void CalcEffHistos();
88 void AssignIDs();
89 void GetGoodParticles(Char_t *particle_file,Bool_t sector=kFALSE);
90 void GetFastClusterIDs(Char_t *path);
91 void GetCFeff(Char_t *outfile);
92 Int_t GetMCTrackLabel(AliL3Track *track);
93 TNtupleD *CalculateResiduals(Char_t *datapath);
94 TNtuple *EvaluatePoints(Char_t *rootfile);
95
96 void SetMinPoints(Int_t f) {fMinPointsOnTrack = f;}
97 void SetMinGoodPt(Double_t f) {fMinGoodPt = f;}
98 void SetMaxFalseClusters(Float_t f) {fMaxFalseClusters = f;}
99
100 Int_t GetNGoodTracks() {return fGoodGen;}
101 Int_t GetNFoundTracks() {return fGoodFound;}
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;}
107
108
109 ClassDef(AliL3Evaluate,1) //Tracking evaluation class
110};
111
112#endif