ROOT logo
Int_t AddPWG3MuonTrain(Int_t iESDAnalysis=1,
                       Int_t iAODAnalysis=0,
                       Int_t addMuonDistributions=0,
		       Int_t addSingleMuonAnalysis=0,
		       Int_t addMuonHFAnalysis=0,
		       Int_t addDimuonCFContainer=0,
		       Bool_t usePhysicsSelection=kFALSE) {

  // Analysis wagons for PWG3Muon (Roberta)
  
  TString taskName="",loadMacroPath="$ALICE_ROOT/PWG3/muon/";
  Int_t ntasks=0;
  
  if(addMuonDistributions) {
    taskName="AddTaskMuonDistributions.C"; taskName.Prepend(loadMacroPath.Data());
    gROOT->LoadMacro(taskName.Data());
    Bool_t doInvMassFit = kTRUE;
    if(iESDAnalysis){
      AliAnalysisTaskMuonDistributions *esdmuondistributionstask = AddTaskMuonDistributions("ESD",doInvMassFit);	
      if(usePhysicsSelection)esdmuondistributionstask->SelectCollisionCandidates();
    } else if(iAODAnalysis){
      AliAnalysisTaskMuonDistributions *aodmuondistributionstask = AddTaskMuonDistributions("AOD",doInvMassFit);	
    }
    ntasks++;
  }
  

  if(addSingleMuonAnalysis) {
    taskName="AddTaskSingleMuonAnalysis.C"; taskName.Prepend(loadMacroPath.Data());
    gROOT->LoadMacro(taskName.Data());
    AliAnalysisTaskSingleMu *singlemutask = AddTaskSingleMuonAnalysis();	
    ntasks++;
  }

  if(addMuonHFAnalysis) {
    taskName="AddTaskMuonsHF.C"; taskName.Prepend(loadMacroPath.Data());
    gROOT->LoadMacro(taskName.Data());
    Int_t runMode = 0;
    Bool_t isAOD;
    if(iAODAnalysis==1) isAOD=kTRUE;
    else isAOD=kFALSE;
    Bool_t isTree = kFALSE;
    Bool_t isMC   = kFALSE;
    AliAnalysisTaskSEMuonsHF *muonhftask = AddTaskMuonsHF(runMode, isMC, isTree);	
    ntasks++;
  }

  if(addDimuonCFContainer) {
    taskName="AddTaskDimuonCFContainerBuilder.C"; taskName.Prepend(loadMacroPath.Data());
    gROOT->LoadMacro(taskName.Data());
    Int_t runMode = 0;
    Bool_t isAOD;
    if(iAODAnalysis==1) isAOD=kTRUE;
    else isAOD=kFALSE;
    Bool_t isAcceptance = kFALSE;
    Bool_t readMC   = kFALSE;
    Double_t ebeam = 3500.;
    AliAnalysisTaskDimuonCFContainerBuilder *dimuonCFtask =
    AddTaskDimuonCFContainerBuilder(isAOD,readMC,isAcceptance,ebeam);
    ntasks++;
  }

  return ntasks;
}
 AddPWG3MuonTrain.C:1
 AddPWG3MuonTrain.C:2
 AddPWG3MuonTrain.C:3
 AddPWG3MuonTrain.C:4
 AddPWG3MuonTrain.C:5
 AddPWG3MuonTrain.C:6
 AddPWG3MuonTrain.C:7
 AddPWG3MuonTrain.C:8
 AddPWG3MuonTrain.C:9
 AddPWG3MuonTrain.C:10
 AddPWG3MuonTrain.C:11
 AddPWG3MuonTrain.C:12
 AddPWG3MuonTrain.C:13
 AddPWG3MuonTrain.C:14
 AddPWG3MuonTrain.C:15
 AddPWG3MuonTrain.C:16
 AddPWG3MuonTrain.C:17
 AddPWG3MuonTrain.C:18
 AddPWG3MuonTrain.C:19
 AddPWG3MuonTrain.C:20
 AddPWG3MuonTrain.C:21
 AddPWG3MuonTrain.C:22
 AddPWG3MuonTrain.C:23
 AddPWG3MuonTrain.C:24
 AddPWG3MuonTrain.C:25
 AddPWG3MuonTrain.C:26
 AddPWG3MuonTrain.C:27
 AddPWG3MuonTrain.C:28
 AddPWG3MuonTrain.C:29
 AddPWG3MuonTrain.C:30
 AddPWG3MuonTrain.C:31
 AddPWG3MuonTrain.C:32
 AddPWG3MuonTrain.C:33
 AddPWG3MuonTrain.C:34
 AddPWG3MuonTrain.C:35
 AddPWG3MuonTrain.C:36
 AddPWG3MuonTrain.C:37
 AddPWG3MuonTrain.C:38
 AddPWG3MuonTrain.C:39
 AddPWG3MuonTrain.C:40
 AddPWG3MuonTrain.C:41
 AddPWG3MuonTrain.C:42
 AddPWG3MuonTrain.C:43
 AddPWG3MuonTrain.C:44
 AddPWG3MuonTrain.C:45
 AddPWG3MuonTrain.C:46
 AddPWG3MuonTrain.C:47
 AddPWG3MuonTrain.C:48
 AddPWG3MuonTrain.C:49
 AddPWG3MuonTrain.C:50
 AddPWG3MuonTrain.C:51
 AddPWG3MuonTrain.C:52
 AddPWG3MuonTrain.C:53
 AddPWG3MuonTrain.C:54
 AddPWG3MuonTrain.C:55
 AddPWG3MuonTrain.C:56
 AddPWG3MuonTrain.C:57
 AddPWG3MuonTrain.C:58
 AddPWG3MuonTrain.C:59
 AddPWG3MuonTrain.C:60
 AddPWG3MuonTrain.C:61
 AddPWG3MuonTrain.C:62
 AddPWG3MuonTrain.C:63
 AddPWG3MuonTrain.C:64
 AddPWG3MuonTrain.C:65