]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG1/AliComparisonDEdx.h
Load pythia libraries.
[u/mrichter/AliRoot.git] / PWG1 / AliComparisonDEdx.h
1 #ifndef ALICOMPARISONDEdx_H
2 #define ALICOMPARISONDEdx_H
3
4 //------------------------------------------------------------------------------
5 // Class to keep information from comparison of 
6 // reconstructed and MC particle tracks (TPC dE/dx).   
7 // 
8 // Author: J.Otwinowski 04/02/2008 
9 //------------------------------------------------------------------------------
10
11 class TFile;
12 class AliMCInfo;
13 class AliESDRecInfo;
14 class AliESDEvent; 
15 class AliESD;
16 class AliESDfriend;
17 class AliRecInfoCuts;
18 class AliMCInfoCuts;
19 class TH1I;
20 class TH3F;
21 class TH3;
22 class TProfile;
23 class TProfile2D;
24 class TGraph2D;
25 class TGraph; 
26
27 #include "TNamed.h"
28
29 class AliComparisonDEdx : public TNamed {
30 public :
31   AliComparisonDEdx(); 
32   ~AliComparisonDEdx();
33   void      InitHisto();
34   void      InitCuts();
35   void      Exec(AliMCInfo* infoMC, AliESDRecInfo *infoRC);
36   void      Process(AliMCInfo* infoMC, AliESDRecInfo *infoRC);
37
38   // Selection cuts
39   void SetAliRecInfoCuts(AliRecInfoCuts* cuts=0) {fCutsRC = cuts;}
40   void SetAliMCInfoCuts(AliMCInfoCuts* cuts=0)   {fCutsMC = cuts;} 
41
42   void SetMCPtMin(const Float_t cuts=0) {fMCPtMin = cuts;} 
43   void SetMCAbsTanThetaMax(const Float_t cuts=1e99) {fMCAbsTanThetaMax = cuts;} 
44   void SetMCPdgCode(const Int_t cuts=0) {fMCPdgCode = cuts;} 
45
46   AliRecInfoCuts*  GetAliRecInfoCuts() const {return fCutsRC;}      
47   AliMCInfoCuts*   GetAliMCInfoCuts()  const {return fCutsMC;}     
48   Float_t GetMCPtMin() const {return fMCPtMin;}
49   Float_t GetMCAbsTanThetaMax() const {return fMCAbsTanThetaMax;}
50   Int_t GetMCPdgCode() const {return fMCPdgCode;} 
51
52   static TH1F*     MakeResol(TH2F * his, Int_t integ, Bool_t type); 
53
54   // Merge output objects (needed by PROOF) 
55   virtual Long64_t Merge(TCollection* list);
56
57   // Analyse output histograms
58   void Analyse();
59
60 private:
61
62   // TPC dE/dx 
63   TH2F* fTPCSignalNormTan;    //-> TPC signal normalized to the calculated MC signal 
64   TH2F* fTPCSignalNormSPhi;   //-> TPC signal normalized to the calculated MC signal
65   TH2F* fTPCSignalNormTPhi;   //-> TPC signal normalized to the calculated MC signal
66   //
67   TH3F* fTPCSignalNormTanSPhi;   //-> TPC signal normalized to the calculated MC signal
68   TH3F* fTPCSignalNormTanTPhi;   //-> TPC signal normalized to the calculated MC signal
69   TH3F* fTPCSignalNormTanSPt;    //-> TPC signal normalized to the calculated MC signal
70   
71   // Selection cuts
72   AliRecInfoCuts*  fCutsRC; // selection cuts for reconstructed tracks
73   AliMCInfoCuts*   fCutsMC; // selection cuts for MC tracks
74
75   Float_t fMCPtMin;               // min. MC pt cut
76   Float_t fMCAbsTanThetaMax;      // max. MC abs[tan(theta)] cut
77   Int_t fMCPdgCode;               // selected particle with Pdg code
78
79   AliComparisonDEdx(const AliComparisonDEdx&); // not implemented
80   AliComparisonDEdx& operator=(const AliComparisonDEdx&); // not implemented
81
82   ClassDef(AliComparisonDEdx,1);
83 };
84
85 #endif