From: cholm Date: Tue, 6 Nov 2012 15:35:02 +0000 (+0000) Subject: Moved MC option to Helper - as common option. TrainSetup does X-Git-Url: http://git.uio.no/git/?p=u%2Fmrichter%2FAliRoot.git;a=commitdiff_plain;h=a54cc77b9827cf89c9afc0abad75b331f208d0ae Moved MC option to Helper - as common option. TrainSetup does not define this option, so that we only specify it once. Execute AliAnalysis::SetDropToShell(false) in interpreter - until patch is applied. --- diff --git a/PWGLF/FORWARD/trains/GridHelper.C b/PWGLF/FORWARD/trains/GridHelper.C index 194d149dc13..a84bf2ac9b4 100644 --- a/PWGLF/FORWARD/trains/GridHelper.C +++ b/PWGLF/FORWARD/trains/GridHelper.C @@ -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 --------------------------------------- diff --git a/PWGLF/FORWARD/trains/Helper.C b/PWGLF/FORWARD/trains/Helper.C index 94e32c919bb..4111bc83eff 100644 --- a/PWGLF/FORWARD/trains/Helper.C +++ b/PWGLF/FORWARD/trains/Helper.C @@ -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() diff --git a/PWGLF/FORWARD/trains/LiteHelper.C b/PWGLF/FORWARD/trains/LiteHelper.C index 0814da88d1d..535141198ea 100644 --- a/PWGLF/FORWARD/trains/LiteHelper.C +++ b/PWGLF/FORWARD/trains/LiteHelper.C @@ -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"); diff --git a/PWGLF/FORWARD/trains/LocalHelper.C b/PWGLF/FORWARD/trains/LocalHelper.C index c5fa245f149..25e5a591a19 100644 --- a/PWGLF/FORWARD/trains/LocalHelper.C +++ b/PWGLF/FORWARD/trains/LocalHelper.C @@ -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"); } diff --git a/PWGLF/FORWARD/trains/MakeMCCorrTrain.C b/PWGLF/FORWARD/trains/MakeMCCorrTrain.C index aca017530a1..f24c47a43b5 100644 --- a/PWGLF/FORWARD/trains/MakeMCCorrTrain.C +++ b/PWGLF/FORWARD/trains/MakeMCCorrTrain.C @@ -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 */ diff --git a/PWGLF/FORWARD/trains/PluginHelper.C b/PWGLF/FORWARD/trains/PluginHelper.C index 69a92bd6982..24461c7ef50 100644 --- a/PWGLF/FORWARD/trains/PluginHelper.C +++ b/PWGLF/FORWARD/trains/PluginHelper.C @@ -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 diff --git a/PWGLF/FORWARD/trains/TrainSetup.C b/PWGLF/FORWARD/trains/TrainSetup.C index 74b076d9192..dc1c3ed4543 100644 --- a/PWGLF/FORWARD/trains/TrainSetup.C +++ b/PWGLF/FORWARD/trains/TrainSetup.C @@ -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);