]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/JetTasks/AliAnalysisTaskJetCorrections.h
new UE Task from Sara
[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  \r
6 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *\r
7  * See cxx source for full Copyright notice                               */\r
8 \r
9 // ***\r
10 // corrections to jet energy by sona.pochybova@cern.ch \r
11 // ***\r
12 \r
13 class AliJetFinder;\r
14 class AliESDEvent;\r
15 class AliAODEvent;\r
16 class AliAODJet;\r
17 class AliGenPythiaEventHeader;\r
18 class AliAODPid;\r
19 \r
20 class TList;\r
21 class TArrayD;\r
22 class TChain;\r
23 class TH1;\r
24 class TH2;\r
25 class TH1F;\r
26 class TH2F;\r
27 class TH2I;\r
28 class TH3D;\r
29 class TTree;\r
30 class TProfile;\r
31 class TLorentzVector;\r
32 class TVector3;\r
33 class TParticle;\r
34 \r
35 class AliAnalysisTaskJetCorrections : public AliAnalysisTaskSE\r
36 {\r
37  public:\r
38   AliAnalysisTaskJetCorrections();\r
39   AliAnalysisTaskJetCorrections(const char * name);\r
40   virtual ~AliAnalysisTaskJetCorrections() {;}\r
41   \r
42   //Implementation of interface methods\r
43   virtual Bool_t Notify(); \r
44   virtual void UserCreateOutputObjects();\r
45   virtual void Init();\r
46   virtual void LocalInit() { Init(); };\r
47   virtual void UserExec(Option_t * option);\r
48   virtual void Terminate(Option_t * option);\r
49 \r
50   virtual void SetAODInput(Bool_t b){fUseAODInput = b;}\r
51 \r
52   virtual void SetBranchGen(const char* c){fBranchGen = c;}\r
53   virtual void SetBranchRec(const char* c){fBranchRec = c;}\r
54 \r
55   virtual Double_t SetR(Double_t b){fR = b; return fR;} \r
56 \r
57  private:\r
58   AliAnalysisTaskJetCorrections(const AliAnalysisTaskJetCorrections&);\r
59   AliAnalysisTaskJetCorrections& operator = (const AliAnalysisTaskJetCorrections&);\r
60 \r
61   enum {kMaxJets = 6};\r
62   enum {kMaxEvents = 10};\r
63   enum {kJets = 3};\r
64   enum {kTracks = 1000};\r
65 \r
66   AliAODEvent  *fAOD; // where we take the jets from can be input or output AOD\r
67   \r
68   TString       fBranchRec;  // AOD branch name for reconstructed\r
69   TString       fBranchGen;  // AOD brnach for genereated\r
70   \r
71   Bool_t        fUseAODInput; // use aod input not output\r
72   Double_t fR; // radius\r
73   TList * fList; // output list\r
74  \r
75   Int_t fGlobVar; // switch enabling checking out just one event\r
76   Double_t fXsection; // cross-section \r
77 \r
78 \r
79   TH1F * fhEGen; // generated energy histogram\r
80   TH1F * fhERec; // reconstructed energy histogram\r
81   TH1F * fhEGenRest; // generated energy in the rest frame of three-jet events\r
82   TH1F * fhERecRest; // generated energy in the rest frame of three-jet events\r
83   TH1F * fhEsumGenRest; //generated summed energy in the rest frame of three-jet events\r
84   TH1F * fhEsumRecRest; // reconstructed summed energy in the rest frame of three-jet events\r
85 \r
86   TH2F * fhE2vsE1Gen; // leading vs next-to leading jet energy, generated\r
87   TH2F * fhE2vsE1Rec; // leading vs next-to leading jet energy, reconstruted\r
88   TH2F * fhE2E1vsEsumGen; // E2,E1 diference vs. summed energy, generated\r
89   TH2F * fhE2E1vsEsumRec; // E2, E1 difference vs summed jet energy, reconstructed\r
90   TH2F * fhE2E1vsE1Gen; // E2, E1 difference vs E1, generated\r
91   TH2F * fhE2E1vsE1Rec; // E2, E1 diference vs E1, reeconstructed\r
92   TH2F * fhE2E1vsdPhiGen; // E2, E1 difference vs dPhi, generated\r
93   TH2F * fhE2E1vsdPhiRec; // E2, E1 difference vs dPhi, reconstrted\r
94 \r
95   TH2F * fhTrackBalance2; // track balance in 2-jet events\r
96   TH2F * fhTrackBalance3; // track balance in 3-jet events\r
97 \r
98   TH2F * fhEt1Et22; // Et1,2 in back-to-back cones in 2-jet events\r
99   TH2F * fhEt1Et23; // Et1,2 in back-to-back cones in 3-jet events\r
100 \r
101   TProfile * fhECorrJet10[3]; // corr. factor for jets matched within dR = 1.\r
102   TProfile * fhECorrJet05[3]; // corr. factor for jets matched within dR = .5\r
103   TProfile * fhECorrJet01[3]; // corr. factor for jets matched within dR = .1\r
104   TProfile * fhECorrJet001[3]; // corr. factor for jets matched within dR = .01\r
105   \r
106   TProfile * fhdEvsErec10[3]; // energy difference vs rec. energy, dR = 1.\r
107   TProfile * fhdEvsErec05[3]; // energy difference vs rec. energy, dR = .5\r
108   TProfile * fhdEvsErec01[3]; // energy difference vs rec. energy, dR = .1\r
109   TProfile * fhdEvsErec001[3]; // energy difference vs rec. energy, dR = .01\r
110 \r
111   TH2F * fhdPhidEta10[3]; // dPhi vs dEta of particles, dR = 1.\r
112   TH2F * fhdPhidEta05[3]; // dPhi vs dEta of particles, dR = .5\r
113   TH2F * fhdPhidEta01[3]; // dPhi vs dEta of particles, dR = .1\r
114   TH2F * fhdPhidEta001[3]; // dPhi vs dEta of particles, dR = .01\r
115 \r
116   TH2F * fhdPhidEtaPt10[3]; // Pt weighted dPhi vs dEta of particles, dR = 1.\r
117   TH2F * fhdPhidEtaPt05[3]; // Pt weighted dPhi vs dEta of particles, dR = .5\r
118   TH2F * fhdPhidEtaPt01[3]; // Pt weighted dPhi vs dEta of particles, dR = .1\r
119   TH2F * fhdPhidEtaPt001[3]; // Pt weighted dPhi vs dEta of particles, dR = .01\r
120   ClassDef(AliAnalysisTaskJetCorrections, 1)\r
121 };\r
122 \r
123 #endif\r