]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ANALYSIS/macros/runCalibTrain.C
Adding macros to configure an example calibration train with two tasks filtering
[u/mrichter/AliRoot.git] / ANALYSIS / macros / runCalibTrain.C
1 #if !defined(__CINT__) || defined(__MAKECINT__)
2 #include <TChain.h>
3 #include <TSystem.h>
4 #include "AliAnalysisManager.h"
5 #include "AliESDInputHandler.h"
6 #include "AliAnalysisTaskESDfilter.h"
7 #include "AliAnalysisDataContainer.h"
8 #endif
9
10 void runCalibTrain(const char *inFileName = "AliESDs.root",
11                       const char *outFileName = "AliESDs_v1.root") 
12 {
13   
14     gSystem->Load("libTree");
15     gSystem->Load("libGeom");
16     gSystem->Load("libPhysics");
17     gSystem->Load("libVMC");
18     gSystem->Load("libSTEERBase");
19     gSystem->Load("libESD");
20     gSystem->Load("libAOD");
21     
22     gSystem->Load("libANALYSIS");
23     gSystem->Load("libANALYSISalice");
24     gSystem->Load("libANALYSIScalib");
25     gSystem->Load("libCORRFW");
26     gSystem->Load("libPWG3muon");
27
28     gROOT->LoadMacro("AddTaskCopyESD.C");
29     gROOT->LoadMacro("AddTaskFilterFriend.C");
30     gROOT->LoadMacro("AddTaskFilterFriendSecond.C");
31     gROOT->LoadMacro("AddTaskAddObject.C");
32
33     AliLog::SetClassDebugLevel("AliESDEvent",19);
34     TChain *chain = new TChain("esdTree");
35     // Steering input chain
36     chain->Add(inFileName);
37     AliAnalysisManager *mgr  = new AliAnalysisManager("ESD to ESD", "Analysis Manager");
38     //mgr->SetDebugLevel(3);
39
40     // Input
41     AliESDInputHandler* inpHandler = new AliESDInputHandler();
42     inpHandler->SetActiveBranches("ESDfriend*");
43     mgr->SetInputEventHandler  (inpHandler);
44
45     // Output
46     AliESDHandler* esdHandler   = new AliESDHandler();
47     esdHandler->SetOutputFileName(outFileName);
48     mgr->SetOutputEventHandler(esdHandler);
49
50     // Tasks 
51     AliAnalysisTaskCopyESD *copy = AddTaskCopyESD();
52     
53     AliAnalysisTaskFilterFriend* filter = AddTaskFilterFriend();
54
55     AliAnalysisTaskFilterFriendSecond* filter2 = AddTaskFilterFriendSecond();
56     
57     AliAnalysisTaskAddObject* add = AddTaskAddObject();
58     
59     //
60     // Run the analysis
61     //
62     if (!mgr->InitAnalysis()) {
63             printf("Analysis cannot be started, returning\n");
64             return;
65     }
66
67     mgr->PrintStatus();
68     mgr->StartAnalysis("local", chain);
69    
70     return;
71 }
72