X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PWGJE%2FEMCALJetTasks%2FAliAnalysisTaskDeltaPt.cxx;h=3a5948324b10f0ccbc51ee96725e5108b8a72664;hb=c57635e969ce3bdf794a94a739dac53e7b279430;hp=5caca1453399333e319d868b2087ebfb409dfa6b;hpb=6421eeb04d1bb09a62c547214366e3832f025fd0;p=u%2Fmrichter%2FAliRoot.git diff --git a/PWGJE/EMCALJetTasks/AliAnalysisTaskDeltaPt.cxx b/PWGJE/EMCALJetTasks/AliAnalysisTaskDeltaPt.cxx index 5caca145339..3a5948324b1 100644 --- a/PWGJE/EMCALJetTasks/AliAnalysisTaskDeltaPt.cxx +++ b/PWGJE/EMCALJetTasks/AliAnalysisTaskDeltaPt.cxx @@ -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);