]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/totEt/macros/runHadEt.C
Updating macros for running ET code
[u/mrichter/AliRoot.git] / PWGLF / totEt / macros / runHadEt.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 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) {
8     TStopwatch timer;
9     timer.Start();
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");
15
16     gSystem->Load("libSTEERBase.so");
17     gSystem->Load("libESD.so");
18     gSystem->Load("libAOD.so");
19
20     gSystem->Load("libANALYSIS");
21     gSystem->Load("libOADB.so");
22     gSystem->Load("libANALYSISalice");
23     gSystem->Load("libPWGUDbase.so");
24
25     gSystem->AddIncludePath("-I$ALICE_ROOT/include");
26     gSystem->AddIncludePath("-I$ALICE_ROOT/PWGUD/base");
27     if(runCompiledVersion){
28       gSystem->Load("libPWGLFtotEt.so");
29     }
30     else{
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");
39     }
40
41   char *kTreeName = "esdTree" ;
42   TChain * chain   = new TChain(kTreeName,"myESDTree") ;
43   if(submit){      
44     gSystem->Load("libNetx.so") ; 
45     gSystem->Load("libgapiUI.so");
46     gSystem->Load("libRAliEn.so"); 
47     TGrid::Connect("alien://") ;
48   }
49   bool PbPb = false;
50   if(dataset ==20100){
51     bool PbPb = true;
52     if(data){
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
58     }
59     else{
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
65     }
66   } 
67   else{
68      if(dataset==2013){//pPb 5 TeV
69        if(data){
70          chain->Add("/data/LHC13b/13000195483082.95/AliESDs.root");
71        }
72        else{
73          chain->Add("/data/LHC12c1b/111/AliESDs.root");
74        }
75      }
76      else{
77        if(data){
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
83        }
84        else{
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");
88        }
89      }
90   }
91
92   // Make the analysis manager
93   AliAnalysisManager *mgr = new AliAnalysisManager("TotEtManager");
94   if(submit){
95
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);
100   }
101
102   cerr<<"Hello I am here 91"<<endl;
103   AliVEventHandler* esdH = new AliESDInputHandler;
104   mgr->SetInputEventHandler(esdH);
105   AliMCEventHandler* handler = new AliMCEventHandler;
106   if(!data){
107     handler->SetReadTR(kFALSE);
108     mgr->SetMCtruthEventHandler(handler);
109   }
110
111
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");
118
119   cerr<<"Hello I am here 108"<<endl;
120
121   gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskCentrality.C");
122
123   AliCentralitySelectionTask *centTask;
124   
125   if(PbPb){
126     AliCentralitySelectionTask *centTask = AddTaskCentrality();
127    if(!data){
128      cout<<"Setting up centrality for MC"<<endl;
129      centTask->SetMCInput();
130    }
131    else{
132      cout<<"Setting up centrality for data"<<endl;
133    }
134   }
135   Int_t pass = 2;
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);
141      pass = 2;
142      //centTask->SetPass(1);
143    }
144    else{
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);}
150        pass = 3;
151      }
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);}
158        pass = 4;
159      }
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);}
165        pass = 2;
166      }
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);}
172        pass = 1;
173      }
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);}
179        pass = 3;
180      }
181    }
182    
183    
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");
192   //AddTaskPIDqa();
193
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 ) ;
200      }
201      else{   if(dataset!=20100){task2->SelectCollisionCandidates(AliVEvent::kMB ) ;}}
202    //if(dataset!=20100){task2->SelectCollisionCandidates(AliVEvent::kMB ) ;}
203    mgr->AddTask(task2);
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);
210    
211   mgr->SetDebugLevel(0);
212   
213   if (!mgr->InitAnalysis()) return;
214   mgr->PrintStatus();
215   if(submit){
216     mgr->StartAnalysis("grid");
217   }
218   else{
219     mgr->StartAnalysis("local",chain);
220   }
221
222   timer.Stop();
223   timer.Print();
224 }