1 AliAnalysisTaskSECharmFraction*
AddTaskSECharmFraction(
TString fileout=
"d0D0.root",
Int_t *switchMC=0x0,
Int_t readmc=0,
Bool_t usepid=kTRUE,
Bool_t likesign=kFALSE,
TString cutfile=
"D0toKpiCharmFractCuts.root",
TString containerprefix=
"c",
Int_t ppPbPb=0,
Int_t analysLevel=2,
Float_t minC=0.,
Float_t maxC=7.5,
Float_t minCloose=20.,
Float_t maxCloose=50.,
Bool_t useWeight=kFALSE,
Bool_t fillTree=kFALSE,
Bool_t checkBitD0=kTRUE)
22 ::Error(
"AddTaskCharmFraction",
"No analysis manager to connect to.");
27 if(fileout==
"standard"){
28 fileout=AliAnalysisManager::GetCommonFileName();
29 fileout+=
":PWG3_D2H_";
31 if(containerprefix!=
"c")fileout+=containerprefix;
34 else if(fileout==
"standardUp"){
35 fileout=AliAnalysisManager::GetCommonFileName();
36 fileout+=
":PWG3_D2H_Up_";
38 if(containerprefix!=
"c")fileout+=containerprefix;
43 str.ReplaceAll(
".root",
"");
48 if(!
gSystem->AccessPathName(cutfile.Data(),kFileExists)){
49 TFile *f=TFile::Open(cutfile.Data());
61 printf(
"USING STANDARD CUTS 2011 \n");
82 Printf(
"AddTaskSECharmFraction: Switch Off recalculation of primary vertex w/o candidate's daughters (PbPb analysis) \n");
88 printf(
"Cannot activate the filling of all the histograms for PbPb analysis \n changing analysis level to 2 \n");
126 mgr->AddTask(hfTask);
131 AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
133 mgr->ConnectInput(hfTask,0,cinput);
137 containername=
"outputNentries";
138 containername.Prepend(containerprefix.Data());
139 containername.Append(str.Data());
140 AliAnalysisDataContainer *coutputNentries = mgr->CreateContainer(containername.Data(),TH1F::Class(),
141 AliAnalysisManager::kOutputContainer,
144 mgr->ConnectOutput(hfTask,1,coutputNentries);
146 containername=
"outputSignalType";
147 containername.Prepend(containerprefix.Data());
148 containername.Append(str.Data());
149 AliAnalysisDataContainer *coutputSignalType = mgr->CreateContainer(containername.Data(),TH1F::Class(),
150 AliAnalysisManager::kOutputContainer,
153 mgr->ConnectOutput(hfTask,2,coutputSignalType);
156 containername=
"outputSignalType_LsCuts";
157 containername.Prepend(containerprefix.Data());
158 containername.Append(str.Data());
159 AliAnalysisDataContainer *coutputSignalType_LsCuts = mgr->CreateContainer(containername.Data(),TH1F::Class(),
160 AliAnalysisManager::kOutputContainer,
163 mgr->ConnectOutput(hfTask,3,coutputSignalType_LsCuts);
166 containername=
"outputSignalType_TghCuts";
167 containername.Prepend(containerprefix.Data());
168 containername.Append(str.Data());
169 AliAnalysisDataContainer *coutputSignalType_TghCuts = mgr->CreateContainer(containername.Data(),TH1F::Class(),
170 AliAnalysisManager::kOutputContainer,
173 mgr->ConnectOutput(hfTask,4,coutputSignalType_TghCuts);
176 containername=
"outputNormalizationCounter";
177 containername.Prepend(containerprefix.Data());
178 containername.Append(str.Data());
179 AliAnalysisDataContainer *coutputNormCounter = mgr ->CreateContainer(containername.Data(), AliNormalizationCounter::Class(),
180 AliAnalysisManager::kOutputContainer,
182 mgr->ConnectOutput(hfTask, 5, coutputNormCounter);
185 containername=
"listMCproperties";
186 containername.Prepend(containerprefix.Data());
187 containername.Append(str.Data());
188 AliAnalysisDataContainer *clistMCprop = mgr->CreateContainer(containername.Data(),TList::Class(),
189 AliAnalysisManager::kOutputContainer,
191 mgr->ConnectOutput(hfTask,6,clistMCprop);
196 containername=
"listNCsign";
197 containername.Prepend(containerprefix.Data());
198 containername.Append(str.Data());
199 AliAnalysisDataContainer *clistNCsign = mgr->CreateContainer(containername.Data(),TList::Class(),
200 AliAnalysisManager::kOutputContainer,
202 mgr->ConnectOutput(hfTask,last,clistNCsign);
206 containername=
"listNCback";
207 containername.Prepend(containerprefix.Data());
208 containername.Append(str.Data());
209 AliAnalysisDataContainer *clistNCback = mgr->CreateContainer(containername.Data(),TList::Class(),
210 AliAnalysisManager::kOutputContainer,
212 mgr->ConnectOutput(hfTask,last,clistNCback);
215 containername=
"listNCfromB";
216 containername.Prepend(containerprefix.Data());
217 containername.Append(str.Data());
218 AliAnalysisDataContainer *clistNCfromB = mgr->CreateContainer(containername.Data(),TList::Class(),
219 AliAnalysisManager::kOutputContainer,
221 mgr->ConnectOutput(hfTask,last,clistNCfromB);
225 containername=
"listNCfromDstar";
226 containername.Prepend(containerprefix.Data());
227 containername.Append(str.Data());
228 AliAnalysisDataContainer *clistNCfromDstar = mgr->CreateContainer(containername.Data(),TList::Class(),
229 AliAnalysisManager::kOutputContainer,
231 mgr->ConnectOutput(hfTask,last,clistNCfromDstar);
235 containername=
"listNCother";
236 containername.Prepend(containerprefix.Data());
237 containername.Append(str.Data());
238 AliAnalysisDataContainer *clistNCother = mgr->CreateContainer(containername.Data(),TList::Class(),
239 AliAnalysisManager::kOutputContainer,
241 mgr->ConnectOutput(hfTask,last,clistNCother);
246 containername=
"listLSCsign";
247 containername.Prepend(containerprefix.Data());
248 containername.Append(str.Data());
249 AliAnalysisDataContainer *clistLSCsign = mgr->CreateContainer(containername.Data(),TList::Class(),
250 AliAnalysisManager::kOutputContainer,
252 mgr->ConnectOutput(hfTask,last,clistLSCsign);
256 containername=
"listLSCback";
257 containername.Prepend(containerprefix.Data());
258 containername.Append(str.Data());
259 AliAnalysisDataContainer *clistLSCback = mgr->CreateContainer(containername.Data(),TList::Class(),
260 AliAnalysisManager::kOutputContainer,
262 mgr->ConnectOutput(hfTask,last,clistLSCback);
265 containername=
"listLSCfromB";
266 containername.Prepend(containerprefix.Data());
267 containername.Append(str.Data());
268 AliAnalysisDataContainer *clistLSCfromB = mgr->CreateContainer(containername.Data(),TList::Class(),
269 AliAnalysisManager::kOutputContainer,
271 mgr->ConnectOutput(hfTask,last,clistLSCfromB);
275 containername=
"listLSCfromDstar";
276 containername.Prepend(containerprefix.Data());
277 containername.Append(str.Data());
278 AliAnalysisDataContainer *clistLSCfromDstar = mgr->CreateContainer(containername.Data(),TList::Class(),
279 AliAnalysisManager::kOutputContainer,
281 mgr->ConnectOutput(hfTask,last,clistLSCfromDstar);
285 containername=
"listLSCother";
286 containername.Prepend(containerprefix.Data());
287 containername.Append(str.Data());
288 AliAnalysisDataContainer *clistLSCother = mgr->CreateContainer(containername.Data(),TList::Class(),
289 AliAnalysisManager::kOutputContainer,
291 mgr->ConnectOutput(hfTask,last,clistLSCother);
297 containername=
"listTGHCsign";
298 containername.Prepend(containerprefix.Data());
299 containername.Append(str.Data());
300 AliAnalysisDataContainer *clistTGHCsign = mgr->CreateContainer(containername.Data(),TList::Class(),
301 AliAnalysisManager::kOutputContainer,
303 mgr->ConnectOutput(hfTask,last,clistTGHCsign);
307 containername=
"listTGHCback";
308 containername.Prepend(containerprefix.Data());
309 containername.Append(str.Data());
310 AliAnalysisDataContainer *clistTGHCback = mgr->CreateContainer(containername.Data(),TList::Class(),
311 AliAnalysisManager::kOutputContainer,
313 mgr->ConnectOutput(hfTask,last,clistTGHCback);
316 containername=
"listTGHCfromB";
317 containername.Prepend(containerprefix.Data());
318 containername.Append(str.Data());
319 AliAnalysisDataContainer *clistTGHCfromB = mgr->CreateContainer(containername.Data(),TList::Class(),
320 AliAnalysisManager::kOutputContainer,
322 mgr->ConnectOutput(hfTask,last,clistTGHCfromB);
326 containername=
"listTGHCfromDstar";
327 containername.Prepend(containerprefix.Data());
328 containername.Append(str.Data());
329 AliAnalysisDataContainer *clistTGHCfromDstar = mgr->CreateContainer(containername.Data(),TList::Class(),
330 AliAnalysisManager::kOutputContainer,
332 mgr->ConnectOutput(hfTask,last,clistTGHCfromDstar);
336 containername=
"listTGHCother";
337 containername.Prepend(containerprefix.Data());
338 containername.Append(str.Data());
339 AliAnalysisDataContainer *clistTGHCother = mgr->CreateContainer(containername.Data(),TList::Class(),
340 AliAnalysisManager::kOutputContainer,
342 mgr->ConnectOutput(hfTask,last,clistTGHCother);
346 containername=
"cutsObjectTight";
347 containername.Prepend(containerprefix.Data());
348 containername.Append(str.Data());
349 AliAnalysisDataContainer *cCutsObjectTight = mgr->CreateContainer(containername,AliRDHFCutsD0toKpi::Class(),AliAnalysisManager::kOutputContainer,fileout.Data());
350 mgr->ConnectOutput(hfTask,last,cCutsObjectTight);
353 containername=
"cutsObjectLoose";
354 containername.Prepend(containerprefix.Data());
355 containername.Append(str.Data());
356 AliAnalysisDataContainer *cCutsObjectLoose = mgr->CreateContainer(containername,AliRDHFCutsD0toKpi::Class(),AliAnalysisManager::kOutputContainer,fileout.Data());
357 mgr->ConnectOutput(hfTask,last,cCutsObjectLoose);
return jsonbuilder str().c_str()
void SetStandardMassSelection()
void SetNMaxTrForVtx(const Int_t ntrMaxforVtx)
void SetReadMC(Bool_t readMC=kTRUE)
virtual void PrintAll() const
virtual void SetStandardCutsPP2010()
void SetCheckBitD0flag(Bool_t checkfl)
void SetAnalyzeLikeSign(Bool_t likesign=kFALSE)
AliRDHFCutsD0toKpi * GetLooseCut()
void SetMinCentrality(Float_t minCentrality=0.)
AliAnalysisTaskSECharmFraction * AddTaskSECharmFraction(TString fileout="d0D0.root", Int_t *switchMC=0x0, Int_t readmc=0, Bool_t usepid=kTRUE, Bool_t likesign=kFALSE, TString cutfile="D0toKpiCharmFractCuts.root", TString containerprefix="c", Int_t ppPbPb=0, Int_t analysLevel=2, Float_t minC=0., Float_t maxC=7.5, Float_t minCloose=20., Float_t maxCloose=50., Bool_t useWeight=kFALSE, Bool_t fillTree=kFALSE, Bool_t checkBitD0=kTRUE)
void SetPtWeightsFromDataPbPb276overLHC12a17a()
void SetRejecCandidateMCUpgrade(Bool_t selection)
void SetMaxCentrality(Float_t maxCentrality=100.)
void SetSkipEventSelection(Bool_t skip)
void SetRemoveDaughtersFromPrim(Bool_t removeDaughtersPrim)
void SetMinPtCandidate(Double_t ptCand=-1.)
void SetFillImpParTree(Bool_t fillimppar)
void SetUsePID(Bool_t pid)
void SetAnalysisLevel(Int_t level)
void SetMaxZvtxForSkipEventSelection(Double_t zmax)
virtual void SetStandardCutsPbPb2011()
AliRDHFCutsD0toKpi * GetTightCut()