//________________________________________________________________________
AliAnalysisTaskRhoBase::AliAnalysisTaskRhoBase() :
AliAnalysisTaskEmcalJet("AliAnalysisTaskRhoBase", kFALSE),
- fRhoScaledName(),
+ fOutRhoName(),
+ fOutRhoScaledName(),
fCompareRhoName(),
fCompareRhoScaledName(),
fRhoFunction(0),
fScaleFunction(0),
fInEventSigmaRho(35.83),
fAttachToEvent(kTRUE),
- fRhoScaled(0),
+ fOutRho(0),
+ fOutRhoScaled(0),
fCompareRho(0),
fCompareRhoScaled(0),
fHistJetPtvsCent(0),
fHistJetAreavsCent(0),
+ fHistJetRhovsCent(0),
fHistNjetvsCent(0),
fHistJetPtvsNtrack(0),
fHistJetAreavsNtrack(0),
for (Int_t i = 0; i < 4; i++) {
fHistJetNconstVsPt[i] = 0;
+ fHistJetRhovsEta[i] = 0;
}
for (Int_t i = 0; i < 12; i++) {
fHistNjUEoverNjVsNj[i] = 0;
//________________________________________________________________________
AliAnalysisTaskRhoBase::AliAnalysisTaskRhoBase(const char *name, Bool_t histo) :
AliAnalysisTaskEmcalJet(name, histo),
- fRhoScaledName(),
+ fOutRhoName(),
+ fOutRhoScaledName(),
fCompareRhoName(),
fCompareRhoScaledName(),
fRhoFunction(0),
fScaleFunction(0),
fInEventSigmaRho(35.83),
fAttachToEvent(kTRUE),
- fRhoScaled(0),
+ fOutRho(0),
+ fOutRhoScaled(0),
fCompareRho(0),
fCompareRhoScaled(0),
fHistJetPtvsCent(0),
fHistJetAreavsCent(0),
+ fHistJetRhovsCent(0),
fHistNjetvsCent(0),
fHistJetPtvsNtrack(0),
fHistJetAreavsNtrack(0),
for (Int_t i = 0; i < 4; i++) {
fHistJetNconstVsPt[i] = 0;
+ fHistJetRhovsEta[i] = 0;
}
for (Int_t i = 0; i < 12; i++) {
fHistNjUEoverNjVsNj[i] = 0;
}
-
SetMakeGeneralHistograms(histo);
}
AliAnalysisTaskEmcalJet::UserCreateOutputObjects();
- fHistRhovsCent = new TH2F("RhovsCent", "RhovsCent", 101, -1, 100, fNbins, fMinBinPt, fMaxBinPt*2);
+ fHistRhovsCent = new TH2F("fHistRhovsCent", "fHistRhovsCent", 101, -1, 100, fNbins, fMinBinPt, fMaxBinPt*2);
+ fHistRhovsCent->GetXaxis()->SetTitle("Centrality (%)");
+ fHistRhovsCent->GetYaxis()->SetTitle("#rho (GeV/c * rad^{-1})");
fOutput->Add(fHistRhovsCent);
- if (!fTracksName.IsNull()) {
- fHistRhovsNtrack = new TH2F("RhovsNtrack", "RhovsNtrack", 125, 0, 4000, fNbins, fMinBinPt, fMaxBinPt*2);
+ if (fParticleCollArray.GetEntriesFast()>0) {
+ fHistRhovsNtrack = new TH2F("fHistRhovsNtrack", "fHistRhovsNtrack", 150, 0, 6000, fNbins, fMinBinPt, fMaxBinPt*2);
+ fHistRhovsNtrack->GetXaxis()->SetTitle("No. of tracks");
+ fHistRhovsNtrack->GetYaxis()->SetTitle("#rho (GeV/c * rad^{-1})");
fOutput->Add(fHistRhovsNtrack);
}
- if (!fCaloName.IsNull()) {
- fHistRhovsNcluster = new TH2F("RhovsNcluster", "RhovsNcluster", 50, 0, 1500, fNbins, fMinBinPt, fMaxBinPt*2);
+ if (fClusterCollArray.GetEntriesFast()>0) {
+ fHistRhovsNcluster = new TH2F("fHistRhovsNcluster", "fHistRhovsNcluster", 50, 0, 1500, fNbins, fMinBinPt, fMaxBinPt*2);
+ fHistRhovsNcluster->GetXaxis()->SetTitle("No. of tracks");
+ fHistRhovsNcluster->GetYaxis()->SetTitle("#rho (GeV/c * rad^{-1})");
fOutput->Add(fHistRhovsNcluster);
}
- if (!fJetsName.IsNull()) {
- fHistJetPtvsCent = new TH2F("JetPtvsCent", "JetPtvsCent", 101, -1, 100, fNbins, fMinBinPt, fMaxBinPt);
- fHistJetAreavsCent = new TH2F("JetAreavsCent", "JetAreavsCent", 101, -1, 100, 30, 0, fJetRadius * fJetRadius * TMath::Pi() * 3);
- fHistNjetvsCent = new TH2F("NjetvsCent", "NjetvsCent", 101, -1, 100, 150, -0.5, 149.5);
-
+ if (fJetCollArray.GetEntriesFast()>0) {
+ fHistJetPtvsCent = new TH2F("fHistJetPtvsCent", "fHistJetPtvsCent", 101, -1, 100, fNbins, fMinBinPt, fMaxBinPt);
+ fHistJetPtvsCent->GetXaxis()->SetTitle("Centrality (%)");
+ fHistJetPtvsCent->GetYaxis()->SetTitle("#it{p}_{T,jet} (GeV/c)");
fOutput->Add(fHistJetPtvsCent);
+
+ fHistJetAreavsCent = new TH2F("fHistJetAreavsCent", "fHistJetAreavsCent", 101, -1, 100, 100, 0, 1);
+ fHistJetAreavsCent->GetXaxis()->SetTitle("Centrality (%)");
+ fHistJetAreavsCent->GetYaxis()->SetTitle("Jet area");
fOutput->Add(fHistJetAreavsCent);
+
+ fHistJetRhovsCent = new TH2F("fHistJetRhovsCent", "fHistJetRhovsCent", 101, -1, 100, fNbins, fMinBinPt, fMaxBinPt*2);
+ fHistJetRhovsCent->GetXaxis()->SetTitle("Centrality (%)");
+ fHistJetRhovsCent->GetYaxis()->SetTitle("Jet #rho (GeV/c)");
+ fOutput->Add(fHistJetRhovsCent);
+
+ fHistNjetvsCent = new TH2F("fHistNjetvsCent", "fHistNjetvsCent", 101, -1, 100, 150, -0.5, 149.5);
+ fHistNjetvsCent->GetXaxis()->SetTitle("Centrality (%)");
+ fHistNjetvsCent->GetYaxis()->SetTitle("No. of jets");
fOutput->Add(fHistNjetvsCent);
- if (!fTracksName.IsNull()) {
- fHistJetPtvsNtrack = new TH2F("JetPtvsNtrack", "JetPtvsNtrack", 125, 0, 4000, fNbins, fMinBinPt, fMaxBinPt);
- fHistJetAreavsNtrack = new TH2F("JetAreavsNtrack", "JetAreavsNtrack", 125, 0, 4000, 30, 0, fJetRadius * fJetRadius * TMath::Pi() * 3);
- fHistNjetvsNtrack = new TH2F("NjetvsNtrack", "rNjetvsNtrack", 125, 0, 4000, 150, -0.5, 149.5);
+ if (fParticleCollArray.GetEntriesFast()>0) {
+ fHistJetPtvsNtrack = new TH2F("fHistJetPtvsNtrack", "fHistJetPtvsNtrack", 150, 0, 6000, fNbins, fMinBinPt, fMaxBinPt);
+ fHistJetPtvsNtrack->GetXaxis()->SetTitle("No. of tracks");
+ fHistJetPtvsNtrack->GetYaxis()->SetTitle("#it{p}_{T,jet} (GeV/c)");
fOutput->Add(fHistJetPtvsNtrack);
+
+ fHistJetAreavsNtrack = new TH2F("fHistJetAreavsNtrack", "fHistJetAreavsNtrack", 150, 0, 6000, 100, 0, 1);
+ fHistJetAreavsNtrack->GetXaxis()->SetTitle("No. of tracks");
+ fHistJetAreavsNtrack->GetYaxis()->SetTitle("Jet area");
fOutput->Add(fHistJetAreavsNtrack);
+
+ fHistNjetvsNtrack = new TH2F("fHistNjetvsNtrack", "fHistNjetvsNtrack", 150, 0, 6000, 150, -0.5, 149.5);
+ fHistNjetvsNtrack->GetXaxis()->SetTitle("No. of jets");
+ fHistNjetvsNtrack->GetYaxis()->SetTitle("No. of tracks");
fOutput->Add(fHistNjetvsNtrack);
}
for (Int_t i = 0; i < 4; i++) {
name = Form("fHistJetNconstVsPt_%d",i);
fHistJetNconstVsPt[i] = new TH2F(name, name, 150, -0.5, 149.5, fNbins, fMinBinPt, fMaxBinPt);
- fHistJetNconstVsPt[i]->GetXaxis()->SetTitle("# of constituents");
+ fHistJetNconstVsPt[i]->GetXaxis()->SetTitle("No. of constituents");
fHistJetNconstVsPt[i]->GetYaxis()->SetTitle("p_{T,jet} (GeV/c)");
fOutput->Add(fHistJetNconstVsPt[i]);
+ name = Form("fHistJetRhovsEta_%d",i);
+ fHistJetRhovsEta[i] = new TH2F(name, name, fNbins, fMinBinPt, fMaxBinPt*2, 16, -0.8, 0.8);
+ fHistJetRhovsEta[i]->GetXaxis()->SetTitle("#rho (GeV/c * rad^{-1})");
+ fHistJetRhovsEta[i]->GetYaxis()->SetTitle("#eta");
+ fOutput->Add(fHistJetRhovsEta[i]);
+
for (Int_t j = 0; j < 3; j++) {
name = Form("NjUEoverNjVsNj_%d_%d",i,j+1);
fHistNjUEoverNjVsNj[i*3+j] = new TH2F(name, name, 150, -0.5, 149.5, 120, 0.01, 1.21);
}
if (!fCompareRhoName.IsNull()) {
- fHistDeltaRhovsCent = new TH2F("DeltaRhovsCent", "DetlaRhovsCent", 101, -1, 100, fNbins, -fMaxBinPt, fMaxBinPt);
+ fHistDeltaRhovsCent = new TH2F("fHistDeltaRhovsCent", "fHistDeltaRhovsCent", 101, -1, 100, fNbins, -fMaxBinPt, fMaxBinPt);
+ fHistDeltaRhovsCent->GetXaxis()->SetTitle("Centrality (%)");
+ fHistDeltaRhovsCent->GetYaxis()->SetTitle("#Delta#rho (GeV/c * rad^{-1})");
fOutput->Add(fHistDeltaRhovsCent);
- if (!fTracksName.IsNull()) {
- fHistDeltaRhovsNtrack = new TH2F("DeltaRhovsNtrack", "DeltaRhovsNtrack", 125, 0, 4000, fNbins, -fMaxBinPt, fMaxBinPt);
+
+ if (fParticleCollArray.GetEntriesFast()>0) {
+ fHistDeltaRhovsNtrack = new TH2F("fHistDeltaRhovsNtrack", "fHistDeltaRhovsNtrack", 150, 0, 6000, fNbins, -fMaxBinPt, fMaxBinPt);
+ fHistDeltaRhovsNtrack->GetXaxis()->SetTitle("No. of tracks");
+ fHistDeltaRhovsNtrack->GetYaxis()->SetTitle("#Delta#rho (GeV/c * rad^{-1})");
fOutput->Add(fHistDeltaRhovsNtrack);
}
}
if (fScaleFunction) {
- fHistRhoScaledvsCent = new TH2F("RhoScaledvsCent", "RhoScalevsCent", 101, -1, 100, fNbins, fMinBinPt , fMaxBinPt*2);
+ fHistRhoScaledvsCent = new TH2F("fHistRhoScaledvsCent", "fHistRhoScaledvsCent", 101, -1, 100, fNbins, fMinBinPt , fMaxBinPt*2);
+ fHistRhoScaledvsCent->GetXaxis()->SetTitle("Centrality (%)");
+ fHistRhoScaledvsCent->GetYaxis()->SetTitle("#rho_{scaled} (GeV/c * rad^{-1})");
fOutput->Add(fHistRhoScaledvsCent);
- if (!fTracksName.IsNull()) {
- fHistRhoScaledvsNtrack = new TH2F("RhoScaledvsNtrack", "RhoScaledvsNtrack", 125, 0, 4000, fNbins, fMinBinPt, fMaxBinPt*2);
+ if (fParticleCollArray.GetEntriesFast()>0) {
+ fHistRhoScaledvsNtrack = new TH2F("fHistRhoScaledvsNtrack", "fHistRhoScaledvsNtrack", 150, 0, 6000, fNbins, fMinBinPt, fMaxBinPt*2);
+ fHistRhoScaledvsNtrack->GetXaxis()->SetTitle("No. of tracks");
+ fHistRhoScaledvsNtrack->GetYaxis()->SetTitle("#rho_{scaled} (GeV/c * rad^{-1})");
fOutput->Add(fHistRhoScaledvsNtrack);
}
- if (!fCaloName.IsNull()) {
- fHistRhoScaledvsNcluster = new TH2F("RhoScaledvsNcluster", "RhoScaledvsNcluster", 50, 0, 1500, fNbins, fMinBinPt, fMaxBinPt*2);
+ if (fClusterCollArray.GetEntriesFast()>0) {
+ fHistRhoScaledvsNcluster = new TH2F("fHistRhoScaledvsNcluster", "fHistRhoScaledvsNcluster", 50, 0, 1500, fNbins, fMinBinPt, fMaxBinPt*2);
+ fHistRhoScaledvsNcluster->GetXaxis()->SetTitle("No. of clusters");
+ fHistRhoScaledvsNcluster->GetYaxis()->SetTitle("#rho_{scaled} (GeV/c * rad^{-1})");
fOutput->Add(fHistRhoScaledvsNcluster);
}
if (!fCompareRhoScaledName.IsNull()) {
- fHistDeltaRhoScalevsCent = new TH2F("DeltaRhoScalevsCent", "DeltaRhoScalevsCent", 101, -1, 100, fNbins, -fMaxBinPt, fMaxBinPt);
+ fHistDeltaRhoScalevsCent = new TH2F("fHistDeltaRhoScalevsCent", "fHistDeltaRhoScalevsCent", 101, -1, 100, fNbins, -fMaxBinPt, fMaxBinPt);
+ fHistDeltaRhoScalevsCent->GetXaxis()->SetTitle("Centrality (%)");
+ fHistDeltaRhoScalevsCent->GetYaxis()->SetTitle("#Delta#rho_{scaled} (GeV/c * rad^{-1})");
fOutput->Add(fHistDeltaRhoScalevsCent);
- if (!fTracksName.IsNull()) {
- fHistDeltaRhoScalevsNtrack = new TH2F("DeltaRhoScalevsNtrack", "DeltaRhoScalevsNtrack", 125, 0, 4000, fNbins, -fMaxBinPt, fMaxBinPt);
+ if (fParticleCollArray.GetEntriesFast()>0) {
+ fHistDeltaRhoScalevsNtrack = new TH2F("fHistDeltaRhoScalevsNtrack", "fHistDeltaRhoScalevsNtrack", 150, 0, 6000, fNbins, -fMaxBinPt, fMaxBinPt);
+ fHistDeltaRhoScalevsNtrack->GetXaxis()->SetTitle("No. of tracks");
+ fHistDeltaRhoScalevsNtrack->GetYaxis()->SetTitle("#Delta#rho_{scaled} (GeV/c * rad^{-1})");
fOutput->Add(fHistDeltaRhoScalevsNtrack);
}
}
// Run the analysis.
Double_t rho = GetRhoFactor(fCent);
- fRho->SetVal(rho);
+ fOutRho->SetVal(rho);
if (fScaleFunction) {
Double_t rhoScaled = rho * GetScaleFactor(fCent);
- fRhoScaled->SetVal(rhoScaled);
+ fOutRhoScaled->SetVal(rhoScaled);
}
return kTRUE;
Int_t Nclusters = 0;
if (fTracks)
- Ntracks = fTracks->GetEntriesFast();
+ Ntracks = fTracks->GetEntries();
if (fCaloClusters)
- Nclusters = fCaloClusters->GetEntriesFast();
+ Nclusters = fCaloClusters->GetEntries();
if (fJets) {
Int_t Njets = fJets->GetEntries();
Int_t NjetUE1Sigma = 0;
Int_t NjetUE2Sigma = 0;
Int_t NjetUE3Sigma = 0;
- Double_t rhoPlus1Sigma = fRho->GetVal() + fInEventSigmaRho;
- Double_t rhoPlus2Sigma = fRho->GetVal() + 2*fInEventSigmaRho;
- Double_t rhoPlus3Sigma = fRho->GetVal() + 3*fInEventSigmaRho;
+ Double_t rhoPlus1Sigma = fOutRho->GetVal() + fInEventSigmaRho;
+ Double_t rhoPlus2Sigma = fOutRho->GetVal() + 2*fInEventSigmaRho;
+ Double_t rhoPlus3Sigma = fOutRho->GetVal() + 3*fInEventSigmaRho;
for (Int_t i = 0; i < Njets; ++i) {
fHistJetPtvsCent->Fill(fCent, jet->Pt());
fHistJetAreavsCent->Fill(fCent, jet->Area());
-
+ fHistJetRhovsCent->Fill(fCent, jet->Pt() / jet->Area());
+ fHistJetRhovsEta[fCentBin]->Fill(jet->Pt() / jet->Area(), jet->Eta());
+
if (fTracks) {
fHistJetPtvsNtrack->Fill(Ntracks, jet->Pt());
fHistJetAreavsNtrack->Fill(Ntracks, jet->Area());
fHistNjetvsNtrack->Fill(Ntracks, NjetAcc);
}
- fHistRhovsCent->Fill(fCent, fRho->GetVal());
+ fHistRhovsCent->Fill(fCent, fOutRho->GetVal());
if (fTracks)
- fHistRhovsNtrack->Fill(Ntracks, fRho->GetVal());
+ fHistRhovsNtrack->Fill(Ntracks, fOutRho->GetVal());
if (fCaloClusters)
- fHistRhovsNcluster->Fill(Nclusters, fRho->GetVal());
+ fHistRhovsNcluster->Fill(Nclusters, fOutRho->GetVal());
if (fCompareRho) {
- fHistDeltaRhovsCent->Fill(fCent, fRho->GetVal() - fCompareRho->GetVal());
+ fHistDeltaRhovsCent->Fill(fCent, fOutRho->GetVal() - fCompareRho->GetVal());
if (fTracks)
- fHistDeltaRhovsNtrack->Fill(Ntracks, fRho->GetVal() - fCompareRho->GetVal());
+ fHistDeltaRhovsNtrack->Fill(Ntracks, fOutRho->GetVal() - fCompareRho->GetVal());
}
- if (fRhoScaled) {
- fHistRhoScaledvsCent->Fill(fCent, fRhoScaled->GetVal());
+ if (fOutRhoScaled) {
+ fHistRhoScaledvsCent->Fill(fCent, fOutRhoScaled->GetVal());
if (fTracks)
- fHistRhoScaledvsNtrack->Fill(Ntracks, fRhoScaled->GetVal());
+ fHistRhoScaledvsNtrack->Fill(Ntracks, fOutRhoScaled->GetVal());
if (fCaloClusters)
- fHistRhoScaledvsNcluster->Fill(Nclusters, fRhoScaled->GetVal());
+ fHistRhoScaledvsNcluster->Fill(Nclusters, fOutRhoScaled->GetVal());
if (fCompareRhoScaled) {
- fHistDeltaRhoScalevsCent->Fill(fCent, fRhoScaled->GetVal() - fCompareRhoScaled->GetVal());
+ fHistDeltaRhoScalevsCent->Fill(fCent, fOutRhoScaled->GetVal() - fCompareRhoScaled->GetVal());
if (fTracks)
- fHistDeltaRhoScalevsNtrack->Fill(Ntracks, fRhoScaled->GetVal() - fCompareRhoScaled->GetVal());
+ fHistDeltaRhoScalevsNtrack->Fill(Ntracks, fOutRhoScaled->GetVal() - fCompareRhoScaled->GetVal());
}
}
{
// Init the analysis.
- if (!fRho) {
- fRho = new AliRhoParameter(fRhoName, 0);
+ if (!fOutRho) {
+ fOutRho = new AliRhoParameter(fOutRhoName, 0);
if (fAttachToEvent) {
- if (!(InputEvent()->FindListObject(fRhoName))) {
- InputEvent()->AddObject(fRho);
+ if (!(InputEvent()->FindListObject(fOutRhoName))) {
+ InputEvent()->AddObject(fOutRho);
} else {
- AliFatal(Form("%s: Container with same name %s already present. Aborting", GetName(), fRhoName.Data()));
+ AliFatal(Form("%s: Container with same name %s already present. Aborting", GetName(), fOutRhoName.Data()));
return;
}
}
-
- if (fScaleFunction && !fRhoScaled) {
- fRhoScaled = new AliRhoParameter(fRhoScaledName, 0);
- if (fAttachToEvent) {
- if (!(InputEvent()->FindListObject(fRhoScaledName))) {
- InputEvent()->AddObject(fRhoScaled);
- } else {
- AliFatal(Form("%s: Container with same name %s already present. Aborting", GetName(), fRhoScaledName.Data()));
- return;
- }
+ }
+
+ if (fScaleFunction && !fOutRhoScaled) {
+ fOutRhoScaled = new AliRhoParameter(fOutRhoScaledName, 0);
+
+ if (fAttachToEvent) {
+ if (!(InputEvent()->FindListObject(fOutRhoScaledName))) {
+ InputEvent()->AddObject(fOutRhoScaled);
+ } else {
+ AliFatal(Form("%s: Container with same name %s already present. Aborting", GetName(), fOutRhoScaledName.Data()));
+ return;
}
}
}