]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/totEt/macros/runCaloEt.C
Macros for running Et analysis
[u/mrichter/AliRoot.git] / PWG4 / totEt / macros / runCaloEt.C
1 //Create by Christine Nattrass, Rebecca Scott, Irakli Martashvili
2 //University of Tennessee at Knoxville
3
4 //by default this runs locally
5 //With the argument true this submits jobs to the grid
6 //As written this requires an xml script tag.xml in the ~/et directory on the grid to submit jobs
7 void runCaloEt(bool submit = false) {
8     TStopwatch timer;
9     timer.Start();
10     gSystem->Load("libTree.so");
11     gSystem->Load("libGeom.so");
12     gSystem->Load("libVMC.so");
13     gSystem->Load("libXMLIO.so");
14
15     gSystem->Load("libSTEERBase.so");
16     gSystem->Load("libESD.so");
17     gSystem->Load("libAOD.so");
18
19     gSystem->Load("libANALYSIS");
20     gSystem->Load("libANALYSISalice");
21
22     gSystem->AddIncludePath("-I$ALICE_ROOT/include");
23     gROOT->ProcessLine(".L AliAnalysisEt.cxx+g");
24     gROOT->ProcessLine(".L AliAnalysisEtMonteCarlo.cxx+g");
25     gROOT->ProcessLine(".L AliAnalysisEtMonteCarloPhos.cxx+g");
26     gROOT->ProcessLine(".L AliAnalysisEtMonteCarloEmcal.cxx+g");
27     gROOT->ProcessLine(".L AliAnalysisEtReconstructed.cxx+g");
28     gROOT->ProcessLine(".L AliAnalysisEtReconstructedPhos.cxx+g");
29     gROOT->ProcessLine(".L AliAnalysisEtReconstructedEmcal.cxx+g");
30
31     gROOT->ProcessLine(".L AliAnalysisTaskTotEt.cxx+g");
32
33
34   char *kTreeName = "esdTree" ;
35   TChain * chain   = new TChain(kTreeName,"myESDTree") ;
36
37   
38   if(submit){      
39     gSystem->Load("libNetx.so") ; 
40     gSystem->Load("libgapiUI.so");
41     gSystem->Load("libRAliEn.so"); 
42     TGrid::Connect("alien://") ;
43   }
44   chain->Add("/data/LHC10d15/1821/AliESDs.root");//CN changed
45
46
47   
48   // Make the analysis manager
49   AliAnalysisManager *mgr = new AliAnalysisManager("TotEtManager");
50   
51   if(submit){
52     gROOT->LoadMacro("CreateAlienHandlerPhosEtSim.C");
53     AliAnalysisGrid *alienHandler = CreateAlienHandlerPhosEtSim();  
54     if (!alienHandler) return;
55     mgr->SetGridHandler(alienHandler);
56   }
57
58   AliVEventHandler* esdH = new AliESDInputHandler;
59   mgr->SetInputEventHandler(esdH);
60   AliMCEventHandler* handler = new AliMCEventHandler;
61   handler->SetReadTR(kFALSE);
62   mgr->SetMCtruthEventHandler(handler);
63   
64   AliAnalysisTaskTotEt *task1 = new AliAnalysisTaskTotEt("TaskTotEt");
65   mgr->AddTask(task1);
66
67     // Create containers for input/output
68     //AliAnalysisDataContainer *cinput1 = mgr->CreateContainer("cchain1", TChain::Class(),AliAnalysisManager::kInputContainer);
69     AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer();
70
71     //AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("out1", TList::Class(), AliAnalysisManager::kOutputContainer,"Et.ESD.sim.root");
72     AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("out1", TList::Class(), AliAnalysisManager::kOutputContainer,"Et.ESD.sim.root");
73
74     //____________________________________________//
75     mgr->ConnectInput(task1,0,cinput1);
76     mgr->ConnectOutput(task1,1,coutput1);
77
78     mgr->SetDebugLevel(0);
79
80     if (!mgr->InitAnalysis()) return;
81     mgr->PrintStatus();
82     if(submit){
83       mgr->StartAnalysis("grid");
84     }
85     else{
86       mgr->StartAnalysis("local",chain);
87     }
88
89     timer.Stop();
90     timer.Print();
91 }