1 AliAnalysisTaskSECharmFraction* AddTaskCharmFraction(TString fileout="d0D0",Int_t switchMC[5])
4 // Configuration macro for the task to analyze the fraction of prompt charm
5 // using the D0 impact parameter
6 // andrea.rossi@ts.infn.it
8 //==========================================================================
10 //######## !!! THE SWITCH FOR MC ANALYSIS IS NOT IMPLEMENTED YET!!! ##########à
18 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
20 ::Error("AddTaskCharmFraction", "No analysis manager to connect to.");
24 TString str=fileout,containername;
25 str.ReplaceAll(".root","");
28 TString outfile=AliAnalysisManager::GetCommonFileName();
29 outfile += ":PWG3_D2H";
30 outfile += str.Data();
32 AliAnalysisTaskSECharmFraction *hfTask;
34 hfTask = new AliAnalysisTaskSECharmFraction("AliAnalysisTaskSECharmFraction");
35 hfTask->SetReadMC(kTRUE);
37 /* ############### HERE THE POSSIBILITY TO SWITCH ON/OFF THE TLISTS AND MC SELECTION WILL BE SET #########à
39 hfTask->SetUseCuts(setD0usecuts);
40 hfTask->SetCheckMC(setcheckMC);
41 hfTask->SetCheckMC_D0(setcheckMC_D0);
42 hfTask->SetCheckMC_2prongs(setcheckMC_2prongs);
43 hfTask->SetCheckMC_prompt(setcheckMC_prompt);
44 hfTask->SetCheckMC_fromB(setcheckMC_fromB);
45 hfTask->SetCheckMC_fromDstar(setSkipD0star);
46 hfTask->SetStudyPureBackground(setStudyPureBack);*/
47 // hfTask->SetSideBands(0);
48 // hfTask->SetDebugLevel(2);
53 // Create containers for input/output
54 AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
55 //mgr->CreateContainer("cinput",TChain::Class(),AliAnalysisManager::kInputContainer);
56 mgr->ConnectInput(hfTask,0,cinput);
59 //Now container for general properties histograms
60 containername="coutputNentries";
61 containername.Append(str.Data());
62 AliAnalysisDataContainer *coutputNentries = mgr->CreateContainer(containername.Data(),TH1F::Class(),
63 AliAnalysisManager::kOutputContainer,
66 mgr->ConnectOutput(hfTask,1,coutputNentries);
68 containername="coutputSignalType";
69 containername.Append(str.Data());
70 AliAnalysisDataContainer *coutputSignalType = mgr->CreateContainer(containername.Data(),TH1F::Class(),
71 AliAnalysisManager::kOutputContainer,
74 mgr->ConnectOutput(hfTask,2,coutputSignalType);
77 containername="coutputSignalType_LsCuts";
78 containername.Append(str.Data());
79 AliAnalysisDataContainer *coutputSignalType_LsCuts = mgr->CreateContainer(containername.Data(),TH1F::Class(),
80 AliAnalysisManager::kOutputContainer,
83 mgr->ConnectOutput(hfTask,3,coutputSignalType_LsCuts);
86 containername="coutputSignalType_TghCuts";
87 containername.Append(str.Data());
88 AliAnalysisDataContainer *coutputSignalType_TghCuts = mgr->CreateContainer(containername.Data(),TH1F::Class(),
89 AliAnalysisManager::kOutputContainer,
92 mgr->ConnectOutput(hfTask,4,coutputSignalType_TghCuts);
94 // Now container for TLists
96 //########## NO CUTS TLISTS CONTAINER ##############à
97 containername="clistNCsign";
98 containername.Append(str.Data());
99 AliAnalysisDataContainer *clistNCsign = mgr->CreateContainer(containername.Data(),TList::Class(),
100 AliAnalysisManager::kOutputContainer,
102 mgr->ConnectOutput(hfTask,last,clistNCsign);
106 containername="clistNCback";
107 containername.Append(str.Data());
108 AliAnalysisDataContainer *clistNCback = mgr->CreateContainer(containername.Data(),TList::Class(),
109 AliAnalysisManager::kOutputContainer,
111 mgr->ConnectOutput(hfTask,last,clistNCback);
114 containername="clistNCfromB";
115 containername.Append(str.Data());
116 AliAnalysisDataContainer *clistNCfromB = mgr->CreateContainer(containername.Data(),TList::Class(),
117 AliAnalysisManager::kOutputContainer,
119 mgr->ConnectOutput(hfTask,last,clistNCfromB);
123 containername="clistNCfromDstar";
124 containername.Append(str.Data());
125 AliAnalysisDataContainer *clistNCfromDstar = mgr->CreateContainer(containername.Data(),TList::Class(),
126 AliAnalysisManager::kOutputContainer,
128 mgr->ConnectOutput(hfTask,last,clistNCfromDstar);
132 containername="clistNCother";
133 containername.Append(str.Data());
134 AliAnalysisDataContainer *clistNCother = mgr->CreateContainer(containername.Data(),TList::Class(),
135 AliAnalysisManager::kOutputContainer,
137 mgr->ConnectOutput(hfTask,last,clistNCother);
141 //######### LOOSE CUTS TLISTS CONTAINER #############
142 containername="clistLSCsign";
143 containername.Append(str.Data());
144 AliAnalysisDataContainer *clistLSCsign = mgr->CreateContainer(containername.Data(),TList::Class(),
145 AliAnalysisManager::kOutputContainer,
147 mgr->ConnectOutput(hfTask,last,clistLSCsign);
151 containername="clistLSCback";
152 containername.Append(str.Data());
153 AliAnalysisDataContainer *clistLSCback = mgr->CreateContainer(containername.Data(),TList::Class(),
154 AliAnalysisManager::kOutputContainer,
156 mgr->ConnectOutput(hfTask,last,clistLSCback);
159 containername="clistLSCfromB";
160 containername.Append(str.Data());
161 AliAnalysisDataContainer *clistLSCfromB = mgr->CreateContainer(containername.Data(),TList::Class(),
162 AliAnalysisManager::kOutputContainer,
164 mgr->ConnectOutput(hfTask,last,clistLSCfromB);
168 containername="clistLSCfromDstar";
169 containername.Append(str.Data());
170 AliAnalysisDataContainer *clistLSCfromDstar = mgr->CreateContainer(containername.Data(),TList::Class(),
171 AliAnalysisManager::kOutputContainer,
173 mgr->ConnectOutput(hfTask,last,clistLSCfromDstar);
177 containername="clistLSCother";
178 containername.Append(str.Data());
179 AliAnalysisDataContainer *clistLSCother = mgr->CreateContainer(containername.Data(),TList::Class(),
180 AliAnalysisManager::kOutputContainer,
182 mgr->ConnectOutput(hfTask,last,clistLSCother);
187 //######### TIGHT CUTS TLISTS CONTAINER #############
188 containername="clistTGHCsign";
189 containername.Append(str.Data());
190 AliAnalysisDataContainer *clistTGHCsign = mgr->CreateContainer(containername.Data(),TList::Class(),
191 AliAnalysisManager::kOutputContainer,
193 mgr->ConnectOutput(hfTask,last,clistTGHCsign);
197 containername="clistTGHCback";
198 containername.Append(str.Data());
199 AliAnalysisDataContainer *clistTGHCback = mgr->CreateContainer(containername.Data(),TList::Class(),
200 AliAnalysisManager::kOutputContainer,
202 mgr->ConnectOutput(hfTask,last,clistTGHCback);
205 containername="clistTGHCfromB";
206 containername.Append(str.Data());
207 AliAnalysisDataContainer *clistTGHCfromB = mgr->CreateContainer(containername.Data(),TList::Class(),
208 AliAnalysisManager::kOutputContainer,
210 mgr->ConnectOutput(hfTask,last,clistTGHCfromB);
214 containername="clistTGHCfromDstar";
215 containername.Append(str.Data());
216 AliAnalysisDataContainer *clistTGHCfromDstar = mgr->CreateContainer(containername.Data(),TList::Class(),
217 AliAnalysisManager::kOutputContainer,
219 mgr->ConnectOutput(hfTask,last,clistTGHCfromDstar);
223 containername="clistTGHCother";
224 containername.Append(str.Data());
225 AliAnalysisDataContainer *clistTGHCother = mgr->CreateContainer(containername.Data(),TList::Class(),
226 AliAnalysisManager::kOutputContainer,
228 mgr->ConnectOutput(hfTask,last,clistTGHCother);