11 #include <TClonesArray.h>
15 #include <THnSparse.h>
17 #include <TLorentzVector.h>
18 #include <TParameter.h>
19 #include <TParticle.h>
23 #include "AliAODEvent.h"
24 #include "AliAnalysisManager.h"
25 #include "AliAnalysisTask.h"
26 #include "AliCentrality.h"
27 #include "AliESDEvent.h"
28 #include "AliESDInputHandler.h"
30 #include "AliVCluster.h"
44 for (
Int_t i = 0;i<7;++i){
45 fHistJetPtvsTrackPt[i] = 0;
46 fHistJetPtScvsTrackPt[i] = 0;
47 fHistRawJetPtvsTrackPt[i] = 0;
53 fHistJetPtvsdEP[i] = 0;
54 fHistJetPtvsdEPBias[i] = 0;
55 fHistJetPtvsEP[i] = 0;
56 fHistJetPtvsEPBias[i] = 0;
58 fHistJetPtEtaPhi[i] = 0;
61 SetMakeGeneralHistograms(kTRUE);
71 for (
Int_t i = 0;i<7;++i){
103 for (
Int_t i = 0;i<7;++i){
104 name =
TString(Form(
"JetPtvsTrackPt_%i",i));
105 title =
TString(Form(
"Jet pT vs Leading Track pT cent bin %i",i));
109 name =
TString(Form(
"JetPtScvsTrackPt_%i",i));
110 title =
TString(Form(
"Jet pT Rho_scaled vs Leading Track pT cent bin %i",i));
114 name =
TString(Form(
"RawJetPtvsTrackPt_%i",i));
115 title =
TString(Form(
"Raw Jet pT vs Leading Track pT cent bin %i",i));
118 name =
TString(Form(
"TrackPt_%i",i));
119 title =
TString(Form(
"Track pT cent bin %i",i));
123 name =
TString(Form(
"EP0_%i",i));
124 title =
TString(Form(
"EP VZero cent bin %i",i));
125 fHistEP0[i] =
new TH1F(name,title,100,-TMath::Pi(),TMath::Pi());
127 name =
TString(Form(
"EP0A_%i",i));
128 title =
TString(Form(
"EP VZero cent bin %i",i));
129 fHistEP0A[i] =
new TH1F(name,title,100,-TMath::Pi(),TMath::Pi());
131 name =
TString(Form(
"EP0C_%i",i));
132 title =
TString(Form(
"EP VZero cent bin %i",i));
133 fHistEP0C[i] =
new TH1F(name,title,100,-TMath::Pi(),TMath::Pi());
135 name =
TString(Form(
"EPAvsC_%i",i));
136 title =
TString(Form(
"EP VZero cent bin %i",i));
137 fHistEPAvsC[i] =
new TH2F(name,title,100,-TMath::Pi(),TMath::Pi(),100,-TMath::Pi(),TMath::Pi());
139 name =
TString(Form(
"JetPtvsdEP_%i",i));
140 title =
TString(Form(
"Jet pt vs dEP cent bin %i",i));
143 name =
TString(Form(
"JetPtvsdEPBias_%i",i));
144 title =
TString(Form(
"Bias Jet pt vs dEP cent bin %i",i));
147 name =
TString(Form(
"JetPtvsEP_%i",i));
148 title =
TString(Form(
"Jet pt vs EP cent bin %i",i));
149 fHistJetPtvsEP[i] =
new TH2F(name,title,1000,-500,500,400,-2*TMath::Pi(),2*TMath::Pi());
151 name =
TString(Form(
"JetPtvsEPBias_%i",i));
152 title =
TString(Form(
"Bias Jet pt vs EP cent bin %i",i));
155 name =
TString(Form(
"RhovsEP_%i",i));
156 title =
TString(Form(
"Rho vs EP cent bin %i",i));
157 fHistRhovsEP[i] =
new TH2F(name,title,500,0,500,400,-2*TMath::Pi(),2*TMath::Pi());
160 name =
TString(Form(
"JetPtEtaPhi_%i",i));
161 title =
TString(Form(
"JetPtEtaPhi_%i",i));
162 fHistJetPtEtaPhi[i] =
new TH3F(name,title,300,-100,200,26,-0.8,0.8,400,-2*TMath::Pi(),2*TMath::Pi());
183 if (cent>=0 && cent<10)
185 else if (cent>=10 && cent<20)
187 else if (cent>=20 && cent<30)
189 else if (cent>=30 && cent<40)
191 else if (cent>=40 && cent<50)
193 else if (cent>=50 && cent<101)
202 if (vphi < -1*TMath::Pi()) vphi += (2*TMath::Pi());
203 else if (vphi > TMath::Pi()) vphi -= (2*TMath::Pi());
204 if (mphi < -1*TMath::Pi()) mphi += (2*TMath::Pi());
205 else if (mphi > TMath::Pi()) mphi -= (2*TMath::Pi());
206 double dphi = mphi-vphi;
207 if (dphi < -1*TMath::Pi()) dphi += (2*TMath::Pi());
208 else if (dphi > TMath::Pi()) dphi -= (2*TMath::Pi());
231 for (
int i = 0;i<nTrack;i++){
232 AliVParticle *track =
static_cast<AliVParticle*
>(
fTracks->At(i));
252 fRhoScaledName.Append(
"_Scaled");
257 fRhoScVal=fRhoScaled->GetVal();
263 for (
Int_t iJets = 0; iJets < Njets; ++iJets) {
284 jetPtSc = jet->
Pt()-jet->
Area()*fRhoScVal;
virtual void UserCreateOutputObjects()
Bool_t Run()
Run function. This is the core function of the analysis and contains the user code. Therefore users have to implement this function.
TH2F * fHistJetPtvsTrackPt[7]
number of jets versus Centrality
Double_t fEPV0
!event plane V0
TH2F * fHistJetPtvsdEPBias[7]
Double_t fEPV0C
!event plane V0C
TH3F * fHistJetPtEtaPhi[7]
TH2F * fHistJetPtvsEPBias[7]
AliRhoParameter * GetRhoFromEvent(const char *name)
AliRhoParameter * fRho
! event rho
Double_t MaxTrackPt() const
Double_t fCent
!event centrality
virtual Int_t GetCentBin(Double_t cent) const
TH2F * fHistRawJetPtvsTrackPt[7]
TClonesArray * fJets
! jets
TH2F * fHistJetPtScvsTrackPt[7]
AliEmcalList * fOutput
!output list
TClonesArray * fTracks
!tracks
Bool_t fCreateHisto
whether or not create histograms
void SetMakeGeneralHistograms(Bool_t g)
Base task in the EMCAL jet framework.
Double_t fEPV0A
!event plane V0A
Represent a jet reconstructed using the EMCal jet framework.
Float_t RelativePhi(Double_t mphi, Double_t vphi) const
void UserCreateOutputObjects()
Main initialization function on the worker.
virtual Bool_t AcceptJet(AliEmcalJet *jet, Int_t c=0)
Double_t fRhoVal
! event rho value, same for local rho
AliAnalysisTaskEmcalJetSpectraMECpA()
TH2F * fHistJetPtvsdEP[7]