]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGCF/EBYE/macros/configBalanceFunctionPsiAnalysis.C
Corrected end-of-line behavior
[u/mrichter/AliRoot.git] / PWGCF / EBYE / macros / configBalanceFunctionPsiAnalysis.C
1 //__________________________________________________//
2 AliBalancePsi *GetBalanceFunctionObject(const char* analysisLevel = "MCAOD",   //
3                                         const char* centralityName = 0x0,
4                                         Double_t centrMin = 0.,
5                                         Double_t centrMax = 100.,
6                                         Bool_t bShuffle = kFALSE,
7                                         Bool_t bResonancesCut = kFALSE,
8                                         Bool_t bHBTCut = kFALSE,
9                                         Double_t HBTCutValue = 0.02,
10                                         Bool_t bConversionCut = kFALSE,
11                                         Double_t invMassForConversionCut = 0.04,
12                                         Bool_t bMomentumDifferenceCut = kFALSE,
13                                         Double_t fQCutMin = 0.0,
14                                         TString fArgEventClass = "EventPlane",
15                                         Double_t deltaEtaMax = 2.0,
16                                         Bool_t bVertexBinning = kFALSE) {
17   //Function to setup the AliBalance object and return it
18   AliBalancePsi *gBalance = new AliBalancePsi();
19   gBalance->SetAnalysisLevel(analysisLevel);
20   gBalance->SetShuffle(bShuffle);
21   if(bResonancesCut) gBalance->UseResonancesCut();
22   if(bHBTCut) gBalance->UseHBTCut(HBTCutValue);
23   if(bConversionCut) gBalance->UseConversionCut(invMassForConversionCut);
24   if(bMomentumDifferenceCut) gBalance->UseMomentumDifferenceCut(fQCutMin);
25   if(centralityName) gBalance->SetCentralityIdentifier(centralityName);
26   if(bVertexBinning) gBalance->SetVertexZBinning();
27   gBalance->SetCentralityInterval(centrMin,centrMax);
28   gBalance->SetEventClass(fArgEventClass);
29   gBalance->SetDeltaEtaMax(deltaEtaMax);
30
31   //Set all analyses separately
32   //Rapidity
33   //gBalance->SetInterval(AliBalance::kRapidity,-0.8,0.8,32,-1.6,1.6,15.);  
34   //Eta
35   //gBalance->SetInterval(AliBalance::kEta,-0.8,0.8,32,-1.6,1.6,15);
36   //Qlong
37   //gBalance->SetInterval(AliBalance::kQlong,-1,1,200,0.0,4.0,15);
38   //Qout
39   //gBalance->SetInterval(AliBalance::kQout,-1,1,200,0.0,4.0,15);
40   //Qside
41   //gBalance->SetInterval(AliBalance::kQside,-1,1,200,0.0,4.0,15);
42   //Qinv
43   //gBalance->SetInterval(AliBalance::kQinv,-1,1,200,0.0,4.0,15);
44   //Phi
45   //gBalance->SetInterval(AliBalance::kPhi,0.,360.,90,-180.,180.0,15);
46
47   // Init the histograms (not done here, for customization from analysis task)
48   // gBalance->InitHistograms();
49   
50   return gBalance;
51 }
52
53 //__________________________________________________//
54 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) {
55
56   // only used for ESDs
57   // Function to setup the AliESDtrackCuts object and return it
58   AliESDtrackCuts *cuts = AliESDtrackCuts::GetStandardTPCOnlyTrackCuts();
59   cuts->SetRequireTPCStandAlone(kTRUE); // TPC only cuts!  
60
61   // extra TPC cuts (Syst studies)
62   if(minNClustersTPC != -1)  cuts->SetMinNClustersTPC(minNClustersTPC);
63   else cuts->SetMinNClustersTPC(70); // standard for filter bit 128
64   
65   if(maxTPCchi2 != -1) cuts->SetMaxChi2PerClusterTPC(maxTPCchi2);
66
67   // extra DCA cuts (Syst studies)  
68   if(maxDCAz!=-1 && maxDCAxy != -1){
69     cuts->SetMaxDCAToVertexZ(maxDCAz);
70     cuts->SetMaxDCAToVertexXY(maxDCAxy);
71   }
72
73   cuts->SetPtRange(ptMin,ptMax);
74   cuts->SetEtaRange(etaMin,etaMax);
75   cuts->DefineHistograms(1);
76   //cuts->SaveHistograms("trackCuts");
77
78   return cuts;
79 }
80