]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG3/vertexingHF/AddD2HTrain.C
Added event-level selection (Chiara)
[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=1,
6                   Int_t addLSJpsi=1,
7                   Int_t addCFD0=1,
8                   Int_t addPromptD0=1,
9                   Int_t addDs=1,
10                   Int_t addDStar=1,
11                   Int_t addDStarJets=1,
12                   Int_t addCFDStar=1) {
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="AddTaskCharmFraction.C"; taskName.Prepend(loadMacroPath.Data());
84     gROOT->LoadMacro(taskName.Data());
85     Int_t switchMC[5]={1,1,1,1,1};
86     AliAnalysisTaskSECharmFraction *cFractTask = AddTaskCharmFraction("d0D0.root",switchMC,readMC);
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 }