1 Int_t AddD2HTrain(Bool_t readMC=kTRUE,
14 // Tasks of the D2H subgroup of PWG3 that can run in the Official Train
16 // They all use AOD+AOD.VertexingHF as input.
17 // They need to read the cuts from the macro
18 // $ALICE_ROOT/PWG3/vertexingHF/ConfigVertexingHF.C (trunk version).
19 // This macro is loaded in the Init(), so it should be enough to have it
20 // in the local dir when the train is launched with the alien plugin.
21 // They all produce only histos in the output.
23 // andrea.dainese@pd.infn.it
26 TString taskName="",loadMacroPath="$ALICE_ROOT/PWG3/vertexingHF/macros/";
29 //taskName="AddTaskCompareHF.C"; taskName.Prepend(loadMacroPath.Data());
30 //gROOT->LoadMacro(taskName.Data());
31 //AliAnalysisTaskSECompareHF *cmpTask = AddTaskCompareHF();
34 taskName="AddTaskHFQA.C"; taskName.Prepend(loadMacroPath.Data());
35 gROOT->LoadMacro(taskName.Data());
36 AliAnalysisTaskSEHFQA *taskQAHF = AddTaskHFQA(AliAnalysisTaskSEHFQA::kD0toKpi,"",readMC,kTRUE);
41 if(addD0Mass || addD0MassLS) {
42 taskName="AddTaskD0Mass.C"; taskName.Prepend(loadMacroPath.Data());
43 gROOT->LoadMacro(taskName.Data());
45 AliAnalysisTaskSED0Mass *d0massTask = AddTaskD0Mass(0,readMC);
49 AliAnalysisTaskSED0Mass *d0massLikeSignTask = AddTaskD0Mass(1,readMC);
55 taskName="AddTaskDplus.C"; taskName.Prepend(loadMacroPath.Data());
56 gROOT->LoadMacro(taskName.Data());
57 AliAnalysisTaskSEDplus *dplusTask = AddTaskDplus(kFALSE,readMC);
61 //taskName="AddTaskSelectHF.C"; taskName.Prepend(loadMacroPath.Data());
62 //gROOT->LoadMacro(taskName.Data());
63 //AliAnalysisTaskSESelectHF *seleTask = AddTaskSelectHF();
65 if(addLSD0 && readMC) {
66 taskName="AddTaskBkgLikeSignD0.C"; taskName.Prepend(loadMacroPath.Data());
67 gROOT->LoadMacro(taskName.Data());
68 AliAnalysisTaskSEBkgLikeSignD0 *lsD0Task = AddTaskBkgLikeSignD0();
72 if(addCFD0 && readMC) {
73 taskName="AddTaskCFMultiVarMultiStep.C"; taskName.Prepend(loadMacroPath.Data());
74 gROOT->LoadMacro(taskName.Data());
75 AliCFHeavyFlavourTaskMultiVarMultiStep *cfmvmsTask = AddTaskCFMultiVarMultiStep();
80 taskName="AddTaskSECharmFraction.C";
81 taskName.Prepend(loadMacroPath.Data());
82 gROOT->LoadMacro(taskName.Data());
83 Int_t switchMC[5]={0,0,0,0,0};
84 Int_t ppPbPb=1;// 0 for pp, 1 for PbPb, used to siwtch on/off the removal of daughters from the primary vertex
85 AliAnalysisTaskSECharmFraction *cFractTask = AddTaskSECharmFraction("standard",switchMC,readMC,kTRUE,kFALSE,"D0toKpiCharmFractCuts.root","c",ppPbPb);
86 // arguments: filename,switchMC,readmc,usepid,likesign,cutfilename,containerprefix
91 taskName="AddTaskDs.C"; taskName.Prepend(loadMacroPath.Data());
92 gROOT->LoadMacro(taskName.Data());
93 AliAnalysisTaskSEDs *dsTask = AddTaskDs(readMC);
98 taskName="AddTaskDStarSpectra.C"; taskName.Prepend(loadMacroPath.Data());
99 gROOT->LoadMacro(taskName.Data());
100 AliAnalysisTaskSEDStarSpectra *dstarTask = AddTaskDStarSpectra(readMC);
105 taskName="AddTaskDStarJets.C"; taskName.Prepend(loadMacroPath.Data());
106 gROOT->LoadMacro(taskName.Data());
107 AliAnalysisTaskSEDStarJets *dstarjetsTask = AddTaskDStarJets(readMC);
111 if(addCFDStar && readMC) {
112 taskName="AddTaskCFDStar.C"; taskName.Prepend(loadMacroPath.Data());
113 gROOT->LoadMacro(taskName.Data());
114 AliCFTaskForDStarAnalysis *cfDstarTask = AddTaskCFDStar();