]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/EBYE/macros/configBalanceFunctionPsiAnalysis.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGCF / EBYE / macros / configBalanceFunctionPsiAnalysis.C
CommitLineData
c683985a 1//__________________________________________________//
2AliBalancePsi *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//__________________________________________________//
54AliESDtrackCuts *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