1 AliAnalysisTaskSECharmFraction*
AddTaskSECharmFraction(
TString out=
"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,
Bool_t lightOutput=kFALSE)
22 ::Error(
"AddTaskCharmFraction",
"No analysis manager to connect to.");
27 if(out.Contains(
"standard")){
28 fileout=AliAnalysisManager::GetCommonFileName();
29 fileout+=
":PWG3_D2H_";
31 if(containerprefix!=
"c")fileout+=containerprefix;
35 else if(out==
"standardUp"){
36 fileout=AliAnalysisManager::GetCommonFileName();
37 fileout+=
":PWG3_D2H_Up_";
39 if(containerprefix!=
"c")fileout+=containerprefix;
45 str.ReplaceAll(
".root",
"");
50 if(!
gSystem->AccessPathName(cutfile.Data(),kFileExists)){
51 TFile *f=TFile::Open(cutfile.Data());
63 printf(
"USING STANDARD CUTS 2011 \n");
84 Printf(
"AddTaskSECharmFraction: Switch Off recalculation of primary vertex w/o candidate's daughters (PbPb analysis) \n");
90 printf(
"Cannot activate the filling of all the histograms for PbPb analysis \n changing analysis level to 2 \n");
129 mgr->AddTask(hfTask);
134 AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
136 mgr->ConnectInput(hfTask,0,cinput);
140 containername=
"outputNentries";
141 containername.Prepend(containerprefix.Data());
142 containername.Append(str.Data());
143 AliAnalysisDataContainer *coutputNentries = mgr->CreateContainer(containername.Data(),TH1F::Class(),
144 AliAnalysisManager::kOutputContainer,
147 mgr->ConnectOutput(hfTask,1,coutputNentries);
149 containername=
"outputSignalType";
150 containername.Prepend(containerprefix.Data());
151 containername.Append(str.Data());
152 AliAnalysisDataContainer *coutputSignalType = mgr->CreateContainer(containername.Data(),TH1F::Class(),
153 AliAnalysisManager::kOutputContainer,
156 mgr->ConnectOutput(hfTask,2,coutputSignalType);
159 containername=
"outputSignalType_LsCuts";
160 containername.Prepend(containerprefix.Data());
161 containername.Append(str.Data());
162 AliAnalysisDataContainer *coutputSignalType_LsCuts = mgr->CreateContainer(containername.Data(),TH1F::Class(),
163 AliAnalysisManager::kOutputContainer,
166 mgr->ConnectOutput(hfTask,3,coutputSignalType_LsCuts);
169 containername=
"outputSignalType_TghCuts";
170 containername.Prepend(containerprefix.Data());
171 containername.Append(str.Data());
172 AliAnalysisDataContainer *coutputSignalType_TghCuts = mgr->CreateContainer(containername.Data(),TH1F::Class(),
173 AliAnalysisManager::kOutputContainer,
176 mgr->ConnectOutput(hfTask,4,coutputSignalType_TghCuts);
179 containername=
"outputNormalizationCounter";
180 containername.Prepend(containerprefix.Data());
181 containername.Append(str.Data());
182 AliAnalysisDataContainer *coutputNormCounter = mgr ->CreateContainer(containername.Data(), AliNormalizationCounter::Class(),
183 AliAnalysisManager::kOutputContainer,
185 mgr->ConnectOutput(hfTask, 5, coutputNormCounter);
188 containername=
"listMCproperties";
189 containername.Prepend(containerprefix.Data());
190 containername.Append(str.Data());
191 AliAnalysisDataContainer *clistMCprop = mgr->CreateContainer(containername.Data(),TList::Class(),
192 AliAnalysisManager::kOutputContainer,
194 mgr->ConnectOutput(hfTask,6,clistMCprop);
199 containername=
"listNCsign";
200 containername.Prepend(containerprefix.Data());
201 containername.Append(str.Data());
202 AliAnalysisDataContainer *clistNCsign = mgr->CreateContainer(containername.Data(),TList::Class(),
203 AliAnalysisManager::kOutputContainer,
205 mgr->ConnectOutput(hfTask,last,clistNCsign);
209 containername=
"listNCback";
210 containername.Prepend(containerprefix.Data());
211 containername.Append(str.Data());
212 AliAnalysisDataContainer *clistNCback = mgr->CreateContainer(containername.Data(),TList::Class(),
213 AliAnalysisManager::kOutputContainer,
215 mgr->ConnectOutput(hfTask,last,clistNCback);
218 containername=
"listNCfromB";
219 containername.Prepend(containerprefix.Data());
220 containername.Append(str.Data());
221 AliAnalysisDataContainer *clistNCfromB = mgr->CreateContainer(containername.Data(),TList::Class(),
222 AliAnalysisManager::kOutputContainer,
224 mgr->ConnectOutput(hfTask,last,clistNCfromB);
228 containername=
"listNCfromDstar";
229 containername.Prepend(containerprefix.Data());
230 containername.Append(str.Data());
231 AliAnalysisDataContainer *clistNCfromDstar = mgr->CreateContainer(containername.Data(),TList::Class(),
232 AliAnalysisManager::kOutputContainer,
234 mgr->ConnectOutput(hfTask,last,clistNCfromDstar);
238 containername=
"listNCother";
239 containername.Prepend(containerprefix.Data());
240 containername.Append(str.Data());
241 AliAnalysisDataContainer *clistNCother = mgr->CreateContainer(containername.Data(),TList::Class(),
242 AliAnalysisManager::kOutputContainer,
244 mgr->ConnectOutput(hfTask,last,clistNCother);
249 containername=
"listLSCsign";
250 containername.Prepend(containerprefix.Data());
251 containername.Append(str.Data());
252 AliAnalysisDataContainer *clistLSCsign = mgr->CreateContainer(containername.Data(),TList::Class(),
253 AliAnalysisManager::kOutputContainer,
255 mgr->ConnectOutput(hfTask,last,clistLSCsign);
259 containername=
"listLSCback";
260 containername.Prepend(containerprefix.Data());
261 containername.Append(str.Data());
262 AliAnalysisDataContainer *clistLSCback = mgr->CreateContainer(containername.Data(),TList::Class(),
263 AliAnalysisManager::kOutputContainer,
265 mgr->ConnectOutput(hfTask,last,clistLSCback);
268 containername=
"listLSCfromB";
269 containername.Prepend(containerprefix.Data());
270 containername.Append(str.Data());
271 AliAnalysisDataContainer *clistLSCfromB = mgr->CreateContainer(containername.Data(),TList::Class(),
272 AliAnalysisManager::kOutputContainer,
274 mgr->ConnectOutput(hfTask,last,clistLSCfromB);
278 containername=
"listLSCfromDstar";
279 containername.Prepend(containerprefix.Data());
280 containername.Append(str.Data());
281 AliAnalysisDataContainer *clistLSCfromDstar = mgr->CreateContainer(containername.Data(),TList::Class(),
282 AliAnalysisManager::kOutputContainer,
284 mgr->ConnectOutput(hfTask,last,clistLSCfromDstar);
288 containername=
"listLSCother";
289 containername.Prepend(containerprefix.Data());
290 containername.Append(str.Data());
291 AliAnalysisDataContainer *clistLSCother = mgr->CreateContainer(containername.Data(),TList::Class(),
292 AliAnalysisManager::kOutputContainer,
294 mgr->ConnectOutput(hfTask,last,clistLSCother);
300 containername=
"listTGHCsign";
301 containername.Prepend(containerprefix.Data());
302 containername.Append(str.Data());
303 AliAnalysisDataContainer *clistTGHCsign = mgr->CreateContainer(containername.Data(),TList::Class(),
304 AliAnalysisManager::kOutputContainer,
306 mgr->ConnectOutput(hfTask,last,clistTGHCsign);
310 containername=
"listTGHCback";
311 containername.Prepend(containerprefix.Data());
312 containername.Append(str.Data());
313 AliAnalysisDataContainer *clistTGHCback = mgr->CreateContainer(containername.Data(),TList::Class(),
314 AliAnalysisManager::kOutputContainer,
316 mgr->ConnectOutput(hfTask,last,clistTGHCback);
319 containername=
"listTGHCfromB";
320 containername.Prepend(containerprefix.Data());
321 containername.Append(str.Data());
322 AliAnalysisDataContainer *clistTGHCfromB = mgr->CreateContainer(containername.Data(),TList::Class(),
323 AliAnalysisManager::kOutputContainer,
325 mgr->ConnectOutput(hfTask,last,clistTGHCfromB);
329 containername=
"listTGHCfromDstar";
330 containername.Prepend(containerprefix.Data());
331 containername.Append(str.Data());
332 AliAnalysisDataContainer *clistTGHCfromDstar = mgr->CreateContainer(containername.Data(),TList::Class(),
333 AliAnalysisManager::kOutputContainer,
335 mgr->ConnectOutput(hfTask,last,clistTGHCfromDstar);
339 containername=
"listTGHCother";
340 containername.Prepend(containerprefix.Data());
341 containername.Append(str.Data());
342 AliAnalysisDataContainer *clistTGHCother = mgr->CreateContainer(containername.Data(),TList::Class(),
343 AliAnalysisManager::kOutputContainer,
345 mgr->ConnectOutput(hfTask,last,clistTGHCother);
349 containername=
"cutsObjectTight";
350 containername.Prepend(containerprefix.Data());
351 containername.Append(str.Data());
352 AliAnalysisDataContainer *cCutsObjectTight = mgr->CreateContainer(containername,AliRDHFCutsD0toKpi::Class(),AliAnalysisManager::kOutputContainer,fileout.Data());
353 mgr->ConnectOutput(hfTask,last,cCutsObjectTight);
356 containername=
"cutsObjectLoose";
357 containername.Prepend(containerprefix.Data());
358 containername.Append(str.Data());
359 AliAnalysisDataContainer *cCutsObjectLoose = mgr->CreateContainer(containername,AliRDHFCutsD0toKpi::Class(),AliAnalysisManager::kOutputContainer,fileout.Data());
360 mgr->ConnectOutput(hfTask,last,cCutsObjectLoose);
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.)
void SetPtWeightsFromDataPbPb276overLHC12a17a()
void SetRejecCandidateMCUpgrade(Bool_t selection)
void SetMaxCentrality(Float_t maxCentrality=100.)
void SetSkipEventSelection(Bool_t skip)
void SetRemoveDaughtersFromPrim(Bool_t removeDaughtersPrim)
AliAnalysisTaskSECharmFraction * AddTaskSECharmFraction(TString out="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, Bool_t lightOutput=kFALSE)
void SetMinPtCandidate(Double_t ptCand=-1.)
void SetFillImpParTree(Bool_t fillimppar)
void SetUsePID(Bool_t pid)
void SetLightOutput(Bool_t lightOutput)
void SetAnalysisLevel(Int_t level)
void SetMaxZvtxForSkipEventSelection(Double_t zmax)
virtual void SetStandardCutsPbPb2011()
AliRDHFCutsD0toKpi * GetTightCut()