]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGCF/EBYE/macros/configBalanceFunctionAnalysisEventMixing.C
new task MK
[u/mrichter/AliRoot.git] / PWGCF / EBYE / macros / configBalanceFunctionAnalysisEventMixing.C
1 //__________________________________________________//\r
2 AliBalanceEventMixing *GetBalanceFunctionObject(const char* analysisLevel = "ESD", \r
3                                                 const char* centralityName = 0x0,\r
4                                                 Double_t centrMin = 0.,\r
5                                                 Double_t centrMax = 100.,\r
6                                                 Bool_t bShuffle = kFALSE,\r
7                                                 Bool_t bHBTcut = kFALSE,\r
8                                                 Bool_t bConversionCut = kFALSE) {\r
9   //Function to setup the AliBalanceEventMixing object and return it\r
10   AliBalanceEventMixing *gBalance = new AliBalanceEventMixing();\r
11   gBalance->SetAnalysisLevel(analysisLevel);\r
12   gBalance->SetShuffle(bShuffle);\r
13   gBalance->SetHBTcut(bHBTcut);\r
14   gBalance->SetConversionCut(bConversionCut);\r
15   if(centralityName) gBalance->SetCentralityIdentifier(centralityName);\r
16   gBalance->SetCentralityInterval(centrMin,centrMax);\r
17 \r
18   //Set all analyses separately\r
19   //Rapidity\r
20   gBalance->SetInterval(AliBalanceEventMixing::kRapidity,-0.8,0.8,64,0.0,1.6);  \r
21   //Eta\r
22   gBalance->SetInterval(AliBalanceEventMixing::kEta,-0.8,0.8,64,0.0,1.6);\r
23   //Qlong\r
24   gBalance->SetInterval(AliBalanceEventMixing::kQlong,-1,1,100,0.0,2.0);\r
25   //Qout\r
26   gBalance->SetInterval(AliBalanceEventMixing::kQout,-1,1,100,0.0,2.0);\r
27   //Qside\r
28   gBalance->SetInterval(AliBalanceEventMixing::kQside,-1,1,100,0.0,2.0);\r
29   //Qinv\r
30   gBalance->SetInterval(AliBalanceEventMixing::kQinv,-1,1,100,0.0,2.0);\r
31   //Phi\r
32   gBalance->SetInterval(AliBalanceEventMixing::kPhi,0.,360.,90,0.,180.0);\r
33 \r
34   //Init the histograms\r
35   gBalance->InitHistograms();\r
36   \r
37   return gBalance;\r
38 }\r
39 \r
40 //__________________________________________________//\r
41 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) {\r
42 \r
43   // only used for ESDs\r
44   // Function to setup the AliESDtrackCuts object and return it\r
45   AliESDtrackCuts *cuts = AliESDtrackCuts::GetStandardTPCOnlyTrackCuts();\r
46   cuts->SetRequireTPCStandAlone(kTRUE); // TPC only cuts!  \r
47 \r
48   // extra TPC cuts (Syst studies)\r
49   if(minNClustersTPC != -1)  cuts->SetMinNClustersTPC(minNClustersTPC);\r
50   else cuts->SetMinNClustersTPC(70); // standard for filter bit 128\r
51   \r
52   if(maxTPCchi2 != -1) cuts->SetMaxChi2PerClusterTPC(maxTPCchi2);\r
53 \r
54   // extra DCA cuts (Syst studies)  \r
55   if(maxDCAz!=-1 && maxDCAxy != -1){\r
56     cuts->SetMaxDCAToVertexZ(maxDCAz);\r
57     cuts->SetMaxDCAToVertexXY(maxDCAxy);\r
58   }\r
59 \r
60   cuts->SetPtRange(ptMin,ptMax);\r
61   cuts->SetEtaRange(etaMin,etaMax);\r
62   cuts->DefineHistograms(1);\r
63   //cuts->SaveHistograms("trackCuts");\r
64 \r
65   return cuts;\r
66 }\r
67 \r