//________________________________________________________________________
AliAnalysisTaskDeltaPt::AliAnalysisTaskDeltaPt() :
- AliAnalysisTaskEmcalJetDev("AliAnalysisTaskDeltaPt", kTRUE),
+ AliAnalysisTaskEmcalJet("AliAnalysisTaskDeltaPt", kTRUE),
fMCJetPtThreshold(1),
fMinRC2LJ(-1),
fRCperEvent(-1),
fEmbCaloClustersCont(0),
fRandTracksCont(0),
fRandCaloClustersCont(0),
+ fHistRhovsCent(0),
fHistRCPhiEta(0),
fHistRCPt(0),
fHistRCPtExLJ(0),
{
// Default constructor.
- fHistRCPt = new TH1*[fNcentBins];
- fHistRCPtExLJ = new TH1*[fNcentBins];
- fHistRCPtExPartialLJ = new TH1*[fNcentBins];
- fHistRCPtRand = new TH1*[fNcentBins];
- fHistRhoVSRCPt = new TH2*[fNcentBins];
- fHistDeltaPtRCvsEP = new TH2*[fNcentBins];
- fHistDeltaPtRCExLJ = new TH1*[fNcentBins];
- fHistDeltaPtRCExPartialLJ = new TH1*[fNcentBins];
- fHistDeltaPtRCRand = new TH1*[fNcentBins];
- fHistEmbJetsPtArea = new TH3*[fNcentBins];
- fHistEmbJetsCorrPtArea = new TH3*[fNcentBins];
- fHistEmbPartPtvsJetPt = new TH2*[fNcentBins];
- fHistEmbPartPtvsJetCorrPt = new TH2*[fNcentBins];
- fHistJetPtvsJetCorrPt = new TH2*[fNcentBins];
- fHistDistLeadPart2JetAxis = new TH1*[fNcentBins];
- fHistEmbBkgArea = new TH2*[fNcentBins];
- fHistRhoVSEmbBkg = new TH2*[fNcentBins];
- fHistDeltaPtEmbArea = new TH2*[fNcentBins];
- fHistDeltaPtEmbvsEP = new TH2*[fNcentBins];
-
- for (Int_t i = 0; i < fNcentBins; i++) {
- fHistRCPt[i] = 0;
- fHistRCPtExLJ[i] = 0;
- fHistRCPtExPartialLJ[i] = 0;
- fHistRCPtRand[i] = 0;
- fHistRhoVSRCPt[i] = 0;
- fHistDeltaPtRCvsEP[i] = 0;
- fHistDeltaPtRCExLJ[i] = 0;
- fHistDeltaPtRCExPartialLJ[i] = 0;
- fHistDeltaPtRCRand[i] = 0;
- fHistEmbJetsPtArea[i] = 0;
- fHistEmbJetsCorrPtArea[i] = 0;
- fHistEmbPartPtvsJetPt[i] = 0;
- fHistEmbPartPtvsJetCorrPt[i] = 0;
- fHistJetPtvsJetCorrPt[i] = 0;
- fHistDistLeadPart2JetAxis[i] = 0;
- fHistEmbBkgArea[i] = 0;
- fHistRhoVSEmbBkg[i] = 0;
- fHistDeltaPtEmbArea[i] = 0;
- fHistDeltaPtEmbvsEP[i] = 0;
- }
+ fHistRCPt = 0;
+ fHistRCPtExLJ = 0;
+ fHistRCPtExPartialLJ = 0;
+ fHistRCPtRand = 0;
+ fHistRhoVSRCPt = 0;
+ fHistDeltaPtRCvsEP = 0;
+ fHistDeltaPtRCExLJ = 0;
+ fHistDeltaPtRCExPartialLJ = 0;
+ fHistDeltaPtRCRand = 0;
+ fHistEmbJetsPtArea = 0;
+ fHistEmbJetsCorrPtArea = 0;
+ fHistEmbPartPtvsJetPt = 0;
+ fHistEmbPartPtvsJetCorrPt = 0;
+ fHistJetPtvsJetCorrPt = 0;
+ fHistDistLeadPart2JetAxis = 0;
+ fHistEmbBkgArea = 0;
+ fHistRhoVSEmbBkg = 0;
+ fHistDeltaPtEmbArea = 0;
+ fHistDeltaPtEmbvsEP = 0;
SetMakeGeneralHistograms(kTRUE);
}
//________________________________________________________________________
AliAnalysisTaskDeltaPt::AliAnalysisTaskDeltaPt(const char *name) :
- AliAnalysisTaskEmcalJetDev(name, kTRUE),
+ AliAnalysisTaskEmcalJet(name, kTRUE),
fMCJetPtThreshold(1),
fMinRC2LJ(-1),
fRCperEvent(-1),
fEmbCaloClustersCont(0),
fRandTracksCont(0),
fRandCaloClustersCont(0),
+ fHistRhovsCent(0),
fHistRCPhiEta(0),
fHistRCPt(0),
fHistRCPtExLJ(0),
{
// Standard constructor.
+ fHistRCPt = 0;
+ fHistRCPtExLJ = 0;
+ fHistRCPtExPartialLJ = 0;
+ fHistRCPtRand = 0;
+ fHistRhoVSRCPt = 0;
+ fHistDeltaPtRCvsEP = 0;
+ fHistDeltaPtRCExLJ = 0;
+ fHistDeltaPtRCExPartialLJ = 0;
+ fHistDeltaPtRCRand = 0;
+ fHistEmbJetsPtArea = 0;
+ fHistEmbJetsCorrPtArea = 0;
+ fHistEmbPartPtvsJetPt = 0;
+ fHistEmbPartPtvsJetCorrPt = 0;
+ fHistJetPtvsJetCorrPt = 0;
+ fHistDistLeadPart2JetAxis = 0;
+ fHistEmbBkgArea = 0;
+ fHistRhoVSEmbBkg = 0;
+ fHistDeltaPtEmbArea = 0;
+ fHistDeltaPtEmbvsEP = 0;
+
+ SetMakeGeneralHistograms(kTRUE);
+}
+
+//________________________________________________________________________
+void AliAnalysisTaskDeltaPt::AllocateHistogramArrays()
+{
fHistRCPt = new TH1*[fNcentBins];
fHistRCPtExLJ = new TH1*[fNcentBins];
fHistRCPtExPartialLJ = new TH1*[fNcentBins];
fHistDeltaPtEmbArea[i] = 0;
fHistDeltaPtEmbvsEP[i] = 0;
}
-
- SetMakeGeneralHistograms(kTRUE);
}
//________________________________________________________________________
{
// Create user output.
- AliAnalysisTaskEmcalJetDev::UserCreateOutputObjects();
+ AliAnalysisTaskEmcalJet::UserCreateOutputObjects();
+
+ AllocateHistogramArrays();
+
+ fHistRhovsCent = new TH2F("fHistRhovsCent", "fHistRhovsCent", 101, -1, 100, fNbins, 0, fMaxBinPt*2);
+ fHistRhovsCent->GetXaxis()->SetTitle("Centrality (%)");
+ fHistRhovsCent->GetYaxis()->SetTitle("#rho (GeV/c * rad^{-1})");
+ fOutput->Add(fHistRhovsCent);
fJetsCont = GetJetContainer("Jets");
fTracksCont = GetParticleContainer("Tracks");
TString histname;
const Int_t nbinsZ = 12;
- Float_t binsZ[nbinsZ+1] = {0,1,2,3,4,5,6,7,8,9,10,20,1000};
+ Double_t binsZ[nbinsZ+1] = {0,1,2,3,4,5,6,7,8,9,10,20,1000};
- Float_t *binsPt = GenerateFixedBinArray(fNbins, fMinBinPt, fMaxBinPt);
- Float_t *binsCorrPt = GenerateFixedBinArray(fNbins*2, -fMaxBinPt, fMaxBinPt);
- Float_t *binsArea = GenerateFixedBinArray(50, 0, 2);
+ Double_t *binsPt = GenerateFixedBinArray(fNbins, fMinBinPt, fMaxBinPt);
+ Double_t *binsCorrPt = GenerateFixedBinArray(fNbins*2, -fMaxBinPt, fMaxBinPt);
+ Double_t *binsArea = GenerateFixedBinArray(50, 0, 2);
for (Int_t i = 0; i < fNcentBins; i++) {
if (fTracksCont || fCaloClustersCont) {
histname = "fHistDeltaPtRCvsEP_";
histname += i;
- fHistDeltaPtRCvsEP[i] = new TH2F(histname.Data(), histname.Data(), 402, -TMath::Pi()*1.01, TMath::Pi()*3.01, fNbins * 2, -fMaxBinPt, fMaxBinPt);
- fHistDeltaPtRCvsEP[i]->GetXaxis()->SetTitle("#phi_{RC} - #Psi_{EP}");
+ fHistDeltaPtRCvsEP[i] = new TH2F(histname.Data(), histname.Data(), 101, 0, TMath::Pi()*1.01, fNbins * 2, -fMaxBinPt, fMaxBinPt);
+ fHistDeltaPtRCvsEP[i]->GetXaxis()->SetTitle("#phi_{RC} - #psi_{RP}");
fHistDeltaPtRCvsEP[i]->GetYaxis()->SetTitle("#delta#it{p}_{T}^{RC} (GeV/#it{c})");
fHistDeltaPtRCvsEP[i]->GetZaxis()->SetTitle("counts");
fOutput->Add(fHistDeltaPtRCvsEP[i]);
histname = "fHistDeltaPtEmbvsEP_";
histname += i;
- fHistDeltaPtEmbvsEP[i] = new TH2F(histname.Data(), histname.Data(),
- 402, -TMath::Pi()*1.01, TMath::Pi()*3.01, fNbins * 2, -fMaxBinPt, fMaxBinPt);
+ fHistDeltaPtEmbvsEP[i] = new TH2F(histname.Data(), histname.Data(), 101, 0, TMath::Pi()*1.01, fNbins * 2, -fMaxBinPt, fMaxBinPt);
fHistDeltaPtEmbvsEP[i]->GetXaxis()->SetTitle("#phi_{jet} - #Psi_{EP}");
fHistDeltaPtEmbvsEP[i]->GetYaxis()->SetTitle("#delta#it{p}_{T}^{emb} (GeV/#it{c})");
fHistDeltaPtEmbvsEP[i]->GetZaxis()->SetTitle("counts");
{
// Fill histograms.
+ fHistRhovsCent->Fill(fCent, fRhoVal);
+
// ************
// Random cones
// _________________________________
fHistRhoVSRCPt[fCentBin]->Fill(fRhoVal * rcArea, RCpt);
fHistRCPt[fCentBin]->Fill(RCpt);
- fHistDeltaPtRCvsEP[fCentBin]->Fill(RCphi - fEPV0, RCpt - rcArea * fRhoVal);
+
+ Double_t ep = RCphi - fEPV0;
+ while (ep < 0) ep += TMath::Pi();
+ while (ep >= TMath::Pi()) ep -= TMath::Pi();
+
+ fHistDeltaPtRCvsEP[fCentBin]->Fill(ep, RCpt - rcArea * fRhoVal);
}
if (fJetsCont) {
fHistEmbBkgArea[fCentBin]->Fill(embJet->Area(), embJet->Pt() - embJet->MCPt());
fHistRhoVSEmbBkg[fCentBin]->Fill(fRhoVal * embJet->Area(), embJet->Pt() - embJet->MCPt());
fHistDeltaPtEmbArea[fCentBin]->Fill(embJet->Area(), embJet->Pt() - embJet->Area() * fRhoVal - embJet->MCPt());
- fHistDeltaPtEmbvsEP[fCentBin]->Fill(embJet->Phi() - fEPV0, embJet->Pt() - embJet->Area() * fRhoVal - embJet->MCPt());
+
+ Double_t ep = embJet->Phi() - fEPV0;
+ while (ep < 0) ep += TMath::Pi();
+ while (ep >= TMath::Pi()) ep -= TMath::Pi();
+
+ fHistDeltaPtEmbvsEP[fCentBin]->Fill(ep, embJet->Pt() - embJet->Area() * fRhoVal - embJet->MCPt());
embJet = NextEmbeddedJet();
}
{
// Initialize the analysis.
- AliAnalysisTaskEmcalJetDev::ExecOnce();
+ AliAnalysisTaskEmcalJet::ExecOnce();
if (fTracksCont && fTracksCont->GetArray() == 0) fTracksCont = 0;
if (fCaloClustersCont && fCaloClustersCont->GetArray() == 0) fCaloClustersCont = 0;
if (fEmbCaloClustersCont && fEmbCaloClustersCont->GetArray() == 0) fEmbCaloClustersCont = 0;
if (fRandTracksCont && fRandTracksCont->GetArray() == 0) fRandTracksCont = 0;
if (fRandCaloClustersCont && fRandCaloClustersCont->GetArray() == 0) fRandCaloClustersCont = 0;
-
- if (fJetsCont) {
- if (fJetsCont->GetArray() == 0) {
- fJetsCont = 0;
- }
- else {
- fJetsCont->SetParticleContainer(fTracksCont);
- fJetsCont->SetClusterContainer(fCaloClustersCont);
- }
- }
-
- if (fEmbJetsCont) {
- if (fEmbJetsCont->GetArray() == 0) {
- fEmbJetsCont = 0;
- }
- else {
- fEmbJetsCont->SetParticleContainer(fEmbTracksCont);
- fEmbJetsCont->SetClusterContainer(fEmbCaloClustersCont);
- }
- }
+ if (fJetsCont && fJetsCont->GetArray() == 0) fJetsCont = 0;
+ if (fEmbJetsCont && fEmbJetsCont->GetArray() == 0) fEmbJetsCont = 0;
if (fRCperEvent < 0) {
Double_t area = (fConeMaxEta - fConeMinEta) * (fConeMaxPhi - fConeMinPhi);