]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG3/RunESDMuonFilter.C
Bug fix: corrected file name (Levente)
[u/mrichter/AliRoot.git] / PWG3 / RunESDMuonFilter.C
CommitLineData
28d9f4b3 1// Macro to run AliAnalysisTaskESDMuonFilter
2//
3
4void RunESDMuonFilter(char* filein = "AliESDs.root", char* fileout = "AliMuonAOD.root" ){
5
6 gSystem->Load("libTree.so");
7 gSystem->Load("libGeom.so");
8 gSystem->Load("libVMC.so");
9 gSystem->Load("libPhysics");
10
11 // for analysis .par file based
12
13 setupPar("STEERBase");
14 setupPar("ESD");
15 setupPar("AOD");
16 setupPar("ANALYSIS");
17 setupPar("ANALYSISalice");
18 setupPar("PWG3base");
19
20 // Input ESD file
21 TChain* chain = new TChain("esdTree");
22 chain->Add(filein);
23 AliESDInputHandler* esdHandler = new AliESDInputHandler();
24
25 // Make aod output handler
26 AliAODHandler* aodHandler = new AliAODHandler();
27 aodHandler->SetOutputFileName(fileout);
28
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);
34
35 // Task for MUON AOD generation
36 AliAnalysisTaskESDMuonFilter *esdfilter = new AliAnalysisTaskESDMuonFilter("ESD Muon Filter");
37 mgr->AddTask(esdfilter);
38
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");
44
45 mgr->ConnectInput (esdfilter, 0, cinput1 );
46 mgr->ConnectOutput (esdfilter, 0, coutput1 );
47
48 // Run the analysis
49 mgr->InitAnalysis();
50 mgr->PrintStatus();
51 mgr->StartAnalysis("local",chain);
52}
53
54
55Int_t setupPar(const char* pararchivename) {
56 ///////////////////
57 // Setup PAR File//
58 ///////////////////
59 if (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);
65
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");
71
72 if (gSystem->Exec("PROOF-INF/BUILD.sh")) {
73 Error("runAnalysis","Cannot Build the PAR Archive! - Abort!");
74 return -1;
75 }
76 }
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");
83 }
84
85 gSystem->ChangeDirectory("../");
86 }
87
88 return 1;
89}