]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG3/vertexingHF/AddD2HTrain.C
Changes to run in central train
[u/mrichter/AliRoot.git] / PWG3 / vertexingHF / AddD2HTrain.C
1 Int_t AddD2HTrain(Bool_t readMC=kTRUE,
2                   Int_t addD0Mass=1,
3                   Int_t addD0MassLS=1,
4                   Int_t addDplus=1,
5                   Int_t addLSD0=0,
6                   Int_t addLSJpsi=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 PWG3 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/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. 
22   //
23   // andrea.dainese@pd.infn.it
24   //
25
26   TString taskName="",loadMacroPath="$ALICE_ROOT/PWG3/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(addD0Mass || addD0MassLS) {
34     taskName="AddTaskD0Mass.C"; taskName.Prepend(loadMacroPath.Data());
35     gROOT->LoadMacro(taskName.Data());
36     if(addD0Mass) {
37       AliAnalysisTaskSED0Mass *d0massTask = AddTaskD0Mass(0,readMC);
38       ntasks++;
39     }
40     if(addD0MassLS) {
41       AliAnalysisTaskSED0Mass *d0massLikeSignTask = AddTaskD0Mass(1,readMC); 
42       ntasks++;
43     }
44   }
45
46   if(addDplus) {
47     taskName="AddTaskDplus.C"; taskName.Prepend(loadMacroPath.Data());
48     gROOT->LoadMacro(taskName.Data());
49     AliAnalysisTaskSEDplus *dplusTask = AddTaskDplus(kFALSE,readMC);
50     ntasks++;
51   }  
52
53   //taskName="AddTaskSelectHF.C"; taskName.Prepend(loadMacroPath.Data());
54   //gROOT->LoadMacro(taskName.Data());
55   //AliAnalysisTaskSESelectHF *seleTask = AddTaskSelectHF();
56   
57   if(addLSD0 && readMC) {
58     taskName="AddTaskBkgLikeSignD0.C"; taskName.Prepend(loadMacroPath.Data());
59     gROOT->LoadMacro(taskName.Data());
60     AliAnalysisTaskSEBkgLikeSignD0 *lsD0Task = AddTaskBkgLikeSignD0();
61     ntasks++;
62   }
63
64   if(addLSJpsi && readMC) {
65     taskName="AddTaskBkgLikeSignJPSI.C"; taskName.Prepend(loadMacroPath.Data());
66     gROOT->LoadMacro(taskName.Data());
67     AliAnalysisTaskSEBkgLikeSignJPSI *lsJPSITask = AddTaskBkgLikeSignJPSI();
68     ntasks++;
69   }
70
71   //taskName="AddTaskBtoJPSItoEle.C"; taskName.Prepend(loadMacroPath.Data());
72   //gROOT->LoadMacro(taskName.Data());
73   //AliAnalysisTaskSEBtoJPSItoEle *jpsiTask = AddTaskBtoJPSItoEle();
74  
75   if(addCFD0 && readMC) {
76     taskName="AddTaskCFMultiVarMultiStep.C"; taskName.Prepend(loadMacroPath.Data());
77     gROOT->LoadMacro(taskName.Data());
78     AliCFHeavyFlavourTaskMultiVarMultiStep *cfmvmsTask = AddTaskCFMultiVarMultiStep();
79     ntasks++;
80   }
81
82   if(addPromptD0) {
83     taskName="AddTaskSECharmFraction.C"; 
84     taskName.Prepend(loadMacroPath.Data());
85     gROOT->LoadMacro(taskName.Data());
86     Int_t switchMC[5]={0,0,0,0,0};
87     Int_t ppPbPb=1;// 0 for pp, 1 for PbPb, used to siwtch on/off the removal of daughters from the primary vertex
88     AliAnalysisTaskSECharmFraction *cFractTask = AddTaskSECharmFraction("standard",switchMC,readMC,kTRUE,kFALSE,"D0toKpiCharmFractCuts.root","c",ppPbPb);
89     // arguments: filename,switchMC,readmc,usepid,likesign,cutfilename,containerprefix
90     ntasks++;
91   }
92
93   if(addDs) {
94     taskName="AddTaskDs.C"; taskName.Prepend(loadMacroPath.Data());
95     gROOT->LoadMacro(taskName.Data());
96     AliAnalysisTaskSEDs *dsTask = AddTaskDs(readMC);
97     ntasks++;
98   }  
99
100   if(addDStar) {
101     taskName="AddTaskDStarSpectra.C"; taskName.Prepend(loadMacroPath.Data());
102     gROOT->LoadMacro(taskName.Data());
103     AliAnalysisTaskSEDStarSpectra *dstarTask = AddTaskDStarSpectra(readMC);
104     ntasks++;
105   }  
106
107   if(addDStarJets) {
108     taskName="AddTaskDStarJets.C"; taskName.Prepend(loadMacroPath.Data());
109     gROOT->LoadMacro(taskName.Data());
110     AliAnalysisTaskSEDStarJets *dstarjetsTask = AddTaskDStarJets(readMC);
111     ntasks++;
112   }  
113
114   if(addCFDStar && readMC) {
115     taskName="AddTaskCFDStar.C"; taskName.Prepend(loadMacroPath.Data());
116     gROOT->LoadMacro(taskName.Data());
117     AliCFTaskForDStarAnalysis *cfDstarTask = AddTaskCFDStar();
118     ntasks++;
119   }
120
121
122   return ntasks;
123 }