]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/AnalysisMacros/Kine/runKine.C
Completion of previous checkin
[u/mrichter/AliRoot.git] / PWG2 / AnalysisMacros / Kine / runKine.C
1 void runKine() {
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("AliAnalysisTaskPtMC.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   AliMCEventHandler *mc = new AliMCEventHandler();
51   mgr->SetMCtruthEventHandler(mc);
52   //____________________________________________//
53   // 1st Pt task
54   AliAnalysisTaskPtMC *task1 = new AliAnalysisTaskPtMC("TaskPtMC");
55   mgr->AddTask(task1);
56   // Create containers for input/output
57   AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer();
58   AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("chist1", TH1::Class(),AliAnalysisManager::kOutputContainer,"Pt.MC.root");
59   
60   //____________________________________________//
61   mgr->ConnectInput(task1,0,cinput1);
62   mgr->ConnectOutput(task1,0,coutput1);
63   if (!mgr->InitAnalysis()) return;
64   mgr->PrintStatus();
65   mgr->StartAnalysis("local",chain);
66
67   timer.Stop();
68   timer.Print();
69 }
70
71 Int_t setupPar(const char* pararchivename) {
72   ///////////////////
73   // Setup PAR File//
74   ///////////////////
75   if (pararchivename) {
76     char processline[1024];
77     sprintf(processline,".! tar xvzf %s.par",pararchivename);
78     gROOT->ProcessLine(processline);
79     const char* ocwd = gSystem->WorkingDirectory();
80     gSystem->ChangeDirectory(pararchivename);
81                                                                                                                                                
82     // check for BUILD.sh and execute
83     if (!gSystem->AccessPathName("PROOF-INF/BUILD.sh")) {
84       printf("*******************************\n");
85       printf("*** Building PAR archive    ***\n");
86       printf("*******************************\n");
87                                                                                                                                                
88       if (gSystem->Exec("PROOF-INF/BUILD.sh")) {
89         Error("runAnalysis","Cannot Build the PAR Archive! - Abort!");
90         return -1;
91       }
92     }
93     // check for SETUP.C and execute
94     if (!gSystem->AccessPathName("PROOF-INF/SETUP.C")) {
95       printf("*******************************\n");
96       printf("*** Setup PAR archive       ***\n");
97       printf("*******************************\n");
98       gROOT->Macro("PROOF-INF/SETUP.C");
99     }
100                                                                                                                                                
101     gSystem->ChangeDirectory("../");
102   }                                                                                                                                               
103   return 1;
104 }