]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG0/AliRecoVsGeneCheck.h
more plots
[u/mrichter/AliRoot.git] / PWG0 / AliRecoVsGeneCheck.h
1 //
2 // Class to check the reconstruction versus the generated
3 // 
4 // TODO:
5 // - add a lot of histograms (much more on tracks vs mc particle) 
6 // - add documentation
7 //
8
9
10 #ifndef ROOT_TObject
11 #include "TObject.h"
12 #endif
13 #ifndef ROOT_TTree
14 #include "TTree.h"
15 #endif
16 #ifndef ROOT_TH3
17 #include "TH3.h"
18 #endif
19 #ifndef ROOT_TParticle
20 #include "TParticle.h"
21 #endif
22
23 #include "AliESDtrack.h"
24
25 class AliRecoVsGeneCheck : public TObject
26 {
27
28 public:
29   AliRecoVsGeneCheck();
30   
31   void   Event(Double_t* vtx, Double_t* vtx_res, Double_t* mcvtx, Int_t n_part=-1);
32
33   void   Track(AliESDtrack* esdTrack, TParticle* mcParticle);
34
35   void   SetNPartAxisTitle(Char_t* t) 
36     {fhVtxZResVsNPart  ->SetXTitle(t); 
37     fhVtxDzNormVsNPart->SetXTitle(t);
38     fhNPart->SetXTitle(t);}
39
40   void   SaveHistograms(Char_t* dir="reco_vs_gene");
41
42 protected:
43
44   // event specific histograms
45   TH2F* fhVtzZRecoVsMC;     // z pos of vertex reco vs MC
46   
47   TH1F* fhVtxZRes;          // estimated z res. of vertex
48   TH2F* fhVtxZResVsZ;       // estimated z res. of vertex vs z
49   TH2F* fhVtxZResVsNPart;   // estimated z res. of vertex vs n part
50   
51   TH1F* fhVtxDzNorm;        // (z_mc - z_reco)/estimated res.
52   TH2F* fhVtxDzNormVsZ;     // (z_mc - z_reco)/estimated res. vs vtx z
53   TH2F* fhVtxDzNormVsNPart; // (z_mc - z_reco)/estimated res. vs n part.
54   
55   TH1F* fhVtxZMC;           // vtz z mc 
56   TH1F* fhVtxZReco;         // vtx z reco
57   
58   TH1F* fhNPart;            // n charged primary particles 
59
60   // track specific histograms
61   TH3F* fhDPtVsPtVsEta;
62   TH3F* fhDEtaVsPtVsEta;  
63
64   private:
65     AliRecoVsGeneCheck(const AliRecoVsGeneCheck&);
66     AliRecoVsGeneCheck& operator=(const AliRecoVsGeneCheck&);
67
68   ClassDef(AliRecoVsGeneCheck, 1)
69 };
70