]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/SPECTRA/PiKaPr/TPCTOF/AddTaskCombinedHadronSpectra.C
Added option for different binning of DCAxy axis in THnSparse. Same width for all...
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / PiKaPr / TPCTOF / AddTaskCombinedHadronSpectra.C
1 \r
2 \r
3 AliAnalysisTask *AddTaskCombinedHadronSpectra(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.2, Double_t rapidityHigh = 0.2, 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_CombinedHadron", "No analysis manager found.");\r
10     return 0;\r
11   }\r
12   //============= Set Task Name ===================\r
13   TString taskName=("AliAnalysisCombinedHadronSpectra.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   AliAnalysisCombinedHadronSpectra *task = new AliAnalysisCombinedHadronSpectra("janielskTaskCombinedHadron");\r
24   task->SelectCollisionCandidates(AliVEvent::kMB);\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 \r
37   //initialize task\r
38   task->Initialize();\r
39 \r
40   //esd cuts need to be set after initialize or cuts will be replaced by standard cuts in initialize\r
41   if (setTrackCuts) task->SetESDtrackCuts(ESDtrackCuts);\r
42 \r
43   //add task to manager\r
44   mgr->AddTask(task);\r
45 \r
46 \r
47   \r
48 \r
49   //================================================\r
50   //              data containers\r
51   //================================================\r
52   //            find input container\r
53   //below the trunk version\r
54   AliAnalysisDataContainer *cinput  = mgr->GetCommonInputContainer();\r
55 \r
56 /*\r
57   //dumm output container\r
58   AliAnalysisDataContainer *coutput0 =\r
59       mgr->CreateContainer(Form("akalweit_tree%i",identifier),\r
60                            TTree::Class(),\r
61                            AliAnalysisManager::kExchangeContainer,\r
62                            Form("akalweit_default%i",identifier));\r
63 \r
64 \r
65   //define output containers, please use 'username'_'somename'\r
66   AliAnalysisDataContainer *coutput1 = \r
67       mgr->CreateContainer(Form("akalweit_CombinedHadron%i",identifier), TList::Class(),\r
68                            AliAnalysisManager::kOutputContainer,Form("akalweit_CombinedHadron%i.root",identifier));\r
69 */\r
70   if (!writeOwnFile) {\r
71         AliAnalysisDataContainer *coutput1 =  mgr->CreateContainer(Form("janielsk_CombinedHadron%i",identifier), TList::Class(), AliAnalysisManager::kOutputContainer, Form("%s:janielsk_CombinedHadron", AliAnalysisManager::GetCommonFileName())); \r
72         }\r
73   else {\r
74         AliAnalysisDataContainer *coutput1 =  mgr->CreateContainer(Form("janielsk_CombinedHadron%i",identifier), TList::Class(), AliAnalysisManager::kOutputContainer, Form("janielsk_CombinedHadron.root"));\r
75         }\r
76 \r
77 \r
78 \r
79   //connect containers\r
80 \r
81   //\r
82   mgr->ConnectInput  (task,  0, cinput );\r
83   //mgr->ConnectOutput (task,  0, coutput0);\r
84   mgr->ConnectOutput (task,  1, coutput1);\r
85 \r
86   return task;\r
87 }\r