]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGJE/EMCALJetTasks/AliAnalysisTaskDeltaPt.cxx
Split: removed dirs now in AliPhysics
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / AliAnalysisTaskDeltaPt.cxx
diff --git a/PWGJE/EMCALJetTasks/AliAnalysisTaskDeltaPt.cxx b/PWGJE/EMCALJetTasks/AliAnalysisTaskDeltaPt.cxx
deleted file mode 100644 (file)
index 3a59483..0000000
+++ /dev/null
@@ -1,765 +0,0 @@
-// $Id$
-//
-// Jet deltaPt task.
-//
-// Author: S.Aiola
-
-#include <TClonesArray.h>
-#include <TH1F.h>
-#include <TH2F.h>
-#include <TH3F.h>
-#include <TList.h>
-#include <TLorentzVector.h>
-#include <TRandom3.h>
-
-#include "AliVCluster.h"
-#include "AliVParticle.h"
-#include "AliVTrack.h"
-#include "AliEmcalJet.h"
-#include "AliRhoParameter.h"
-#include "AliLog.h"
-#include "AliJetContainer.h"
-#include "AliParticleContainer.h"
-#include "AliClusterContainer.h"
-
-#include "AliAnalysisTaskDeltaPt.h"
-
-ClassImp(AliAnalysisTaskDeltaPt)
-
-//________________________________________________________________________
-AliAnalysisTaskDeltaPt::AliAnalysisTaskDeltaPt() : 
-  AliAnalysisTaskEmcalJet("AliAnalysisTaskDeltaPt", kTRUE),
-  fMCJetPtThreshold(1),
-  fMinRC2LJ(-1),
-  fRCperEvent(-1),
-  fConeRadius(0.2),
-  fConeMinEta(-0.9),
-  fConeMaxEta(0.9),
-  fConeMinPhi(0),
-  fConeMaxPhi(TMath::Pi()*2),
-  fJetsCont(0),
-  fTracksCont(0),
-  fCaloClustersCont(0),
-  fEmbJetsCont(0),
-  fEmbTracksCont(0),
-  fEmbCaloClustersCont(0),
-  fRandTracksCont(0),
-  fRandCaloClustersCont(0),
-  fHistRhovsCent(0),
-  fHistRCPhiEta(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),
-  fHistRCPtExLJVSDPhiLJ(0),
-  fHistRCPtExPartialLJVSDPhiLJ(0),
-  fHistEmbJetsPhiEta(0),
-  fHistLeadPartPhiEta(0)
-{
-  // Default 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);
-}
-
-//________________________________________________________________________
-AliAnalysisTaskDeltaPt::AliAnalysisTaskDeltaPt(const char *name) : 
-  AliAnalysisTaskEmcalJet(name, kTRUE),
-  fMCJetPtThreshold(1),
-  fMinRC2LJ(-1),
-  fRCperEvent(-1),
-  fConeRadius(0.2),
-  fConeMinEta(-0.9),
-  fConeMaxEta(0.9),
-  fConeMinPhi(0),
-  fConeMaxPhi(TMath::Pi()*2),
-  fJetsCont(0),
-  fTracksCont(0),
-  fCaloClustersCont(0),
-  fEmbJetsCont(0),
-  fEmbTracksCont(0),
-  fEmbCaloClustersCont(0),
-  fRandTracksCont(0),
-  fRandCaloClustersCont(0),
-  fHistRhovsCent(0),
-  fHistRCPhiEta(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),
-  fHistRCPtExLJVSDPhiLJ(0),
-  fHistRCPtExPartialLJVSDPhiLJ(0),
-  fHistEmbJetsPhiEta(0),
-  fHistLeadPartPhiEta(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];
-  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;
-  }
-}
-
-//________________________________________________________________________
-void AliAnalysisTaskDeltaPt::UserCreateOutputObjects()
-{
-  // Create user output.
-
-  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");
-  fCaloClustersCont = GetClusterContainer("CaloClusters");
-  fEmbJetsCont = GetJetContainer("EmbJets");
-  fEmbTracksCont = GetParticleContainer("EmbTracks");
-  fEmbCaloClustersCont = GetClusterContainer("EmbCaloClusters");
-  fRandTracksCont = GetParticleContainer("RandTracks");
-  fRandCaloClustersCont = GetClusterContainer("RandCaloClusters");
-
-  if (fTracksCont || fCaloClustersCont) {
-    fHistRCPhiEta = new TH2F("fHistRCPhiEta","fHistRCPhiEta", 100, -1, 1, 201, 0, TMath::Pi() * 2.01);
-    fHistRCPhiEta->GetXaxis()->SetTitle("#eta");
-    fHistRCPhiEta->GetYaxis()->SetTitle("#phi");
-    fOutput->Add(fHistRCPhiEta);
-
-    if (fJetsCont) {
-      fHistRCPtExLJVSDPhiLJ = new TH2F("fHistRCPtExLJVSDPhiLJ","fHistRCPtExLJVSDPhiLJ", fNbins, fMinBinPt, fMaxBinPt, 128, -1.6, 4.8);
-      fHistRCPtExLJVSDPhiLJ->GetXaxis()->SetTitle("#it{p}_{T} (GeV/#it{c})");
-      fHistRCPtExLJVSDPhiLJ->GetYaxis()->SetTitle("#Delta#phi");
-      fOutput->Add(fHistRCPtExLJVSDPhiLJ);
-
-      fHistRCPtExPartialLJVSDPhiLJ = new TH2F("fHistRCPtExPartialLJVSDPhiLJ","fHistRCPtExPartialLJVSDPhiLJ", fNbins, fMinBinPt, fMaxBinPt, 128, -1.6, 4.8);
-      fHistRCPtExPartialLJVSDPhiLJ->GetXaxis()->SetTitle("#it{p}_{T} (GeV/#it{c})");
-      fHistRCPtExPartialLJVSDPhiLJ->GetYaxis()->SetTitle("#Delta#phi");
-      fOutput->Add(fHistRCPtExPartialLJVSDPhiLJ);
-    }
-  }
-
-  if (fEmbJetsCont) {
-    fHistEmbJetsPhiEta = new TH2F("fHistEmbJetsPhiEta","fHistEmbJetsPhiEta", 100, -1, 1, 201, 0, TMath::Pi() * 2.01);
-    fHistEmbJetsPhiEta->GetXaxis()->SetTitle("#eta");
-    fHistEmbJetsPhiEta->GetYaxis()->SetTitle("#phi");
-    fOutput->Add(fHistEmbJetsPhiEta);
-    
-    fHistLeadPartPhiEta = new TH2F("fHistLeadPartPhiEta","fHistLeadPartPhiEta", 100, -1, 1, 201, 0, TMath::Pi() * 2.01);
-    fHistLeadPartPhiEta->GetXaxis()->SetTitle("#eta");
-    fHistLeadPartPhiEta->GetYaxis()->SetTitle("#phi");
-    fOutput->Add(fHistLeadPartPhiEta);
-  }
-
-  TString histname;
-
-  const Int_t nbinsZ = 12;
-  Double_t binsZ[nbinsZ+1] = {0,1,2,3,4,5,6,7,8,9,10,20,1000};
-
-  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 = "fHistRCPt_";
-      histname += i;
-      fHistRCPt[i] = new TH1F(histname.Data(), histname.Data(), fNbins, fMinBinPt, fMaxBinPt * 2);
-      fHistRCPt[i]->GetXaxis()->SetTitle("#it{p}_{T} (GeV/#it{c})");
-      fHistRCPt[i]->GetYaxis()->SetTitle("counts");
-      fOutput->Add(fHistRCPt[i]);
-
-      histname = "fHistRhoVSRCPt_";
-      histname += i;
-      fHistRhoVSRCPt[i] = new TH2F(histname.Data(), histname.Data(), fNbins, fMinBinPt, fMaxBinPt, fNbins, fMinBinPt, fMaxBinPt);
-      fHistRhoVSRCPt[i]->GetXaxis()->SetTitle("A#rho (GeV/#it{c})");
-      fHistRhoVSRCPt[i]->GetYaxis()->SetTitle("#it{p}_{T} (GeV/#it{c})");
-      fOutput->Add(fHistRhoVSRCPt[i]);
-
-      histname = "fHistDeltaPtRCvsEP_";
-      histname += i;
-      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]);
-      
-      if (fJetsCont) {
-       histname = "fHistRCPtExLJ_";
-       histname += i;
-       fHistRCPtExLJ[i] = new TH1F(histname.Data(), histname.Data(), fNbins, fMinBinPt, fMaxBinPt * 2);
-       fHistRCPtExLJ[i]->GetXaxis()->SetTitle("#it{p}_{T}^{RC} (GeV/#it{c})");
-       fHistRCPtExLJ[i]->GetYaxis()->SetTitle("counts");
-       fOutput->Add(fHistRCPtExLJ[i]);
-
-       histname = "fHistDeltaPtRCExLJ_";
-       histname += i;
-       fHistDeltaPtRCExLJ[i] = new TH1F(histname.Data(), histname.Data(), fNbins * 2, -fMaxBinPt, fMaxBinPt);
-       fHistDeltaPtRCExLJ[i]->GetXaxis()->SetTitle("#delta#it{p}_{T}^{RC} (GeV/#it{c})");
-       fHistDeltaPtRCExLJ[i]->GetYaxis()->SetTitle("counts");
-       fOutput->Add(fHistDeltaPtRCExLJ[i]);
-
-        histname = "fHistRCPtExPartialLJ_";
-        histname += i;
-        fHistRCPtExPartialLJ[i] = new TH1F(histname.Data(), histname.Data(), fNbins, fMinBinPt, fMaxBinPt * 2);
-        fHistRCPtExPartialLJ[i]->GetXaxis()->SetTitle("#it{p}_{T}^{RC} (GeV/#it{c})");
-        fHistRCPtExPartialLJ[i]->GetYaxis()->SetTitle("counts");
-        fOutput->Add(fHistRCPtExPartialLJ[i]);
-
-        histname = "fHistDeltaPtRCExPartialLJ_";
-        histname += i;
-        fHistDeltaPtRCExPartialLJ[i] = new TH1F(histname.Data(), histname.Data(), fNbins * 2, -fMaxBinPt, fMaxBinPt);
-        fHistDeltaPtRCExPartialLJ[i]->GetXaxis()->SetTitle("#delta#it{p}_{T}^{RC} (GeV/#it{c})");
-        fHistDeltaPtRCExPartialLJ[i]->GetYaxis()->SetTitle("counts");
-        fOutput->Add(fHistDeltaPtRCExPartialLJ[i]);
-      }
-    }
-
-    if (fRandTracksCont || fRandCaloClustersCont) {
-      histname = "fHistRCPtRand_";
-      histname += i;
-      fHistRCPtRand[i] = new TH1F(histname.Data(), histname.Data(), fNbins, fMinBinPt, fMaxBinPt * 2);
-      fHistRCPtRand[i]->GetXaxis()->SetTitle("#it{p}_{T}^{RC} (GeV/#it{c})");
-      fHistRCPtRand[i]->GetYaxis()->SetTitle("counts");
-      fOutput->Add(fHistRCPtRand[i]);
-
-      histname = "fHistDeltaPtRCRand_";
-      histname += i;
-      fHistDeltaPtRCRand[i] = new TH1F(histname.Data(), histname.Data(), fNbins * 2, -fMaxBinPt, fMaxBinPt);
-      fHistDeltaPtRCRand[i]->GetXaxis()->SetTitle("#delta#it{p}_{T}^{RC} (GeV/#it{c})");
-      fHistDeltaPtRCRand[i]->GetYaxis()->SetTitle("counts");
-      fOutput->Add(fHistDeltaPtRCRand[i]);
-    }
-
-    if (fEmbJetsCont) {
-      histname = "fHistEmbJetsPtArea_";
-      histname += i;
-      fHistEmbJetsPtArea[i] = new TH3F(histname.Data(), histname.Data(), 50, binsArea, fNbins, binsPt, nbinsZ, binsZ);
-      fHistEmbJetsPtArea[i]->GetXaxis()->SetTitle("area");
-      fHistEmbJetsPtArea[i]->GetYaxis()->SetTitle("#it{p}_{T,jet}^{emb,raw} (GeV/#it{c})");
-      fOutput->Add(fHistEmbJetsPtArea[i]);
-
-      histname = "fHistEmbJetsCorrPtArea_";
-      histname += i;
-      fHistEmbJetsCorrPtArea[i] = new TH3F(histname.Data(), histname.Data(), 50, binsArea, fNbins * 2, binsCorrPt, nbinsZ, binsZ);
-      fHistEmbJetsCorrPtArea[i]->GetXaxis()->SetTitle("area");
-      fHistEmbJetsCorrPtArea[i]->GetYaxis()->SetTitle("#it{p}_{T,jet}^{emb,corr} (GeV/#it{c})");
-      fOutput->Add(fHistEmbJetsCorrPtArea[i]);
-
-      histname = "fHistEmbPartPtvsJetPt_";
-      histname += i;
-      fHistEmbPartPtvsJetPt[i] = new TH2F(histname.Data(), histname.Data(), fNbins, fMinBinPt, fMaxBinPt, fNbins, fMinBinPt, fMaxBinPt);
-      fHistEmbPartPtvsJetPt[i]->GetXaxis()->SetTitle("#sum#it{p}_{T,const}^{emb} (GeV/#it{c})");
-      fHistEmbPartPtvsJetPt[i]->GetYaxis()->SetTitle("#it{p}_{T,jet}^{emb} (GeV/#it{c})");
-      fHistEmbPartPtvsJetPt[i]->GetZaxis()->SetTitle("counts");
-      fOutput->Add(fHistEmbPartPtvsJetPt[i]);
-
-      histname = "fHistEmbPartPtvsJetCorrPt_";
-      histname += i;
-      fHistEmbPartPtvsJetCorrPt[i] = new TH2F(histname.Data(), histname.Data(), 
-                                             fNbins, fMinBinPt, fMaxBinPt, fNbins*2, -fMaxBinPt, fMaxBinPt);
-      fHistEmbPartPtvsJetCorrPt[i]->GetXaxis()->SetTitle("#sum#it{p}_{T,const}^{emb} (GeV/#it{c})");
-      fHistEmbPartPtvsJetCorrPt[i]->GetYaxis()->SetTitle("#it{p}_{T,jet}^{emb} - A#rho (GeV/#it{c})");
-      fHistEmbPartPtvsJetCorrPt[i]->GetZaxis()->SetTitle("counts");
-      fOutput->Add(fHistEmbPartPtvsJetCorrPt[i]);
-
-      histname = "fHistJetPtvsJetCorrPt_";
-      histname += i;
-      fHistJetPtvsJetCorrPt[i] = new TH2F(histname.Data(), histname.Data(), 
-                                         fNbins, fMinBinPt, fMaxBinPt, fNbins*2, -fMaxBinPt, fMaxBinPt);
-      fHistJetPtvsJetCorrPt[i]->GetXaxis()->SetTitle("#it{p}_{T,jet}^{emb} (GeV/#it{c})");
-      fHistJetPtvsJetCorrPt[i]->GetYaxis()->SetTitle("#it{p}_{T,jet}^{emb} - A#rho (GeV/#it{c})");
-      fHistJetPtvsJetCorrPt[i]->GetZaxis()->SetTitle("counts");
-      fOutput->Add(fHistJetPtvsJetCorrPt[i]);
-
-      histname = "fHistDistLeadPart2JetAxis_";
-      histname += i;
-      fHistDistLeadPart2JetAxis[i] = new TH1F(histname.Data(), histname.Data(), 50, 0, 0.5);
-      fHistDistLeadPart2JetAxis[i]->GetXaxis()->SetTitle("distance");
-      fHistDistLeadPart2JetAxis[i]->GetYaxis()->SetTitle("counts");
-      fOutput->Add(fHistDistLeadPart2JetAxis[i]);
-
-      histname = "fHistEmbBkgArea_";
-      histname += i;
-      fHistEmbBkgArea[i] = new TH2F(histname.Data(), histname.Data(), 50, 0, 2, fNbins, fMinBinPt, fMaxBinPt);
-      fHistEmbBkgArea[i]->GetXaxis()->SetTitle("area");
-      fHistEmbBkgArea[i]->GetYaxis()->SetTitle("#it{p}_{T,jet}^{emb} - #sum#it{p}_{T,const}^{emb} (GeV/#it{c})");
-      fOutput->Add(fHistEmbBkgArea[i]);
-
-      histname = "fHistRhoVSEmbBkg_";
-      histname += i;
-      fHistRhoVSEmbBkg[i] = new TH2F(histname.Data(), histname.Data(), fNbins, fMinBinPt, fMaxBinPt, fNbins, fMinBinPt, fMaxBinPt);
-      fHistRhoVSEmbBkg[i]->GetXaxis()->SetTitle("A#rho (GeV/#it{c})");
-      fHistRhoVSEmbBkg[i]->GetYaxis()->SetTitle("#it{p}_{T,jet}^{emb} - #sum#it{p}_{T,const}^{emb} (GeV/#it{c})");
-      fOutput->Add(fHistRhoVSEmbBkg[i]);
-      
-      histname = "fHistDeltaPtEmbArea_";
-      histname += i;
-      fHistDeltaPtEmbArea[i] = new TH2F(histname.Data(), histname.Data(), 
-                                           50, 0, 2, fNbins * 2, -fMaxBinPt, fMaxBinPt);
-      fHistDeltaPtEmbArea[i]->GetXaxis()->SetTitle("area");
-      fHistDeltaPtEmbArea[i]->GetYaxis()->SetTitle("#delta#it{p}_{T}^{emb} (GeV/#it{c})");
-      fHistDeltaPtEmbArea[i]->GetZaxis()->SetTitle("counts");
-      fOutput->Add(fHistDeltaPtEmbArea[i]);
-
-      histname = "fHistDeltaPtEmbvsEP_";
-      histname += i;
-      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");
-      fOutput->Add(fHistDeltaPtEmbvsEP[i]);
-    }
-  }
-
-  delete[] binsPt;
-  delete[] binsCorrPt;
-  delete[] binsArea;
-
-  PostData(1, fOutput); // Post data for ALL output slots >0 here, to get at least an empty histogram
-}
-
-//________________________________________________________________________
-Bool_t AliAnalysisTaskDeltaPt::FillHistograms()
-{
-  // Fill histograms.
-
-  fHistRhovsCent->Fill(fCent, fRhoVal);
-
-  // ************
-  // Random cones
-  // _________________________________
-  
-  const Float_t rcArea = fConeRadius * fConeRadius * TMath::Pi();
-  Float_t RCpt = 0;
-  Float_t RCeta = 0;
-  Float_t RCphi = 0;
-  
-  if (fTracksCont || fCaloClustersCont) {
-    
-    for (Int_t i = 0; i < fRCperEvent; i++) {
-      // Simple random cones
-      RCpt = 0;
-      RCeta = 0;
-      RCphi = 0;
-      GetRandomCone(RCpt, RCeta, RCphi, fTracksCont, fCaloClustersCont, 0);
-      if (RCpt > 0) {
-       fHistRCPhiEta->Fill(RCeta, RCphi);
-       fHistRhoVSRCPt[fCentBin]->Fill(fRhoVal * rcArea, RCpt);
-       
-       fHistRCPt[fCentBin]->Fill(RCpt);
-
-       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) {
-
-       // Random cones far from leading jet
-       AliEmcalJet* jet = fJetsCont->GetLeadingJet("rho");
-       
-       RCpt = 0;
-       RCeta = 0;
-       RCphi = 0;
-       GetRandomCone(RCpt, RCeta, RCphi, fTracksCont, fCaloClustersCont, jet);
-       if (RCpt > 0) {
-         if (jet) {
-           Float_t dphi = RCphi - jet->Phi();
-           if (dphi > 4.8) dphi -= TMath::Pi() * 2;
-           if (dphi < -1.6) dphi += TMath::Pi() * 2; 
-           fHistRCPtExLJVSDPhiLJ->Fill(RCpt, dphi);
-         }
-         fHistRCPtExLJ[fCentBin]->Fill(RCpt);
-         fHistDeltaPtRCExLJ[fCentBin]->Fill(RCpt - rcArea * fRhoVal);
-       }
-
-        //partial exclusion
-        if(fBeamType == kpA) {
-
-          RCpt = 0;
-          RCeta = 0;
-          RCphi = 0;
-          GetRandomCone(RCpt, RCeta, RCphi, fTracksCont, fCaloClustersCont, jet, kTRUE);
-
-          if (RCpt > 0) {
-            if (jet) {
-              Float_t dphi = RCphi - jet->Phi();
-              if (dphi > 4.8) dphi -= TMath::Pi() * 2;
-              if (dphi < -1.6) dphi += TMath::Pi() * 2;
-              fHistRCPtExPartialLJVSDPhiLJ->Fill(RCpt, dphi);
-            }
-            fHistRCPtExPartialLJ[fCentBin]->Fill(RCpt);
-            fHistDeltaPtRCExPartialLJ[fCentBin]->Fill(RCpt - rcArea * fRhoVal);
-          }
-       }
-      }
-    }
-  }
-  
-  // Random cones with randomized particles
-  if (fRandTracksCont || fRandCaloClustersCont) {
-    RCpt = 0;
-    RCeta = 0;
-    RCphi = 0;
-    GetRandomCone(RCpt, RCeta, RCphi, fRandTracksCont, fRandCaloClustersCont, 0);
-    if (RCpt > 0) {
-      fHistRCPtRand[fCentBin]->Fill(RCpt);
-      fHistDeltaPtRCRand[fCentBin]->Fill(RCpt - rcArea * fRhoVal);
-    }  
-  }
-
-  // ************
-  // Embedding
-  // _________________________________
-
-  if (fEmbJetsCont) {
-    
-    AliEmcalJet *embJet = NextEmbeddedJet(kTRUE);
-    
-    while (embJet != 0) {
-      TLorentzVector mom;
-      fEmbJetsCont->GetLeadingHadronMomentum(mom,embJet);
-      
-      Double_t distLeading2Jet = TMath::Sqrt((embJet->Eta() - mom.Eta()) * (embJet->Eta() - mom.Eta()) + (embJet->Phi() - mom.Phi()) * (embJet->Phi() - mom.Phi()));
-      
-      fHistEmbPartPtvsJetPt[fCentBin]->Fill(embJet->MCPt(), embJet->Pt());
-      fHistEmbPartPtvsJetCorrPt[fCentBin]->Fill(embJet->MCPt(), embJet->Pt() - embJet->Area() * fRhoVal);
-      fHistLeadPartPhiEta->Fill(mom.Eta(), mom.Phi());
-      fHistDistLeadPart2JetAxis[fCentBin]->Fill(distLeading2Jet);
-      
-      fHistEmbJetsPtArea[fCentBin]->Fill(embJet->Area(), embJet->Pt(), mom.Pt());
-      fHistEmbJetsCorrPtArea[fCentBin]->Fill(embJet->Area(), embJet->Pt() - fRhoVal * embJet->Area(), mom.Pt());
-      fHistEmbJetsPhiEta->Fill(embJet->Eta(), embJet->Phi());
-      fHistJetPtvsJetCorrPt[fCentBin]->Fill(embJet->Pt(), embJet->Pt() - fRhoVal * embJet->Area());
-      
-      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());
-
-      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();
-    }
-  }
-
-  return kTRUE;
-}
-
-//________________________________________________________________________
-AliEmcalJet* AliAnalysisTaskDeltaPt::NextEmbeddedJet(Bool_t reset)
-{
-  // Get the next accepted embedded jet.
-
-  Int_t i = reset ? 0 : -1;
-      
-  AliEmcalJet* jet = fEmbJetsCont->GetNextAcceptJet(i);
-  while (jet && jet->MCPt() < fMCJetPtThreshold) jet = fEmbJetsCont->GetNextAcceptJet();
-
-  return jet;
-}
-
-//________________________________________________________________________
-void AliAnalysisTaskDeltaPt::GetRandomCone(Float_t &pt, Float_t &eta, Float_t &phi,
-                                          AliParticleContainer* tracks, AliClusterContainer* clusters,
-                                          AliEmcalJet *jet, Bool_t bPartialExclusion) const
-{
-  // Get rigid cone.
-
-  eta = -999;
-  phi = -999;
-  pt = 0;
-
-  if (!tracks && !clusters)
-    return;
-
-  Float_t LJeta = 999;
-  Float_t LJphi = 999;
-
-  if (jet) {
-    LJeta = jet->Eta();
-    LJphi = jet->Phi();
-  }
-
-  Float_t maxEta = fConeMaxEta;
-  Float_t minEta = fConeMinEta;
-  Float_t maxPhi = fConeMaxPhi;
-  Float_t minPhi = fConeMinPhi;
-
-  if (maxPhi > TMath::Pi() * 2) maxPhi = TMath::Pi() * 2;
-  if (minPhi < 0) minPhi = 0;
-  
-  Float_t dLJ = 0;
-  Int_t repeats = 0;
-  Bool_t reject = kTRUE;
-  do {
-    eta = gRandom->Rndm() * (maxEta - minEta) + minEta;
-    phi = gRandom->Rndm() * (maxPhi - minPhi) + minPhi;
-    dLJ = TMath::Sqrt((LJeta - eta) * (LJeta - eta) + (LJphi - phi) * (LJphi - phi));
-
-    if(bPartialExclusion) {
-      reject = kFALSE;
-
-      TRandom3 rnd;
-      rnd.SetSeed(0);
-
-      Double_t ncoll = GetNColl();
-
-      Double_t prob = 0.;
-      if(ncoll>0)
-        prob = 1./ncoll;
-
-      if(rnd.Rndm()<=prob) reject = kTRUE; //reject cone
-    }
-
-    repeats++;
-  } while (dLJ < fMinRC2LJ && repeats < 999 && reject);
-
-  if (repeats == 999) {
-    AliWarning(Form("%s: Could not get random cone!", GetName()));
-    return;
-  }
-
-  if (clusters) {
-    AliVCluster* cluster = clusters->GetNextAcceptCluster(0);
-    while (cluster) {     
-      TLorentzVector nPart;
-      cluster->GetMomentum(nPart, const_cast<Double_t*>(fVertex));
-
-      Float_t cluseta = nPart.Eta();
-      Float_t clusphi = nPart.Phi();
-      
-      if (TMath::Abs(clusphi - phi) > TMath::Abs(clusphi - phi + 2 * TMath::Pi()))
-       clusphi += 2 * TMath::Pi();
-      if (TMath::Abs(clusphi - phi) > TMath::Abs(clusphi - phi - 2 * TMath::Pi()))
-       clusphi -= 2 * TMath::Pi();
-     
-      Float_t d = TMath::Sqrt((cluseta - eta) * (cluseta - eta) + (clusphi - phi) * (clusphi - phi));
-      if (d <= fConeRadius) 
-       pt += nPart.Pt();
-
-      cluster = clusters->GetNextAcceptCluster();
-    }
-  }
-
-  if (tracks) {
-    AliVParticle* track = tracks->GetNextAcceptParticle(0); 
-    while(track) { 
-      Float_t tracketa = track->Eta();
-      Float_t trackphi = track->Phi();
-      
-      if (TMath::Abs(trackphi - phi) > TMath::Abs(trackphi - phi + 2 * TMath::Pi()))
-       trackphi += 2 * TMath::Pi();
-      if (TMath::Abs(trackphi - phi) > TMath::Abs(trackphi - phi - 2 * TMath::Pi()))
-       trackphi -= 2 * TMath::Pi();
-      
-      Float_t d = TMath::Sqrt((tracketa - eta) * (tracketa - eta) + (trackphi - phi) * (trackphi - phi));
-      if (d <= fConeRadius)
-       pt += track->Pt();
-
-      track = tracks->GetNextAcceptParticle(); 
-    }
-  }
-}
-
-//________________________________________________________________________
-void AliAnalysisTaskDeltaPt::SetConeEtaPhiEMCAL()
-{
-  // Set default cuts for full cones
-
-  SetConeEtaLimits(-0.7+fConeRadius,0.7-fConeRadius);
-  SetConePhiLimits(1.4+fConeRadius,TMath::Pi()-fConeRadius);
-}
-
-//________________________________________________________________________
-void AliAnalysisTaskDeltaPt::SetConeEtaPhiTPC()
-{
-  // Set default cuts for charged cones
-
-  SetConeEtaLimits(-0.9+fConeRadius, 0.9-fConeRadius);
-  SetConePhiLimits(-10, 10);
-}
-
-//________________________________________________________________________
-void AliAnalysisTaskDeltaPt::ExecOnce()
-{
-  // Initialize the analysis.
-
-  AliAnalysisTaskEmcalJet::ExecOnce();
-
-  if (fTracksCont && fTracksCont->GetArray() == 0) fTracksCont = 0;
-  if (fCaloClustersCont && fCaloClustersCont->GetArray() == 0) fCaloClustersCont = 0;
-  if (fEmbTracksCont && fEmbTracksCont->GetArray() == 0) fEmbTracksCont = 0;
-  if (fEmbCaloClustersCont && fEmbCaloClustersCont->GetArray() == 0) fEmbCaloClustersCont = 0;
-  if (fRandTracksCont && fRandTracksCont->GetArray() == 0) fRandTracksCont = 0;
-  if (fRandCaloClustersCont && fRandCaloClustersCont->GetArray() == 0) fRandCaloClustersCont = 0;
-  if (fJetsCont && fJetsCont->GetArray() == 0) fJetsCont = 0;
-  if (fEmbJetsCont && fEmbJetsCont->GetArray() == 0) fEmbJetsCont = 0;
-
-  if (fRCperEvent < 0) {
-    Double_t area = (fConeMaxEta - fConeMinEta) * (fConeMaxPhi - fConeMinPhi);
-    Double_t rcArea = TMath::Pi() * fConeRadius * fConeRadius;
-    fRCperEvent = TMath::FloorNint(area / rcArea - 0.5);
-    if (fRCperEvent == 0)
-      fRCperEvent = 1;
-  }
-
-  if (fMinRC2LJ < 0)
-    fMinRC2LJ = fConeRadius * 1.5;
-
-  const Float_t maxDist = TMath::Max(fConeMaxPhi - fConeMinPhi, fConeMaxEta - fConeMinEta) / 2;
-  if (fMinRC2LJ > maxDist) {
-    AliWarning(Form("The parameter fMinRC2LJ = %f is too large for the considered acceptance. "
-                    "Will use fMinRC2LJ = %f", fMinRC2LJ, maxDist));
-    fMinRC2LJ = maxDist;
-  }
-}
-
-//________________________________________________________________________
-Double_t AliAnalysisTaskDeltaPt::GetNColl() const {
-  // Get NColl - returns value of corresponding bin
-  // only works for pA
-  // values taken from V0A slicing https://twiki.cern.ch/twiki/bin/viewauth/ALICE/PACentStudies#Tables_with_centrality_bins_from
-
-  if(fBeamType == kpA) {
-
-    const Int_t nNCollBins = 7;
-
-    Double_t centMin[nNCollBins] = {0.,5.,10.,20.,40.,60.,80.};
-    Double_t centMax[nNCollBins] = {5.,10.,20.,40.,60.,80.,100.};
-
-    Double_t nColl[nNCollBins] = {14.7,13.,11.7,9.38,6.49,3.96,1.52};
-
-    for(Int_t i = 0; i<nNCollBins; i++) {
-      if(fCent>=centMin[i] && fCent<centMax[i])
-       return nColl[i];
-    }
-
-    return -1.;
-  }
-  else {
-    AliWarning(Form("%s: Only works for pA analysis. Returning -1",GetName()));
-    return -1.;
-  }
-}