]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/UserTasks/AliAnalysisTaskJetHadronCorrelation.h
Moved initialisation of pointer (to PIDtasks) array to UserCreateOutputObjects, since...
[u/mrichter/AliRoot.git] / PWGJE / UserTasks / AliAnalysisTaskJetHadronCorrelation.h
1 #ifndef AliAnalysisTaskJetHadronCorrelation_cxx\r
2 #define AliAnalysisTaskJetHadronCorrelation_cxx\r
3 \r
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *\r
5  * See cxx source for full Copyright notice                               */\r
6 \r
7 class AliJetHeader;\r
8 class AliESDEvent;\r
9 class AliAODEvent;\r
10 class AliAODJet;\r
11 class AliGenPythiaEventHeader;\r
12 class AliCFManager;\r
13 \r
14 class TList;\r
15 class TChain;\r
16 class TH2F;\r
17 class TH1F;\r
18 class TH3F;\r
19 class TProfile;\r
20 \r
21 \r
22 #include "AliAnalysisTaskSE.h"\r
23 #include  "THnSparse.h" // cannot forward declare ThnSparseF  \r
24 #include <TList.h>\r
25 #include <TH1F.h>\r
26 #include <TH2F.h>\r
27 \r
28 class AliAnalysisTaskJetHadronCorrelation : public AliAnalysisTaskSE \r
29 {\r
30         public:\r
31                 AliAnalysisTaskJetHadronCorrelation();\r
32                 AliAnalysisTaskJetHadronCorrelation(const char *name);\r
33                 virtual ~AliAnalysisTaskJetHadronCorrelation() {;}\r
34 \r
35                 // Implementation of interface methods\r
36                 virtual void   UserCreateOutputObjects();\r
37                 virtual void   Init();\r
38                 virtual Bool_t Notify();\r
39                 virtual void   UserExec(Option_t *option);\r
40                 virtual void   Terminate(Option_t *);\r
41                 virtual void   SetDebug(Int_t debug = 0)        {fDebug = debug;}\r
42                 virtual void   SetAlgorithm(TString jf="ANTIKT"){JFAlg=jf;}\r
43                 virtual void   SetRadius(Float_t radius=0.4)    {Radius=radius;}\r
44                 virtual void   SetFilterMask(UInt_t filter=256) {Filtermask=filter;}\r
45                 virtual void   SetBackSubMode(Int_t backM=0)    {BackM=backM;}\r
46                 virtual void   SetTrackPtCut(Float_t tPtcut=0)  {TrackPtcut=tPtcut;}\r
47                 virtual void   SetSkipCone(Int_t skipCone=0)    {SkipCone=skipCone;}\r
48                 virtual void   SetMC(Bool_t ismc=true)          {IsMC=ismc;}\r
49                 virtual void   SetJetEScale  (Float_t JEScale=1.){JetEScale=JEScale;}\r
50                 virtual void   SetTrackEScale(Float_t TEScale=1.){TrackEScale=TEScale;}\r
51                 virtual void   FinishTaskOutput();\r
52 \r
53                 //enum {kNPTBINS=10};\r
54 \r
55                 // 0 all jets\r
56                 // 1 all jet in eta window\r
57                 // 2 all jets with partner\r
58                 // 3 all jets in eta window with partner\r
59                 // 4 all jets with partner in eta window\r
60                 //enum {kStep0 = 0, kStep1, kStep2, kStep3, kStep4,kMaxStep};\r
61 \r
62 \r
63 \r
64         private:\r
65                 AliAnalysisTaskJetHadronCorrelation(const AliAnalysisTaskJetHadronCorrelation &det); // not implemented\r
66                 AliAnalysisTaskJetHadronCorrelation& operator=(const AliAnalysisTaskJetHadronCorrelation &det); // not implemented\r
67                 Double_t DeltaPhi(Double_t phi1,Double_t phi2);\r
68 \r
69                 Bool_t          fUseAODInput; // read jets from input AOD\r
70                 TString         fJetBranch;   // jet branch to read\r
71                 TString         fNonStdFile;\r
72 \r
73                 AliAODEvent     *fAODIn;       // AOD event\r
74                 AliAODEvent     *fAODOut;      // AOD event\r
75                 AliAODExtension *fAODExtension;\r
76                 TString         JFAlg;\r
77                 Float_t         Radius;\r
78                 UInt_t          Filtermask;\r
79                 Int_t           BackM;\r
80                 Float_t         TrackPtcut;\r
81                 Int_t           SkipCone;\r
82                 Bool_t          IsMC;\r
83                 Float_t         JetEScale;\r
84                 Float_t         TrackEScale;\r
85 \r
86 \r
87                 Float_t         fxsec;\r
88                 Float_t         ftrial;\r
89 \r
90                 TList           *fHistList; // Output list\r
91     Int_t           fIfiles;//!count no. of files\r
92 \r
93 \r
94                 TH1F            *fH1Events;\r
95                 TProfile        *fH1Xsec;\r
96                 TH1F            *fH1Trials;\r
97 \r
98                 TH1F            *fH1Track_pt          ;\r
99                 TH1F            *fH1Track_phi         ;\r
100                 TH1F            *fH1Track_eta         ;\r
101                 TH1F            *fH1MCTrack_pt        ;\r
102                 TH1F            *fH1MCTrack_phi       ;\r
103                 TH1F            *fH1MCTrack_eta       ;\r
104                 TH1F            *fH1MCPrimTrack_pt    ;\r
105                 TH1F            *fH1MCPrimTrack_phi   ;\r
106                 TH1F            *fH1MCPrimTrack_eta   ;\r
107                 TH1F            *fH1Jet_pt            ;\r
108                 TH1F            *fH1Jet_phi           ;\r
109                 TH1F            *fH1Jet_eta           ;\r
110                 TH1F            *fH1leadJet_pt        ;\r
111                 TH1F            *fH1leadJet_pt_dijet  ;\r
112                 TH1F            *fH1subJet_pt_dijet   ;\r
113                 TH1F            *fH1JetMC_pt          ;\r
114                 TH1F            *fH1leadJetMC_pt      ;\r
115                 TH1F            *fH1leadJetMC_pt_dijet;\r
116                 TH1F            *fH1subJetMC_pt_dijet ;\r
117                 TH2F            *fH2JetsJet_dphi      ;\r
118                 TH2F            *fH2JetsJet_deta      ;\r
119                 TH2F            *fH2JetsJet_Aj        ;\r
120                 TH2F            *fH2JetsJet_pt        ;\r
121                 TH2F            *fH2JetsJetMC_dphi    ;\r
122                 TH2F            *fH2JetsJetMC_deta    ;\r
123                 TH2F            *fH2JetsJetMC_Aj      ;\r
124                 TH2F            *fH2JetsJetMC_pt      ;\r
125 \r
126                 TH2F         *fH2Mult_Mtrack          ;\r
127                 TH2F         *fH2Mult_Mlead           ;\r
128                 TH2F         *fH2Mult_Mjet            ;\r
129                 TH2F         *fH2Mult_Njet            ;\r
130                 TH2F         *fH2Mult_Aj              ;\r
131                 TH2F         *fH2Mlead_Aj             ;\r
132                 TH2F         *fH2Jet_pt_Mlead         ;\r
133                 TH2F         *fH2Jet_pt_Munder        ;\r
134 \r
135                 TH2F         *fH2leadJetMCptResolution ;\r
136                 TH2F         *fH2TrackMCptResolution   ;\r
137                 TH2F         *fH2TrackMCptEfficiency   ;\r
138                 TH2F         *fH2AjCorrelation_MCRec   ;\r
139                 TH2F         *fH2MleadCorrelation_MCRec;\r
140 \r
141                 TH1F         *fH1ndiJ_ediv                     [5];\r
142                 TH1F         *fH1Aj                            [5];\r
143                 TH1F         *fH1Mlead                         [5];\r
144 \r
145                 TH1F         *fH1leadJetMC_dphiResolution      [5];\r
146                 TH1F         *fH1subJetMC_dphiResolution       [5];\r
147                 TH1F         *fH1leadJetMC_Efficiency          [5];\r
148                 TH1F         *fH1subJetMC_Efficiency           [5];\r
149 \r
150                 TH1F         *fH1JetHadron_dphi_ediv             [5][5];\r
151                 TH1F         *fH1JetHadron_dphi_tptweight_ediv   [5][5];\r
152                 TH1F         *fH1JetHadron_dphi_tJptweight_ediv  [5][5];\r
153                 TH1F         *fH1JetHadronMC_dphi_ediv           [5][5];\r
154                 TH1F         *fH1JetHadronMC_dphi_tptweight_ediv [5][5];\r
155                 TH1F         *fH1JetHadronMC_dphi_tJptweight_ediv[5][5];\r
156                 TH1F         *fH1JetHadronMCPrim_dphi_ediv           [5][5];\r
157                 TH1F         *fH1JetHadronMCPrim_dphi_tptweight_ediv [5][5];\r
158                 TH1F         *fH1JetHadronMCPrim_dphi_tJptweight_ediv[5][5];\r
159                 //TH1F         *fH1JetHadronMCIdeal_dphi_ediv             [5][5];\r
160                 //TH1F         *fH1JetHadronMCIdeal_dphi_tptweight_ediv   [5][5];\r
161                 //TH1F         *fH1JetHadronMCIdeal_dphi_tJptweight_ediv  [5][5];\r
162 \r
163                 TH1F         *fH1ndiJ_2040Mlead                         [3];\r
164                 TH1F         *fH1ndiJ_2040Aj                            [3];\r
165                 TH1F         *fH1JetHadron_dphi_tptweight2040_Mleaddep  [3][5];\r
166                 TH1F         *fH1JetHadron_dphi_tptweight2040_Ajdep     [3][5];\r
167                 TH1F         *fH1JetHadronMC_dphi_tptweight2040_Mleaddep[3][5];\r
168                 TH1F         *fH1JetHadronMC_dphi_tptweight2040_Ajdep   [3][5];\r
169                 TH1F         *fH1JetHadronMCPrim_dphi_tptweight2040_Mleaddep[3][5];\r
170                 TH1F         *fH1JetHadronMCPrim_dphi_tptweight2040_Ajdep   [3][5];\r
171                 //TH1F         *fH1JetHadronMCIdeal_dphi_tptweight2040_Mleaddep[3][5];\r
172                 //TH1F         *fH1JetHadronMCIdeal_dphi_tptweight2040_Ajdep   [3][5];\r
173 \r
174                 ClassDef(AliAnalysisTaskJetHadronCorrelation, 17); // Analysis task for JetHadronCorrelation\r
175 };\r
176 \r
177 #endif\r