]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/FORWARD/analysis2/RunManagerFlow.C
Preliminary work to get centrality in
[u/mrichter/AliRoot.git] / PWG2 / FORWARD / analysis2 / RunManagerFlow.C
1 void RunManagerFlow(TString path = "", TString file ="AliAODs.root", Int_t nevents = 100, TString type="", Int_t etabins)
2 {
3
4   // --- Load libs -------------------------------------------------
5   
6   gSystem->Load("libVMC");
7   gSystem->Load("libGeom");
8   gSystem->Load("libXMLIO");
9   gSystem->Load("libTree");
10   
11   gSystem->Load("libSTEERBase");
12   
13   gSystem->Load("libESD") ;
14   gSystem->Load("libAOD") ;
15   gSystem->Load("libANALYSIS");
16   gSystem->Load("libANALYSISalice");
17   
18   gSystem->Load("libPhysics");
19   gSystem->Load("libPWG0base");
20   gSystem->Load("libPWG0dep");
21   gSystem->Load("libPWG2forward");
22   gSystem->Load("libPWG2forward2");
23
24   // --- Add to chain either ESD or AOD ----------------------------
25
26   TChain* chain = 0;
27
28   TChain* chainAOD = new TChain("aodTree");
29   if (path.Sizeof() == 1) { // Is it a single AOD file?
30     chainAOD->Add(Form("%s", file.Data()));
31     chain = chainAOD;
32   }
33   if (path.Sizeof() > 1) {  // More AOD files, assumes AliAODs1.root numbering
34     for (Int_t i=1;i<=9;i++) {
35       if (Form("%s/%s%d", path.Data(), file.Data(), i))
36         chainAOD->Add(Form("%s/AliAODs%d.root", path.Data(), i));
37     }
38     chain = chainAOD;
39   }
40
41   // --- Initiate the event handlers -------------------------------
42
43   AliAnalysisManager *mgr  = new AliAnalysisManager("Analysis Train", "A test setup for the analysis train");
44   mgr->SetUseProgressBar(kTRUE);
45
46   // AOD input handler
47   AliAODInputHandler* aodHandler = new AliAODInputHandler();
48   mgr->SetInputEventHandler(aodHandler);
49
50   // Create output handler
51   AliAODHandler* aodOut = new AliAODHandler();
52   mgr->SetOutputEventHandler(aodOut);
53   aodOut->SetOutputFileName("AliAODs.Flow.root");
54
55   // --- Add the tasks ---------------------------------------------
56   
57   gROOT->LoadMacro("$ALICE_ROOT/PWG2/FORWARD/analysis2/AddTaskForwardFlow.C");
58   AddTaskForwardFlow(type.Data(), etabins);
59
60   // --- Run the analysis ------------------------------------------
61
62   TStopwatch t;
63   if (mgr->InitAnalysis()) {
64     mgr->PrintStatus();
65     t.Start();
66     if (nevents == 0) mgr->StartAnalysis("local", chain);
67     if (nevents != 0) mgr->StartAnalysis("local", chain, nevents);
68     t.Stop();
69     t.Print();
70   }  
71
72   // ---------------------------------------------------------------
73 }
74 //
75 // EOF
76 //