]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/SPECTRA/PiKaPr/TPCTOFpA/AddTaskTPCTOFpA.C
Added setter for multiplicity estimator.
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / PiKaPr / TPCTOFpA / AddTaskTPCTOFpA.C
1 \r
2 \r
3 AliAnalysisTask *AddTaskTPCTOFpA(Int_t identifier = 0, Bool_t isMC = kFALSE, Bool_t isTPConly = kFALSE, Bool_t writeOwnFile = kFALSE, Bool_t saveMotherPDG = kFALSE, Bool_t useEvenDcaBinning = kFALSE, Bool_t smallTHnSparse = kFALSE, Double_t nSigmaTPCLow= -3., Double_t nSigmaTPCHigh = 3., Double_t rapidityLow = -0.5, Double_t rapidityHigh = 0.5, Bool_t ispA=kTRUE, Bool_t rapCMS = kFALSE, TString multEst = "V0M",  Bool_t setTrackCuts = kFALSE, AliESDtrackCuts *ESDtrackCuts = 0){\r
4 \r
5 \r
6   //get the current analysis manager\r
7   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();\r
8   if (!mgr) {\r
9     Error("AddTask_janielsk_TPCTOFpA", "No analysis manager found.");\r
10     return 0;\r
11   }\r
12   //============= Set Task Name ===================\r
13   //TString taskName=("AliAnalysisTPCTOFpA.cxx+g");\r
14   //===============================================\r
15   //            Load the task\r
16   //gROOT->LoadMacro(taskName.Data());\r
17 \r
18 \r
19   \r
20   //========= Add task to the ANALYSIS manager =====\r
21 \r
22   //normal tracks\r
23   AliAnalysisTPCTOFpA *task = new AliAnalysisTPCTOFpA("janielskTaskTPCTOFpA");\r
24   task->SelectCollisionCandidates(AliVEvent::kCINT5);\r
25 \r
26   //switches\r
27   if (isMC) task->SetIsMCtrue(isMC);\r
28   if (isTPConly)task->SetUseTPConlyTracks(isTPConly);\r
29   if (saveMotherPDG) task->SetSaveMotherPDG(saveMotherPDG);\r
30   if (useEvenDcaBinning) task->SetEvenDCAbinning(kTRUE);\r
31   if (smallTHnSparse){\r
32     task->SetSmallTHnSparse(kTRUE);\r
33     task->SetTPCnSigmaCuts(nSigmaTPCLow,nSigmaTPCHigh);\r
34     task->SetRapidityCuts(rapidityLow,rapidityHigh);\r
35   }\r
36   if (ispA) task->SetIspA(kTRUE);\r
37   if (rapCMS) task->SetRapCMS(kTRUE);\r
38   task->SetCentEst(multEst.Data());\r
39 \r
40   //initialize task\r
41   task->Initialize();\r
42 \r
43   //esd cuts need to be set after initialize or cuts will be replaced by standard cuts in initialize\r
44   if (setTrackCuts) task->SetESDtrackCuts(ESDtrackCuts);\r
45 \r
46   //add task to manager\r
47   mgr->AddTask(task);\r
48 \r
49 \r
50   \r
51 \r
52   //================================================\r
53   //              data containers\r
54   //================================================\r
55   //            find input container\r
56   //below the trunk version\r
57   AliAnalysisDataContainer *cinput  = mgr->GetCommonInputContainer();\r
58 \r
59 /*\r
60   //dumm output container\r
61   AliAnalysisDataContainer *coutput0 =\r
62       mgr->CreateContainer(Form("akalweit_tree%i",identifier),\r
63                            TTree::Class(),\r
64                            AliAnalysisManager::kExchangeContainer,\r
65                            Form("akalweit_default%i",identifier));\r
66 \r
67 \r
68   //define output containers, please use 'username'_'somename'\r
69   AliAnalysisDataContainer *coutput1 = \r
70       mgr->CreateContainer(Form("akalweit_TPCTOFpA%i",identifier), TList::Class(),\r
71                            AliAnalysisManager::kOutputContainer,Form("akalweit_TPCTOFpA%i.root",identifier));\r
72 */\r
73   if (!writeOwnFile) {\r
74         AliAnalysisDataContainer *coutput1 =  mgr->CreateContainer(Form("janielsk_TPCTOFpA%i",identifier), TList::Class(), AliAnalysisManager::kOutputContainer, Form("%s:janielsk_TPCTOFpA", AliAnalysisManager::GetCommonFileName())); \r
75         }\r
76   else {\r
77         AliAnalysisDataContainer *coutput1 =  mgr->CreateContainer(Form("janielsk_TPCTOFpA%i",identifier), TList::Class(), AliAnalysisManager::kOutputContainer, Form("janielsk_TPCTOFpA.root"));\r
78         }\r
79 \r
80 \r
81 \r
82   //connect containers\r
83 \r
84   //\r
85   mgr->ConnectInput  (task,  0, cinput );\r
86   //mgr->ConnectOutput (task,  0, coutput0);\r
87   mgr->ConnectOutput (task,  1, coutput1);\r
88 \r
89   return task;\r
90 }\r