From a742e0d741f58b213d170260ab15730b72162570 Mon Sep 17 00:00:00 2001 From: sjena Date: Fri, 21 Mar 2014 12:05:59 +0100 Subject: [PATCH] Update in LHC code --- .../AliAnalysisTaskLongRangeCorrelations.cxx | 31 ++++++++++---- .../AliAnalysisTaskLongRangeCorrelations.h | 6 ++- .../macros/AddTaskLongRangeCorrelations.C | 42 +++++++++++-------- 3 files changed, 51 insertions(+), 28 deletions(-) diff --git a/PWGCF/Correlations/DPhi/AliAnalysisTaskLongRangeCorrelations.cxx b/PWGCF/Correlations/DPhi/AliAnalysisTaskLongRangeCorrelations.cxx index d0b297e07c4..a636af0a7da 100644 --- a/PWGCF/Correlations/DPhi/AliAnalysisTaskLongRangeCorrelations.cxx +++ b/PWGCF/Correlations/DPhi/AliAnalysisTaskLongRangeCorrelations.cxx @@ -13,7 +13,7 @@ * about the suitability of this software for any purpose. It is * * provided "as is" without express or implied warranty. * **************************************************************************/ -// $Id: AliAnalysisTaskLongRangeCorrelations.cxx 359 2013-10-29 15:39:09Z cmayer $ +// $Id: AliAnalysisTaskLongRangeCorrelations.cxx 371 2013-11-30 19:23:47Z cmayer $ #include #include @@ -61,6 +61,7 @@ AliAnalysisTaskLongRangeCorrelations::AliAnalysisTaskLongRangeCorrelations(const , fSelectPrimaryMCDataParticles(0) , fNMin(-1) , fNMax(-1) + , fDeltaEta(-1) , fnBinsCent( 220), fnBinsPt(400), fnBinsPhi(4), fnBinsEta(120) , fxMinCent( -5.0), fxMinPt( 0.0), fxMinPhi( 0.0), fxMinEta(-1.5) , fxMaxCent(105.0), fxMaxPt( 4.0), fxMaxPhi( TMath::TwoPi()), fxMaxEta( 1.5) { @@ -292,6 +293,8 @@ TString AliAnalysisTaskLongRangeCorrelations::GetOutputListName() const { listName += TString::Format("_nMin%d", fNMin); if (-1 != fNMax) listName += TString::Format("_nMax%d", fNMax); + if (fDeltaEta >= 0) + listName += TString::Format("_deltaEta%02.0f", 10*fDeltaEta); return listName; } @@ -484,19 +487,31 @@ void AliAnalysisTaskLongRangeCorrelations::CalculateMoments(TString prefix, TObjArray* tracks2, Double_t vertexZ, Double_t weight) { - const Long64_t nc1(tracks1->GetEntriesFast()); - if (fNMin != -1 && nc1 < fNMin) return; - if (fNMax != -1 && nc1 > fNMax) return; + THnSparse* hN1ForThisEvent(ComputeNForThisEvent(tracks1, "hN1", vertexZ)); + + hN1ForThisEvent->GetAxis(1)->SetRangeUser( fDeltaEta-0.10001, fDeltaEta+0.09999); + TH1 *hTemp = hN1ForThisEvent->Projection(0); + const Long64_t ncPlus = Long64_t(hTemp->GetEntries()); + delete hTemp; + + hN1ForThisEvent->GetAxis(1)->SetRangeUser(-fDeltaEta-0.10001, -fDeltaEta+0.09999); + hTemp = hN1ForThisEvent->Projection(0); + const Long64_t ncMinus = Long64_t(hTemp->GetEntries()); + delete hTemp; - const Long64_t nc2(tracks1->GetEntriesFast()); - if (fNMin != -1 && nc2 < fNMin) return; - if (fNMax != -1 && nc2 > fNMax) return; + // restore full axis range + hN1ForThisEvent->GetAxis(1)->SetRange(0, -1); + + if (fNMin != -1 && ncPlus < fNMin) return; + if (fNMax != -1 && ncPlus > fNMax) return; + + if (fNMin != -1 && ncMinus < fNMin) return; + if (fNMax != -1 && ncMinus > fNMax) return; AliTHn* hN1(dynamic_cast(fOutputList->FindObject(prefix+"histMoment1PhiEta_1"))); if (NULL == hN1) return; // - THnSparse* hN1ForThisEvent(ComputeNForThisEvent(tracks1, "hN1", vertexZ)); AddTHnSparseToAliTHn(hN1,hN1ForThisEvent, weight); // hN1->GetGrid(0)->GetGrid()->Add(hN1ForThisEvent, weight); diff --git a/PWGCF/Correlations/DPhi/AliAnalysisTaskLongRangeCorrelations.h b/PWGCF/Correlations/DPhi/AliAnalysisTaskLongRangeCorrelations.h index 1920a84b7a7..3a2e300955f 100644 --- a/PWGCF/Correlations/DPhi/AliAnalysisTaskLongRangeCorrelations.h +++ b/PWGCF/Correlations/DPhi/AliAnalysisTaskLongRangeCorrelations.h @@ -1,5 +1,5 @@ // -*- C++ -*- -// $Id: AliAnalysisTaskLongRangeCorrelations.h 341 2013-09-30 15:59:19Z cmayer $ +// $Id: AliAnalysisTaskLongRangeCorrelations.h 371 2013-11-30 19:23:47Z cmayer $ #ifndef _AliAnalysisTaskLongRangeCorrelations_H_ #define _AliAnalysisTaskLongRangeCorrelations_H_ @@ -64,9 +64,10 @@ public: fSelectPrimaryMCDataParticles = flagMCData; } - void SetRangeN(Int_t nMin, Int_t nMax) { + void SetRangeN(Int_t nMin, Int_t nMax, Double_t deltaEta) { fNMin = nMin; fNMax = nMax; + fDeltaEta = deltaEta; } TString GetOutputListName() const; @@ -111,6 +112,7 @@ private: Int_t fSelectPrimaryMCDataParticles; // 0: no, 1: yes, -1: only non-primary particles Int_t fNMin; Int_t fNMax; + Double_t fDeltaEta; // histogram data Int_t fnBinsCent, fnBinsPt, fnBinsPhi, fnBinsEta; Double_t fxMinCent, fxMinPt, fxMinPhi, fxMinEta; diff --git a/PWGCF/Correlations/macros/AddTaskLongRangeCorrelations.C b/PWGCF/Correlations/macros/AddTaskLongRangeCorrelations.C index 8b0c17d429b..79684a38ed8 100644 --- a/PWGCF/Correlations/macros/AddTaskLongRangeCorrelations.C +++ b/PWGCF/Correlations/macros/AddTaskLongRangeCorrelations.C @@ -1,11 +1,13 @@ // -*- c++ -*- -// $Id: AddTaskLongRangeCorrelations.C 341 2013-09-30 15:59:19Z cmayer $ +// $Id: AddTaskLongRangeCorrelations.C 371 2013-11-30 19:23:47Z cmayer $ const Double_t centMin[] = { 0, 0, 10, 20, 30, 40, 50, 60, 70, 80 }; const Double_t centMax[] = { 5, 10, 20, 30, 40, 50, 60, 70, 80, 100 }; const Int_t nMin[] = { -1, 120, 70, 35, 20, 5, 0, 0, 0, -1 }; const Int_t nMax[] = { -1, 400, 275, 200, 145, 100, 68, 46, 30, -1 }; +const Double_t deltaEta[] = { -1, 0, 0.2, 0.4, 0.6, 1.4 }; + AliAnalysisTaskLongRangeCorrelations* AddTaskLongRangeCorrelations(Int_t trackFilter = 128, // TPC only Bool_t runMixing = !kTRUE, @@ -35,23 +37,27 @@ AddTaskLongRangeCorrelations(Int_t trackFilter = 128, // TPC only outputFileName += ":PWGCFEbyE.outputLongRangeCorrelations.root"; for (Int_t i=0; iSetRunMixing(runMixing); - taskLRC->SetMixingTracks(mixingTracks); - taskLRC->SetTrackFilter(trackFilter); - taskLRC->SetCentralityRange(centMin[i], centMax[i]); - taskLRC->SetPtRange(ptMin, 1e20); - taskLRC->SetPhiRange(phiMin, phiMax); - taskLRC->SelectCollisionCandidates(AliVEvent::kMB); - taskLRC->SetSelectPrimaryMCParticles(selPrimMC, selPrimMCData); - taskLRC->SetRangeN(nMin[i], nMax[i]); - - listLRC = mgr->CreateContainer(taskLRC->GetOutputListName(), TList::Class(), - AliAnalysisManager::kOutputContainer, - outputFileName.Data()); - mgr->AddTask(taskLRC); - mgr->ConnectInput(taskLRC, 0, mgr->GetCommonInputContainer()); - mgr->ConnectOutput(taskLRC, 1, listLRC); + size_t jMin = (nMin[i] < 0) ? 0 : 1; + size_t jMax = (nMin[i] < 0) ? 1 : sizeof(deltaEta)/sizeof(Double_t); + for (Int_t j=jMin; jSetRunMixing(runMixing); + taskLRC->SetMixingTracks(mixingTracks); + taskLRC->SetTrackFilter(trackFilter); + taskLRC->SetCentralityRange(centMin[i], centMax[i]); + taskLRC->SetPtRange(ptMin, 1e20); + taskLRC->SetPhiRange(phiMin, phiMax); + taskLRC->SelectCollisionCandidates(AliVEvent::kMB); + taskLRC->SetSelectPrimaryMCParticles(selPrimMC, selPrimMCData); + taskLRC->SetRangeN(nMin[i], nMax[i], deltaEta[j]); + Printf("%f %f %d %d %f", centMin[i], centMax[i], nMin[i], nMax[i], deltaEta[j]); + listLRC = mgr->CreateContainer(taskLRC->GetOutputListName(), TList::Class(), + AliAnalysisManager::kOutputContainer, + outputFileName.Data()); + mgr->AddTask(taskLRC); + mgr->ConnectInput(taskLRC, 0, mgr->GetCommonInputContainer()); + mgr->ConnectOutput(taskLRC, 1, listLRC); + } } return taskLRC; -- 2.43.0