ROOT logo
//__________________________________________________//
AliBalance *GetBalanceFunctionObject(const char* analysisLevel = "AOD", 
				     const char* centralityName = 0x0,
				     Double_t centrMin = 0.,
				     Double_t centrMax = 100.,
				     Bool_t bShuffle = kFALSE,
				     Bool_t bHBTcut = kFALSE,
				     Bool_t bConversionCut = kFALSE,
				     Bool_t kUsePID = kTRUE) {
  //Function to setup the AliBalance object and return it
  AliBalance *gBalance = new AliBalance();
  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(AliBalance::kRapidity,-0.8,0.8,64,0.0,1.6);  
  //Eta
  gBalance->SetInterval(AliBalance::kEta,-0.8,0.8,64,0.0,1.6);
  //Qlong
  gBalance->SetInterval(AliBalance::kQlong,-1,1,100,0.0,2.0);
  //Qout
  gBalance->SetInterval(AliBalance::kQout,-1,1,100,0.0,2.0);
  //Qside
  gBalance->SetInterval(AliBalance::kQside,-1,1,100,0.0,2.0);
  //Qinv
  gBalance->SetInterval(AliBalance::kQinv,-1,1,100,0.0,5.0);
  //Phi
  gBalance->SetInterval(AliBalance::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;
}

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