]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG4/totEt/macros/runCaloEt.C
updates for running with plugin
[u/mrichter/AliRoot.git] / PWG4 / totEt / macros / runCaloEt.C
index dedba1e2610175be656b30064829126a47db4cca..a0d278e3b9182b84fe595461b9d77f537926dff9 100644 (file)
@@ -4,21 +4,30 @@
 //by default this runs locally
 //With the argument true this submits jobs to the grid
 //As written this requires an xml script tag.xml in the ~/et directory on the grid to submit jobs
-void runCaloEt(bool submit = false) {
-    TStopwatch timer;
-    timer.Start();
-    gSystem->Load("libTree.so");
-    gSystem->Load("libGeom.so");
-    gSystem->Load("libVMC.so");
-    gSystem->Load("libXMLIO.so");
-
-    gSystem->Load("libSTEERBase.so");
-    gSystem->Load("libESD.so");
-    gSystem->Load("libAOD.so");
-
-    gSystem->Load("libANALYSIS");
-    gSystem->Load("libANALYSISalice");
-
+void runCaloEt(bool submit = true, // true or false 
+              const char *dataType="sim", // "sim" or "real" or "simPbPb"
+              const char *det = "EMCAL") // "PHOS" or "EMCAL"
+{
+  TStopwatch timer;
+  timer.Start();
+  gSystem->Load("libTree.so");
+  gSystem->Load("libGeom.so");
+  gSystem->Load("libVMC.so");
+  gSystem->Load("libXMLIO.so");
+  
+  gSystem->Load("libSTEERBase.so");
+  gSystem->Load("libESD.so");
+  gSystem->Load("libAOD.so");
+  
+  gSystem->Load("libANALYSIS");
+  gSystem->Load("libANALYSISalice");
+  
+  if (!submit) { // assume the stuff you need is compiled
+    cout << "local - no submitting" << endl;
+    gSystem->Load("libPWG4totEt");
+  }
+  else { 
+    cout << "submitting to grid" << endl;
     gSystem->AddIncludePath("-I$ALICE_ROOT/include");
     gROOT->ProcessLine(".L AliAnalysisEt.cxx+g");
     gROOT->ProcessLine(".L AliAnalysisEtMonteCarlo.cxx+g");
@@ -27,13 +36,12 @@ void runCaloEt(bool submit = false) {
     gROOT->ProcessLine(".L AliAnalysisEtReconstructed.cxx+g");
     gROOT->ProcessLine(".L AliAnalysisEtReconstructedPhos.cxx+g");
     gROOT->ProcessLine(".L AliAnalysisEtReconstructedEmcal.cxx+g");
-
+    
     gROOT->ProcessLine(".L AliAnalysisTaskTotEt.cxx+g");
-
+  }
 
   char *kTreeName = "esdTree" ;
   TChain * chain   = new TChain(kTreeName,"myESDTree") ;
-
   
   if(submit){      
     gSystem->Load("libNetx.so") ; 
@@ -41,16 +49,22 @@ void runCaloEt(bool submit = false) {
     gSystem->Load("libRAliEn.so"); 
     TGrid::Connect("alien://") ;
   }
-  chain->Add("/data/LHC10d15/1821/AliESDs.root");//CN changed
-
-
   
   // Make the analysis manager
   AliAnalysisManager *mgr = new AliAnalysisManager("TotEtManager");
   
+  TString detStr(det);
+  TString taskName = "TaskTotEt" + detStr;
+  TString dataStr(dataType);
+  TString outputName = "Et.ESD." + dataStr + "." + detStr + ".root";
+  TString outputDir = "totEt" + dataStr;
+
+  cout << " taskName " << taskName
+       << " outputName " << outputName << endl;
+
   if(submit){
-    gROOT->LoadMacro("CreateAlienHandlerPhosEtSim.C");
-    AliAnalysisGrid *alienHandler = CreateAlienHandlerPhosEtSim();  
+    gROOT->LoadMacro("CreateAlienHandlerCaloEtSim.C");
+    AliAnalysisGrid *alienHandler = CreateAlienHandlerCaloEtSim(outputDir, outputName);  
     if (!alienHandler) return;
     mgr->SetGridHandler(alienHandler);
   }
@@ -58,34 +72,43 @@ void runCaloEt(bool submit = false) {
   AliVEventHandler* esdH = new AliESDInputHandler;
   mgr->SetInputEventHandler(esdH);
   AliMCEventHandler* handler = new AliMCEventHandler;
-  handler->SetReadTR(kFALSE);
-  mgr->SetMCtruthEventHandler(handler);
-  
-  AliAnalysisTaskTotEt *task1 = new AliAnalysisTaskTotEt("TaskTotEt");
-  mgr->AddTask(task1);
-
-    // Create containers for input/output
-    //AliAnalysisDataContainer *cinput1 = mgr->CreateContainer("cchain1", TChain::Class(),AliAnalysisManager::kInputContainer);
-    AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer();
-
-    //AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("out1", TList::Class(), AliAnalysisManager::kOutputContainer,"Et.ESD.sim.root");
-    AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("out1", TList::Class(), AliAnalysisManager::kOutputContainer,"Et.ESD.sim.root");
-
-    //____________________________________________//
-    mgr->ConnectInput(task1,0,cinput1);
-    mgr->ConnectOutput(task1,1,coutput1);
+  if ( dataStr.Contains("sim") ) {
+    cout << " MC " << endl;
+    chain->Add("/home/dsilverm/data/E_T/sim/LHC10d1/117222/100/AliESDs.root"); // link to local test file
+    if ( dataStr.Contains("PbPb") ) {
+      cout << " PbPb " << endl;
+      chain->Add("/home/dsilverm/data/E_T/sim/LHC10e11/191001/001/AliESDs.root"); // link to local test file
+    }
+    handler->SetReadTR(kFALSE);
+    mgr->SetMCtruthEventHandler(handler);
+  }
+  else {
+  chain->Add("/home/dsilverm/data/E_T/data/2010/LHC10b/000117222/ESDs/pass2/10000117222021.30/AliESDs.root"); // link to local test file
+    cout << " not MC " << endl;
+  }
 
-    mgr->SetDebugLevel(0);
 
-    if (!mgr->InitAnalysis()) return;
-    mgr->PrintStatus();
-    if(submit){
-      mgr->StartAnalysis("grid");
-    }
-    else{
-      mgr->StartAnalysis("local",chain);
-    }
+  AliAnalysisTaskTotEt *task1 = new AliAnalysisTaskTotEt(taskName);
+  mgr->AddTask(task1);
 
-    timer.Stop();
-    timer.Print();
+  AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer();
+  AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("out1", TList::Class(), AliAnalysisManager::kOutputContainer, outputName);
+  
+  //____________________________________________//
+  mgr->ConnectInput(task1,0,cinput1);
+  mgr->ConnectOutput(task1,1,coutput1);
+  
+  mgr->SetDebugLevel(0);
+  
+  if (!mgr->InitAnalysis()) return;
+  mgr->PrintStatus();
+  if(submit){
+    mgr->StartAnalysis("grid");
+  }
+  else{
+    mgr->StartAnalysis("local",chain);
+  }
+  
+  timer.Stop();
+  timer.Print();
 }