+ TH1D* gHistBalanceFunctionHistogram = NULL;
+
+ // Calculate BF
+ if((hTemp1)&&(hTemp2)&&(hTemp3)&&(hTemp4)&&(hTemp5)&&(hTemp6)) {
+
+ gHistBalanceFunctionHistogram = (TH1D*)hTemp1->Clone();
+ gHistBalanceFunctionHistogram->Reset();
+
+ // Calculate BF
+ hTemp1->Add(hTemp3,-1.);
+ hTemp1->Scale(1./hTemp5->GetEntries());
+ hTemp2->Add(hTemp4,-1.);
+ hTemp2->Scale(1./hTemp6->GetEntries());
+ gHistBalanceFunctionHistogram->Add(hTemp1,hTemp2,1.,1.);
+ }
+
+ return gHistBalanceFunctionHistogram;
+}
+
+TH2D* AliBalanceTriggered::GetBalanceFunctionHistogram2D(Int_t var1, Int_t var2, Double_t pTMinTrigger, Double_t pTMaxTrigger, Double_t pTMin, Double_t pTMax, Double_t centrMin, Double_t centrMax){
+
+ // check which variable should be analyzed
+ // 0 = Delta eta
+ // 1 = Delta phi
+
+ if( var1 < 0 || var1 > 1 || var2 < 0 || var2 > 1){
+ AliError("Only Variable 0 (= Delta eta) or 1 (= Delta phi) allowed");
+ return NULL;
+ }
+
+
+ // Choose region to analyze
+ // for Single Histograms (P,N): 2 = pT,trigger; 3 = centrality
+ // for Pair Histograms (PN,NP,NN,PP): 2 = pT; 3 = pT,trigger; 4 = centrality
+
+ // pT trigger
+ fHistP->GetGrid(0)->GetGrid()->GetAxis(2)->SetRange(pTMinTrigger,pTMaxTrigger);
+ fHistN->GetGrid(0)->GetGrid()->GetAxis(2)->SetRange(pTMinTrigger,pTMaxTrigger);
+ fHistPN->GetGrid(0)->GetGrid()->GetAxis(2)->SetRange(pTMinTrigger,pTMaxTrigger);
+ fHistNP->GetGrid(0)->GetGrid()->GetAxis(2)->SetRange(pTMinTrigger,pTMaxTrigger);
+ fHistPP->GetGrid(0)->GetGrid()->GetAxis(2)->SetRange(pTMinTrigger,pTMaxTrigger);
+ fHistNN->GetGrid(0)->GetGrid()->GetAxis(2)->SetRange(pTMinTrigger,pTMaxTrigger);
+
+ // pT
+ fHistPN->GetGrid(0)->GetGrid()->GetAxis(3)->SetRange(pTMin,pTMax);
+ fHistNP->GetGrid(0)->GetGrid()->GetAxis(3)->SetRange(pTMin,pTMax);
+ fHistPP->GetGrid(0)->GetGrid()->GetAxis(3)->SetRange(pTMin,pTMax);
+ fHistNN->GetGrid(0)->GetGrid()->GetAxis(3)->SetRange(pTMin,pTMax);
+
+ // centrality
+ fHistP->GetGrid(0)->GetGrid()->GetAxis(3)->SetRange(centrMin,centrMax);
+ fHistN->GetGrid(0)->GetGrid()->GetAxis(3)->SetRange(centrMin,centrMax);
+ fHistPN->GetGrid(0)->GetGrid()->GetAxis(4)->SetRange(centrMin,centrMax);
+ fHistNP->GetGrid(0)->GetGrid()->GetAxis(4)->SetRange(centrMin,centrMax);
+ fHistPP->GetGrid(0)->GetGrid()->GetAxis(4)->SetRange(centrMin,centrMax);
+ fHistNN->GetGrid(0)->GetGrid()->GetAxis(4)->SetRange(centrMin,centrMax);