]>
Commit | Line | Data |
---|---|---|
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 | 7 | void 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 | } |