1 #ifndef ALIANALYSISTASKTHREEJETS_H
\r
2 #define ALIANALYSISTASKTHREEJETS_H
\r
4 #include "AliAnalysisTaskSE.h"
\r
7 // Task for three jet ana by sona
\r
10 //class AliJetHistos;
\r
11 //class AliJetCorrHistos;
\r
16 class AliGenPythiaEventHeader;
\r
30 class TLorentzVector;
\r
34 class AliAnalysisTaskThreeJets : public AliAnalysisTaskSE
\r
37 AliAnalysisTaskThreeJets();
\r
38 AliAnalysisTaskThreeJets(const char * name);
\r
39 virtual ~AliAnalysisTaskThreeJets() {;}
\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
49 virtual void SetAODInput(Bool_t b){fUseAODInput = b;}
\r
51 virtual void SetBranchGen(const char* c){fBranchGen = c;}
\r
52 virtual void SetBranchRec(const char* c){fBranchRec = c;}
\r
54 virtual void FillTopology(TH2F * Dalitz, TH1F * fhMu34, TH1F * fhMu45, TH1F * fhMu35, Double_t * x, TVector3 * pRest, Double_t xsection);
\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
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
65 AliAnalysisTaskThreeJets(const AliAnalysisTaskThreeJets&);
\r
66 AliAnalysisTaskThreeJets& operator = (const AliAnalysisTaskThreeJets&);
\r
68 enum {kMaxJets = 6};
\r
69 enum {kMaxEvents = 10};
\r
71 enum {kTracks = 1000};
\r
73 AliAODEvent *fAOD; // where we take the jets from can be input or output AOD
\r
75 TString fBranchRec; // AOD branch name for reconstructed
\r
76 TString fBranchGen; // AOD brnach for genereated
\r
78 Bool_t fUseAODInput; // read the AOD from the input no from the output
\r
80 Double_t fR; // radius
\r
81 TList * fList; // output list
\r
83 Int_t fGlobVar; // globvar
\r
84 Double_t fXsection; // xsectio
\r
86 TH2F * fhX3X4Rec; // Dalitz variables, reconstructed
\r
87 TH2F * fhX3X4Gen; // Dalitz variables, generated
\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
93 TH1F * fhMu35Gen; // scaled masses, 35, generated
\r
94 TH1F * fhMu34Gen; // scaled masses, 34, generated
\r
95 TH1F * fhMu45Gen; // scaled masses, 45, generated
\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
101 TH1F * fhThrustGen2; // thrust for gen 2-jet events
\r
102 TH1F * fhThrustGen3; // thrust for gen 3-jet events
\r
104 TH1F * fhCGen2; // C-variable for gen 2-jets
\r
105 TH1F * fhCGen3; // C-variable for gen 3-jets
\r
107 TH1F * fhSGen2; // Sphericity for gen 2-jets
\r
108 TH1F * fhSGen3; // Sphericity for gen 3-jets
\r
110 TH1F * fhAGen2; // A-variable for gen 2-jets
\r
111 TH1F * fhAGen3; // A-variable for gen 3-jets
\r
113 TH1F * fhCRec2; // C-variable for reco 2-jets
\r
114 TH1F * fhCRec3; // C-variable for reco 3-jets
\r
116 TH1F * fhSRec2; // Sphericity for reco 2-jets
\r
117 TH1F * fhSRec3; // Sphericity for reco 3-jets
\r
119 TH1F * fhARec2; // A-variable for reco 2-jets
\r
120 TH1F * fhARec3; // A-variable for reco 3-jets
\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
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
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
139 ClassDef(AliAnalysisTaskThreeJets, 1)
\r