]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/JetTasks/AliAnalysisTaskThreeJets.h
First implementation of EMCAL trigger QA from Nicola Arbor
[u/mrichter/AliRoot.git] / PWG4 / JetTasks / AliAnalysisTaskThreeJets.h
CommitLineData
95392a57 1#ifndef ALIANALYSISTASKTHREEJETS_H\r
2#define ALIANALYSISTASKTHREEJETS_H\r
3\r
4#include "AliAnalysisTaskSE.h"\r
393afcc4 5\r
6// \r
7// Task for three jet ana by sona \r
8// \r
95392a57 9\r
10//class AliJetHistos;\r
11//class AliJetCorrHistos;\r
12class AliJetFinder;\r
13class AliESDEvent;\r
14class AliAODEvent;\r
15class AliAODJet;\r
16class AliGenPythiaEventHeader;\r
17class AliAODPid;\r
18\r
19class TList;\r
20class TArrayD;\r
21class TChain;\r
22class TH1;\r
23class TH2;\r
24class TH1F;\r
25class TH2F;\r
26class TH2I;\r
27class TH3D;\r
28class TTree;\r
29class TProfile;\r
30class TLorentzVector;\r
31class TVector3;\r
32class TParticle;\r
33\r
34class 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
7fa8b2da 50 virtual void SetUseMC(Bool_t b){fUseMC = b;}\r
95392a57 51\r
393afcc4 52 virtual void SetBranchGen(const char* c){fBranchGen = c;}\r
53 virtual void SetBranchRec(const char* c){fBranchRec = c;}\r
95392a57 54\r
95392a57 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
95392a57 58 virtual Bool_t IsPrimChar(TParticle* aParticle, Int_t aTotalPrimaries, Bool_t adebug);\r
59\r
393afcc4 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
95392a57 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
7fa8b2da 75 Bool_t fUseMC; //switch for using MC info \r
76\r
95392a57 77 TString fBranchRec; // AOD branch name for reconstructed\r
78 TString fBranchGen; // AOD brnach for genereated\r
79 \r
393afcc4 80 Bool_t fUseAODInput; // read the AOD from the input no from the output\r
95392a57 81\r
393afcc4 82 Double_t fR; // radius\r
83 TList * fList; // output list\r
95392a57 84\r
216601f0 85 TH1I * fhStopHisto; //Histogram to check were the code returns
393afcc4 86 Int_t fGlobVar; // globvar\r
87 Double_t fXsection; // xsectio\r
95392a57 88\r
6f3f79de 89TH2F * fhX3X4Rec; // Dalitz variables, reconstructed\r
90 TH2F * fhX3X4Gen; // Dalitz variables, generated\r
95392a57 91 \r
6f3f79de 92 TH1F * fhMu35Rec; // scaled masses, 35, reconstructed\r
93 TH1F * fhMu34Rec; // scaled masses, 34, reconstructed\r
94 TH1F * fhMu45Rec; // scaled masses, 45, reconstructed\r
95392a57 95 \r
6f3f79de 96 TH1F * fhMu35Gen; // scaled masses, 35, generated\r
97 TH1F * fhMu34Gen; // scaled masses, 34, generated\r
98 TH1F * fhMu45Gen; // scaled masses, 45, generated\r
95392a57 99\r
6f3f79de 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
95392a57 103\r
6f3f79de 104 TH1F * fhThrustGen2; // thrust for gen 2-jet events\r
105 TH1F * fhThrustGen3; // thrust for gen 3-jet events\r
95392a57 106\r
6f3f79de 107 TH1F * fhCGen2; // C-variable for gen 2-jets\r
108 TH1F * fhCGen3; // C-variable for gen 3-jets\r
95392a57 109\r
6f3f79de 110 TH1F * fhSGen2; // Sphericity for gen 2-jets\r
111 TH1F * fhSGen3; // Sphericity for gen 3-jets\r
95392a57 112\r
6f3f79de 113 TH1F * fhAGen2; // A-variable for gen 2-jets\r
114TH1F * fhAGen3; // A-variable for gen 3-jets\r
95392a57 115\r
6f3f79de 116 TH1F * fhCRec2; // C-variable for reco 2-jets\r
117 TH1F * fhCRec3; // C-variable for reco 3-jets\r
95392a57 118\r
6f3f79de 119 TH1F * fhSRec2; // Sphericity for reco 2-jets\r
120 TH1F * fhSRec3; // Sphericity for reco 3-jets\r
95392a57 121\r
6f3f79de 122 TH1F * fhARec2; // A-variable for reco 2-jets\r
123 TH1F * fhARec3; // A-variable for reco 3-jets\r
95392a57 124\r
6f3f79de 125 TH2F * fhX3; // dX3 vs X3 rec\r
126 TH2F * fhX4; // dX4 vs X4 rec\r
127 TH2F * fhX5; // dX5 vs X5 rec\r
95392a57 128\r
6f3f79de 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
95392a57 136\r
6f3f79de 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
95392a57 141\r
142 ClassDef(AliAnalysisTaskThreeJets, 1)\r
143};\r
144\r
145#endif\r