]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/totEt/macros/runCaloEt.C
bug fix: EndOfSpace error flag was not returned as it was rewritten in FillMCEvent...
[u/mrichter/AliRoot.git] / PWG4 / totEt / macros / runCaloEt.C
CommitLineData
4998bf42 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
99a6613d 7void runCaloEt(bool submit = true, // true or false
13b0d3c1 8 const char *dataType="simPbPb", // "sim" or "real" or "simPbPb"
99a6613d 9 const char *det = "EMCAL") // "PHOS" or "EMCAL"
10{
11 TStopwatch timer;
12 timer.Start();
13 gSystem->Load("libTree.so");
14 gSystem->Load("libGeom.so");
15 gSystem->Load("libVMC.so");
16 gSystem->Load("libXMLIO.so");
17
18 gSystem->Load("libSTEERBase.so");
19 gSystem->Load("libESD.so");
20 gSystem->Load("libAOD.so");
21
22 gSystem->Load("libANALYSIS");
23 gSystem->Load("libANALYSISalice");
24
25 if (!submit) { // assume the stuff you need is compiled
26 cout << "local - no submitting" << endl;
27 gSystem->Load("libPWG4totEt");
28 }
29 else {
30 cout << "submitting to grid" << endl;
4998bf42 31 gSystem->AddIncludePath("-I$ALICE_ROOT/include");
32 gROOT->ProcessLine(".L AliAnalysisEt.cxx+g");
33 gROOT->ProcessLine(".L AliAnalysisEtMonteCarlo.cxx+g");
34 gROOT->ProcessLine(".L AliAnalysisEtMonteCarloPhos.cxx+g");
35 gROOT->ProcessLine(".L AliAnalysisEtMonteCarloEmcal.cxx+g");
36 gROOT->ProcessLine(".L AliAnalysisEtReconstructed.cxx+g");
37 gROOT->ProcessLine(".L AliAnalysisEtReconstructedPhos.cxx+g");
38 gROOT->ProcessLine(".L AliAnalysisEtReconstructedEmcal.cxx+g");
99a6613d 39
4998bf42 40 gROOT->ProcessLine(".L AliAnalysisTaskTotEt.cxx+g");
99a6613d 41 }
4998bf42 42 char *kTreeName = "esdTree" ;
43 TChain * chain = new TChain(kTreeName,"myESDTree") ;
4998bf42 44
45 if(submit){
46 gSystem->Load("libNetx.so") ;
47 gSystem->Load("libgapiUI.so");
48 gSystem->Load("libRAliEn.so");
49 TGrid::Connect("alien://") ;
50 }
4998bf42 51
52 // Make the analysis manager
53 AliAnalysisManager *mgr = new AliAnalysisManager("TotEtManager");
54
99a6613d 55 TString detStr(det);
56 TString taskName = "TaskTotEt" + detStr;
57 TString dataStr(dataType);
58 TString outputName = "Et.ESD." + dataStr + "." + detStr + ".root";
59 TString outputDir = "totEt" + dataStr;
60
61 cout << " taskName " << taskName
62 << " outputName " << outputName << endl;
63
13b0d3c1 64 if (submit) {
99a6613d 65 gROOT->LoadMacro("CreateAlienHandlerCaloEtSim.C");
66 AliAnalysisGrid *alienHandler = CreateAlienHandlerCaloEtSim(outputDir, outputName);
4998bf42 67 if (!alienHandler) return;
68 mgr->SetGridHandler(alienHandler);
69 }
70
71 AliVEventHandler* esdH = new AliESDInputHandler;
72 mgr->SetInputEventHandler(esdH);
73 AliMCEventHandler* handler = new AliMCEventHandler;
99a6613d 74 if ( dataStr.Contains("sim") ) {
75 cout << " MC " << endl;
99a6613d 76 if ( dataStr.Contains("PbPb") ) {
77 cout << " PbPb " << endl;
78 chain->Add("/home/dsilverm/data/E_T/sim/LHC10e11/191001/001/AliESDs.root"); // link to local test file
79 }
13b0d3c1 80 else { // pp
81 chain->Add("/home/dsilverm/data/E_T/sim/LHC10d1/117222/100/AliESDs.root"); // link to local test file
82 }
99a6613d 83 handler->SetReadTR(kFALSE);
84 mgr->SetMCtruthEventHandler(handler);
85 }
13b0d3c1 86 else { // real data
87 chain->Add("/home/dsilverm/data/E_T/data/2010/LHC10b/000117222/ESDs/pass2/10000117222021.30/AliESDs.root"); // link to local test file
99a6613d 88 cout << " not MC " << endl;
89 }
4998bf42 90
4998bf42 91
99a6613d 92 AliAnalysisTaskTotEt *task1 = new AliAnalysisTaskTotEt(taskName);
93 mgr->AddTask(task1);
4998bf42 94
99a6613d 95 AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer();
96 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("out1", TList::Class(), AliAnalysisManager::kOutputContainer, outputName);
97
98 //____________________________________________//
99 mgr->ConnectInput(task1,0,cinput1);
100 mgr->ConnectOutput(task1,1,coutput1);
101
102 mgr->SetDebugLevel(0);
103
104 if (!mgr->InitAnalysis()) return;
105 mgr->PrintStatus();
106 if(submit){
107 mgr->StartAnalysis("grid");
108 }
109 else{
110 mgr->StartAnalysis("local",chain);
111 }
112
113 timer.Stop();
114 timer.Print();
4998bf42 115}