From: loizides Date: Thu, 28 Feb 2013 13:11:40 +0000 (+0000) Subject: Updates from Ruediger X-Git-Url: http://git.uio.no/git/?a=commitdiff_plain;h=e8df414010ba6d63f86e0d75e6ef903b0089fd23;p=u%2Fmrichter%2FAliRoot.git Updates from Ruediger --- diff --git a/PWGJE/EMCALJetTasks/AliAnalysisTaskRhoBase.cxx b/PWGJE/EMCALJetTasks/AliAnalysisTaskRhoBase.cxx index 9bee01cfc3c..bb9c1da655d 100644 --- a/PWGJE/EMCALJetTasks/AliAnalysisTaskRhoBase.cxx +++ b/PWGJE/EMCALJetTasks/AliAnalysisTaskRhoBase.cxx @@ -53,6 +53,7 @@ AliAnalysisTaskRhoBase::AliAnalysisTaskRhoBase() : 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; @@ -94,11 +95,11 @@ AliAnalysisTaskRhoBase::AliAnalysisTaskRhoBase(const char *name, Bool_t histo) : 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); } @@ -154,6 +155,12 @@ void AliAnalysisTaskRhoBase::UserCreateOutputObjects() fHistJetNconstVsPt[i]->GetYaxis()->SetTitle("p_{T,jet} (GeV/c)"); fOutput->Add(fHistJetNconstVsPt[i]); + name = Form("HistJetRhovsEta_%d",i); + fHistJetRhovsEta[i] = new TH2F(name, name, fNbins, fMinBinPt, fMaxBinPt*2, 16, -0.8, 0.8); + fHistJetRhovsEta[i]->GetXaxis()->SetTitle("Rho"); + 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); @@ -252,7 +259,8 @@ Bool_t AliAnalysisTaskRhoBase::FillHistograms() 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()); diff --git a/PWGJE/EMCALJetTasks/AliAnalysisTaskRhoBase.h b/PWGJE/EMCALJetTasks/AliAnalysisTaskRhoBase.h index 74a023de564..b04bb0aedb5 100644 --- a/PWGJE/EMCALJetTasks/AliAnalysisTaskRhoBase.h +++ b/PWGJE/EMCALJetTasks/AliAnalysisTaskRhoBase.h @@ -57,7 +57,7 @@ class AliAnalysisTaskRhoBase : public AliAnalysisTaskEmcalJet { TH2F *fHistNjetvsNtrack; //!no. of jets vs. no. of tracks TH2F *fHistNjUEoverNjVsNj[12]; //!ratio no. of jets below rho*A+sigma_rho over. no. of jets vs. no. of jets TH2F *fHistJetNconstVsPt[4]; //!jet no. of constituents vs. pt - + TH2F *fHistJetRhovsEta[4]; //!rho vs. eta TH2F *fHistRhovsCent; //!rho vs. centrality TH2F *fHistRhoScaledvsCent; //!rhoscaled vs. centrality TH2F *fHistDeltaRhovsCent; //!delta rho vs. centrality @@ -74,6 +74,6 @@ class AliAnalysisTaskRhoBase : public AliAnalysisTaskEmcalJet { AliAnalysisTaskRhoBase(const AliAnalysisTaskRhoBase&); // not implemented AliAnalysisTaskRhoBase& operator=(const AliAnalysisTaskRhoBase&); // not implemented - ClassDef(AliAnalysisTaskRhoBase, 8); // Rho base task + ClassDef(AliAnalysisTaskRhoBase, 9); // Rho base task }; #endif diff --git a/PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskChargedJetsPA.cxx b/PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskChargedJetsPA.cxx index 2efcabf1ab6..c38b9f349af 100644 --- a/PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskChargedJetsPA.cxx +++ b/PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskChargedJetsPA.cxx @@ -61,13 +61,16 @@ void AliAnalysisTaskChargedJetsPA::Init() AddHistogram2D("hJetPtBgrdSubtractedRC", "Jets p_{T} distribution, RC background subtracted", "", 500, -50., 200.,5, 0, 100, "p_{T} (GeV/c)","Centrality","dN^{Jets}/dp_{T}"); AddHistogram2D("hJetPtBgrdSubtractedKT", "Jets p_{T} distribution, KT background subtracted", "", 500, -50., 200., 5, 0, 100, "p_{T} (GeV/c)","Centrality","dN^{Jets}/dp_{T}"); AddHistogram2D("hJetPtBgrdSubtractedTR", "Jets p_{T} distribution, TR background subtracted", "", 500, -50., 200.,5, 0, 100, "p_{T} (GeV/c)","Centrality","dN^{Jets}/dp_{T}"); - AddHistogram2D("hJetPtBgrdSubtractedRCNoEtaCorr", "Jets p_{T} distribution, RC background subtracted (no #eta correction)", "", 500, -50., 200.,5, 0, 100, "p_{T} (GeV/c)","Centrality","dN^{Jets}/dp_{T}"); - AddHistogram2D("hJetPtBgrdSubtractedKTNoEtaCorr", "Jets p_{T} distribution, KT background subtracted (no #eta correction)", "", 500, -50., 200., 5, 0, 100, "p_{T} (GeV/c)","Centrality","dN^{Jets}/dp_{T}"); - AddHistogram2D("hJetPtBgrdSubtractedTRNoEtaCorr", "Jets p_{T} distribution, TR background subtracted (no #eta correction)", "", 500, -50., 200.,5, 0, 100, "p_{T} (GeV/c)","Centrality","dN^{Jets}/dp_{T}"); + AddHistogram2D("hJetPtBgrdSubtractedRCPosEta", "Jets p_{T} distribution, RC background subtracted, #eta > 0.2", "", 500, -50., 200.,5, 0, 100, "p_{T} (GeV/c)","Centrality","dN^{Jets}/dp_{T}"); + AddHistogram2D("hJetPtBgrdSubtractedKTPosEta", "Jets p_{T} distribution, KT background subtracted, #eta > 0.2", "", 500, -50., 200., 5, 0, 100, "p_{T} (GeV/c)","Centrality","dN^{Jets}/dp_{T}"); + AddHistogram2D("hJetPtBgrdSubtractedTRPosEta", "Jets p_{T} distribution, TR background subtracted, #eta > 0.2", "", 500, -50., 200.,5, 0, 100, "p_{T} (GeV/c)","Centrality","dN^{Jets}/dp_{T}"); + AddHistogram2D("hJetPtBgrdSubtractedRCNegEta", "Jets p_{T} distribution, RC background subtracted, #eta < -0.2", "", 500, -50., 200.,5, 0, 100, "p_{T} (GeV/c)","Centrality","dN^{Jets}/dp_{T}"); + AddHistogram2D("hJetPtBgrdSubtractedKTNegEta", "Jets p_{T} distribution, KT background subtracted, #eta < -0.2", "", 500, -50., 200., 5, 0, 100, "p_{T} (GeV/c)","Centrality","dN^{Jets}/dp_{T}"); + AddHistogram2D("hJetPtBgrdSubtractedTRNegEta", "Jets p_{T} distribution, TR background subtracted, #eta < -0.2", "", 500, -50., 200.,5, 0, 100, "p_{T} (GeV/c)","Centrality","dN^{Jets}/dp_{T}"); - AddHistogram2D("hJetPtBgrdSubtractedRCEtaBins", "Jets p_{T} distribution, RC background (in #eta bin) subtracted (no #eta correction)", "", 500, -50., 200., 5, -0.5, 0.5, "p_{T} (GeV/c)","#eta","dN^{Jets}/dp_{T}d#eta"); - AddHistogram2D("hJetPtBgrdSubtractedKTEtaBins", "Jets p_{T} distribution, KT background (in #eta bin) subtracted (no #eta correction)", "", 500, -50., 200., 5, -0.5, 0.5, "p_{T} (GeV/c)","#eta","dN^{Jets}/dp_{T}d#eta"); - AddHistogram2D("hJetPtBgrdSubtractedTREtaBins", "Jets p_{T} distribution, TR background (in #eta bin) subtracted (no #eta correction)", "", 500, -50., 200., 5, -0.5, 0.5, "p_{T} (GeV/c)","#eta","dN^{Jets}/dp_{T}d#eta"); + AddHistogram2D("hJetPtBgrdSubtractedRCEtaWindow", "Jets p_{T} distribution, RC background (in #eta window around jet) subtracted", "", 500, -50., 200., 5, 0, 100, "p_{T} (GeV/c)","Centrality","dN^{Jets}/dp_{T}"); + AddHistogram2D("hJetPtBgrdSubtractedKTEtaWindow", "Jets p_{T} distribution, KT background (in #eta window around jet) subtracted", "", 500, -50., 200., 5, 0, 100, "p_{T} (GeV/c)","Centrality","dN^{Jets}/dp_{T}"); + AddHistogram2D("hJetPtBgrdSubtractedTREtaWindow", "Jets p_{T} distribution, TR background (in #eta window around jet) subtracted", "", 500, -50., 200., 5, 0, 100, "p_{T} (GeV/c)","Centrality","dN^{Jets}/dp_{T}"); // ######## Jet stuff AddHistogram1D("hJetCountAll", "Number of Jets", "", 200, 0., 200., "N jets","dN^{Events}/dN^{Jets}"); @@ -90,21 +93,20 @@ void AliAnalysisTaskChargedJetsPA::Init() AddHistogram2D("hDeltaPtKT", "Background fluctuations #delta p_{T} (KT)", "", 600, -40., 80., 5, 0, 100, "#delta p_{T} (GeV/c)","Centrality","dN^{Jets}/d#delta p_{T}"); AddHistogram2D("hDeltaPtRC", "Background fluctuations #delta p_{T} (RC)", "", 600, -40., 80., 5, 0, 100, "#delta p_{T} (GeV/c)","Centrality","dN^{Jets}/d#delta p_{T}"); AddHistogram2D("hDeltaPtTR", "Background fluctuations #delta p_{T} (TR)", "", 600, -40., 80., 5, 0, 100, "#delta p_{T} (GeV/c)","Centrality","dN^{Jets}/d#delta p_{T}"); - AddHistogram2D("hDeltaPtKTNoEtaCorr", "Background fluctuations #delta p_{T} (KT, no #eta correction)", "", 600, -40., 80., 5, 0, 100, "#delta p_{T} (GeV/c)","Centrality","dN^{Jets}/d#delta p_{T}"); - AddHistogram2D("hDeltaPtRCNoEtaCorr", "Background fluctuations #delta p_{T} (RC, no #eta correction)", "", 600, -40., 80., 5, 0, 100, "#delta p_{T} (GeV/c)","Centrality","dN^{Jets}/d#delta p_{T}"); - AddHistogram2D("hDeltaPtTRNoEtaCorr", "Background fluctuations #delta p_{T} (TR, no #eta correction)", "", 600, -40., 80., 5, 0, 100, "#delta p_{T} (GeV/c)","Centrality","dN^{Jets}/d#delta p_{T}"); - AddHistogram2D("hDeltaPtKTNoEtaCorrNoExcl", "Background fluctuations #delta p_{T} (KT, no #eta correction, no leading jet correction)", "", 600, -40., 80., 5, 0, 100, "#delta p_{T} (GeV/c)","Centrality","dN^{Jets}/d#delta p_{T}"); - AddHistogram2D("hDeltaPtRCNoEtaCorrNoExcl", "Background fluctuations #delta p_{T} (RC, no #eta correction, no leading jet correction)", "", 600, -40., 80., 5, 0, 100, "#delta p_{T} (GeV/c)","Centrality","dN^{Jets}/d#delta p_{T}"); - AddHistogram2D("hDeltaPtTRNoEtaCorrNoExcl", "Background fluctuations #delta p_{T} (TR, no #eta correction, no leading jet correction)", "", 600, -40., 80., 5, 0, 100, "#delta p_{T} (GeV/c)","Centrality","dN^{Jets}/d#delta p_{T}"); + AddHistogram2D("hDeltaPtKTNoExcl", "Background fluctuations #delta p_{T} (KT, no leading jet correction)", "", 600, -40., 80., 5, 0, 100, "#delta p_{T} (GeV/c)","Centrality","dN^{Jets}/d#delta p_{T}"); + AddHistogram2D("hDeltaPtRCNoExcl", "Background fluctuations #delta p_{T} (RC, no leading jet correction)", "", 600, -40., 80., 5, 0, 100, "#delta p_{T} (GeV/c)","Centrality","dN^{Jets}/d#delta p_{T}"); + AddHistogram2D("hDeltaPtTRNoExcl", "Background fluctuations #delta p_{T} (TR, no leading jet correction)", "", 600, -40., 80., 5, 0, 100, "#delta p_{T} (GeV/c)","Centrality","dN^{Jets}/d#delta p_{T}"); // ########## Min bias background in eta bins AddHistogram2D("hRCBackgroundEtaBins", "RC background density (2 leading jets excluded)", "LEGO2", 400, 0., 40., 5, -0.5, +0.5, "#rho (GeV/c)","#eta", "dN^{Events}/d#rho d#eta"); AddHistogram2D("hKTBackgroundEtaBins", "KT background density (2 leading jets excluded)", "LEGO2", 400, 0., 40., 5, -0.5, +0.5, "#rho (GeV/c)","#eta", "dN^{Events}/d#rho d#eta"); AddHistogram2D("hTRBackgroundEtaBins", "TR background density (2 leading jets excluded)", "LEGO2", 400, 0., 40., 5, -0.5, +0.5, "#rho (GeV/c)","#eta", "dN^{Events}/d#rho d#eta"); - AddHistogram2D("hRCBackgroundEtaBinsCorrected", "RC background density (2 leading jets excluded, #eta-corrected)", "LEGO2", 400, 0., 40., 5, -0.5, +0.5, "#rho (GeV/c)","#eta", "dN^{Events}/d#rho d#eta"); - AddHistogram2D("hKTBackgroundEtaBinsCorrected", "KT background density (2 leading jets excluded, #eta-corrected)", "LEGO2", 400, 0., 40., 5, -0.5, +0.5, "#rho (GeV/c)","#eta", "dN^{Events}/d#rho d#eta"); - AddHistogram2D("hTRBackgroundEtaBinsCorrected", "TR background density (2 leading jets excluded, #eta-corrected)", "LEGO2", 400, 0., 40., 5, -0.5, +0.5, "#rho (GeV/c)","#eta", "dN^{Events}/d#rho d#eta"); + // ########## Min bias background in sliding eta bins + AddHistogram2D("hRCBackgroundEtaWindow", "RC background density (2 leading jets excluded)", "LEGO2", 400, 0., 40., 5, 0, 100, "#rho (GeV/c)","Centrality", "dN^{Events}/d#rho d#eta"); + AddHistogram2D("hKTBackgroundEtaWindow", "KT background density (2 leading jets excluded)", "LEGO2", 400, 0., 40., 5, 0, 100, "#rho (GeV/c)","Centrality", "dN^{Events}/d#rho d#eta"); + AddHistogram2D("hTRBackgroundEtaWindow", "TR background density (2 leading jets excluded)", "LEGO2", 400, 0., 40., 5, 0, 100, "#rho (GeV/c)","Centrality", "dN^{Events}/d#rho d#eta"); + // ########## Dijet stuff AddHistogram1D("hDijetLeadingJetPt", "Dijet leading jet p_{T} distribution", "", 500, 0., 100., "p_{T} (GeV/c)","dN^{Jets}/dp_{T}"); @@ -133,7 +135,7 @@ void AliAnalysisTaskChargedJetsPA::Init() } //________________________________________________________________________ -AliAnalysisTaskChargedJetsPA::AliAnalysisTaskChargedJetsPA(const char *name, const char* trackArrayName, const char* jetArrayName, const char* backgroundJetArrayName) : AliAnalysisTaskSE(name), fOutputList(0), fAnalyzeJets(1), fAnalyzeBackground(1), fAnalyzePythia(0), fHasTracks(0), fHasJets(0), fHasBackgroundJets(0), fIsMC(0), fJetArray(0), fTrackArray(0), fBackgroundJetArray(0), fJetArrayName(0), fTrackArrayName(0), fBackgroundJetArrayName(0), fNumPtHardBins(11), fRandConeRadius(0.4), fSignalJetRadius(0.4), fBackgroundJetRadius(0.4), fTRBackgroundConeRadius(0.4), fNumberRandCones(8), fNumberExcludedJets(2), fDijetMaxAngleDeviation(10.0), fJetKTEtaCorrection(0), fJetRCEtaCorrection(0), fJetTREtaCorrection(0), fSignalJetEtaWindow(0.5), fBackgroundJetEtaWindow(0.5), fTrackEtaWindow(0.9), fVertexWindow(10.0), fVertexMaxR(1.0), fMinTrackPt(0.150), fMinJetPt(1.0), fMinJetArea(0.4), fMinBackgroundJetPt(0.15), fMinDijetLeadingPt(10.0), fCentralityType("V0A"), fFirstLeadingJet(0), fSecondLeadingJet(0), fNumberSignalJets(0), fCrossSection(0.0), fTrials(0.0), fRandom(0), fHelperClass(0), fInitialized(0), fTaskInstanceCounter(0), fHistList(0), fHistCount(0) +AliAnalysisTaskChargedJetsPA::AliAnalysisTaskChargedJetsPA(const char *name, const char* trackArrayName, const char* jetArrayName, const char* backgroundJetArrayName) : AliAnalysisTaskSE(name), fOutputList(0), fAnalyzeJets(1), fAnalyzeBackground(1), fAnalyzePythia(0), fHasTracks(0), fHasJets(0), fHasBackgroundJets(0), fIsMC(0), fJetArray(0), fTrackArray(0), fBackgroundJetArray(0), fJetArrayName(0), fTrackArrayName(0), fBackgroundJetArrayName(0), fNumPtHardBins(11), fRandConeRadius(0.4), fSignalJetRadius(0.4), fBackgroundJetRadius(0.4), fTRBackgroundConeRadius(0.4), fNumberRandCones(8), fNumberExcludedJets(2), fDijetMaxAngleDeviation(10.0), fSignalJetEtaWindow(0.5), fBackgroundJetEtaWindow(0.5), fTrackEtaWindow(0.9), fVertexWindow(10.0), fVertexMaxR(1.0), fMinTrackPt(0.150), fMinJetPt(1.0), fMinJetArea(0.4), fMinBackgroundJetPt(0.15), fMinDijetLeadingPt(10.0), fCentralityType("V0A"), fFirstLeadingJet(0), fSecondLeadingJet(0), fNumberSignalJets(0), fCrossSection(0.0), fTrials(0.0), fRandom(0), fHelperClass(0), fInitialized(0), fTaskInstanceCounter(0), fHistList(0), fHistCount(0) { #ifdef DEBUGMODE AliInfo("Calling constructor."); @@ -481,50 +483,9 @@ Int_t AliAnalysisTaskChargedJetsPA::GetLeadingJets(TClonesArray* jetArray, Int_t return jetCountAccepted; } -//________________________________________________________________________ -Double_t AliAnalysisTaskChargedJetsPA::GetBackgroundEtaCorrFactor(EtaCorrectionMode mode, Double_t eta) -{ - if ((eta>=-0.5) && (eta<-0.3)) - return GetBackgroundEtaBinCorrFactor(mode, 1); - else if ((eta>=-0.3) && (eta<-0.1)) - return GetBackgroundEtaBinCorrFactor(mode, 2); - else if ((eta>=-0.1) && (eta<+0.1)) - return GetBackgroundEtaBinCorrFactor(mode, 3); - else if ((eta>=+0.1) && (eta<+0.3)) - return GetBackgroundEtaBinCorrFactor(mode, 4); - else if ((eta>=+0.3) && (eta<=+0.5)) - return GetBackgroundEtaBinCorrFactor(mode, 5); - else - AliError(Form("Wrong eta value! Eta=%1.4f", eta)); - - return 1.0; -} - -//________________________________________________________________________ -Double_t AliAnalysisTaskChargedJetsPA::GetBackgroundEtaBinCorrFactor(EtaCorrectionMode mode, Int_t eta) -{ - Double_t corrFactor = 1.0; - - if((eta < 1) || (eta>5)) - { - AliError("Wrong eta bin!"); - return corrFactor; - } - - if((mode == kKTEtaCorrection) && fJetKTEtaCorrection) - corrFactor = fJetKTEtaCorrection->GetBinContent(eta); - else if((mode == kRCEtaCorrection) && fJetRCEtaCorrection) - corrFactor = fJetRCEtaCorrection->GetBinContent(eta); - else if((mode == kTREtaCorrection) && fJetTREtaCorrection) - corrFactor = fJetTREtaCorrection->GetBinContent(eta); - else - corrFactor = 1.0; - - return corrFactor; -} //________________________________________________________________________ -Double_t AliAnalysisTaskChargedJetsPA::GetCorrectedJetPt(AliEmcalJet* jet, Double_t background, EtaCorrectionMode mode) +Double_t AliAnalysisTaskChargedJetsPA::GetCorrectedJetPt(AliEmcalJet* jet, Double_t background) { #ifdef DEBUGMODE AliInfo("Getting corrected jet spectra."); @@ -542,12 +503,8 @@ Double_t AliAnalysisTaskChargedJetsPA::GetCorrectedJetPt(AliEmcalJet* jet, Doubl if(background < 0) background = 0; - // Get Eta corrected background - // The correction factor is to take the eta dependence of the background into account and to correct for it. - Double_t tmpCorrectedBackground = background * GetBackgroundEtaCorrFactor(mode, jet->Eta()); - // Subtract background - correctedPt = jet->Pt() - tmpCorrectedBackground * jet->Area(); + correctedPt = jet->Pt() - background * jet->Area(); #ifdef DEBUGMODE AliInfo("Got corrected jet spectra."); @@ -559,7 +516,7 @@ Double_t AliAnalysisTaskChargedJetsPA::GetCorrectedJetPt(AliEmcalJet* jet, Doubl //________________________________________________________________________ -void AliAnalysisTaskChargedJetsPA::GetDeltaPt(Double_t& deltaPt, Double_t rho, EtaCorrectionMode mode, Bool_t leadingJetExclusion) +void AliAnalysisTaskChargedJetsPA::GetDeltaPt(Double_t& deltaPt, Double_t rho, Bool_t leadingJetExclusion) { #ifdef DEBUGMODE AliInfo("Getting Delta Pt."); @@ -578,26 +535,30 @@ void AliAnalysisTaskChargedJetsPA::GetDeltaPt(Double_t& deltaPt, Double_t rho, E Double_t tmpRandConeEta = etaMin + fRandom->Rndm()*(etaMax-etaMin); Double_t tmpRandConePhi = fRandom->Rndm()*TMath::TwoPi(); - // Apply eta correction on background if demanded - rho *= GetBackgroundEtaCorrFactor(mode, tmpRandConeEta); - - AliEmcalJet* tmpJet = fFirstLeadingJet; // if there is a jet, check for overlap if demanded - if(tmpJet && leadingJetExclusion) + if(leadingJetExclusion) { - Double_t excludedJetPhi = tmpJet->Phi(); - Double_t excludedJetEta = tmpJet->Eta(); - Double_t tmpDeltaPhi = GetDeltaPhi(tmpRandConePhi, excludedJetPhi); - - // Check, if cone has overlap with jet - if ( tmpDeltaPhi*tmpDeltaPhi + TMath::Abs(tmpRandConeEta-excludedJetEta)*TMath::Abs(tmpRandConeEta-excludedJetEta) <= fRandConeRadius*fRandConeRadius) + for (Int_t i = 0; iRndm()<=probability) - coneValid = kFALSE; + Double_t excludedJetPhi = tmpJet->Phi(); + Double_t excludedJetEta = tmpJet->Eta(); + Double_t tmpDeltaPhi = GetDeltaPhi(tmpRandConePhi, excludedJetPhi); + + // Check, if cone has overlap with jet + if ( tmpDeltaPhi*tmpDeltaPhi + TMath::Abs(tmpRandConeEta-excludedJetEta)*TMath::Abs(tmpRandConeEta-excludedJetEta) <= fRandConeRadius*fRandConeRadius) + { + // Define probability to exclude the RC + Double_t probability = 1 - (fNumberSignalJets-1)/fNumberSignalJets; + + // Only exclude cone with a given probability + if (fRandom->Rndm()<=probability) + { + coneValid = kFALSE; + break; + } + } } } @@ -611,7 +572,7 @@ void AliAnalysisTaskChargedJetsPA::GetDeltaPt(Double_t& deltaPt, Double_t rho, E } //________________________________________________________________________ -void AliAnalysisTaskChargedJetsPA::GetKTBackgroundDensity(Int_t numberExcludeLeadingJets, Double_t& rhoMedian, Double_t& areaMean, Double_t etaMin, Double_t etaMax) +void AliAnalysisTaskChargedJetsPA::GetKTBackgroundDensity(Int_t numberExcludeLeadingJets, Double_t& rhoMedian, Double_t& areaMean, Double_t etaMin, Double_t etaMax, Bool_t excludeSignalJets) { #ifdef DEBUGMODE AliInfo("Getting KT background density."); @@ -626,10 +587,17 @@ void AliAnalysisTaskChargedJetsPA::GetKTBackgroundDensity(Int_t numberExcludeLea rhoMedian = -1.0; areaMean= -1.0; + GetLeadingJets(fBackgroundJetArray, &maxJetIds[0], kFALSE); // Exclude UP TO numberExcludeLeadingJets - Int_t numberBgrdJets = GetLeadingJets(fBackgroundJetArray, &maxJetIds[0], kFALSE); - if (numberBgrdJets < numberExcludeLeadingJets) - numberExcludeLeadingJets = numberBgrdJets; + if (fNumberSignalJets < 2) + numberExcludeLeadingJets = fNumberSignalJets; + + // Check if etaMin/etaMax is given correctly + if(etaMin < -fBackgroundJetEtaWindow) + etaMin = -fBackgroundJetEtaWindow; + if(etaMax > fBackgroundJetEtaWindow) + etaMax = fBackgroundJetEtaWindow; + if ((etaMin == 0) && (etaMax == 0)) { etaMin = -fBackgroundJetEtaWindow; @@ -637,35 +605,60 @@ void AliAnalysisTaskChargedJetsPA::GetKTBackgroundDensity(Int_t numberExcludeLea } Int_t jetCountAccepted = 0; - Int_t jetCount = fBackgroundJetArray->GetEntries(); - - for (Int_t i = 0; i < jetCount; i++) + for (Int_t i = 0; i < fBackgroundJetArray->GetEntries(); i++) { - AliEmcalJet* jet = static_cast(fBackgroundJetArray->At(i)); - if (!jet) + AliEmcalJet* backgroundJet = static_cast(fBackgroundJetArray->At(i)); + if (!backgroundJet) { AliError(Form("%s: Could not receive jet %d", GetName(), i)); continue; } - // exclude leading jets - if (numberExcludeLeadingJets > 0) - if (i == maxJetIds[0]) - continue; - if (numberExcludeLeadingJets > 1) - if (i == maxJetIds[1]) - continue; - + // Exclude signal jets + if (excludeSignalJets) + { + Bool_t isOverlapping = kFALSE; + for(Int_t j=0;jPhi(), signalJet->Phi()); + + if ( tmpDeltaPhi*tmpDeltaPhi + TMath::Abs(signalJet->Eta()-backgroundJet->Eta())*TMath::Abs(signalJet->Eta()-backgroundJet->Eta()) <= fSignalJetRadius*fSignalJetRadius) + { + isOverlapping = kTRUE; + break; + } + } + if(isOverlapping) + continue; + } + else // exclude leading background jets + { + if (numberExcludeLeadingJets > 0) + if (i == maxJetIds[0]) + continue; + if (numberExcludeLeadingJets > 1) + if (i == maxJetIds[1]) + continue; + } + + if (!IsBackgroundJetInAcceptance(backgroundJet)) continue; - if (!((jet->Eta() >= etaMin) && (jet->Eta() < etaMax))) + if (!((backgroundJet->Eta() >= etaMin) && (backgroundJet->Eta() < etaMax))) continue; - tmpRhos[jetCountAccepted] = jet->Pt() / jet->Area(); - tmpAreas[jetCountAccepted] = jet->Area(); + tmpRhos[jetCountAccepted] = backgroundJet->Pt() / backgroundJet->Area(); + tmpAreas[jetCountAccepted] = backgroundJet->Area(); jetCountAccepted++; } @@ -712,6 +705,12 @@ Int_t AliAnalysisTaskChargedJetsPA::GetRCBackgroundDensity(Int_t numberExcludeLe // Search random cone in acceptance with no overlap with already excluded jets (leading jets and random cones) Bool_t coneValid = kTRUE; + // Check if etaMin/etaMax is given correctly + if(etaMin < -fSignalJetEtaWindow) + etaMin = -fSignalJetEtaWindow; + if(etaMax > fSignalJetEtaWindow) + etaMax = fSignalJetEtaWindow; + // Set the random cone position if ((etaMin == 0) && (etaMax == 0)) tmpRandConeEta = (fTrackEtaWindow-fRandConeRadius)*(2.0*fRandom->Rndm()-1.0); // full RC is in acceptance @@ -779,6 +778,12 @@ void AliAnalysisTaskChargedJetsPA::GetTRBackgroundDensity(Int_t numberExcludeLea Double_t summedTracksPt = 0.0; + // Check if etaMin/etaMax is given correctly + if(etaMin < -fTrackEtaWindow) + etaMin = -fTrackEtaWindow; + if(etaMax > fTrackEtaWindow) + etaMax = fTrackEtaWindow; + if ((etaMin == 0) && (etaMax == 0)) { etaMin = -fTrackEtaWindow; @@ -973,13 +978,42 @@ void AliAnalysisTaskChargedJetsPA::Calculate(AliVEvent* event) // Jet spectra FillHistogram("hJetPt", tmpJet->Pt(), centralityPercentile); - FillHistogram("hJetPtBgrdSubtractedRC", GetCorrectedJetPt(tmpJet, backgroundRCMean, kRCEtaCorrection), centralityPercentile); - FillHistogram("hJetPtBgrdSubtractedKT", GetCorrectedJetPt(tmpJet, backgroundKTMedian, kKTEtaCorrection), centralityPercentile); - FillHistogram("hJetPtBgrdSubtractedTR", GetCorrectedJetPt(tmpJet, backgroundTRMean, kTREtaCorrection), centralityPercentile); + FillHistogram("hJetPtBgrdSubtractedRC", GetCorrectedJetPt(tmpJet, backgroundRCMean), centralityPercentile); + FillHistogram("hJetPtBgrdSubtractedKT", GetCorrectedJetPt(tmpJet, backgroundKTMedian), centralityPercentile); + FillHistogram("hJetPtBgrdSubtractedTR", GetCorrectedJetPt(tmpJet, backgroundTRMean), centralityPercentile); + + // Jet spectra (pos+neg eta) + if(tmpJet->Eta() > 0.2) + { + FillHistogram("hJetPtBgrdSubtractedRCPosEta", GetCorrectedJetPt(tmpJet, backgroundRCMean), centralityPercentile); + FillHistogram("hJetPtBgrdSubtractedKTPosEta", GetCorrectedJetPt(tmpJet, backgroundKTMedian), centralityPercentile); + FillHistogram("hJetPtBgrdSubtractedTRPosEta", GetCorrectedJetPt(tmpJet, backgroundTRMean), centralityPercentile); + } + else if(tmpJet->Eta() < -0.2) + { + FillHistogram("hJetPtBgrdSubtractedRCNegEta", GetCorrectedJetPt(tmpJet, backgroundRCMean), centralityPercentile); + FillHistogram("hJetPtBgrdSubtractedKTNegEta", GetCorrectedJetPt(tmpJet, backgroundKTMedian), centralityPercentile); + FillHistogram("hJetPtBgrdSubtractedTRNegEta", GetCorrectedJetPt(tmpJet, backgroundTRMean), centralityPercentile); + } + + // Correct EVERY jet with suitable background + Double_t tmpKTRho = 0.0; + Double_t tmpRCRho = 0.0; + Double_t tmpTRRho = 0.0; + Double_t dummy = 0.0; + // Calculate backgrounds + GetKTBackgroundDensity (fNumberExcludedJets, tmpKTRho, dummy, tmpJet->Eta()-0.1, tmpJet->Eta()+0.1, kTRUE); + GetRCBackgroundDensity (fNumberExcludedJets, tmpRCRho, dummy, tmpJet->Eta()-0.1, tmpJet->Eta()+0.1); + GetTRBackgroundDensity (fNumberExcludedJets, tmpTRRho, dummy, tmpJet->Eta()-0.1, tmpJet->Eta()+0.1); + + FillHistogram("hKTBackgroundEtaWindow", tmpKTRho, centralityPercentile); + FillHistogram("hRCBackgroundEtaWindow", tmpRCRho, centralityPercentile); + FillHistogram("hTRBackgroundEtaWindow", tmpTRRho, centralityPercentile); + + FillHistogram("hJetPtBgrdSubtractedKTEtaWindow", GetCorrectedJetPt(tmpJet, tmpKTRho), centralityPercentile); + FillHistogram("hJetPtBgrdSubtractedRCEtaWindow", GetCorrectedJetPt(tmpJet, tmpRCRho), centralityPercentile); + FillHistogram("hJetPtBgrdSubtractedTREtaWindow", GetCorrectedJetPt(tmpJet, tmpTRRho), centralityPercentile); - FillHistogram("hJetPtBgrdSubtractedRCNoEtaCorr", GetCorrectedJetPt(tmpJet, backgroundRCMean, kNoEtaCorrection), centralityPercentile); - FillHistogram("hJetPtBgrdSubtractedKTNoEtaCorr", GetCorrectedJetPt(tmpJet, backgroundKTMedian, kNoEtaCorrection), centralityPercentile); - FillHistogram("hJetPtBgrdSubtractedTRNoEtaCorr", GetCorrectedJetPt(tmpJet, backgroundTRMean, kNoEtaCorrection), centralityPercentile); // Signal jet vs. signal jet - "Combinatorial" for (Int_t j = i+1; j look at the background @@ -1077,21 +1092,15 @@ void AliAnalysisTaskChargedJetsPA::Calculate(AliVEvent* event) Double_t tmpDeltaPtKT = 0.0; Double_t tmpDeltaPtRC = 0.0; Double_t tmpDeltaPtTR = 0.0; - Double_t tmpDeltaPtKTNoEta = 0.0; - Double_t tmpDeltaPtRCNoEta = 0.0; - Double_t tmpDeltaPtTRNoEta = 0.0; - Double_t tmpDeltaPtKTNoEtaNoExcl = 0.0; - Double_t tmpDeltaPtRCNoEtaNoExcl = 0.0; - Double_t tmpDeltaPtTRNoEtaNoExcl = 0.0; - GetDeltaPt(tmpDeltaPtKT, backgroundKTMedian, kKTEtaCorrection); - GetDeltaPt(tmpDeltaPtRC, backgroundRCMean, kRCEtaCorrection); - GetDeltaPt(tmpDeltaPtTR, backgroundTRMean, kTREtaCorrection); - GetDeltaPt(tmpDeltaPtKTNoEta, backgroundKTMedian, kNoEtaCorrection); - GetDeltaPt(tmpDeltaPtRCNoEta, backgroundRCMean, kNoEtaCorrection); - GetDeltaPt(tmpDeltaPtTRNoEta, backgroundTRMean, kNoEtaCorrection); - GetDeltaPt(tmpDeltaPtKTNoEtaNoExcl, backgroundKTMedian, kNoEtaCorrection, kFALSE); - GetDeltaPt(tmpDeltaPtRCNoEtaNoExcl, backgroundRCMean, kNoEtaCorrection, kFALSE); - GetDeltaPt(tmpDeltaPtTRNoEtaNoExcl, backgroundTRMean, kNoEtaCorrection, kFALSE); + Double_t tmpDeltaPtKTNoExcl = 0.0; + Double_t tmpDeltaPtRCNoExcl = 0.0; + Double_t tmpDeltaPtTRNoExcl = 0.0; + GetDeltaPt(tmpDeltaPtKT, backgroundKTMedian); + GetDeltaPt(tmpDeltaPtRC, backgroundRCMean); + GetDeltaPt(tmpDeltaPtTR, backgroundTRMean); + GetDeltaPt(tmpDeltaPtKTNoExcl, backgroundKTMedian, kFALSE); + GetDeltaPt(tmpDeltaPtRCNoExcl, backgroundRCMean, kFALSE); + GetDeltaPt(tmpDeltaPtTRNoExcl, backgroundTRMean, kFALSE); // If valid, fill the delta pt histograms if(tmpDeltaPtKT > -10000.0) @@ -1100,18 +1109,12 @@ void AliAnalysisTaskChargedJetsPA::Calculate(AliVEvent* event) FillHistogram("hDeltaPtRC", tmpDeltaPtRC, centralityPercentile); if(tmpDeltaPtTR > -10000.0) FillHistogram("hDeltaPtTR", tmpDeltaPtTR, centralityPercentile); - if(tmpDeltaPtKTNoEta > -10000.0) - FillHistogram("hDeltaPtKTNoEtaCorr", tmpDeltaPtKTNoEta, centralityPercentile); - if(tmpDeltaPtRCNoEta > -10000.0) - FillHistogram("hDeltaPtRCNoEtaCorr", tmpDeltaPtRCNoEta, centralityPercentile); - if(tmpDeltaPtTRNoEta > -10000.0) - FillHistogram("hDeltaPtTRNoEtaCorr", tmpDeltaPtTRNoEta, centralityPercentile); - if(tmpDeltaPtKTNoEtaNoExcl > -10000.0) - FillHistogram("hDeltaPtKTNoEtaCorrNoExcl", tmpDeltaPtKTNoEtaNoExcl, centralityPercentile); - if(tmpDeltaPtRCNoEtaNoExcl > -10000.0) - FillHistogram("hDeltaPtRCNoEtaCorrNoExcl", tmpDeltaPtRCNoEtaNoExcl, centralityPercentile); - if(tmpDeltaPtTRNoEtaNoExcl > -10000.0) - FillHistogram("hDeltaPtTRNoEtaCorrNoExcl", tmpDeltaPtTRNoEtaNoExcl, centralityPercentile); + if(tmpDeltaPtKTNoExcl > -10000.0) + FillHistogram("hDeltaPtKTNoExcl", tmpDeltaPtKTNoExcl, centralityPercentile); + if(tmpDeltaPtRCNoExcl > -10000.0) + FillHistogram("hDeltaPtRCNoExcl", tmpDeltaPtRCNoExcl, centralityPercentile); + if(tmpDeltaPtTRNoExcl > -10000.0) + FillHistogram("hDeltaPtTRNoExcl", tmpDeltaPtTRNoExcl, centralityPercentile); } @@ -1209,48 +1212,6 @@ Bool_t AliAnalysisTaskChargedJetsPA::Notify() return kTRUE; } -//________________________________________________________________________ -void AliAnalysisTaskChargedJetsPA::SetKTEtaCorrectionFactors(TH1D* histo) -{ - // COPY given histogram - fJetKTEtaCorrection = new TH1D(*histo); - - if (!fJetKTEtaCorrection) - AliError(Form("Setting the correction factors with %s (%s) failed! You won't get eta-corrected spectra!", histo->GetName(), histo->IsA()->GetName())); - - // Look, if given histogram is compatible with given code - if (fJetKTEtaCorrection->GetXaxis()->GetNbins() != 5) - AliError(Form("Setting the correction factors failed, because the given histogram is not compatible! You need nbinX=5 (currently:%d)",fJetKTEtaCorrection->GetXaxis()->GetNbins())); -} - -//________________________________________________________________________ -void AliAnalysisTaskChargedJetsPA::SetRCEtaCorrectionFactors(TH1D* histo) -{ - // COPY given histogram - fJetRCEtaCorrection = new TH1D(*histo); - - if (!fJetRCEtaCorrection) - AliError(Form("Setting the correction factors with %s (%s) failed! You won't get eta-corrected spectra!", histo->GetName(), histo->IsA()->GetName())); - - // Look, if given histogram is compatible with given code - if (fJetRCEtaCorrection->GetXaxis()->GetNbins() != 5) - AliError(Form("Setting the correction factors failed, because the given histogram is not compatible! You need nbinX=5 (currently:%d)",fJetRCEtaCorrection->GetXaxis()->GetNbins())); -} - -//________________________________________________________________________ -void AliAnalysisTaskChargedJetsPA::SetTREtaCorrectionFactors(TH1D* histo) -{ - // COPY given histogram - fJetTREtaCorrection = new TH1D(*histo); - - if (!fJetTREtaCorrection) - AliError(Form("Setting the correction factors with %s (%s) failed! You won't get eta-corrected spectra!", histo->GetName(), histo->IsA()->GetName())); - - // Look, if given histogram is compatible with given code - if (fJetTREtaCorrection->GetXaxis()->GetNbins() != 5) - AliError(Form("Setting the correction factors failed, because the given histogram is not compatible! You need nbinX=5 (currently:%d)",fJetTREtaCorrection->GetXaxis()->GetNbins())); -} - //________________________________________________________________________ inline Double_t AliAnalysisTaskChargedJetsPA::EtaToTheta(Double_t arg) {return 2.*atan(exp(-arg));} diff --git a/PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskChargedJetsPA.h b/PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskChargedJetsPA.h index b9b509a230f..a7a1f7ccd12 100644 --- a/PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskChargedJetsPA.h +++ b/PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskChargedJetsPA.h @@ -17,7 +17,7 @@ class AliAnalysisUtils; class AliAnalysisTaskChargedJetsPA : public AliAnalysisTaskSE { public: // ######### CONTRUCTORS/DESTRUCTORS AND STD FUNCTIONS - AliAnalysisTaskChargedJetsPA() : AliAnalysisTaskSE(), fOutputList(0), fAnalyzeJets(1), fAnalyzeBackground(1), fAnalyzePythia(0), fHasTracks(0), fHasJets(0), fHasBackgroundJets(0), fIsMC(0), fJetArray(0), fTrackArray(0), fBackgroundJetArray(0), fJetArrayName(0), fTrackArrayName(0), fBackgroundJetArrayName(0), fNumPtHardBins(11), fRandConeRadius(0.4), fSignalJetRadius(0.4), fBackgroundJetRadius(0.4), fTRBackgroundConeRadius(0.4), fNumberRandCones(8), fNumberExcludedJets(2), fDijetMaxAngleDeviation(10.0), fJetKTEtaCorrection(0), fJetRCEtaCorrection(0), fJetTREtaCorrection(0), fSignalJetEtaWindow(0.5), fBackgroundJetEtaWindow(0.5), fTrackEtaWindow(0.9), fVertexWindow(10.0), fVertexMaxR(1.0), fMinTrackPt(0.150), fMinJetPt(1.0), fMinJetArea(0.4), fMinBackgroundJetPt(0.15), fMinDijetLeadingPt(10.0), fCentralityType("V0A"), fFirstLeadingJet(0), fSecondLeadingJet(0), fNumberSignalJets(0), fCrossSection(0.0), fTrials(0.0), fRandom(0), fHelperClass(0), fInitialized(0), fTaskInstanceCounter(0), fHistList(0), fHistCount(0) {} + AliAnalysisTaskChargedJetsPA() : AliAnalysisTaskSE(), fOutputList(0), fAnalyzeJets(1), fAnalyzeBackground(1), fAnalyzePythia(0), fHasTracks(0), fHasJets(0), fHasBackgroundJets(0), fIsMC(0), fJetArray(0), fTrackArray(0), fBackgroundJetArray(0), fJetArrayName(0), fTrackArrayName(0), fBackgroundJetArrayName(0), fNumPtHardBins(11), fRandConeRadius(0.4), fSignalJetRadius(0.4), fBackgroundJetRadius(0.4), fTRBackgroundConeRadius(0.4), fNumberRandCones(8), fNumberExcludedJets(2), fDijetMaxAngleDeviation(10.0), fSignalJetEtaWindow(0.5), fBackgroundJetEtaWindow(0.5), fTrackEtaWindow(0.9), fVertexWindow(10.0), fVertexMaxR(1.0), fMinTrackPt(0.150), fMinJetPt(1.0), fMinJetArea(0.4), fMinBackgroundJetPt(0.15), fMinDijetLeadingPt(10.0), fCentralityType("V0A"), fFirstLeadingJet(0), fSecondLeadingJet(0), fNumberSignalJets(0), fCrossSection(0.0), fTrials(0.0), fRandom(0), fHelperClass(0), fInitialized(0), fTaskInstanceCounter(0), fHistList(0), fHistCount(0) {} AliAnalysisTaskChargedJetsPA(const char *name, const char* trackArrayName, const char* jetArrayName, const char* backgroundJetArrayName); virtual ~AliAnalysisTaskChargedJetsPA(); @@ -45,23 +45,17 @@ class AliAnalysisTaskChargedJetsPA : public AliAnalysisTaskSE { void SetDijetMaxAngleDeviation(Double_t degrees) {fDijetMaxAngleDeviation = degrees/360.0 * TMath::TwoPi();} // degrees are more comfortable void SetAcceptanceWindows(Double_t trackEta, Double_t vertexZ, Double_t vertexMaxR, Double_t signalJetRadius, Double_t bgrdJetRadius){fVertexWindow = vertexZ; fVertexMaxR = vertexMaxR; fTrackEtaWindow = trackEta; fSignalJetRadius = signalJetRadius; fBackgroundJetRadius = bgrdJetRadius; fSignalJetEtaWindow = fTrackEtaWindow-fSignalJetRadius; fBackgroundJetEtaWindow = fTrackEtaWindow-fBackgroundJetRadius;} - void SetKTEtaCorrectionFactors(TH1D* histo); - void SetRCEtaCorrectionFactors(TH1D* histo); - void SetTREtaCorrectionFactors(TH1D* histo); Int_t GetInstanceCounter() {return fTaskInstanceCounter;} private: - enum EtaCorrectionMode {kNoEtaCorrection, kKTEtaCorrection, kRCEtaCorrection, kTREtaCorrection}; // ######### MAIN CALCULATION FUNCTIONS void GetSignalJets(); Int_t GetLeadingJets(TClonesArray* jetArray, Int_t* jetIDArray, Bool_t isSignalJets); - Double_t GetBackgroundEtaCorrFactor(EtaCorrectionMode mode, Double_t eta); - Double_t GetBackgroundEtaBinCorrFactor(EtaCorrectionMode mode, Int_t eta); - Double_t GetCorrectedJetPt(AliEmcalJet* jet, Double_t background, EtaCorrectionMode mode); - void GetDeltaPt(Double_t& deltaPt, Double_t rho, EtaCorrectionMode mode, Bool_t leadingJetExclusion = kTRUE); + Double_t GetCorrectedJetPt(AliEmcalJet* jet, Double_t background); + void GetDeltaPt(Double_t& deltaPt, Double_t rho, Bool_t leadingJetExclusion = kTRUE); - void GetKTBackgroundDensity(Int_t numberExcludeLeadingJets, Double_t& rhoMedian, Double_t& areaMean, Double_t etaMin = 0, Double_t etaMax = 0); + void GetKTBackgroundDensity(Int_t numberExcludeLeadingJets, Double_t& rhoMedian, Double_t& areaMean, Double_t etaMin = 0, Double_t etaMax = 0, Bool_t excludeSignalJets = kFALSE); Int_t GetRCBackgroundDensity(Int_t numberExcludeLeadingJets, Double_t& rhoMean, Double_t& rhoMedian, Double_t etaMin = 0, Double_t etaMax = 0, Int_t numberRandCones = 0); void GetTRBackgroundDensity(Int_t numberExcludeLeadingJets, Double_t& rhoMean, Double_t& area, Double_t etaMin = 0, Double_t etaMax = 0); void GetTRBackgroundDensity(Int_t numberExcludeLeadingJets, Double_t& rhoMean, Double_t& area, AliEmcalJet* excludeJet1, AliEmcalJet* excludeJet2, Bool_t doSearchPerpendicular); @@ -130,9 +124,6 @@ class AliAnalysisTaskChargedJetsPA : public AliAnalysisTaskSE { Int_t fNumberRandCones; // Number of random cones to be put into one event Int_t fNumberExcludedJets; // Number of jets to be excluded from backgrounds Double_t fDijetMaxAngleDeviation;// Max angle deviation from pi between two jets to be accept. as dijet - TH1D* fJetKTEtaCorrection; // Correction factors in bins of rho and eta to correct the eta dependence of the jet background - TH1D* fJetRCEtaCorrection; // Correction factors in bins of rho and eta to correct the eta dependence of the jet background - TH1D* fJetTREtaCorrection; // Correction factors in bins of rho and eta to correct the eta dependence of the jet background // ########## CUTS Double_t fSignalJetEtaWindow; // +- window in eta for signal jets diff --git a/PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskEmcalJetSpectraMECpA.cxx b/PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskEmcalJetSpectraMECpA.cxx index 48fb295e662..aa7e48a2533 100644 --- a/PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskEmcalJetSpectraMECpA.cxx +++ b/PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskEmcalJetSpectraMECpA.cxx @@ -54,7 +54,6 @@ AliAnalysisTaskEmcalJetSpectraMECpA::AliAnalysisTaskEmcalJetSpectraMECpA() : fHistJetPtEtaPhi[i] = 0; } - SetCentralityEstimator("V0A"); SetMakeGeneralHistograms(kTRUE); } @@ -77,7 +76,6 @@ AliAnalysisTaskEmcalJetSpectraMECpA::AliAnalysisTaskEmcalJetSpectraMECpA(const c fHistRhovsEP[i] = 0; fHistJetPtEtaPhi[i] = 0; } - SetCentralityEstimator("V0A"); SetMakeGeneralHistograms(kTRUE); } diff --git a/PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskEmcalJetSpectraMECpA.h b/PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskEmcalJetSpectraMECpA.h index 0bd9e092456..bcc9de12078 100644 --- a/PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskEmcalJetSpectraMECpA.h +++ b/PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskEmcalJetSpectraMECpA.h @@ -26,8 +26,8 @@ class AliAnalysisTaskEmcalJetSpectraMECpA : public AliAnalysisTaskEmcalJet { Float_t RelativePhi(Double_t mphi,Double_t vphi) const; private: - TH2F *fHistRhovsCent; //! - TH2F *fHistNjetvsCent; //!number of jets versus Centrality + TH2F *fHistRhovsCent; //! + TH2F *fHistNjetvsCent; //!number of jets versus Centrality TH2F *fHistJetPtvsTrackPt[6];//! TH2F *fHistRawJetPtvsTrackPt[6];//! TH1F *fHistTrackPt[6];//! @@ -48,6 +48,6 @@ class AliAnalysisTaskEmcalJetSpectraMECpA : public AliAnalysisTaskEmcalJet { AliAnalysisTaskEmcalJetSpectraMECpA(const AliAnalysisTaskEmcalJetSpectraMECpA&); // not implemented AliAnalysisTaskEmcalJetSpectraMECpA& operator=(const AliAnalysisTaskEmcalJetSpectraMECpA&); // not implemented - ClassDef(AliAnalysisTaskEmcalJetSpectraMECpA, 1); // Emcal jet spectra task + ClassDef(AliAnalysisTaskEmcalJetSpectraMECpA, 2); // Emcal jet spectra task }; #endif diff --git a/PWGJE/EMCALJetTasks/macros/AddTaskChargedJetsPA.C b/PWGJE/EMCALJetTasks/macros/AddTaskChargedJetsPA.C index 5ba9ad184c6..2acf9cc79bd 100644 --- a/PWGJE/EMCALJetTasks/macros/AddTaskChargedJetsPA.C +++ b/PWGJE/EMCALJetTasks/macros/AddTaskChargedJetsPA.C @@ -51,31 +51,6 @@ AliAnalysisTaskChargedJetsPA* AddTaskChargedJetsPA( AliEmcalJetTask* jetFinderTask = AddTaskEmcalJet(usedTracks,"",1,jetRadius,1,0.150,0.300); // anti-kt AliEmcalJetTask* jetFinderTaskKT = AddTaskEmcalJet(usedTracks,"",0,jetRadius,1,0.150,0.300); // kt - // #### Load correction factors from alien - TH1D* corrFactorsKT = NULL; - TH1D* corrFactorsRC = NULL; - TH1D* corrFactorsTR = NULL; - if (fileEtaCorrectionFactors) - { - // trying to connect to alien - if (!TGrid::Connect("alien://")) - ::Warning("AddTaskChargedJetsPA", "AliEn connection failed!"); - else - { - ::Info("AddTaskChargedJetsPA", "AliEn connection successful!"); - // Copy eta correction file - Bool_t copied = TFile::Cp(fileEtaCorrectionFactors,"file:EtaCorrectionFactors.root"); - if(copied) - { - TFile* tmpFile= new TFile("EtaCorrectionFactors.root","READ"); - corrFactorsKT = static_cast(tmpFile->Get("EtaCorrectionFactorsKT")); - corrFactorsRC = static_cast(tmpFile->Get("EtaCorrectionFactorsRC")); - corrFactorsTR = static_cast(tmpFile->Get("EtaCorrectionFactorsTR")); - } - else - ::Warning("AddTaskChargedJetsPA", "AliEn copying failed!"); - } - } // #### Define analysis task AliAnalysisTaskChargedJetsPA *task = NULL; contHistos = manager->CreateContainer(myContName.Data(), TList::Class(), AliAnalysisManager::kOutputContainer, Form("%s:ChargedJetsPA", AliAnalysisManager::GetCommonFileName())); @@ -94,13 +69,6 @@ AliAnalysisTaskChargedJetsPA* AddTaskChargedJetsPA( if(numberOfPtHardBins) task->SetNumberOfPtHardBins(numberOfPtHardBins); - if(corrFactorsKT) - task->SetKTEtaCorrectionFactors(corrFactorsKT); - if(corrFactorsRC) - task->SetRCEtaCorrectionFactors(corrFactorsRC); - if(corrFactorsTR) - task->SetTREtaCorrectionFactors(corrFactorsTR); - // #### Add analysis task manager->AddTask(task); manager->ConnectInput(task, 0, manager->GetCommonInputContainer()); diff --git a/PWGJE/EMCALJetTasks/macros/AddTaskEmcalJetSpectraMECpA.C b/PWGJE/EMCALJetTasks/macros/AddTaskEmcalJetSpectraMECpA.C index 23706924e2e..6f00b8de636 100644 --- a/PWGJE/EMCALJetTasks/macros/AddTaskEmcalJetSpectraMECpA.C +++ b/PWGJE/EMCALJetTasks/macros/AddTaskEmcalJetSpectraMECpA.C @@ -13,7 +13,8 @@ AliAnalysisTaskEmcalJetSpectraMECpA* AddTaskEmcalJetSpectraMECpA( const char* usedTracks = "PicoTracks", const char* outClusName = "CaloClustersCorr", const Double_t minTrackPt = 0.15, - const Double_t minClusterPt = 0.30 + const Double_t minClusterPt = 0.30, + const char *CentEst = "V0A" ) { // Get the pointer to the existing analysis manager via the static access method. @@ -54,19 +55,27 @@ AliAnalysisTaskEmcalJetSpectraMECpA* AddTaskEmcalJetSpectraMECpA( gROOT->LoadMacro("$ALICE_ROOT/PWGJE/EMCALJetTasks/macros/AddTaskRho.C"); AliAnalysisTaskRho *rhochtask = AddTaskRho(jetFinderTaskChBack->GetName(),usedTracks,outClusName,nRhosCh,0.2,0,0.01,0,sfunc,0,kTRUE,nRhosCh); + rhochtask->SetCentralityEstimator(CentEst); + const char *nJets = jetFinderTask->GetName(); + + gROOT->LoadMacro("$ALICE_ROOT/PWGJE/EMCALJetTasks/macros/AddTaskDeltaPt.C"); + + AliAnalysisTaskDeltaPt* deltapt = AddTaskDeltaPt(usedTracks,outClusName,nJets,"","","","","","",radius,1,0.557,minTrackPt,minClusterPt,AliAnalysisTaskEmcal::kTPC,"DeltaPtTask"); + deltapt->SetCentralityEstimator(CentEst); + //------------------------------------------------------- // Init the task and do settings //------------------------------------------------------- - const char *nJets = jetFinderTask->GetName(); TString name(Form("SpectraMECpA_%s", nJets)); AliAnalysisTaskEmcalJetSpectraMECpA *spectratask = new AliAnalysisTaskEmcalJetSpectraMECpA(name); spectratask->SetJetsName(jetFinderTask->GetName()); + spectratask->SetCentralityEstimator(CentEst); spectratask->SetAnaType(type); spectratask->SetRhoName(nRhosCh); spectratask->SetJetPhiLimits(minPhi,maxPhi); diff --git a/PWGJE/EMCALJetTasks/macros/AddTaskQualityAssurancePA.C b/PWGJE/EMCALJetTasks/macros/AddTaskQualityAssurancePA.C index 2c4b42ef553..1eed3336192 100644 --- a/PWGJE/EMCALJetTasks/macros/AddTaskQualityAssurancePA.C +++ b/PWGJE/EMCALJetTasks/macros/AddTaskQualityAssurancePA.C @@ -63,7 +63,7 @@ AliAnalysisTaskQualityAssurancePA* AddTaskQualityAssurancePA( task = new AliAnalysisTaskQualityAssurancePA(Form("QualityAssurancePA_%s_%s", jetFinderTask->GetName(), triggerName.Data()), usedTracks, usedClusters, jetFinderTask->GetName()); if(isEMCalTrain) - RequestMemory(task,150*1024); + RequestMemory(task,200*1024); // #### Task preferences task->SetAcceptanceWindows(trackEtaWindow, vertexWindow, vertexMaxR, jetRadius);