]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/JetTasks/AliAnalysisTaskThreeJets.h
added new spectrum task including FF and with using PWG4 unfolding, just THNsparse...
[u/mrichter/AliRoot.git] / PWG4 / JetTasks / AliAnalysisTaskThreeJets.h
1 #ifndef ALIANALYSISTASKTHREEJETS_H\r
2 #define ALIANALYSISTASKTHREEJETS_H\r
3 \r
4 #include "AliAnalysisTaskSE.h"\r
5 \r
6 // \r
7 // Task for three jet ana by sona \r
8 // \r
9 \r
10 //class AliJetHistos;\r
11 //class AliJetCorrHistos;\r
12 class AliJetFinder;\r
13 class AliESDEvent;\r
14 class AliAODEvent;\r
15 class AliAODJet;\r
16 class AliGenPythiaEventHeader;\r
17 class AliAODPid;\r
18 \r
19 class TList;\r
20 class TArrayD;\r
21 class TChain;\r
22 class TH1;\r
23 class TH2;\r
24 class TH1F;\r
25 class TH2F;\r
26 class TH2I;\r
27 class TH3D;\r
28 class TTree;\r
29 class TProfile;\r
30 class TLorentzVector;\r
31 class TVector3;\r
32 class TParticle;\r
33 \r
34 class AliAnalysisTaskThreeJets : public AliAnalysisTaskSE\r
35 {\r
36  public:\r
37   AliAnalysisTaskThreeJets();\r
38   AliAnalysisTaskThreeJets(const char * name);\r
39   virtual ~AliAnalysisTaskThreeJets() {;}\r
40   \r
41   //Implementation of interface methods\r
42   virtual Bool_t Notify(); \r
43   virtual void UserCreateOutputObjects();\r
44   virtual void Init();\r
45   virtual void LocalInit() { Init(); };\r
46   virtual void UserExec(Option_t * option);\r
47   virtual void Terminate(Option_t * option);\r
48 \r
49   virtual void SetAODInput(Bool_t b){fUseAODInput = b;}\r
50 \r
51   virtual void SetBranchGen(const char* c){fBranchGen = c;}\r
52   virtual void SetBranchRec(const char* c){fBranchRec = c;}\r
53 \r
54   virtual void FillTopology(TH2F * Dalitz, TH1F * fhMu34, TH1F * fhMu45, TH1F * fhMu35, Double_t * x, TVector3 * pRest, Double_t xsection);\r
55 \r
56   virtual Double_t SetR(Double_t b){fR = b; return fR;} \r
57   virtual Bool_t IsPrimChar(TParticle* aParticle, Int_t aTotalPrimaries, Bool_t adebug);\r
58 \r
59   Double_t Exponent(Double_t x,const Double_t * const par) const;\r
60   Double_t Exponent2(Double_t x,const Double_t * const par) const;\r
61   Double_t Gauss(Double_t x,const Double_t * const par) const;\r
62   Double_t Total(Double_t x,const Double_t * const par) const;\r
63 \r
64  private:\r
65   AliAnalysisTaskThreeJets(const AliAnalysisTaskThreeJets&);\r
66   AliAnalysisTaskThreeJets& operator = (const AliAnalysisTaskThreeJets&);\r
67 \r
68   enum {kMaxJets = 6};\r
69   enum {kMaxEvents = 10};\r
70   enum {kJets = 3};\r
71   enum {kTracks = 1000};\r
72 \r
73   AliAODEvent  *fAOD; // where we take the jets from can be input or output AOD\r
74   \r
75   TString       fBranchRec;  // AOD branch name for reconstructed\r
76   TString       fBranchGen;  // AOD brnach for genereated\r
77   \r
78   Bool_t        fUseAODInput; // read the AOD from the input no from the output\r
79 \r
80   Double_t fR; // radius\r
81   TList * fList; // output list\r
82 \r
83   Int_t fGlobVar; // globvar\r
84   Double_t fXsection; // xsectio\r
85 \r
86 TH2F * fhX3X4Rec; // Dalitz variables, reconstructed\r
87   TH2F * fhX3X4Gen; // Dalitz variables, generated\r
88   \r
89   TH1F * fhMu35Rec; // scaled masses, 35, reconstructed\r
90   TH1F * fhMu34Rec; // scaled masses, 34, reconstructed\r
91   TH1F * fhMu45Rec; // scaled masses, 45, reconstructed\r
92   \r
93   TH1F * fhMu35Gen; // scaled masses, 35, generated\r
94   TH1F * fhMu34Gen; // scaled masses, 34, generated\r
95   TH1F * fhMu45Gen; // scaled masses, 45, generated\r
96 \r
97   TH1I * fhInOut; // number of gen. vs number of rec.\r
98   TH1F * fhThrustRec2; // thrust for reco 2-jet events\r
99   TH1F * fhThrustRec3; // thrust for reco 3-jet events\r
100 \r
101   TH1F * fhThrustGen2; // thrust for gen 2-jet events\r
102   TH1F * fhThrustGen3; // thrust for gen 3-jet events\r
103 \r
104   TH1F * fhCGen2; // C-variable for gen 2-jets\r
105   TH1F * fhCGen3; // C-variable for gen 3-jets\r
106 \r
107   TH1F * fhSGen2; // Sphericity for gen 2-jets\r
108   TH1F * fhSGen3; // Sphericity for gen 3-jets\r
109 \r
110   TH1F * fhAGen2; // A-variable for gen 2-jets\r
111 TH1F * fhAGen3; // A-variable for gen 3-jets\r
112 \r
113   TH1F * fhCRec2; // C-variable for reco 2-jets\r
114   TH1F * fhCRec3; // C-variable for reco 3-jets\r
115 \r
116   TH1F * fhSRec2; // Sphericity for reco 2-jets\r
117   TH1F * fhSRec3; // Sphericity for reco 3-jets\r
118 \r
119   TH1F * fhARec2; // A-variable for reco 2-jets\r
120   TH1F * fhARec3; // A-variable for reco 3-jets\r
121 \r
122   TH2F * fhX3; // dX3 vs X3 rec\r
123   TH2F * fhX4; // dX4 vs X4 rec\r
124   TH2F * fhX5; // dX5 vs X5 rec\r
125 \r
126   TProfile * fhXSec; // cross-section vs PtHard\r
127   TH2F * fhX3X4Rec60; // Dalitz plane for Esum < 60, reco\r
128   TH2F * fhX3X4Rec60100; // Dalitz plane for 60 < Esum < 100, reco\r
129   TH2F * fhX3X4Rec100; // Dalitz plane for Esum > 100, reco^M \r
130   TH2F * fhX3X4Gen60; // Dalitz plane for Esum < 60, gen\r
131   TH2F * fhX3X4Gen60100; // Dalitz plane for 60 < Esum < 100, gen\r
132   TH2F * fhX3X4Gen100; // Dalitz plane for Esum > 100, gen\r
133 \r
134   TH2F * fhdPhiThrustGen; // energy distribution with rspct to thrust axis, gen, 2-jets\r
135   TH2F * fhdPhiThrustGenALL; // energy distribution with rspct to thrust axis, gen 3-jets\r
136   TH2F * fhdPhiThrustRec; // energy distribution with rspct to thrust axis, reco, 2-jets\r
137   TH2F * fhdPhiThrustRecALL; // energy distribution with rspct to thrust axis, reco, 3-jets\r
138 \r
139   ClassDef(AliAnalysisTaskThreeJets, 1)\r
140 };\r
141 \r
142 #endif\r