1 //Create by Christine Nattrass, Rebecca Scott, Irakli Martashvili
2 //University of Tennessee at Knoxville
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 runHadEt(bool submit = false, bool data = false, Int_t dataset = 2013, Int_t test = 1, Int_t material = 0, Bool_t altV0Scale = kFALSE, bool runCompiledVersion = kFALSE, int simflag = 0) {
10 gSystem->Load("libTree.so");
11 gSystem->Load("libGeom.so");
12 gSystem->Load("libVMC.so");
13 gSystem->Load("libPhysics.so");
14 gSystem->Load("libXMLIO.so");
16 gSystem->Load("libSTEERBase.so");
17 gSystem->Load("libESD.so");
18 gSystem->Load("libAOD.so");
20 gSystem->Load("libANALYSIS");
21 gSystem->Load("libOADB.so");
22 gSystem->Load("libANALYSISalice");
23 gSystem->Load("libPWGUDbase.so");
25 gSystem->AddIncludePath("-I$ALICE_ROOT/include");
26 gSystem->AddIncludePath("-I$ALICE_ROOT/PWGUD/base");
27 if(runCompiledVersion){
28 gSystem->Load("libPWGLFtotEt.so");
31 gROOT->ProcessLine(".L AliAnalysisEtCuts.cxx+g");
32 gROOT->ProcessLine(".L AliAnalysisHadEtCorrections.cxx+g");
33 gROOT->ProcessLine(".L AliAnalysisEtCommon.cxx+g");
34 gROOT->ProcessLine(".L AliAnalysisHadEt.cxx+g");
35 gROOT->ProcessLine(".L AliAnalysisHadEtMonteCarlo.cxx+g");
36 gROOT->ProcessLine(".L AliAnalysisHadEtReconstructed.cxx+g");
37 gROOT->ProcessLine(".L AliAnalysisTaskTransverseEnergy.cxx+g");
38 gROOT->ProcessLine(".L AliAnalysisTaskHadEt.cxx+g");
41 char *kTreeName = "esdTree" ;
42 TChain * chain = new TChain(kTreeName,"myESDTree") ;
44 gSystem->Load("libNetx.so") ;
45 gSystem->Load("libgapiUI.so");
46 gSystem->Load("libRAliEn.so");
47 TGrid::Connect("alien://") ;
53 chain->Add("/data/LHC10h/pass2_rev15/10000137366041.860/AliESDs.root");//Data Pb+Pb
54 chain->Add("/data/LHC10h/pass2_rev15/10000137366041.870/AliESDs.root");//Data Pb+Pb
55 chain->Add("/data/LHC10h/pass2_rev15/10000137366041.880/AliESDs.root");//Data Pb+Pb
56 chain->Add("/data/LHC10h/pass2_rev15/10000137366041.890/AliESDs.root");//Data Pb+Pb
57 chain->Add("/data/LHC10h/pass2_rev15/10000137366041.900/AliESDs.root");//Data Pb+Pb
60 chain->Add("/data/LHC10h8/137161/999/AliESDs.root");//Hijing Pb+Pb
61 chain->Add("/data/LHC10h8/137161/111/AliESDs.root");//Hijing Pb+Pb
62 chain->Add("/data/LHC10h8/137161/222/AliESDs.root");//Hijing Pb+Pb
63 //chain->Add("/data/LHC11a4_bis/137161/999/AliESDs.root");//Hijing Pb+Pb
64 //chain->Add("/data/LHC10h12/999/AliESDs.root");//Hijing Pb+Pb
68 if(dataset==2013){//pPb 5 TeV
70 chain->Add("/data/LHC13b/13000195483082.95/AliESDs.root");
73 chain->Add("/data/LHC12c1b/111/AliESDs.root");
78 cout<<"Yes I am analyzing the correct file"<<endl;
79 //chain->Add("/data/LHC10dpass2/10000126403050.70/AliESDs.root");//data
80 //chain->Add("/data/LHC11a/11000146856042.90/AliESDs.root");//data pp 2.76 TeV w/SDD pass 2
81 //chain->Add("/data/LHC11a/11000146860043.90/AliESDs.root");//data pp 2.76 TeV w/SDD pass 3
82 chain->Add("/data/LHC10c/10000120683048.90/AliESDs.root");//Data Pb+Pb
85 cerr<<"Hello I am here 75"<<endl;
86 //chain->Add("/data/LHC10d15/1821/AliESDs.root");//simulation p+p
87 chain->Add("/data/LHC11b10a/001/AliESDs.root");
92 // Make the analysis manager
93 AliAnalysisManager *mgr = new AliAnalysisManager("TotEtManager");
96 gROOT->LoadMacro("CreateAlienHandlerHadEt.C");
97 AliAnalysisGrid *alienHandler = CreateAlienHandlerHadEt(dataset,data,test,material,altV0Scale,runCompiledVersion,simflag);//integer dataset, boolean isData, bool submit-in-test-mode, bool use alternatve V0 scaling
98 if (!alienHandler) return;
99 mgr->SetGridHandler(alienHandler);
102 cerr<<"Hello I am here 91"<<endl;
103 AliVEventHandler* esdH = new AliESDInputHandler;
104 mgr->SetInputEventHandler(esdH);
105 AliMCEventHandler* handler = new AliMCEventHandler;
107 handler->SetReadTR(kFALSE);
108 mgr->SetMCtruthEventHandler(handler);
112 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPhysicsSelection.C");
113 AliPhysicsSelectionTask *physSelTask = AddTaskPhysicsSelection(!data);
114 if(!physSelTask) { Printf("no physSelTask"); return; }
115 AliPhysicsSelection *physSel = physSelTask->GetPhysicsSelection();
116 //physSel->AddCollisionTriggerClass("+CINT1B-ABCE-NOPF-ALL");// #3119 #769");
117 //physSelTask->AddCollisionTriggerClass("kMB");// #3119 #769");
119 cerr<<"Hello I am here 108"<<endl;
121 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskCentrality.C");
123 AliCentralitySelectionTask *centTask;
126 AliCentralitySelectionTask *centTask = AddTaskCentrality();
128 cout<<"Setting up centrality for MC"<<endl;
129 centTask->SetMCInput();
132 cout<<"Setting up centrality for data"<<endl;
136 if(dataset==20100){//PbPb 2.76 TeV
137 if(data){gSystem->CopyFile("rootFiles/corrections/corrections.LHC11a10a_bis.PbPb.ForData.root","corrections.root",kTRUE);}
138 else{gSystem->CopyFile("rootFiles/corrections/corrections.LHC11a10a_bis.PbPb.ForSimulations.root","corrections.root",kTRUE);}
139 gSystem->CopyFile("ConfigHadEtMonteCarloPbPb.C","ConfigHadEtMonteCarlo.C",kTRUE);
140 gSystem->CopyFile("ConfigHadEtReconstructedPbPb.C","ConfigHadEtReconstructed.C",kTRUE);
142 //centTask->SetPass(1);
145 if(dataset==2009){//pp 900 GeV
146 gSystem->CopyFile("ConfigHadEtMonteCarlopp900GeV.C","ConfigHadEtMonteCarlo.C",kTRUE);
147 gSystem->CopyFile("ConfigHadEtReconstructedpp900GeV.C","ConfigHadEtReconstructed.C",kTRUE);
148 if(data){gSystem->CopyFile("rootFiles/corrections/corrections.LHC11b1a.pp.ForData.root","corrections.root",kTRUE);}
149 else{gSystem->CopyFile("rootFiles/corrections/corrections.LHC11b1a.pp.ForSimulations.root","corrections.root",kTRUE);}
152 if(dataset==20111){//pp 2.76 TeV
153 if(altV0Scale)gSystem->CopyFile("ConfigHadEtMonteCarlopp276TeVAlt.C","ConfigHadEtMonteCarlo.C",kTRUE);
154 else{gSystem->CopyFile("ConfigHadEtMonteCarlopp276TeV.C","ConfigHadEtMonteCarlo.C",kTRUE);}
155 gSystem->CopyFile("ConfigHadEtReconstructedpp276TeV.C","ConfigHadEtReconstructed.C",kTRUE);
156 if(data){gSystem->CopyFile("rootFiles/corrections/corrections.LHC11b10a.pp.ForData.root","corrections.root",kTRUE);}
157 else{gSystem->CopyFile("rootFiles/corrections/corrections.LHC11b10a.pp.ForSimulations.root","corrections.root",kTRUE);}
160 if(dataset==2010){//pp 7 TeV
161 gSystem->CopyFile("ConfigHadEtMonteCarlopp7TeV.C","ConfigHadEtMonteCarlo.C",kTRUE);
162 gSystem->CopyFile("ConfigHadEtReconstructedpp7TeV.C","ConfigHadEtReconstructed.C",kTRUE);
163 if(data){gSystem->CopyFile("rootFiles/corrections/corrections.LHC10e20.pp.ForData.root","corrections.root",kTRUE);}
164 else{gSystem->CopyFile("rootFiles/corrections/corrections.LHC10e20.pp.ForSimulations.root","corrections.root",kTRUE);}
167 if(dataset==2012){//pp 8 TeV
168 gSystem->CopyFile("ConfigHadEtMonteCarlopp8TeV.C","ConfigHadEtMonteCarlo.C",kTRUE);
169 gSystem->CopyFile("ConfigHadEtReconstructedpp8TeV.C","ConfigHadEtReconstructed.C",kTRUE);
170 if(data){gSystem->CopyFile("rootFiles/corrections/corrections.LHC12c1b.pp.ForData.root","corrections.root",kTRUE);}
171 else{gSystem->CopyFile("rootFiles/corrections/corrections.LHC12c1b.pp.ForSimulations.root","corrections.root",kTRUE);}
174 if(dataset==2013){//pPb 5 TeV
175 gSystem->CopyFile("ConfigHadEtMonteCarlopPb5TeV.C","ConfigHadEtMonteCarlo.C",kTRUE);
176 gSystem->CopyFile("ConfigHadEtReconstructedpPb5TeV.C","ConfigHadEtReconstructed.C",kTRUE);
177 if(data){gSystem->CopyFile("rootFiles/corrections/corrections.LHC13b3.pPb.ForData.root","corrections.root",kTRUE);}
178 else{gSystem->CopyFile("rootFiles/corrections/corrections.LHC13b3.pPb.ForSimulations.root","corrections.root",kTRUE);}
184 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C");
185 cerr<<"I am adding PID response task 169"<<endl;
186 //AliAnalysisTask *AddTaskPIDResponse(Bool_t isMC=kFALSE, Bool_t autoMCesd=kTRUE,
187 // Bool_t tuneOnData=kFALSE, Int_t recoPass=2,
188 // Bool_t cachePID=kFALSE, TString detResponse="",
189 // Bool_t useTPCEtaCorrection = kFALSE);
190 AliAnalysisTaskPIDResponse *taskPID=AddTaskPIDResponse(!data,kTRUE,kTRUE,pass);
191 //gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDqa.C");
194 AliAnalysisTaskHadEt *task2 = new AliAnalysisTaskHadEt("TaskHadEt",!data);//,recoFile,mcFile);
195 if(!data) task2->SetMcData();
196 //Add thing here to select collision type!!
197 if(dataset==2013){//pPb 5 TeV
198 //task2->SelectCollisionCandidates(AliVEvent::kAnyINT ) ;
199 task2->SelectCollisionCandidates(AliVEvent::kINT7 ) ;
201 else{ if(dataset!=20100){task2->SelectCollisionCandidates(AliVEvent::kMB ) ;}}
202 //if(dataset!=20100){task2->SelectCollisionCandidates(AliVEvent::kMB ) ;}
204 AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer();
205 AliAnalysisDataContainer *coutput2 = mgr->CreateContainer("out2", TList::Class(), AliAnalysisManager::kOutputContainer,"Et.ESD.new.sim.root");
206 // mgr->ConnectInput(task2,0,cinput1);
207 // mgr->ConnectOutput(task2,1,coutput2);
208 mgr->ConnectInput(task2,0,cinput1);
209 mgr->ConnectOutput(task2,1,coutput2);
211 mgr->SetDebugLevel(0);
213 if (!mgr->InitAnalysis()) return;
216 mgr->StartAnalysis("grid");
219 mgr->StartAnalysis("local",chain);