]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/JetTasks/AliAnalysisTaskJetCorrections.h
Added tasks from Sona
[u/mrichter/AliRoot.git] / PWG4 / JetTasks / AliAnalysisTaskJetCorrections.h
1 #ifndef ALIANALYSISTASKJETCORRECTIONS_H\r
2 #define ALIANALYSISTASKJETCORRECTIONS_H\r
3 \r
4 #include "AliAnalysisTaskSE.h"\r
5 #include <iostream>\r
6 #include <fstream>\r
7 \r
8 class AliJetFinder;\r
9 class AliESDEvent;\r
10 class AliAODEvent;\r
11 class AliAODJet;\r
12 class AliGenPythiaEventHeader;\r
13 class AliAODPid;\r
14 \r
15 class TList;\r
16 class TArrayD;\r
17 class TChain;\r
18 class TH1;\r
19 class TH2;\r
20 class TH1F;\r
21 class TH2F;\r
22 class TH2I;\r
23 class TH3D;\r
24 class TTree;\r
25 class TProfile;\r
26 class TLorentzVector;\r
27 class TVector3;\r
28 class TParticle;\r
29 \r
30 class AliAnalysisTaskJetCorrections : public AliAnalysisTaskSE\r
31 {\r
32  public:\r
33   AliAnalysisTaskJetCorrections();\r
34   AliAnalysisTaskJetCorrections(const char * name);\r
35   virtual ~AliAnalysisTaskJetCorrections() {;}\r
36   \r
37   //Implementation of interface methods\r
38   virtual Bool_t Notify(); \r
39   virtual void UserCreateOutputObjects();\r
40   virtual void Init();\r
41   virtual void LocalInit() { Init(); };\r
42   virtual void UserExec(Option_t * option);\r
43   virtual void Terminate(Option_t * option);\r
44 \r
45   virtual void SetAODInput(Bool_t b){fUseAODInput = b;}\r
46 \r
47   virtual void SetBranchGen(char* c){fBranchGen = c;}\r
48   virtual void SetBranchRec(char* c){fBranchRec = c;}\r
49 \r
50   virtual Double_t SetR(Double_t b){fR = b; return fR;} \r
51 \r
52   virtual void GetThrustAxis(TVector3 &n01, TVector3 * pTrack, Int_t &nTracks);\r
53  private:\r
54   AliAnalysisTaskJetCorrections(const AliAnalysisTaskJetCorrections&);\r
55   AliAnalysisTaskJetCorrections& operator = (const AliAnalysisTaskJetCorrections&);\r
56 \r
57   enum {kMaxJets = 6};\r
58   enum {kMaxEvents = 10};\r
59   enum {kJets = 3};\r
60   enum {kTracks = 1000};\r
61 \r
62   AliAODEvent  *fAOD; // where we take the jets from can be input or output AOD\r
63   \r
64   TString       fBranchRec;  // AOD branch name for reconstructed\r
65   TString       fBranchGen;  // AOD brnach for genereated\r
66   \r
67   Bool_t        fUseAODInput;\r
68 \r
69   Double_t fR;\r
70   TList * fList;\r
71 \r
72   Int_t fGlobVar;\r
73   Double_t fXsection;\r
74 \r
75 \r
76   TH1F * fhEGen;\r
77   TH1F * fhERec;\r
78   TH1F * fhEGenRest;\r
79   TH1F * fhERecRest;\r
80   TH1F * fhEsumGenRest;\r
81   TH1F * fhEsumRecRest;\r
82 \r
83   TH2F * fhE2vsE1Gen;\r
84   TH2F * fhE2vsE1Rec;\r
85   TH2F * fhE2E1vsEsumGen;\r
86   TH2F * fhE2E1vsEsumRec;\r
87   TH2F * fhE2E1vsE1Gen;\r
88   TH2F * fhE2E1vsE1Rec;\r
89   TH2F * fhE2E1vsdPhiGen;\r
90   TH2F * fhE2E1vsdPhiRec;\r
91 \r
92   TH2F * fhTrackBalance2;\r
93   TH2F * fhTrackBalance3;\r
94 \r
95   TH2F * fhEt1Et22;\r
96   TH2F * fhEt1Et23;\r
97 \r
98   TProfile * fhECorrJet10[3];\r
99   TProfile * fhECorrJet05[3];\r
100   TProfile * fhECorrJet01[3];\r
101   TProfile * fhECorrJet001[3];\r
102   \r
103   TProfile * fhdEvsErec10[3];\r
104   TProfile * fhdEvsErec05[3];\r
105   TProfile * fhdEvsErec01[3];\r
106   TProfile * fhdEvsErec001[3];\r
107 \r
108   TH2F * fhdPhidEta10[3];\r
109   TH2F * fhdPhidEta05[3];\r
110   TH2F * fhdPhidEta01[3];\r
111   TH2F * fhdPhidEta001[3];\r
112 \r
113   TH2F * fhdPhidEtaPt10[3];\r
114   TH2F * fhdPhidEtaPt05[3];\r
115   TH2F * fhdPhidEtaPt01[3];\r
116   TH2F * fhdPhidEtaPt001[3];\r
117 \r
118   ClassDef(AliAnalysisTaskJetCorrections, 1)\r
119 };\r
120 \r
121 #endif\r