]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG/muon/AddPWG3MuonTrain.C
expand particle map when needed
[u/mrichter/AliRoot.git] / PWG / muon / AddPWG3MuonTrain.C
1 Int_t AddPWG3MuonTrain(Int_t iESDAnalysis=1,
2                        Int_t iAODAnalysis=0,
3                        Int_t addMuonDistributions=0,
4                        Int_t addSingleMuonAnalysis=0,
5                        Int_t addMuonHFAnalysis=0,
6                        Int_t addDimuonCFContainer=0,
7                        Bool_t usePhysicsSelection=kFALSE) {
8
9   // Analysis wagons for PWG3Muon (Roberta)
10   
11   TString taskName="",loadMacroPath="$ALICE_ROOT/PWG3/muon/";
12   Int_t ntasks=0;
13   
14   if(addMuonDistributions) {
15     taskName="AddTaskMuonDistributions.C"; taskName.Prepend(loadMacroPath.Data());
16     gROOT->LoadMacro(taskName.Data());
17     Bool_t doInvMassFit = kTRUE;
18     if(iESDAnalysis){
19       AliAnalysisTaskMuonDistributions *esdmuondistributionstask = AddTaskMuonDistributions("ESD",doInvMassFit);        
20       if(usePhysicsSelection)esdmuondistributionstask->SelectCollisionCandidates();
21     } else if(iAODAnalysis){
22       AliAnalysisTaskMuonDistributions *aodmuondistributionstask = AddTaskMuonDistributions("AOD",doInvMassFit);        
23     }
24     ntasks++;
25   }
26   
27
28   if(addSingleMuonAnalysis) {
29     taskName="AddTaskSingleMuonAnalysis.C"; taskName.Prepend(loadMacroPath.Data());
30     gROOT->LoadMacro(taskName.Data());
31     AliAnalysisTaskSingleMu *singlemutask = AddTaskSingleMuonAnalysis();        
32     ntasks++;
33   }
34
35   if(addMuonHFAnalysis) {
36     taskName="AddTaskMuonsHF.C"; taskName.Prepend(loadMacroPath.Data());
37     gROOT->LoadMacro(taskName.Data());
38     Int_t runMode = 0;
39     Bool_t isAOD;
40     if(iAODAnalysis==1) isAOD=kTRUE;
41     else isAOD=kFALSE;
42     Bool_t isTree = kFALSE;
43     Bool_t isMC   = kFALSE;
44     AliAnalysisTaskSEMuonsHF *muonhftask = AddTaskMuonsHF(runMode, isMC, isTree);       
45     ntasks++;
46   }
47
48   if(addDimuonCFContainer) {
49     taskName="AddTaskDimuonCFContainerBuilder.C"; taskName.Prepend(loadMacroPath.Data());
50     gROOT->LoadMacro(taskName.Data());
51     Int_t runMode = 0;
52     Bool_t isAOD;
53     if(iAODAnalysis==1) isAOD=kTRUE;
54     else isAOD=kFALSE;
55     Bool_t isAcceptance = kFALSE;
56     Bool_t readMC   = kFALSE;
57     Double_t ebeam = 3500.;
58     AliAnalysisTaskDimuonCFContainerBuilder *dimuonCFtask =
59     AddTaskDimuonCFContainerBuilder(isAOD,readMC,isAcceptance,ebeam);
60     ntasks++;
61   }
62
63   return ntasks;
64 }