ROOT logo
//__________________________________________________//
AliBalanceEventMixing *GetBalanceFunctionObject(const char* analysisLevel = "ESD", 
						const char* centralityName = 0x0,
						Double_t centrMin = 0.,
						Double_t centrMax = 100.,
						Bool_t bShuffle = kFALSE,
						Bool_t bHBTcut = kFALSE,
						Bool_t bConversionCut = kFALSE) {
  //Function to setup the AliBalanceEventMixing object and return it
  AliBalanceEventMixing *gBalance = new AliBalanceEventMixing();
  gBalance->SetAnalysisLevel(analysisLevel);
  gBalance->SetShuffle(bShuffle);
  gBalance->SetHBTcut(bHBTcut);
  gBalance->SetConversionCut(bConversionCut);
  if(centralityName) gBalance->SetCentralityIdentifier(centralityName);
  gBalance->SetCentralityInterval(centrMin,centrMax);

  //Set all analyses separately
  //Rapidity
  gBalance->SetInterval(AliBalanceEventMixing::kRapidity,-0.8,0.8,64,0.0,1.6);  
  //Eta
  gBalance->SetInterval(AliBalanceEventMixing::kEta,-0.8,0.8,64,0.0,1.6);
  //Qlong
  gBalance->SetInterval(AliBalanceEventMixing::kQlong,-1,1,100,0.0,2.0);
  //Qout
  gBalance->SetInterval(AliBalanceEventMixing::kQout,-1,1,100,0.0,2.0);
  //Qside
  gBalance->SetInterval(AliBalanceEventMixing::kQside,-1,1,100,0.0,2.0);
  //Qinv
  gBalance->SetInterval(AliBalanceEventMixing::kQinv,-1,1,100,0.0,2.0);
  //Phi
  gBalance->SetInterval(AliBalanceEventMixing::kPhi,0.,360.,90,0.,180.0);

  //Init the histograms
  gBalance->InitHistograms();
  
  return gBalance;
}

//__________________________________________________//
AliESDtrackCuts *GetTrackCutsObject(Double_t ptMin, Double_t ptMax, Double_t etaMin, Double_t etaMax, Double_t maxTPCchi2, Double_t maxDCAz, Double_t maxDCAxy, Int_t minNClustersTPC) {

  // only used for ESDs
  // Function to setup the AliESDtrackCuts object and return it
  AliESDtrackCuts *cuts = AliESDtrackCuts::GetStandardTPCOnlyTrackCuts();
  cuts->SetRequireTPCStandAlone(kTRUE); // TPC only cuts!  

  // extra TPC cuts (Syst studies)
  if(minNClustersTPC != -1)  cuts->SetMinNClustersTPC(minNClustersTPC);
  else cuts->SetMinNClustersTPC(70); // standard for filter bit 128
  
  if(maxTPCchi2 != -1) cuts->SetMaxChi2PerClusterTPC(maxTPCchi2);

  // extra DCA cuts (Syst studies)  
  if(maxDCAz!=-1 && maxDCAxy != -1){
    cuts->SetMaxDCAToVertexZ(maxDCAz);
    cuts->SetMaxDCAToVertexXY(maxDCAxy);
  }

  cuts->SetPtRange(ptMin,ptMax);
  cuts->SetEtaRange(etaMin,etaMax);
  cuts->DefineHistograms(1);
  //cuts->SaveHistograms("trackCuts");

  return cuts;
}

 configBalanceFunctionAnalysisEventMixing.C:1
 configBalanceFunctionAnalysisEventMixing.C:2
 configBalanceFunctionAnalysisEventMixing.C:3
 configBalanceFunctionAnalysisEventMixing.C:4
 configBalanceFunctionAnalysisEventMixing.C:5
 configBalanceFunctionAnalysisEventMixing.C:6
 configBalanceFunctionAnalysisEventMixing.C:7
 configBalanceFunctionAnalysisEventMixing.C:8
 configBalanceFunctionAnalysisEventMixing.C:9
 configBalanceFunctionAnalysisEventMixing.C:10
 configBalanceFunctionAnalysisEventMixing.C:11
 configBalanceFunctionAnalysisEventMixing.C:12
 configBalanceFunctionAnalysisEventMixing.C:13
 configBalanceFunctionAnalysisEventMixing.C:14
 configBalanceFunctionAnalysisEventMixing.C:15
 configBalanceFunctionAnalysisEventMixing.C:16
 configBalanceFunctionAnalysisEventMixing.C:17
 configBalanceFunctionAnalysisEventMixing.C:18
 configBalanceFunctionAnalysisEventMixing.C:19
 configBalanceFunctionAnalysisEventMixing.C:20
 configBalanceFunctionAnalysisEventMixing.C:21
 configBalanceFunctionAnalysisEventMixing.C:22
 configBalanceFunctionAnalysisEventMixing.C:23
 configBalanceFunctionAnalysisEventMixing.C:24
 configBalanceFunctionAnalysisEventMixing.C:25
 configBalanceFunctionAnalysisEventMixing.C:26
 configBalanceFunctionAnalysisEventMixing.C:27
 configBalanceFunctionAnalysisEventMixing.C:28
 configBalanceFunctionAnalysisEventMixing.C:29
 configBalanceFunctionAnalysisEventMixing.C:30
 configBalanceFunctionAnalysisEventMixing.C:31
 configBalanceFunctionAnalysisEventMixing.C:32
 configBalanceFunctionAnalysisEventMixing.C:33
 configBalanceFunctionAnalysisEventMixing.C:34
 configBalanceFunctionAnalysisEventMixing.C:35
 configBalanceFunctionAnalysisEventMixing.C:36
 configBalanceFunctionAnalysisEventMixing.C:37
 configBalanceFunctionAnalysisEventMixing.C:38
 configBalanceFunctionAnalysisEventMixing.C:39
 configBalanceFunctionAnalysisEventMixing.C:40
 configBalanceFunctionAnalysisEventMixing.C:41
 configBalanceFunctionAnalysisEventMixing.C:42
 configBalanceFunctionAnalysisEventMixing.C:43
 configBalanceFunctionAnalysisEventMixing.C:44
 configBalanceFunctionAnalysisEventMixing.C:45
 configBalanceFunctionAnalysisEventMixing.C:46
 configBalanceFunctionAnalysisEventMixing.C:47
 configBalanceFunctionAnalysisEventMixing.C:48
 configBalanceFunctionAnalysisEventMixing.C:49
 configBalanceFunctionAnalysisEventMixing.C:50
 configBalanceFunctionAnalysisEventMixing.C:51
 configBalanceFunctionAnalysisEventMixing.C:52
 configBalanceFunctionAnalysisEventMixing.C:53
 configBalanceFunctionAnalysisEventMixing.C:54
 configBalanceFunctionAnalysisEventMixing.C:55
 configBalanceFunctionAnalysisEventMixing.C:56
 configBalanceFunctionAnalysisEventMixing.C:57
 configBalanceFunctionAnalysisEventMixing.C:58
 configBalanceFunctionAnalysisEventMixing.C:59
 configBalanceFunctionAnalysisEventMixing.C:60
 configBalanceFunctionAnalysisEventMixing.C:61
 configBalanceFunctionAnalysisEventMixing.C:62
 configBalanceFunctionAnalysisEventMixing.C:63
 configBalanceFunctionAnalysisEventMixing.C:64
 configBalanceFunctionAnalysisEventMixing.C:65
 configBalanceFunctionAnalysisEventMixing.C:66
 configBalanceFunctionAnalysisEventMixing.C:67
 configBalanceFunctionAnalysisEventMixing.C:68