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