1 AliAnalysisTaskSECharmFraction* AddTaskCharmFraction(const char* fileout="d0D0.root",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 AliAnalysisTaskSECharmFraction *hfTask;
30 hfTask = new AliAnalysisTaskSECharmFraction("AliAnalysisTaskSECharmFraction");
33 /* ############### HERE THE POSSIBILITY TO SWITCH ON/OFF THE TLISTS AND MC SELECTION WILL BE SET #########à
35 hfTask->SetUseCuts(setD0usecuts);
36 hfTask->SetCheckMC(setcheckMC);
37 hfTask->SetCheckMC_D0(setcheckMC_D0);
38 hfTask->SetCheckMC_2prongs(setcheckMC_2prongs);
39 hfTask->SetCheckMC_prompt(setcheckMC_prompt);
40 hfTask->SetCheckMC_fromB(setcheckMC_fromB);
41 hfTask->SetCheckMC_fromDstar(setSkipD0star);
42 hfTask->SetStudyPureBackground(setStudyPureBack);*/
43 // hfTask->SetSideBands(0);
44 // hfTask->SetDebugLevel(2);
49 // Create containers for input/output
50 AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
51 //mgr->CreateContainer("cinput",TChain::Class(),AliAnalysisManager::kInputContainer);
52 mgr->ConnectInput(hfTask,0,cinput);
55 //Now container for general properties histograms
56 containername="coutputNentries";
57 containername.Append(str.Data());
58 AliAnalysisDataContainer *coutputNentries = mgr->CreateContainer(containername.Data(),TH1F::Class(),
59 AliAnalysisManager::kOutputContainer,
62 mgr->ConnectOutput(hfTask,1,coutputNentries);
64 containername="coutputSignalType";
65 containername.Append(str.Data());
66 AliAnalysisDataContainer *coutputSignalType = mgr->CreateContainer(containername.Data(),TH1F::Class(),
67 AliAnalysisManager::kOutputContainer,
70 mgr->ConnectOutput(hfTask,2,coutputSignalType);
73 containername="coutputSignalType_LsCuts";
74 containername.Append(str.Data());
75 AliAnalysisDataContainer *coutputSignalType_LsCuts = mgr->CreateContainer(containername.Data(),TH1F::Class(),
76 AliAnalysisManager::kOutputContainer,
79 mgr->ConnectOutput(hfTask,3,coutputSignalType_LsCuts);
82 containername="coutputSignalType_TghCuts";
83 containername.Append(str.Data());
84 AliAnalysisDataContainer *coutputSignalType_TghCuts = mgr->CreateContainer(containername.Data(),TH1F::Class(),
85 AliAnalysisManager::kOutputContainer,
88 mgr->ConnectOutput(hfTask,4,coutputSignalType_TghCuts);
90 // Now container for TLists
92 //########## NO CUTS TLISTS CONTAINER ##############à
93 containername="coutput_nc_sign";
94 containername.Append(str.Data());
95 AliAnalysisDataContainer *coutput_nc_sign = mgr->CreateContainer(containername.Data(),TList::Class(),
96 AliAnalysisManager::kOutputContainer,
98 mgr->ConnectOutput(hfTask,last,coutput_nc_sign);
102 containername="coutput_nc_back";
103 containername.Append(str.Data());
104 AliAnalysisDataContainer *coutput_nc_back = mgr->CreateContainer(containername.Data(),TList::Class(),
105 AliAnalysisManager::kOutputContainer,
107 mgr->ConnectOutput(hfTask,last,coutput_nc_back);
110 containername="coutput_nc_fromB";
111 containername.Append(str.Data());
112 AliAnalysisDataContainer *coutput_nc_fromB = mgr->CreateContainer(containername.Data(),TList::Class(),
113 AliAnalysisManager::kOutputContainer,
115 mgr->ConnectOutput(hfTask,last,coutput_nc_fromB);
119 containername="coutput_nc_fromDstar";
120 containername.Append(str.Data());
121 AliAnalysisDataContainer *coutput_nc_fromDstar = mgr->CreateContainer(containername.Data(),TList::Class(),
122 AliAnalysisManager::kOutputContainer,
124 mgr->ConnectOutput(hfTask,last,coutput_nc_fromDstar);
128 containername="coutput_nc_other";
129 containername.Append(str.Data());
130 AliAnalysisDataContainer *coutput_nc_other = mgr->CreateContainer(containername.Data(),TList::Class(),
131 AliAnalysisManager::kOutputContainer,
133 mgr->ConnectOutput(hfTask,last,coutput_nc_other);
137 //######### LOOSE CUTS TLISTS CONTAINER #############
138 containername="coutput_ls_sign";
139 containername.Append(str.Data());
140 AliAnalysisDataContainer *coutput_ls_sign = mgr->CreateContainer(containername.Data(),TList::Class(),
141 AliAnalysisManager::kOutputContainer,
143 mgr->ConnectOutput(hfTask,last,coutput_ls_sign);
147 containername="coutput_ls_back";
148 containername.Append(str.Data());
149 AliAnalysisDataContainer *coutput_ls_back = mgr->CreateContainer(containername.Data(),TList::Class(),
150 AliAnalysisManager::kOutputContainer,
152 mgr->ConnectOutput(hfTask,last,coutput_ls_back);
155 containername="coutput_ls_fromB";
156 containername.Append(str.Data());
157 AliAnalysisDataContainer *coutput_ls_fromB = mgr->CreateContainer(containername.Data(),TList::Class(),
158 AliAnalysisManager::kOutputContainer,
160 mgr->ConnectOutput(hfTask,last,coutput_ls_fromB);
164 containername="coutput_ls_fromDstar";
165 containername.Append(str.Data());
166 AliAnalysisDataContainer *coutput_ls_fromDstar = mgr->CreateContainer(containername.Data(),TList::Class(),
167 AliAnalysisManager::kOutputContainer,
169 mgr->ConnectOutput(hfTask,last,coutput_ls_fromDstar);
173 containername="coutput_ls_other";
174 containername.Append(str.Data());
175 AliAnalysisDataContainer *coutput_ls_other = mgr->CreateContainer(containername.Data(),TList::Class(),
176 AliAnalysisManager::kOutputContainer,
178 mgr->ConnectOutput(hfTask,last,coutput_ls_other);
183 //######### TIGHT CUTS TLISTS CONTAINER #############
184 containername="coutput_tgh_sign";
185 containername.Append(str.Data());
186 AliAnalysisDataContainer *coutput_tgh_sign = mgr->CreateContainer(containername.Data(),TList::Class(),
187 AliAnalysisManager::kOutputContainer,
189 mgr->ConnectOutput(hfTask,last,coutput_tgh_sign);
193 containername="coutput_tgh_back";
194 containername.Append(str.Data());
195 AliAnalysisDataContainer *coutput_tgh_back = mgr->CreateContainer(containername.Data(),TList::Class(),
196 AliAnalysisManager::kOutputContainer,
198 mgr->ConnectOutput(hfTask,last,coutput_tgh_back);
201 containername="coutput_tgh_fromB";
202 containername.Append(str.Data());
203 AliAnalysisDataContainer *coutput_tgh_fromB = mgr->CreateContainer(containername.Data(),TList::Class(),
204 AliAnalysisManager::kOutputContainer,
206 mgr->ConnectOutput(hfTask,last,coutput_tgh_fromB);
210 containername="coutput_tgh_fromDstar";
211 containername.Append(str.Data());
212 AliAnalysisDataContainer *coutput_tgh_fromDstar = mgr->CreateContainer(containername.Data(),TList::Class(),
213 AliAnalysisManager::kOutputContainer,
215 mgr->ConnectOutput(hfTask,last,coutput_tgh_fromDstar);
219 containername="coutput_tgh_other";
220 containername.Append(str.Data());
221 AliAnalysisDataContainer *coutput_tgh_other = mgr->CreateContainer(containername.Data(),TList::Class(),
222 AliAnalysisManager::kOutputContainer,
224 mgr->ConnectOutput(hfTask,last,coutput_tgh_other);