]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGJE/EMCALJetTasks/AliAnalysisTaskDeltaPt.cxx
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / AliAnalysisTaskDeltaPt.cxx
index 5caca1453399333e319d868b2087ebfb409dfa6b..3a5948324b10f0ccbc51ee96725e5108b8a72664 100644 (file)
@@ -28,7 +28,7 @@ ClassImp(AliAnalysisTaskDeltaPt)
 
 //________________________________________________________________________
 AliAnalysisTaskDeltaPt::AliAnalysisTaskDeltaPt() : 
-  AliAnalysisTaskEmcalJetDev("AliAnalysisTaskDeltaPt", kTRUE),
+  AliAnalysisTaskEmcalJet("AliAnalysisTaskDeltaPt", kTRUE),
   fMCJetPtThreshold(1),
   fMinRC2LJ(-1),
   fRCperEvent(-1),
@@ -45,6 +45,7 @@ AliAnalysisTaskDeltaPt::AliAnalysisTaskDeltaPt() :
   fEmbCaloClustersCont(0),
   fRandTracksCont(0),
   fRandCaloClustersCont(0),
+  fHistRhovsCent(0),
   fHistRCPhiEta(0), 
   fHistRCPt(0),
   fHistRCPtExLJ(0),
@@ -72,54 +73,32 @@ AliAnalysisTaskDeltaPt::AliAnalysisTaskDeltaPt() :
 {
   // 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),
@@ -136,6 +115,7 @@ AliAnalysisTaskDeltaPt::AliAnalysisTaskDeltaPt(const char *name) :
   fEmbCaloClustersCont(0),
   fRandTracksCont(0),
   fRandCaloClustersCont(0),
+  fHistRhovsCent(0),
   fHistRCPhiEta(0), 
   fHistRCPt(0),
   fHistRCPtExLJ(0),
@@ -163,6 +143,32 @@ AliAnalysisTaskDeltaPt::AliAnalysisTaskDeltaPt(const char *name) :
 {
   // 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];
@@ -204,8 +210,6 @@ AliAnalysisTaskDeltaPt::AliAnalysisTaskDeltaPt(const char *name) :
     fHistDeltaPtEmbArea[i] = 0;
     fHistDeltaPtEmbvsEP[i] = 0;
   }
-
-  SetMakeGeneralHistograms(kTRUE);
 }
 
 //________________________________________________________________________
@@ -213,7 +217,14 @@ void AliAnalysisTaskDeltaPt::UserCreateOutputObjects()
 {
   // 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");
@@ -258,11 +269,11 @@ void AliAnalysisTaskDeltaPt::UserCreateOutputObjects()
   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) {
@@ -282,8 +293,8 @@ void AliAnalysisTaskDeltaPt::UserCreateOutputObjects()
 
       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]);
@@ -408,8 +419,7 @@ void AliAnalysisTaskDeltaPt::UserCreateOutputObjects()
 
       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");
@@ -429,6 +439,8 @@ Bool_t AliAnalysisTaskDeltaPt::FillHistograms()
 {
   // Fill histograms.
 
+  fHistRhovsCent->Fill(fCent, fRhoVal);
+
   // ************
   // Random cones
   // _________________________________
@@ -451,7 +463,12 @@ Bool_t AliAnalysisTaskDeltaPt::FillHistograms()
        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) {
@@ -536,7 +553,12 @@ Bool_t AliAnalysisTaskDeltaPt::FillHistograms()
       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();
     }
@@ -684,7 +706,7 @@ void AliAnalysisTaskDeltaPt::ExecOnce()
 {
   // Initialize the analysis.
 
-  AliAnalysisTaskEmcalJetDev::ExecOnce();
+  AliAnalysisTaskEmcalJet::ExecOnce();
 
   if (fTracksCont && fTracksCont->GetArray() == 0) fTracksCont = 0;
   if (fCaloClustersCont && fCaloClustersCont->GetArray() == 0) fCaloClustersCont = 0;
@@ -692,26 +714,8 @@ void AliAnalysisTaskDeltaPt::ExecOnce()
   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);