]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGHF/correlationHF/macros/AddTaskSEmcCorr.C
fix: parse the delimiter correctly
[u/mrichter/AliRoot.git] / PWGHF / correlationHF / macros / AddTaskSEmcCorr.C
1 AliAnalysisTaskSEmcCorr* AddTaskSEmcCorr(TString fileout="d0D0.root",TString containerprefix="c",Bool_t readmc=kTRUE,Bool_t doHH=kFALSE)
2 {  
3   //
4   // andrea.rossi@cern.ch
5   //
6   //==========================================================================
7
8   Int_t last=0;
9
10   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
11   if (!mgr) {
12     ::Error("AddTaskCheckNprongs", "No analysis manager to connect to.");
13     return NULL;
14   }   
15   
16   TString str,containername;
17   if(fileout=="standard"){
18     fileout=AliAnalysisManager::GetCommonFileName();
19     fileout+=":PWG3_HFCK_";
20     fileout+="TestNprongs";
21     if(containerprefix!="c")fileout+=containerprefix;
22     str="TestNprongs";
23   }
24   else {
25     str=fileout;
26     str.ReplaceAll(".root","");
27   }
28   str.Prepend("_");
29
30   AliAnalysisTaskSEmcCorr *hfTask = new AliAnalysisTaskSEmcCorr("AliAnalysisTaskSEmcCorr");
31   hfTask->SetReadMC(readmc);
32   hfTask->DoHadronHadron(doHH);
33   mgr->AddTask(hfTask);
34  
35  
36   
37   // Create containers for input/output
38   AliAnalysisDataContainer *cinput =   mgr->GetCommonInputContainer();
39   //mgr->CreateContainer("cinput",TChain::Class(),AliAnalysisManager::kInputContainer);
40   mgr->ConnectInput(hfTask,0,cinput);
41   
42
43   //Now container for general properties histograms
44   containername="outputNentries";
45   containername.Prepend(containerprefix.Data());
46   containername.Append(str.Data());
47   AliAnalysisDataContainer *coutputNentries = mgr->CreateContainer(containername.Data(),TH1F::Class(),
48                                                            AliAnalysisManager::kOutputContainer, 
49                                                            fileout.Data());
50   
51   mgr->ConnectOutput(hfTask,1,coutputNentries);
52
53   containername="outputNprongsD0";
54   containername.Prepend(containerprefix.Data());
55   containername.Append(str.Data());
56   AliAnalysisDataContainer *coutputNprongsD0 = mgr->CreateContainer(containername.Data(),TH1F::Class(),
57                                                            AliAnalysisManager::kOutputContainer, 
58                                                            fileout.Data());
59   
60   mgr->ConnectOutput(hfTask,2,coutputNprongsD0);
61
62
63   containername="outputNprongsD0chargedOnly";
64   containername.Prepend(containerprefix.Data());
65   containername.Append(str.Data());
66   AliAnalysisDataContainer *coutputNprongsD0chargedOnly = mgr->CreateContainer(containername.Data(),TH1F::Class(),
67                                                            AliAnalysisManager::kOutputContainer, 
68                                                            fileout.Data());
69   
70   mgr->ConnectOutput(hfTask,3,coutputNprongsD0chargedOnly);
71
72   containername="outputNprongsD0chargedRef";
73   containername.Prepend(containerprefix.Data());
74   containername.Append(str.Data());
75   AliAnalysisDataContainer *coutputNprongsD0chargedRef = mgr->CreateContainer(containername.Data(),TH1F::Class(),
76                                                            AliAnalysisManager::kOutputContainer, 
77                                                            fileout.Data());
78   
79   mgr->ConnectOutput(hfTask,4,coutputNprongsD0chargedRef);
80
81
82   containername="outputMCcorrel";
83   containername.Prepend(containerprefix.Data());
84   containername.Append(str.Data());
85   AliAnalysisDataContainer *coutputMCcorrel = mgr->CreateContainer(containername.Data(),THnSparseF::Class(),
86                                                            AliAnalysisManager::kOutputContainer, 
87                                                            fileout.Data());
88   
89   mgr->ConnectOutput(hfTask,5,coutputMCcorrel);
90
91
92   containername="outputMCcorrelTrig";
93   containername.Prepend(containerprefix.Data());
94   containername.Append(str.Data());
95   AliAnalysisDataContainer *coutputMCcorrelTrig = mgr->CreateContainer(containername.Data(),THnSparseF::Class(),
96                                                            AliAnalysisManager::kOutputContainer, 
97                                                            fileout.Data());
98   
99   mgr->ConnectOutput(hfTask,6,coutputMCcorrelTrig);
100
101
102
103   containername="outputMChadroncorrel";
104   containername.Prepend(containerprefix.Data());
105   containername.Append(str.Data());
106   AliAnalysisDataContainer *coutputMChadroncorrel = mgr->CreateContainer(containername.Data(),THnSparseF::Class(),
107                                                            AliAnalysisManager::kOutputContainer, 
108                                                            fileout.Data());
109   
110   mgr->ConnectOutput(hfTask,7,coutputMChadroncorrel);
111
112
113   containername="outputMChadroncorrelTrig";
114   containername.Prepend(containerprefix.Data());
115   containername.Append(str.Data());
116   AliAnalysisDataContainer *coutputMChadroncorrelTrig = mgr->CreateContainer(containername.Data(),THnSparseF::Class(),
117                                                            AliAnalysisManager::kOutputContainer, 
118                                                            fileout.Data());
119   
120   mgr->ConnectOutput(hfTask,8,coutputMChadroncorrelTrig);
121
122
123
124   return hfTask;
125 }