]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/src/AliL3Evaluate.h
Removed a lot of code, and some changes. Basically removed all of
[u/mrichter/AliRoot.git] / HLT / src / AliL3Evaluate.h
index 24d53b75194bf8211ba93c5f0b3f86477318a6ca..1d8526898e152efe831e728ef2d7aaaf1626ce1e 100644 (file)
@@ -4,44 +4,61 @@
 #include <TObject.h>
 #include <TH1.h>
 #include <TTree.h>
+#include <TNtuple.h>
 #include "AliSimDigits.h"
 
+
+struct GoodTrack 
+{
+  Int_t label;
+  Double_t eta;
+  Int_t code;
+  Double_t px,py,pz;
+  Double_t x,y,z;
+  Int_t nhits;
+};
+typedef struct GoodTrack GoodTrack;
+
+
 class AliL3Track;
 class TClonesArray;
 class TFile;
 class AliL3TrackArray;
 class AliL3SpacePointData;
 class TH1F;
-class AliL3Transform;
 class AliTPCParam;
 class TTree;
 class AliSimDigits;
 class TObjArray;
+class TParticle;
 
-class AliL3Evaluate : public TObject {
+class AliL3Evaluate {
 
  private:
 
-  TFile *fMCFile;
-  TFile *fMCclusterfile;  //If you run the fast simulator.
-  TClonesArray *fParticles;
   AliL3TrackArray *fTracks; //!
   AliTPCParam *fParam;
-  AliL3SpacePointData *fClusters[36][5]; //!
-  AliL3Transform *fTransform; //!
+  AliL3SpacePointData *fClusters[36][6]; //!
   AliSimDigits *fDigits;
   TTree *fDigitsTree;
   Int_t fMinSlice;
   Int_t fMaxSlice;
-  UInt_t fNcl[36][5];
-  Int_t fRowid[36][174];
+  UInt_t fNcl[36][6];
+  Int_t fRowid[36][176];
   Int_t fMinPointsOnTrack;  //Minimum points on track to be considered.
-  Bool_t fIsSlow;
-  Int_t fNFastPoints;
-  UInt_t fMcIndex;
-  Int_t fMcId;
+  Int_t fMinHitsFromParticle;
+  GoodTrack *fGoodTracks; //!
+  Float_t fMaxFalseClusters;
   
+  Int_t fNFastPoints;
+  UInt_t *fMcIndex;//!
+  Int_t *fMcId;//!
+  Int_t fGoodFound;
+  Int_t fGoodGen;
+  Double_t fMinGoodPt;
+
   //Histograms
+  TNtuple *fNtuppel;
   TH1F *fPtRes;
   TH1F *fNGoodTracksPt;
   TH1F *fNFoundTracksPt;
@@ -54,36 +71,40 @@ class AliL3Evaluate : public TObject {
   TH1F *fTrackEffEta;
   TH1F *fFakeTrackEffEta;
   
-  void FillEffHistos(TObjArray *good_particles,Int_t *particle_id);
-  void AssignIDs();
-  Bool_t SetDigitsTree();
-  Bool_t SetMCParticleArray();
-  TObjArray *DefineGoodTracks(Int_t slice,Int_t *padrow,Int_t good_number,Int_t *particle_id);
-  Int_t GetMCTrackLabel(AliL3Track *track,UInt_t *index=0,Int_t *pID=0,Int_t npoints=0);
-  Int_t **GetClusterIDs(AliL3Track *track,UInt_t *index=0,Int_t *pID=0,Int_t npoints=0);
-  Int_t *GetFastIDs(UInt_t &tmp_ind,Int_t &npoints);
+  
+  
  public:
   AliL3Evaluate();
-  AliL3Evaluate(Char_t *mcfile,Int_t *slice);
-
+  AliL3Evaluate(Char_t *path,Int_t min_clusters,Int_t minhits,Double_t minpt=0.1,Int_t *slice=0);
   virtual ~AliL3Evaluate();
 
-  void Setup(Char_t *trackfile,Char_t *clustfile);
-  void SetupFast(Char_t *trackfile,Char_t *clustfile,Char_t *mcClusterfile);
-  void CreateHistos(Int_t nbin=20,Int_t xlow=0,Int_t xup=4);
-  void EvaluatePatch(Int_t slice,Int_t patch,Int_t min_points,Int_t good_number);
-  void EvaluateSlice(Int_t slice,Int_t min_points,Int_t good_number);
-  void EvaluateGlobal();
+  void CreateHistos(Int_t nbin=20,Float_t xlow=0,Float_t xup=4);
   void Write2File(Char_t *outputfile);
-    
+  void FillEffHistos();
+  void FillEffHistosNAIVE();
+  void CalcEffHistos();
+  void AssignIDs();
+  void GetGoodParticles(Char_t *particle_file);
+  void GetFastClusterIDs(Char_t *path);
+  void GetCFeff(Char_t *outfile);
+  Int_t GetMCTrackLabel(AliL3Track *track);
+  TNtuple *CalculateResiduals();
+  TNtuple *EvaluatePoints(Char_t *rootfile);
+  
+  void SetMinPoints(Int_t f) {fMinPointsOnTrack = f;}
+  void SetMinGoodPt(Double_t f) {fMinGoodPt = f;}
+  void SetMaxFalseClusters(Float_t f) {fMaxFalseClusters = f;}
+
+  Int_t GetNGoodTracks() {return fGoodGen;}
+  Int_t GetNFoundTracks() {return fGoodFound;}
   TH1F *GetTrackEffPt() {return fTrackEffPt;}
   TH1F *GetTrackEffEta() {return fTrackEffEta;}
+  TH1F *GetFakeEffEta() {return fFakeTrackEffEta;}
+  TH1F *GetFakeEffPt() {return fFakeTrackEffPt;}
   TH1F *GetPtRes() {return fPtRes;}
 
-  void SetMinPoints(Int_t f) {fMinPointsOnTrack = f;}
-
-  ClassDef(AliL3Evaluate,1) 
+  
+  ClassDef(AliL3Evaluate,1) //Tracking evaluation class
 };
 
 #endif