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 = 20100, Bool_t test = kFALSE, 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
69 cout<<"Yes I am analyzing the correct file"<<endl;
70 //chain->Add("/data/LHC10dpass2/10000126403050.70/AliESDs.root");//data
71 //chain->Add("/data/LHC11a/11000146856042.90/AliESDs.root");//data pp 2.76 TeV w/SDD pass 2
72 chain->Add("/data/LHC11a/11000146860043.90/AliESDs.root");//data pp 2.76 TeV w/SDD pass 3
75 //chain->Add("/data/LHC10d15/1821/AliESDs.root");//simulation p+p
76 chain->Add("/data/LHC11b10a/001/AliESDs.root");
80 // Make the analysis manager
81 AliAnalysisManager *mgr = new AliAnalysisManager("TotEtManager");
84 gROOT->LoadMacro("CreateAlienHandlerHadEt.C");
85 AliAnalysisGrid *alienHandler = CreateAlienHandlerHadEt(dataset,data,test,material,altV0Scale,runCompiledVersion,simflag);//integer dataset, boolean isData, bool submit-in-test-mode, bool use alternatve V0 scaling
86 if (!alienHandler) return;
87 mgr->SetGridHandler(alienHandler);
90 AliVEventHandler* esdH = new AliESDInputHandler;
91 mgr->SetInputEventHandler(esdH);
92 AliMCEventHandler* handler = new AliMCEventHandler;
94 handler->SetReadTR(kFALSE);
95 mgr->SetMCtruthEventHandler(handler);
99 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPhysicsSelection.C");
100 AliPhysicsSelectionTask *physSelTask = AddTaskPhysicsSelection(!data);
101 if(!physSelTask) { Printf("no physSelTask"); return; }
102 AliPhysicsSelection *physSel = physSelTask->GetPhysicsSelection();
103 //physSel->AddCollisionTriggerClass("+CINT1B-ABCE-NOPF-ALL");// #3119 #769");
104 //physSelTask->AddCollisionTriggerClass("kMB");// #3119 #769");
107 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskCentrality.C");
109 AliCentralitySelectionTask *centTask;
112 AliCentralitySelectionTask *centTask = AddTaskCentrality();
114 cout<<"Setting up centrality for MC"<<endl;
115 centTask->SetMCInput();
118 cout<<"Setting up centrality for data"<<endl;
122 if(dataset==20100){//PbPb 2.76 TeV
123 if(data){gSystem->CopyFile("rootFiles/corrections/corrections.LHC11a4_bis.PbPb.ForData.root","corrections.root",kTRUE);}
124 else{gSystem->CopyFile("rootFiles/corrections/corrections.LHC11a4_bis.PbPb.ForSimulations.root","corrections.root",kTRUE);}
125 gSystem->CopyFile("ConfigHadEtMonteCarloPbPb.C","ConfigHadEtMonteCarlo.C",kTRUE);
126 gSystem->CopyFile("ConfigHadEtReconstructedPbPb.C","ConfigHadEtReconstructed.C",kTRUE);
127 //centTask->SetPass(1);
130 if(dataset==2009){//pp 900 GeV
131 gSystem->CopyFile("ConfigHadEtMonteCarlopp900GeV.C","ConfigHadEtMonteCarlo.C",kTRUE);
132 gSystem->CopyFile("ConfigHadEtReconstructedpp900GeV.C","ConfigHadEtReconstructed.C",kTRUE);
133 if(data){gSystem->CopyFile("rootFiles/corrections/corrections.LHC11b1a.pp.ForData.root","corrections.root",kTRUE);}
134 else{gSystem->CopyFile("rootFiles/corrections/corrections.LHC11b1a.pp.ForSimulations.root","corrections.root",kTRUE);}
136 if(dataset==20111){//pp 2.76 TeV
137 if(altV0Scale)gSystem->CopyFile("ConfigHadEtMonteCarlopp276TeVAlt.C","ConfigHadEtMonteCarlo.C",kTRUE);
138 else{gSystem->CopyFile("ConfigHadEtMonteCarlopp276TeV.C","ConfigHadEtMonteCarlo.C",kTRUE);}
139 gSystem->CopyFile("ConfigHadEtReconstructedpp276TeV.C","ConfigHadEtReconstructed.C",kTRUE);
140 if(data){gSystem->CopyFile("rootFiles/corrections/corrections.LHC11b10a.pp.ForData.root","corrections.root",kTRUE);}
141 else{gSystem->CopyFile("rootFiles/corrections/corrections.LHC11b10a.pp.ForSimulations.root","corrections.root",kTRUE);}
143 if(dataset==2010){//pp 7 TeV
144 gSystem->CopyFile("ConfigHadEtMonteCarlopp7TeV.C","ConfigHadEtMonteCarlo.C",kTRUE);
145 gSystem->CopyFile("ConfigHadEtReconstructedpp7TeV.C","ConfigHadEtReconstructed.C",kTRUE);
146 if(data){gSystem->CopyFile("rootFiles/corrections/corrections.LHC10e20.pp.ForData.root","corrections.root",kTRUE);}
147 else{gSystem->CopyFile("rootFiles/corrections/corrections.LHC10e20.pp.ForSimulations.root","corrections.root",kTRUE);}
152 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C");
153 cout<<"I am adding PID response task"<<endl;
154 //AliAnalysisTask *AddTaskPIDResponse(Bool_t isMC=kFALSE, Bool_t autoMCesd=kTRUE,
155 // Bool_t tuneOnData=kFALSE, Int_t recoPass=2,
156 // Bool_t cachePID=kFALSE, TString detResponse="",
157 // Bool_t useTPCEtaCorrection = kFALSE);
158 AliAnalysisTaskPIDResponse *taskPID=AddTaskPIDResponse(!data,kTRUE,kTRUE,2);
159 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDqa.C");
162 AliAnalysisTaskHadEt *task2 = new AliAnalysisTaskHadEt("TaskHadEt",!data);//,recoFile,mcFile);
163 if(!data) task2->SetMcData();
164 //Add thing here to select collision type!!
165 if(dataset!=20100){task2->SelectCollisionCandidates(AliVEvent::kMB ) ;}
166 if(dataset!=20100){task2->SelectCollisionCandidates(AliVEvent::kMB ) ;}
168 AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer();
169 AliAnalysisDataContainer *coutput2 = mgr->CreateContainer("out2", TList::Class(), AliAnalysisManager::kOutputContainer,"Et.ESD.new.sim.root");
170 // mgr->ConnectInput(task2,0,cinput1);
171 // mgr->ConnectOutput(task2,1,coutput2);
172 mgr->ConnectInput(task2,0,cinput1);
173 mgr->ConnectOutput(task2,1,coutput2);
175 mgr->SetDebugLevel(0);
177 if (!mgr->InitAnalysis()) return;
180 mgr->StartAnalysis("grid");
183 mgr->StartAnalysis("local",chain);