13 #include <TClonesArray.h>
21 #include "AliVVZERO.h"
33 fCompareRhoScaledName(),
36 fInEventSigmaRho(35.83),
37 fAttachToEvent(kTRUE),
44 fHistJetAreavsCent(0),
47 fHistJetPtvsNtrack(0),
48 fHistJetAreavsNtrack(0),
51 fHistRhoScaledvsCent(0),
52 fHistDeltaRhovsCent(0),
53 fHistDeltaRhoScalevsCent(0),
54 fHistRhovsNtrackvsV0Mult(0),
55 fHistRhoScaledvsNtrackvsV0Mult(0),
56 fHistDeltaRhovsNtrack(0),
57 fHistDeltaRhoScalevsNtrack(0),
58 fHistRhovsNcluster(0),
59 fHistRhoScaledvsNcluster(0)
63 for (
Int_t i = 0; i < 4; i++) {
64 fHistJetNconstVsPt[i] = 0;
65 fHistJetRhovsEta[i] = 0;
67 for (
Int_t i = 0; i < 12; i++) {
68 fHistNjUEoverNjVsNj[i] = 0;
78 fCompareRhoScaledName(),
81 fInEventSigmaRho(35.83),
82 fAttachToEvent(kTRUE),
89 fHistJetAreavsCent(0),
92 fHistJetPtvsNtrack(0),
93 fHistJetAreavsNtrack(0),
96 fHistRhoScaledvsCent(0),
97 fHistDeltaRhovsCent(0),
98 fHistDeltaRhoScalevsCent(0),
99 fHistRhovsNtrackvsV0Mult(0),
100 fHistRhoScaledvsNtrackvsV0Mult(0),
101 fHistDeltaRhovsNtrack(0),
102 fHistDeltaRhoScalevsNtrack(0),
103 fHistRhovsNcluster(0),
104 fHistRhoScaledvsNcluster(0)
108 for (
Int_t i = 0; i < 4; i++) {
112 for (
Int_t i = 0; i < 12; i++) {
128 Float_t Ntrackrange[2] = {0, 6000};
129 Float_t V0Mult[2] = {0.,25000.};
132 Ntrackrange[1] = 200.;
142 fHistRhovsNtrackvsV0Mult =
new TH3F(
"fHistRhovsNtrackvsV0Mult",
"fHistRhovsNtrackvsV0Mult", 150, Ntrackrange[0], Ntrackrange[1],
fNbins,
fMinBinPt,
fMaxBinPt*2,100, V0Mult[0], V0Mult[1]);
172 fHistNjetvsCent =
new TH2F(
"fHistNjetvsCent",
"fHistNjetvsCent", 101, -1, 100, 150, -0.5, 149.5);
184 fHistJetAreavsNtrack =
new TH2F(
"fHistJetAreavsNtrack",
"fHistJetAreavsNtrack", 150, Ntrackrange[0], Ntrackrange[1], 100, 0, 1);
189 fHistNjetvsNtrack =
new TH2F(
"fHistNjetvsNtrack",
"fHistNjetvsNtrack", 150, Ntrackrange[0], Ntrackrange[1], 150, -0.5, 149.5);
197 for (
Int_t i = 0; i < 4; i++) {
198 name = Form(
"fHistJetNconstVsPt_%d",i);
204 name = Form(
"fHistJetRhovsEta_%d",i);
210 for (
Int_t j = 0; j < 3; j++) {
211 name = Form(
"NjUEoverNjVsNj_%d_%d",i,j+1);
241 fHistRhoScaledvsNtrackvsV0Mult =
new TH3F(
"fHistRhoScaledvsNtrackvsV0Mult",
"fHistRhoScaledvsNtrackvsV0Mult", 150, Ntrackrange[0], Ntrackrange[1],
fNbins,
fMinBinPt,
fMaxBinPt*2,100, V0Mult[0], V0Mult[1]);
295 AliVVZERO* vV0 = InputEvent()->GetVZEROData();
299 multV0A = vV0->GetMTotV0A();
300 multV0C = vV0->GetMTotV0C();
311 Int_t NjetUE1Sigma = 0;
312 Int_t NjetUE2Sigma = 0;
313 Int_t NjetUE3Sigma = 0;
318 for (
Int_t i = 0; i < Njets; ++i) {
322 AliError(Form(
"%s: Could not receive jet %d", GetName(), i));
341 if (jet->
Pt() < rhoPlus1Sigma * jet->
Area())
344 if (jet->
Pt() < rhoPlus2Sigma * jet->
Area())
347 if (jet->
Pt() < rhoPlus3Sigma * jet->
Area())
402 if (!(InputEvent()->FindListObject(
fOutRhoName))) {
403 InputEvent()->AddObject(
fOutRho);
405 AliFatal(Form(
"%s: Container with same name %s already present. Aborting", GetName(),
fOutRhoName.Data()));
418 AliFatal(Form(
"%s: Container with same name %s already present. Aborting", GetName(),
fOutRhoScaledName.Data()));
427 AliWarning(Form(
"%s: Could not retrieve rho %s!", GetName(),
fCompareRhoName.Data()));
469 if (fname.BeginsWith(
"alien://")) {
470 TGrid::Connect(
"alien://");
473 TFile*
file = TFile::Open(path);
475 if (!file || file->IsZombie()) {
476 ::Error(
"AddTaskRho",
"Could not open scale function file");
480 TF1* sfunc =
dynamic_cast<TF1*
>(file->Get(name));
483 ::Info(
"AliAnalysisTaskRhoBase::LoadRhoFunction",
"Scale function %s loaded from file %s.", name, path);
486 ::Error(
"AliAnalysisTaskRhoBase::LoadRhoFunction",
"Scale function %s not found in file %s.", name, path);
AliRhoParameter * fCompareRho
output scaled rho object
TObjArray fClusterCollArray
cluster collection array
TH2F * fHistDeltaRhovsNtrack
rhoscaled vs. no. of tracks vs V0mult
TH2F * fHistDeltaRhoScalevsNtrack
delta rho vs. no. of tracks
TH2F * fHistNjetvsNtrack
jet area vs. no. of tracks
Double_t fInEventSigmaRho
TString fCompareRhoScaledName
TH2F * fHistNjetvsCent
jet pt/area vs. centrality
Double_t fMinBinPt
min pt in histograms
Int_t fCentBin
!event centrality bin
TF1 * LoadRhoFunction(const char *path, const char *name)
void UserCreateOutputObjects()
TH2F * fHistJetRhovsCent
jet area vs. centrality
TH2F * fHistJetPtvsNtrack
no. of jets vs. centrality
UShort_t GetNumberOfConstituents() const
virtual Double_t GetRhoFactor(Double_t cent)
TObjArray fParticleCollArray
particle/track collection array
AliParticleContainer * GetParticleContainer(Int_t i=0) const
AliRhoParameter * fOutRhoScaled
output rho object
TClonesArray * fCaloClusters
!clusters
AliRhoParameter * fCompareRhoScaled
rho object to compare
TString fOutRhoScaledName
AliClusterContainer * GetClusterContainer(Int_t i=0) const
TH2F * fHistJetRhovsEta[4]
jet no. of constituents vs. pt
Int_t GetNAcceptedClusters() const
Double_t fCent
!event centrality
TH2F * fHistJetAreavsNtrack
jet pt vs. no. of tracks
TObjArray fJetCollArray
jet collection array
TClonesArray * fJets
! jets
TH3F * fHistRhovsNtrackvsV0Mult
delta rhoscaled vs. centrality
TH2F * fHistRhoScaledvsCent
rho vs. centrality
ClassImp(AliAnalysisTaskRhoBase) AliAnalysisTaskRhoBase
TH2F * fHistRhovsNcluster
delta rho scaled vs. no. of tracks
virtual Double_t GetScaleFactor(Double_t cent)
AliEmcalList * fOutput
!output list
Double_t fMaxBinPt
max pt in histograms
TH2F * fHistNjUEoverNjVsNj[12]
no. of jets vs. no. of tracks
TH2F * fHistJetAreavsCent
jet pt vs. centrality
TClonesArray * fTracks
!tracks
TH2F * fHistJetNconstVsPt[4]
ratio no. of jets below rho*A+sigma_rho over. no. of jets vs. no. of jets
TH2F * fHistRhoScaledvsNcluster
rho vs. no. of clusters
TH2F * fHistRhovsCent
rho vs. eta
TH2F * fHistJetPtvsCent
scaled rho object to compare
Bool_t fCreateHisto
whether or not create histograms
void SetMakeGeneralHistograms(Bool_t g)
Base task in the EMCAL jet framework.
Represent a jet reconstructed using the EMCal jet framework.
void UserCreateOutputObjects()
virtual Bool_t AcceptJet(AliEmcalJet *jet, Int_t c=0)
Int_t GetNAcceptedParticles() const
AliRhoParameter * fOutRho
TH2F * fHistDeltaRhoScalevsCent
delta rho vs. centrality
Int_t fNbins
no. of pt bins
TH2F * fHistDeltaRhovsCent
rhoscaled vs. centrality
TH3F * fHistRhoScaledvsNtrackvsV0Mult
rho vs. no. of tracks vs V0mult