From b554bf8de68b52b32d3206d051ba1b6dea15e71e Mon Sep 17 00:00:00 2001
From: Tomasz Bold <tomasz.bold@gmail.com>
Date: Thu, 10 Dec 2020 19:46:09 +0000
Subject: [PATCH] HLT menu writing in the Utility TriggerMenyRW

---
 .../TrigConfIO/utils/TriggerMenuRW.cxx            | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/Trigger/TrigConfiguration/TrigConfIO/utils/TriggerMenuRW.cxx b/Trigger/TrigConfiguration/TrigConfIO/utils/TriggerMenuRW.cxx
index c4eb23b80810..02843ecb1412 100644
--- a/Trigger/TrigConfiguration/TrigConfIO/utils/TriggerMenuRW.cxx
+++ b/Trigger/TrigConfiguration/TrigConfIO/utils/TriggerMenuRW.cxx
@@ -7,6 +7,7 @@
 
 #include "TrigConfIO/JsonFileLoader.h"
 #include "TrigConfIO/JsonFileWriter.h"
+#include "TrigConfIO/JsonFileWriterHLT.h"
 #include "TrigConfIO/TrigDBMenuLoader.h"
 #include "TrigConfIO/TrigDBJobOptionsLoader.h"
 #include "TrigConfIO/TrigDBL1PrescalesSetLoader.h"
@@ -170,15 +171,21 @@ namespace {
          filename += ".json";
          TrigConf::JsonFileLoader fileLoader;
          return fileLoader.saveFile(filename, ds); 
-      } else if ( cfg.writeFromDataStructure && kind=="L1Menu" ) {
+      } else if ( cfg.writeFromDataStructure ) {
          std::string filename = kind;
          if ( cfg.base != "" ) {
             filename += "_" + cfg.base;
          }
          filename += ".fromDS.json";
-         TrigConf::JsonFileWriter fileWriter;
-         const auto & l1menu = dynamic_cast<const TrigConf::L1Menu &>(ds);
-         return fileWriter.writeJsonFile(filename, l1menu); 
+         if ( kind=="L1Menu" ) {
+            TrigConf::JsonFileWriter fileWriter;
+            const auto & l1menu = dynamic_cast<const TrigConf::L1Menu &>(ds);
+            return fileWriter.writeJsonFile(filename, l1menu); 
+         } else if ( kind == "HLTMenu") {
+            TrigConf::JsonFileWriterHLT fileWriter;
+            const auto & hltmenu = dynamic_cast<const TrigConf::HLTMenu &>(ds);
+            return fileWriter.writeJsonFile(filename, hltmenu);
+         }
       }
       return true;
    }
-- 
GitLab