Moved MC option to Helper - as common option. TrainSetup does
authorcholm <cholm@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 6 Nov 2012 15:35:02 +0000 (15:35 +0000)
committercholm <cholm@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 6 Nov 2012 15:35:02 +0000 (15:35 +0000)
not define this option, so that we only specify it once.

Execute AliAnalysis::SetDropToShell(false) in interpreter - until
patch is applied.

PWGLF/FORWARD/trains/GridHelper.C
PWGLF/FORWARD/trains/Helper.C
PWGLF/FORWARD/trains/LiteHelper.C
PWGLF/FORWARD/trains/LocalHelper.C
PWGLF/FORWARD/trains/MakeMCCorrTrain.C
PWGLF/FORWARD/trains/PluginHelper.C
PWGLF/FORWARD/trains/TrainSetup.C

index 194d149..a84bf2a 100644 (file)
@@ -90,7 +90,6 @@ struct GridHelper : public PluginHelper
     fOptions.Add("pattern","GLOB",   "File/directory name pattern");
     fOptions.Add("alien",  "VERSION","Alien API version",              "V1.1x");
     fOptions.Add("concat", "Concatenate all runs");
-    fOptions.Add("mc",     "Assume MC input");
   }
   GridHelper(const GridHelper& o)
     : PluginHelper(o), fRuns()
@@ -209,8 +208,12 @@ struct GridHelper : public PluginHelper
       Info("GridHelper::RegisterRuns", "Reading runs from %s", s.Data());
       std::ifstream in(s.Data());
       if (!in) { 
-       Warning("GridHelper::RegisterRuns", "Failed to open %s", s.Data());
-       continue;
+       s.Prepend("../");
+       in.open(s.Data());
+       if (!in) {
+         Warning("GridHelper::RegisterRuns", "Failed to open %s", s.Data());
+         continue;
+       }
       }
       while (!in.eof()) { 
        Int_t r;
@@ -276,7 +279,7 @@ struct GridHelper : public PluginHelper
     fHandler->SetRunMode(operation);
 
     // --- Add the run numbers ---------------------------------------
-    fHandler->SetRunPrefix(mgr->GetMCtruthEventHandler() ? "" : "000");
+    fHandler->SetRunPrefix(fOptions.Has("mc") ? "%d" : "%09d");
     Int_t nRun = RegisterRuns();
 
     // --- Do not test copying ---------------------------------------
index 94e32c9..4111bc8 100644 (file)
@@ -209,6 +209,12 @@ struct Helper
     ret = DeduceType(fUrl.GetFile());
     return ret;
   }
+  /** 
+   * Check if the MC option was set
+   * 
+   * @return true if the MC option was given 
+   */
+  virtual Bool_t IsMC() const { return fOptions.Has("mc"); }
   /** 
    * The file part of tehe output URL - overwritten by derived classes. 
    * 
@@ -369,6 +375,7 @@ protected:
   Helper(const TUrl& url, Int_t verbose) 
     : fUrl(url), fOptions(), fVerbose(verbose)
   {
+    fOptions.Add("mc", "Assume simulation input");
   }
 
   virtual Bool_t ParseOptions()
index 0814da8..5351411 100644 (file)
@@ -81,7 +81,6 @@ struct LiteHelper : public ProofHelper
   LiteHelper(const TUrl& url, Int_t verbose)
     : ProofHelper(url, verbose), fChain(0)
   {
-    fOptions.Add("mc",       "Scan for MC files (galice,kinematics,trackrefs)");
     fOptions.Add("recursive","Recursive scan");
     fOptions.Add("pattern",  "GLOB", "File name pattern", "*.root");
     fOptions.Remove("dsname");
index c5fa245..25e5a59 100644 (file)
@@ -73,7 +73,6 @@ struct LocalHelper : public Helper
   LocalHelper(const TUrl& url, Int_t verbose)
     : Helper(url, verbose), fChain(0)
   {
-    fOptions.Add("mc",       "Scan for MC files (galice,kinematics,trackrefs)");
     fOptions.Add("recursive","Scan recursive");
     fOptions.Add("pattern",  "GLOB", "File name pattern", "*.root");
   }
index aca0175..f24c47a 100644 (file)
@@ -90,6 +90,11 @@ protected:
     // --- that we get offline+(A,C,E) events too --------------------
     // ps->SetSkipTriggerClassSelection(true);
   }
+  //__________________________________________________________________
+  /** 
+   * @return 0 - AOD disabled 
+   */
+  virtual AliVEventHandler* CreateOutputHandler(UShort_t) { return 0; }
   /** 
    * Do not the centrality selection
    */
index 69a92bd..24461c7 100644 (file)
@@ -216,6 +216,9 @@ struct PluginHelper : public Helper
 
     fHandler->SetROOTVersion(root);
     fHandler->SetAliROOTVersion(aliroot);
+    // Execute through interpreter until patch is applied
+    gROOT->ProcessLine(Form("((AliAnalysisAlien*)%p)->SetDropToShell(false);",
+                           fHandler));
     if (fOptions.Has("mode"))
       fHandler->SetAliRootMode(fOptions.Get("mode"));
     else 
index 74b076d..dc1c3ed 100644 (file)
@@ -70,7 +70,6 @@ struct TrainSetup
   {
     fOptions.Add("help", "Show help");
     fOptions.Add("date", "YYYY-MM-DD HH:MM", "Set date", "now");
-    fOptions.Add("mc", "Assume MC input");
     fOptions.Add("bare-ps", "Use bare physics selection w/o task");
     fOptions.Add("verbose", "LEVEL", "Set verbosity level", 0);
     fOptions.Add("url", "URL", "Job location & input URL");
@@ -78,6 +77,7 @@ struct TrainSetup
     fOptions.Add("events", "N", "Number of events to analyse", -1);
     fOptions.Add("type", "ESD|AOD|USER", "Input data stype");
     fOptions.Add("setup", "Only do the setup");
+    fOptions.Add("branches", "Load only requested branches");
     fEscapedName = EscapeName(fName, "");
   }
   TrainSetup(const TrainSetup& o) 
@@ -116,7 +116,6 @@ struct TrainSetup
     // --- Create the helper -----------------------------------------
     TString  url     = fOptions.Get("url");
     Int_t    verbose = fOptions.AsInt("verbose");
-    Bool_t   mc      = fOptions.AsBool("mc");
 
     fHelper = Helper::Create(url.Data(), verbose);
     if (!fHelper) { 
@@ -126,6 +125,7 @@ struct TrainSetup
 
     // --- Check the type, if possible -------------------------------
     UShort_t type    = fHelper->InputType();
+    Bool_t   mc      = fHelper->IsMC();
     if (fOptions.Has("type")) { 
       const TString& it = fOptions.Get("type");
       if      (it.EqualTo("ESD",TString::kIgnoreCase)) type = Helper::kESD;
@@ -159,6 +159,7 @@ struct TrainSetup
     // In test mode, collect system information on every event 
     // if (oper == kTest)  mgr->SetNSysInfo(1); 
     if (verbose  >  0)      mgr->SetDebugLevel(verbose);
+    mgr->SetAutoBranchLoading(!fOptions.Has("branches"));
     if (fHelper->Mode() == Helper::kLocal) 
       mgr->SetUseProgressBar(kTRUE, 100);
    
@@ -272,8 +273,8 @@ struct TrainSetup
       status = true;
     }
     catch (TString& e) {
-      if (status) Warning("Run", e);
-      else       Error("Run", e);
+      if (status) Warning("Run", "%s", e.Data());
+      else       Error("Run", "%s", e.Data());
     }
     if (fOptions.Has("date")) {
       TString escaped = EscapeName(fName, "");
@@ -409,7 +410,7 @@ struct TrainSetup
       ret = train->Run();
     }
     catch (TString& e) { 
-      if (!e.IsNull()) Error("Main", e);
+      if (!e.IsNull()) Error("Main", "%s", e.Data());
     }
     if (gApplication && asProg) {
       gSystem->Sleep(3);