From: miweber Date: Wed, 2 May 2012 09:22:38 +0000 (+0000) Subject: add HBT like cut in Balance Function analysis (default: OFF) X-Git-Url: http://git.uio.no/git/?a=commitdiff_plain;h=49a3750f9b1e54c62467323eb2e334bac58c7fd1;p=u%2Fmrichter%2FAliRoot.git add HBT like cut in Balance Function analysis (default: OFF) --- diff --git a/PWGCF/EBYE/BalanceFunctions/AliBalance.cxx b/PWGCF/EBYE/BalanceFunctions/AliBalance.cxx index 30b65752f85..611ed653906 100644 --- a/PWGCF/EBYE/BalanceFunctions/AliBalance.cxx +++ b/PWGCF/EBYE/BalanceFunctions/AliBalance.cxx @@ -43,6 +43,7 @@ ClassImp(AliBalance) AliBalance::AliBalance() : TObject(), bShuffle(kFALSE), + bHBTcut(kFALSE), fAnalysisLevel("ESD"), fAnalyzedEvents(0) , fCentralityId(0) , @@ -96,7 +97,9 @@ AliBalance::AliBalance() : //____________________________________________________________________// AliBalance::AliBalance(const AliBalance& balance): - TObject(balance), bShuffle(balance.bShuffle), + TObject(balance), + bShuffle(balance.bShuffle), + bHBTcut(balance.bHBTcut), fAnalysisLevel(balance.fAnalysisLevel), fAnalyzedEvents(balance.fAnalyzedEvents), fCentralityId(balance.fCentralityId), @@ -388,6 +391,13 @@ void AliBalance::CalculateBalance(Float_t fCentrality,vector **chargeV dphi = TMath::Abs(phi1 - phi2); if(dphi>180) dphi = 360 - dphi; //dphi should be between 0 and 180! + // HBT like cut + if(bHBTcut){ + if( dphi < 3 || deta < 0.01 ){ + continue; + } + } + //0:y - 1:eta - 2:Qlong - 3:Qout - 4:Qside - 5:Qinv - 6:phi if((rap1 >= fP1Start[kRapidity]) && (rap1 <= fP1Stop[kRapidity]) && (rap2 >= fP1Start[kRapidity]) && (rap2 <= fP1Stop[kRapidity])) { diff --git a/PWGCF/EBYE/BalanceFunctions/AliBalance.h b/PWGCF/EBYE/BalanceFunctions/AliBalance.h index 679ea536ced..54a7ed8cd5b 100644 --- a/PWGCF/EBYE/BalanceFunctions/AliBalance.h +++ b/PWGCF/EBYE/BalanceFunctions/AliBalance.h @@ -46,6 +46,7 @@ class AliBalance : public TObject { void SetAnalysisLevel(const char* analysisLevel) { fAnalysisLevel = analysisLevel;} void SetShuffle(Bool_t shuffle) {bShuffle = shuffle;} + void SetHBTcut(Bool_t HBTcut) {bHBTcut = HBTcut;} void SetInterval(Int_t iAnalysisType, Double_t p1Start, Double_t p1Stop, Int_t ibins, Double_t p2Start, Double_t p2Stop); void SetCentralityInterval(Double_t cStart, Double_t cStop) { fCentStart = cStart; fCentStop = cStop;}; @@ -110,7 +111,9 @@ class AliBalance : public TObject { void PrintResults(Int_t iAnalysisType, TH1D *gHist); private: - Bool_t bShuffle; //shuffled balance function object + Bool_t bShuffle; // shuffled balance function object + Bool_t bHBTcut; // apply HBT like cuts + TString fAnalysisLevel; //ESD, AOD or MC Int_t fAnalyzedEvents; //number of events that have been analyzed diff --git a/PWGCF/EBYE/macros/AddTaskBalanceCentralityTrain.C b/PWGCF/EBYE/macros/AddTaskBalanceCentralityTrain.C index 1bc91d0ac3d..6a0fb7e9dcd 100644 --- a/PWGCF/EBYE/macros/AddTaskBalanceCentralityTrain.C +++ b/PWGCF/EBYE/macros/AddTaskBalanceCentralityTrain.C @@ -31,6 +31,7 @@ AliAnalysisTaskBF *AddTaskBalanceCentralityTrain(Double_t centrMin=0., Bool_t kUsePID = kFALSE, Int_t AODfilterBit = 128, Bool_t bCentralTrigger = kFALSE, + Bool_t bHBTcut = kFALSE, TString fileNameBase="AnalysisResults") { // Creates a balance function analysis task and adds it to the analysis manager. @@ -62,6 +63,7 @@ AliAnalysisTaskBF *AddTaskBalanceCentralityTrain(Double_t centrMin=0., centralityName+="_Bit"; centralityName+=Form("%d",AODfilterBit); if(bCentralTrigger) centralityName+="_withCentralTrigger"; + if(bHBTcut) centralityName+="_withHBTcut"; @@ -93,16 +95,16 @@ AliAnalysisTaskBF *AddTaskBalanceCentralityTrain(Double_t centrMin=0., AliBalance *bfs = 0; // shuffled Balance function object if (analysisType=="ESD"){ - bf = GetBalanceFunctionObject("ESD",centralityEstimator,centrMin,centrMax); - if(gRunShuffling) bfs = GetBalanceFunctionObject("ESD",centralityEstimator,centrMin,centrMax,kTRUE); + bf = GetBalanceFunctionObject("ESD",centralityEstimator,centrMin,centrMax,kFALSE,bHBTcut); + if(gRunShuffling) bfs = GetBalanceFunctionObject("ESD",centralityEstimator,centrMin,centrMax,kTRUE,bHBTcut); } else if (analysisType=="AOD"){ - bf = GetBalanceFunctionObject("AOD",centralityEstimator,centrMin,centrMax); - if(gRunShuffling) bfs = GetBalanceFunctionObject("AOD",centralityEstimator,centrMin,centrMax,kTRUE); + bf = GetBalanceFunctionObject("AOD",centralityEstimator,centrMin,centrMax,kFALSE,bHBTcut); + if(gRunShuffling) bfs = GetBalanceFunctionObject("AOD",centralityEstimator,centrMin,centrMax,kTRUE,bHBTcut); } else if (analysisType=="MC"){ - bf = GetBalanceFunctionObject("MC",centralityEstimator,centrMin,centrMax); - if(gRunShuffling) bfs = GetBalanceFunctionObject("MC",centralityEstimator,centrMin,centrMax,kTRUE); + bf = GetBalanceFunctionObject("MC",centralityEstimator,centrMin,centrMax,kFALSE,bHBTcut); + if(gRunShuffling) bfs = GetBalanceFunctionObject("MC",centralityEstimator,centrMin,centrMax,kTRUE,bHBTcut); } else{ ::Error("AddTaskBF", "analysis type NOT known."); diff --git a/PWGCF/EBYE/macros/configBalanceFunctionAnalysis.C b/PWGCF/EBYE/macros/configBalanceFunctionAnalysis.C index ee4850cf13d..f1f5d3759b6 100644 --- a/PWGCF/EBYE/macros/configBalanceFunctionAnalysis.C +++ b/PWGCF/EBYE/macros/configBalanceFunctionAnalysis.C @@ -3,11 +3,13 @@ AliBalance *GetBalanceFunctionObject(const char* analysisLevel = "ESD", const char* centralityName = 0x0, Double_t centrMin = 0., Double_t centrMax = 100., - Bool_t bShuffle = kFALSE) { + Bool_t bShuffle = kFALSE, + Bool_t bHBTcut = kFALSE) { //Function to setup the AliBalance object and return it AliBalance *gBalance = new AliBalance(); gBalance->SetAnalysisLevel(analysisLevel); gBalance->SetShuffle(bShuffle); + gBalance->SetHBTcut(bHBTcut); if(centralityName) gBalance->SetCentralityIdentifier(centralityName); gBalance->SetCentralityInterval(centrMin,centrMax);