]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/AnalysisMacros/Local/runLocal.C
Completion of previous checkin
[u/mrichter/AliRoot.git] / PWG2 / AnalysisMacros / Local / runLocal.C
1 void runLocal() {
2   TStopwatch timer;
3   timer.Start();
4   gSystem->Load("libTree.so");
5   //____________________________________________________//
6   //_____________Setting up STEERBase.par_______________//
7   //____________________________________________________//
8   setupPar("STEERBase");
9   gSystem->Load("libSTEERBase.so");
10
11   //____________________________________________________//
12   //_____________Setting up ESD.par_____________________//
13   //____________________________________________________//
14   setupPar("ESD");
15   gSystem->Load("libVMC.so");
16   gSystem->Load("libESD.so");
17                                                                                  //____________________________________________________//
18   //_____________Setting up AOD.par_____________________//
19   //____________________________________________________//
20   setupPar("AOD");
21   gSystem->Load("libAOD.so");
22                                                                 
23   //_____________________________________________________________//
24   //_____________Setting up ANALYSIS_NEW.par_____________________//
25   //_____________________________________________________________//
26   setupPar("ANALYSIS");
27   gSystem->Load("libANALYSIS.so");
28                                                                                                                                                
29   gROOT->LoadMacro("AliAnalysisTaskPt.cxx+");
30
31   //____________________________________________//
32   AliTagAnalysis *TagAna = new AliTagAnalysis("ESD"); 
33   TagAna->ChainLocalTags("../Tags");
34
35   AliRunTagCuts *runCuts = new AliRunTagCuts();
36   AliLHCTagCuts *lhcCuts = new AliLHCTagCuts();
37   AliDetectorTagCuts *detCuts = new AliDetectorTagCuts();
38   AliEventTagCuts *evCuts = new AliEventTagCuts();
39   evCuts->SetMultiplicityRange(11,12);  
40   
41   TChain* chain = 0x0;
42   chain = TagAna->QueryTags(runCuts,lhcCuts,detCuts,evCuts);
43   chain->SetBranchStatus("*Calo*",0);
44
45   //____________________________________________//
46   // Make the analysis manager
47   AliAnalysisManager *mgr = new AliAnalysisManager("TestManager");
48   AliVEventHandler* esdH = new AliESDInputHandler;
49   mgr->SetInputEventHandler(esdH);  
50   //____________________________________________//
51   // 1st Pt task
52   AliAnalysisTaskPt *task1 = new AliAnalysisTaskPt("TaskPt");
53   mgr->AddTask(task1);
54   // Create containers for input/output
55   AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer();
56   AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("chist1", TH1::Class(),AliAnalysisManager::kOutputContainer,"Pt.ESD.root");
57   
58   //____________________________________________//
59   mgr->ConnectInput(task1,0,cinput1);
60   mgr->ConnectOutput(task1,0,coutput1);
61   if (!mgr->InitAnalysis()) return;
62   mgr->PrintStatus();
63   mgr->StartAnalysis("local",chain);
64
65   timer.Stop();
66   timer.Print();
67 }
68
69 Int_t setupPar(const char* pararchivename) {
70   ///////////////////
71   // Setup PAR File//
72   ///////////////////
73   if (pararchivename) {
74     char processline[1024];
75     sprintf(processline,".! tar xvzf %s.par",pararchivename);
76     gROOT->ProcessLine(processline);
77     const char* ocwd = gSystem->WorkingDirectory();
78     gSystem->ChangeDirectory(pararchivename);
79                                                                                                                                                
80     // check for BUILD.sh and execute
81     if (!gSystem->AccessPathName("PROOF-INF/BUILD.sh")) {
82       printf("*******************************\n");
83       printf("*** Building PAR archive    ***\n");
84       printf("*******************************\n");
85                                                                                                                                                
86       if (gSystem->Exec("PROOF-INF/BUILD.sh")) {
87         Error("runAnalysis","Cannot Build the PAR Archive! - Abort!");
88         return -1;
89       }
90     }
91     // check for SETUP.C and execute
92     if (!gSystem->AccessPathName("PROOF-INF/SETUP.C")) {
93       printf("*******************************\n");
94       printf("*** Setup PAR archive       ***\n");
95       printf("*******************************\n");
96       gROOT->Macro("PROOF-INF/SETUP.C");
97     }
98                                                                                                                                                
99     gSystem->ChangeDirectory("../");
100   }                                                                                                                                               
101   return 1;
102 }