]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/AliAnalysisTaskThreeJets.h
cosmetics
[u/mrichter/AliRoot.git] / PWGJE / 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   virtual void SetUseMC(Bool_t b){fUseMC = 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 void FillTopology(TH2F * Dalitz, TH1F * fhMu34, TH1F * fhMu45, TH1F * fhMu35, Double_t * x, TVector3 * pRest, Double_t xsection);\r
56 \r
57   virtual Double_t SetR(Double_t b){fR = b; return fR;} \r
58   virtual Bool_t IsPrimChar(TParticle* aParticle, Int_t aTotalPrimaries, Bool_t adebug);\r
59 \r
60   Double_t Exponent(Double_t x,const Double_t * const par) const;\r
61   Double_t Exponent2(Double_t x,const Double_t * const par) const;\r
62   Double_t Gauss(Double_t x,const Double_t * const par) const;\r
63   Double_t Total(Double_t x,const Double_t * const par) const;\r
64 \r
65  private:\r
66   AliAnalysisTaskThreeJets(const AliAnalysisTaskThreeJets&);\r
67   AliAnalysisTaskThreeJets& operator = (const AliAnalysisTaskThreeJets&);\r
68 \r
69   enum {kMaxJets = 6};\r
70   enum {kMaxEvents = 10};\r
71   enum {kJets = 3};\r
72   enum {kTracks = 1000};\r
73 \r
74   AliAODEvent  *fAOD; // where we take the jets from can be input or output AOD\r
75   Bool_t       fUseMC; //switch for using MC info  \r
76 \r
77   TString       fBranchRec;  // AOD branch name for reconstructed\r
78   TString       fBranchGen;  // AOD brnach for genereated\r
79   \r
80   Bool_t        fUseAODInput; // read the AOD from the input no from the output\r
81 \r
82   Double_t fR; // radius\r
83   TList * fList; // output list\r
84 \r
85   TH1I * fhStopHisto; //Histogram to check were the code returns
86   Int_t fGlobVar; // globvar\r
87   Double_t fXsection; // xsectio\r
88 \r
89 TH2F * fhX3X4Rec; // Dalitz variables, reconstructed\r
90   TH2F * fhX3X4Gen; // Dalitz variables, generated\r
91   \r
92   TH1F * fhMu35Rec; // scaled masses, 35, reconstructed\r
93   TH1F * fhMu34Rec; // scaled masses, 34, reconstructed\r
94   TH1F * fhMu45Rec; // scaled masses, 45, reconstructed\r
95   \r
96   TH1F * fhMu35Gen; // scaled masses, 35, generated\r
97   TH1F * fhMu34Gen; // scaled masses, 34, generated\r
98   TH1F * fhMu45Gen; // scaled masses, 45, generated\r
99 \r
100   TH1I * fhInOut; // number of gen. vs number of rec.\r
101   TH1F * fhThrustRec2; // thrust for reco 2-jet events\r
102   TH1F * fhThrustRec3; // thrust for reco 3-jet events\r
103 \r
104   TH1F * fhThrustGen2; // thrust for gen 2-jet events\r
105   TH1F * fhThrustGen3; // thrust for gen 3-jet events\r
106 \r
107   TH1F * fhCGen2; // C-variable for gen 2-jets\r
108   TH1F * fhCGen3; // C-variable for gen 3-jets\r
109 \r
110   TH1F * fhSGen2; // Sphericity for gen 2-jets\r
111   TH1F * fhSGen3; // Sphericity for gen 3-jets\r
112 \r
113   TH1F * fhAGen2; // A-variable for gen 2-jets\r
114 TH1F * fhAGen3; // A-variable for gen 3-jets\r
115 \r
116   TH1F * fhCRec2; // C-variable for reco 2-jets\r
117   TH1F * fhCRec3; // C-variable for reco 3-jets\r
118 \r
119   TH1F * fhSRec2; // Sphericity for reco 2-jets\r
120   TH1F * fhSRec3; // Sphericity for reco 3-jets\r
121 \r
122   TH1F * fhARec2; // A-variable for reco 2-jets\r
123   TH1F * fhARec3; // A-variable for reco 3-jets\r
124 \r
125   TH2F * fhX3; // dX3 vs X3 rec\r
126   TH2F * fhX4; // dX4 vs X4 rec\r
127   TH2F * fhX5; // dX5 vs X5 rec\r
128 \r
129   TProfile * fhXSec; // cross-section vs PtHard\r
130   TH2F * fhX3X4Rec60; // Dalitz plane for Esum < 60, reco\r
131   TH2F * fhX3X4Rec60100; // Dalitz plane for 60 < Esum < 100, reco\r
132   TH2F * fhX3X4Rec100; // Dalitz plane for Esum > 100, reco^M \r
133   TH2F * fhX3X4Gen60; // Dalitz plane for Esum < 60, gen\r
134   TH2F * fhX3X4Gen60100; // Dalitz plane for 60 < Esum < 100, gen\r
135   TH2F * fhX3X4Gen100; // Dalitz plane for Esum > 100, gen\r
136 \r
137   TH2F * fhdPhiThrustGen; // energy distribution with rspct to thrust axis, gen, 2-jets\r
138   TH2F * fhdPhiThrustGenALL; // energy distribution with rspct to thrust axis, gen 3-jets\r
139   TH2F * fhdPhiThrustRec; // energy distribution with rspct to thrust axis, reco, 2-jets\r
140   TH2F * fhdPhiThrustRecALL; // energy distribution with rspct to thrust axis, reco, 3-jets\r
141 \r
142   ClassDef(AliAnalysisTaskThreeJets, 1)\r
143 };\r
144 \r
145 #endif\r