]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - PWGHF/vertexingHF/AddD2HTrain.C
consolidate zero-length arrays (aka struct hack)
[u/mrichter/AliRoot.git] / PWGHF / vertexingHF / AddD2HTrain.C
... / ...
CommitLineData
1Int_t AddD2HTrain(Bool_t readMC=kTRUE,
2 Int_t addQA=1,
3 Int_t addD0Mass=1,
4 Int_t addD0MassLS=1,
5 Int_t addDplus=1,
6 Int_t addLSD0=0,
7 Int_t addCFD0=0,
8 Int_t addPromptD0=1,
9 Int_t addDs=0,
10 Int_t addDStar=1,
11 Int_t addDStarJets=0,
12 Int_t addCFDStar=0) {
13 //
14 // Tasks of the D2H subgroup of PWGHF that can run in the Official Train
15 //
16 // They all use AOD+AOD.VertexingHF as input.
17 // They need to read the cuts from the macro
18 // $ALICE_ROOT/PWGHF/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.
22 //
23 // andrea.dainese@pd.infn.it
24 //
25
26 TString taskName="",loadMacroPath="$ALICE_ROOT/PWGHF/vertexingHF/macros/";
27 Int_t ntasks=0;
28
29 //taskName="AddTaskCompareHF.C"; taskName.Prepend(loadMacroPath.Data());
30 //gROOT->LoadMacro(taskName.Data());
31 //AliAnalysisTaskSECompareHF *cmpTask = AddTaskCompareHF();
32
33 if(addQA) {
34 taskName="AddTaskHFQA.C"; taskName.Prepend(loadMacroPath.Data());
35 gROOT->LoadMacro(taskName.Data());
36 AliAnalysisTaskSEHFQA *taskQAHF = AddTaskHFQA(AliAnalysisTaskSEHFQA::kD0toKpi,"",readMC,kTRUE);
37 ntasks++;
38 }
39
40
41 if(addD0Mass || addD0MassLS) {
42 taskName="AddTaskD0Mass.C"; taskName.Prepend(loadMacroPath.Data());
43 gROOT->LoadMacro(taskName.Data());
44 if(addD0Mass) {
45 AliAnalysisTaskSED0Mass *d0massTask = AddTaskD0Mass(0,readMC);
46 ntasks++;
47 }
48 if(addD0MassLS) {
49 AliAnalysisTaskSED0Mass *d0massLikeSignTask = AddTaskD0Mass(1,readMC);
50 ntasks++;
51 }
52 }
53
54 if(addDplus) {
55 taskName="AddTaskDplus.C"; taskName.Prepend(loadMacroPath.Data());
56 gROOT->LoadMacro(taskName.Data());
57 AliAnalysisTaskSEDplus *dplusTask = AddTaskDplus(kFALSE,readMC);
58 ntasks++;
59 }
60
61 //taskName="AddTaskSelectHF.C"; taskName.Prepend(loadMacroPath.Data());
62 //gROOT->LoadMacro(taskName.Data());
63 //AliAnalysisTaskSESelectHF *seleTask = AddTaskSelectHF();
64
65 if(addLSD0 && readMC) {
66 taskName="AddTaskBkgLikeSignD0.C"; taskName.Prepend(loadMacroPath.Data());
67 gROOT->LoadMacro(taskName.Data());
68 AliAnalysisTaskSEBkgLikeSignD0 *lsD0Task = AddTaskBkgLikeSignD0();
69 ntasks++;
70 }
71
72 if(addCFD0 && readMC) {
73 taskName="AddTaskCFMultiVarMultiStep.C"; taskName.Prepend(loadMacroPath.Data());
74 gROOT->LoadMacro(taskName.Data());
75 AliCFHeavyFlavourTaskMultiVarMultiStep *cfmvmsTask = AddTaskCFMultiVarMultiStep();
76 ntasks++;
77 }
78
79 if(addPromptD0) {
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
87 ntasks++;
88 }
89
90 if(addDs) {
91 taskName="AddTaskDs.C"; taskName.Prepend(loadMacroPath.Data());
92 gROOT->LoadMacro(taskName.Data());
93 AliAnalysisTaskSEDs *dsTask = AddTaskDs(readMC);
94 ntasks++;
95 }
96
97 if(addDStar) {
98 taskName="AddTaskDStarSpectra.C"; taskName.Prepend(loadMacroPath.Data());
99 gROOT->LoadMacro(taskName.Data());
100 AliAnalysisTaskSEDStarSpectra *dstarTask = AddTaskDStarSpectra(readMC);
101 ntasks++;
102 }
103
104 if(addDStarJets) {
105 taskName="AddTaskDStarJets.C"; taskName.Prepend(loadMacroPath.Data());
106 gROOT->LoadMacro(taskName.Data());
107 AliAnalysisTaskSEDStarJets *dstarjetsTask = AddTaskDStarJets(readMC);
108 ntasks++;
109 }
110
111 if(addCFDStar && readMC) {
112 taskName="AddTaskCFDStar.C"; taskName.Prepend(loadMacroPath.Data());
113 gROOT->LoadMacro(taskName.Data());
114 AliCFTaskForDStarAnalysis *cfDstarTask = AddTaskCFDStar();
115 ntasks++;
116 }
117
118
119 return ntasks;
120}