]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGLF/totEt/macros/CreateAlienHandlerCaloEtSim.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGLF / totEt / macros / CreateAlienHandlerCaloEtSim.C
index 9089eb5bc32dc41927be848a5d7fd4b5efd3a1ba..c72504272096993abd9a2c293c49f8a74e19493d 100644 (file)
@@ -1,4 +1,4 @@
-AliAnalysisGrid* CreateAlienHandlerCaloEtSim(TString outputDir, TString outputName, const char * pluginRunMode)
+AliAnalysisGrid* CreateAlienHandlerCaloEtSim(TString outputDir, TString outputName, const char * pluginRunMode, int production, Bool_t isPHOS, Bool_t ispp,Bool_t isData, Int_t runnum, Bool_t runCompiledVersion)
 {
   // Check if user has a valid token, otherwise make one. This has limitations.
   // One can always follow the standard procedure of calling alien-token-init then
@@ -16,8 +16,8 @@ AliAnalysisGrid* CreateAlienHandlerCaloEtSim(TString outputDir, TString outputNa
 
   // Set versions of used packages
    plugin->SetAPIVersion("V1.1x");
-   plugin->SetROOTVersion("v5-28-00a");
-   plugin->SetAliROOTVersion("v4-21-17b-AN");
+   plugin->SetROOTVersion("v5-34-08-6");
+   plugin->SetAliROOTVersion("vAN-20140623");
   // Declare input data to be processed.
 
   // Method 1: Create automatically XML collections using alien 'find' command.
@@ -32,9 +32,184 @@ AliAnalysisGrid* CreateAlienHandlerCaloEtSim(TString outputDir, TString outputNa
   //   plugin->AddRunNumber(125020);    // simulated
   //   plugin->AddRunNumber(104065);  // real data
 
-   plugin->SetGridDataDir("/alice/sim/LHC10d4");
+
    plugin->SetDataPattern("*ESDs.root");
-   plugin->AddRunNumber("120741");//smallest of the above
+   //plugin->SetGridDataDir("/alice/sim/LHC10d4");
+   //plugin->AddRunNumber("120741");//smallest of the above
+   if(ispp){
+     if( production==0){
+       //pp
+       plugin->SetGridDataDir("/alice/sim/2012/LHC12a15e/");
+       plugin->AddRunNumber(169838);
+     }
+     if( production==1 || production==2 || production==3){
+       cout<<"I am here! "<<endl;
+       //pp
+       if(production==1){
+        plugin->SetGridDataDir(" /alice/sim/LHC11b1a/");//nominal
+        outputDir = outputDir + "NominalLHC11b1a";
+       }
+       if(production==2){
+        plugin->SetGridDataDir(" /alice/sim/LHC11b1b/");//high material budget
+        outputDir = outputDir + "HighLHC11b1b";
+       }
+       if(production==3){
+        plugin->SetGridDataDir(" /alice/sim/LHC11b1c/");//low material budget
+        outputDir = outputDir + "LowLHC11b1c";
+       }
+       plugin->AddRunNumber(121040);//all runs in these productions with good EMC and PHOS and global status
+       plugin->AddRunNumber(121039);//
+       plugin->AddRunNumber(118558);
+       plugin->AddRunNumber(118518);
+       plugin->AddRunNumber(118506);
+       //Additional runs which may be used 118561, 118560, 118556 emc bad parts
+       //118512, 118507 status unknown
+     }
+   }
+   else{
+    if(isData){//185 jobs
+        cout<<"Running over data"<<endl;
+       if(production==1){
+        plugin->SetGridDataDir("/alice/data/2010/LHC10h");//PbPb data
+        plugin->SetDataPattern("*ESDs/pass2/*ESDs.root");
+        plugin->SetRunPrefix("000");   // real data
+        outputDir = outputDir + "LHC10hPass2";
+        if(runnum==0){
+          plugin->AddRunNumber(139465);
+//        plugin->AddRunNumber(138442);
+//        plugin->AddRunNumber(138364);
+//        plugin->AddRunNumber(138396);
+//        plugin->AddRunNumber(137722);
+          //outputDir = outputDir + "Run139465";
+        }
+        if(runnum==1){
+          plugin->AddRunNumber(138442);
+          outputDir = outputDir + "Run138442";
+        }
+        if(runnum==2){
+          plugin->AddRunNumber(138364);
+          outputDir = outputDir + "Run138364";
+        }
+        if(runnum==3){
+          plugin->AddRunNumber(138534);
+          outputDir = outputDir + "Run138534";
+        }
+        if(runnum==4){
+          plugin->AddRunNumber(138275);
+          outputDir = outputDir + "Run138275";
+        }
+       }
+       if(production==2){
+        plugin->SetGridDataDir("/alice/data/2011/LHC11h_2");//PbPb data
+        plugin->SetDataPattern("*ESDs/pass2/*ESDs.root");
+        plugin->SetRunPrefix("000");   // real data
+        //plugin->AddRunNumber(169099);
+        if(runnum==0){
+          plugin->AddRunNumber(168464);
+        }
+        outputDir = outputDir + "LHC11hPass2";
+        if(runnum==1){
+          plugin->AddRunNumber(169588);
+          outputDir +="169588";
+        }
+        if(runnum==2){
+          plugin->AddRunNumber(170268);
+          outputDir +="170268";
+        }
+        if(runnum==3){
+          plugin->AddRunNumber(170207);
+          outputDir +="170207";
+        }
+        if(runnum==4){
+          plugin->AddRunNumber(168512);
+          outputDir +="168512";
+        }
+        if(runnum==5){
+          plugin->AddRunNumber(170311);
+          outputDir +="170311";
+        }
+       }
+    }
+    else{
+      if(production==0){
+       //Standard
+       if(isPHOS){
+         plugin->SetGridDataDir("/alice/sim/LHC11a10a_bis");
+       }
+       else{
+         outputDir = outputDir + "LHC11a4_bis";
+         plugin->SetGridDataDir("/alice/sim/LHC11a4_bis");
+         plugin->SetGridDataDir("/alice/sim/LHC11a4_bis");
+       }
+       plugin->AddRunNumber(139465);
+       plugin->AddRunNumber(139470);
+       plugin->AddRunNumber(137366);
+       plugin->AddRunNumber(137161);
+      }
+      if(production==1){
+       //cout<<"I am here! Line 93 "<<endl;
+       //if(!isPHOS){
+         outputDir = outputDir + "LHC11a10a_bis";
+         plugin->SetGridDataDir("/alice/sim/LHC11a10a_bis");
+         //}
+//             plugin->AddRunNumber(137366);
+//             plugin->AddRunNumber(137161);
+//             plugin->AddRunNumber(139470);
+               plugin->AddRunNumber(139465);//probably our focus now
+//      plugin->AddRunNumber(138442);
+//      plugin->AddRunNumber(138364);
+//      plugin->AddRunNumber(138534);
+//      plugin->AddRunNumber(138275);
+      }
+      if(production==2){
+       if(!isPHOS){
+         outputDir = outputDir + "LHC11b7";
+         plugin->SetGridDataDir("/alice/sim/LHC11b7");
+       }
+       plugin->AddRunNumber(137549);
+       plugin->AddRunNumber(138200);
+      }
+      if(production==3){
+       if(!isPHOS){
+         outputDir = outputDir + "LHC11a10a";
+         plugin->SetGridDataDir("/alice/sim/LHC11a10a");
+       }
+       plugin->AddRunNumber(139470);
+      }
+      if(production==4){
+       outputDir = outputDir + "LHC13d2";
+       plugin->SetGridDataDir(" /alice/sim/2013/LHC13d2");
+       plugin->AddRunNumber(139465);//probably our focus now
+      }
+      if(production==5){//2011 production - warning only 0-10%
+       cout<<"I am here setting grid data dir"<<endl;
+       outputDir = outputDir + "LHC12d3";
+       plugin->SetGridDataDir("/alice/sim/2012/LHC12d3");
+       plugin->AddRunNumber(168464);//probably our focus now
+      }
+      if(production==6){//2011 production - 0-10%
+       cout<<"I am here setting grid data dir"<<endl;
+       outputDir = outputDir + "LHC13e1a";
+       plugin->SetGridDataDir("/alice/sim/2013/LHC13e1a");
+       plugin->AddRunNumber(168464);//probably our focus now
+      }
+      if(production==7){//2011 production - 10-50%
+       cout<<"I am here setting grid data dir"<<endl;
+       outputDir = outputDir + "LHC13e1b";
+       plugin->SetGridDataDir("/alice/sim/2013/LHC13e1b");
+       plugin->AddRunNumber(168464);//probably our focus now
+      }
+      if(production==8){//2011 production - 50-90%
+       cout<<"I am here setting grid data dir"<<endl;
+       outputDir = outputDir + "LHC13e1c";
+       plugin->SetGridDataDir("/alice/sim/2013/LHC13e1c");
+       plugin->AddRunNumber(168464);//probably our focus now
+      }
+
+
+    }
+   }
+
   // Method 2: Declare existing data files (raw collections, xml collections, root file)
   // If no path mentioned data is supposed to be in the work directory (see SetGridWorkingDir())
   // XML collections added via this method can be combined with the first method if
@@ -50,12 +225,17 @@ AliAnalysisGrid* CreateAlienHandlerCaloEtSim(TString outputDir, TString outputNa
   // Declare the analysis source files names separated by blancs. To be compiled runtime IN THE SAME ORDER THEY ARE LISTED
   //plugin->SetAdditionalRootLibs("libPHOSUtils.so libEMCALUtils.so libPWG4CaloCalib.so libPWG4PartCorrBase.so libPWG4PartCorrDep.so");
   // using ACLiC on the worker nodes.
-  plugin->SetAnalysisSource("AliAnalysisEtCuts.cxx AliAnalysisHadEtCorrections.cxx AliAnalysisEtCommon.cxx AliAnalysisEtSelector.cxx AliAnalysisEtSelectorPhos.cxx AliAnalysisEtSelectorEmcal.cxx AliAnalysisEt.cxx AliAnalysisEtMonteCarlo.cxx AliAnalysisEtMonteCarloPhos.cxx AliAnalysisEtMonteCarloEmcal.cxx AliAnalysisEtReconstructed.cxx AliAnalysisEtReconstructedPhos.cxx AliAnalysisEtReconstructedEmcal.cxx AliAnalysisTaskTransverseEnergy.cxx AliAnalysisEmEtMonteCarlo.cxx AliAnalysisEmEtReconstructed.cxx AliAnalysisTaskTotEt.cxx");
+  if(runCompiledVersion){
+    plugin->SetAdditionalLibs("libPHOSUtils.so libTender.so libTenderSupplies.so libPWGTools.so libPWGEMCAL.so badchannels.root libPWGLFtotEt.so corrections.root calocorrections.root ConfigEtMonteCarlo.C ConfigEtReconstructed.C");
+  }
+  else{
+    plugin->SetAnalysisSource("AliAnalysisEtCuts.cxx AliAnalysisHadEtCorrections.cxx AliAnalysisEtCommon.cxx AliAnalysisEtSelector.cxx AliAnalysisEtSelectorPhos.cxx AliAnalysisEtSelectorEmcal.cxx AliAnalysisEtTrackMatchCorrections.cxx AliAnalysisEtRecEffCorrection.cxx AliAnalysisEt.cxx AliAnalysisEtMonteCarlo.cxx AliAnalysisEtMonteCarloPhos.cxx AliAnalysisEtMonteCarloEmcal.cxx AliAnalysisEtReconstructed.cxx AliAnalysisEtReconstructedPhos.cxx AliAnalysisEtReconstructedEmcal.cxx AliAnalysisTaskTransverseEnergy.cxx AliAnalysisEmEtMonteCarlo.cxx AliAnalysisEmEtReconstructed.cxx AliAnalysisTaskTotEt.cxx");
   //plugin->SetAnalysisSource("AliAnalysisEtCuts.cxx AliAnalysisHadEtCorrections.cxx AliAnalysisEtCommon.cxx AliAnalysisEtSelector.cxx AliAnalysisEtSelectorPhos.cxx AliAnalysisEt.cxx AliAnalysisEtMonteCarlo.cxx AliAnalysisEtMonteCarloPhos.cxx AliAnalysisEtMonteCarloEmcal.cxx AliAnalysisEtReconstructed.cxx AliAnalysisEtReconstructedPhos.cxx AliAnalysisEtReconstructedEmcal.cxx AliAnalysisTaskTransverseEnergy.cxx AliAnalysisTaskTotEt.cxx");
   // Declare all libraries (other than the default ones for the framework. These will be
   // loaded by the generated analysis macro. Add all extra files (task .cxx/.h) here.
-  plugin->SetAdditionalLibs("libPHOSUtils.so AliAnalysisEtCuts.h AliAnalysisEt.h AliAnalysisEtMonteCarlo.h AliAnalysisEtMonteCarloPhos.h AliAnalysisEtMonteCarloEmcal.h AliAnalysisEtReconstructed.h AliAnalysisEtReconstructedPhos.h AliAnalysisEtReconstructedEmcal.h AliAnalysisTaskTotEt.h AliAnalysisEtCuts.cxx AliAnalysisEt.cxx AliAnalysisEtMonteCarlo.cxx AliAnalysisEtMonteCarloPhos.cxx AliAnalysisEtMonteCarloEmcal.cxx AliAnalysisEtReconstructed.cxx AliAnalysisEtReconstructedPhos.cxx AliAnalysisEtReconstructedEmcal.cxx AliAnalysisTaskTotEt.cxx  AliAnalysisEtCommon.cxx AliAnalysisEtSelector.cxx AliAnalysisEtSelectorPhos.cxx AliAnalysisEtSelectorEmcal.cxx  AliAnalysisEtCommon.h AliAnalysisHadEtCorrections.h AliAnalysisHadEtCorrections.cxx AliAnalysisTaskTransverseEnergy.h AliAnalysisTaskTransverseEnergy.cxx AliAnalysisEmEtMonteCarlo.cxx AliAnalysisEmEtReconstructed.cxx AliAnalysisEmEtMonteCarlo.h AliAnalysisEmEtReconstructed.h AliAnalysisEtSelector.h AliAnalysisEtSelectorPhos.h AliAnalysisEtSelectorEmcal.h ConfigEtMonteCarlo.C ConfigEtReconstructed.C corrections.root badchannels.root libTENDER.so libTENDERSupplies.so");
-  plugin->SetExecutableCommand("aliroot -b -q");
+    plugin->SetAdditionalLibs("libPHOSUtils.so libTender.so libTenderSupplies.so libPWGTools.so libPWGEMCAL.so AliAnalysisEtCuts.cxx AliAnalysisEtCuts.h AliAnalysisHadEtCorrections.cxx AliAnalysisHadEtCorrections.h AliAnalysisEtCommon.cxx AliAnalysisEtCommon.h AliAnalysisEtSelector.cxx AliAnalysisEtSelector.h AliAnalysisEtSelectorPhos.cxx AliAnalysisEtSelectorPhos.h AliAnalysisEtSelectorEmcal.cxx AliAnalysisEtSelectorEmcal.h AliAnalysisEtTrackMatchCorrections.cxx AliAnalysisEtTrackMatchCorrections.h AliAnalysisEtRecEffCorrection.cxx AliAnalysisEtRecEffCorrection.h AliAnalysisEt.cxx AliAnalysisEt.h AliAnalysisEtMonteCarlo.cxx AliAnalysisEtMonteCarlo.h AliAnalysisEtMonteCarloPhos.cxx AliAnalysisEtMonteCarloPhos.h AliAnalysisEtMonteCarloEmcal.cxx AliAnalysisEtMonteCarloEmcal.h AliAnalysisEtReconstructed.cxx AliAnalysisEtReconstructed.h AliAnalysisEtReconstructedPhos.cxx AliAnalysisEtReconstructedPhos.h AliAnalysisEtReconstructedEmcal.cxx AliAnalysisEtReconstructedEmcal.h AliAnalysisTaskTransverseEnergy.cxx AliAnalysisTaskTransverseEnergy.h AliAnalysisEmEtMonteCarlo.cxx AliAnalysisEmEtMonteCarlo.h AliAnalysisEmEtReconstructed.cxx AliAnalysisEmEtReconstructed.h AliAnalysisTaskTotEt.cxx AliAnalysisTaskTotEt.h badchannels.root corrections.root calocorrections.root ConfigEtMonteCarlo.C ConfigEtReconstructed.C");
+  }
+    plugin->SetExecutableCommand("aliroot -b -q");
   // add extra include files/path
   plugin->AddIncludePath("-I. -I$ALICE_ROOT/EMCAL -I$ALICE_ROOT/ANALYSIS");
 
@@ -69,13 +249,13 @@ AliAnalysisGrid* CreateAlienHandlerCaloEtSim(TString outputDir, TString outputNa
   plugin->SetAnalysisMacro("DavidEtAnalysis.C");
   // Optionally set maximum number of input files/subjob (default 100, put 0 to ignore). The optimum for an analysis
   // is correlated with the run time - count few hours TTL per job, not minutes !
-  plugin->SetSplitMaxInputFileNumber(100);
+  plugin->SetSplitMaxInputFileNumber(50);
   // Optionally set number of failed jobs that will trigger killing waiting sub-jobs.
-  plugin->SetMaxInitFailed(5);
+  //plugin->SetMaxInitFailed(50);
   // Optionally resubmit threshold.
   //plugin->SetMasterResubmitThreshold(90);
   // Optionally set time to live (default 30000 sec)
-  plugin->SetTTL(20000);
+  plugin->SetTTL(30000);
   // Optionally set input format (default xml-single)
   plugin->SetInputFormat("xml-single");
   // Optionally modify the name of the generated JDL (default analysis.jdl)
@@ -85,5 +265,8 @@ AliAnalysisGrid* CreateAlienHandlerCaloEtSim(TString outputDir, TString outputNa
   // Optionally modify split mode (default 'se')    
   plugin->SetSplitMode("se");
 
+
+  plugin->SetMergeViaJDL();
+
   return plugin;
 }