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