1 // Macro to run AliAnalysisTaskESDMuonFilter
4 void RunESDMuonFilter(char* filein = "AliESDs.root", char* fileout = "AliMuonAOD.root" ){
6 gSystem->Load("libTree.so");
7 gSystem->Load("libGeom.so");
8 gSystem->Load("libVMC.so");
9 gSystem->Load("libPhysics");
11 // for analysis .par file based
13 setupPar("STEERBase");
17 setupPar("ANALYSISalice");
21 TChain* chain = new TChain("esdTree");
23 AliESDInputHandler* esdHandler = new AliESDInputHandler();
25 // Make aod output handler
26 AliAODHandler* aodHandler = new AliAODHandler();
27 aodHandler->SetOutputFileName(fileout);
29 // Make the analysis manager
30 AliAnalysisManager *mgr = new AliAnalysisManager("Muon AOD Manager", "Muon AOD Manager");
31 mgr->SetInputEventHandler(esdHandler);
32 mgr->SetOutputEventHandler(aodHandler);
33 mgr-> SetDebugLevel(10);
35 // Task for MUON AOD generation
36 AliAnalysisTaskESDMuonFilter *esdfilter = new AliAnalysisTaskESDMuonFilter("ESD Muon Filter");
37 mgr->AddTask(esdfilter);
39 // Create containers for input/output
40 AliAnalysisDataContainer *cinput1 = mgr->CreateContainer("cESD",TChain::Class(),
41 AliAnalysisManager::kInputContainer);
42 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("cAOD", TTree::Class(),
43 AliAnalysisManager::kOutputContainer, "default");
45 mgr->ConnectInput (esdfilter, 0, cinput1 );
46 mgr->ConnectOutput (esdfilter, 0, coutput1 );
51 mgr->StartAnalysis("local",chain);
55 Int_t setupPar(const char* pararchivename) {
60 char processline[1024];
61 sprintf(processline,".! tar xvzf %s.par",pararchivename);
62 gROOT->ProcessLine(processline);
63 const char* ocwd = gSystem->WorkingDirectory();
64 gSystem->ChangeDirectory(pararchivename);
66 // check for BUILD.sh and execute
67 if (!gSystem->AccessPathName("PROOF-INF/BUILD.sh")) {
68 printf("*******************************\n");
69 printf("*** Building PAR archive ***\n");
70 printf("*******************************\n");
72 if (gSystem->Exec("PROOF-INF/BUILD.sh")) {
73 Error("runAnalysis","Cannot Build the PAR Archive! - Abort!");
77 // check for SETUP.C and execute
78 if (!gSystem->AccessPathName("PROOF-INF/SETUP.C")) {
79 printf("*******************************\n");
80 printf("*** Setup PAR archive ***\n");
81 printf("*******************************\n");
82 gROOT->Macro("PROOF-INF/SETUP.C");
85 gSystem->ChangeDirectory("../");