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