From d8030ada1f386e91d19376c200a78d646b5486f6 Mon Sep 17 00:00:00 2001
From: Edward Moyse <edward.moyse@cern.ch>
Date: Thu, 9 Jul 2020 18:49:33 +0000
Subject: [PATCH] Add (some) missing configuration now MuonInsideOutTool has
 private sub-tools. Was causing ctest to fail.

---
 .../MuonConfig/python/MuonReconstructionConfig.py  |  5 ++++-
 .../MuonConfig/python/MuonSegmentFindingConfig.py  |  5 ++++-
 .../MuonConfig/python/MuonTrackBuildingConfig.py   |  5 ++++-
 .../python/MuonCombinedRecToolsConfig.py           | 14 +++++++++++++-
 .../python/MuonCombinedReconstructionConfig.py     |  5 ++++-
 5 files changed, 29 insertions(+), 5 deletions(-)

diff --git a/MuonSpectrometer/MuonConfig/python/MuonReconstructionConfig.py b/MuonSpectrometer/MuonConfig/python/MuonReconstructionConfig.py
index aba689e3c1f..25fb367cb01 100644
--- a/MuonSpectrometer/MuonConfig/python/MuonReconstructionConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/MuonReconstructionConfig.py
@@ -66,4 +66,7 @@ if __name__=="__main__":
     f.close()
     
     if args.run:
-        cfg.run(20)
+        sc = cfg.run(20)
+        if not sc.isSuccess():
+            import sys
+            sys.exit("Execution failed")
diff --git a/MuonSpectrometer/MuonConfig/python/MuonSegmentFindingConfig.py b/MuonSpectrometer/MuonConfig/python/MuonSegmentFindingConfig.py
index 1b928fc2a78..b19192958cf 100644
--- a/MuonSpectrometer/MuonConfig/python/MuonSegmentFindingConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/MuonSegmentFindingConfig.py
@@ -747,5 +747,8 @@ if __name__=="__main__":
     f.close()
 
     if args.run:
-        cfg.run(20)
+        sc = cfg.run(20)
+        if not sc.isSuccess():
+            import sys
+            sys.exit("Execution failed")
     
diff --git a/MuonSpectrometer/MuonConfig/python/MuonTrackBuildingConfig.py b/MuonSpectrometer/MuonConfig/python/MuonTrackBuildingConfig.py
index 4dc77171ca1..04fdddd8b1a 100644
--- a/MuonSpectrometer/MuonConfig/python/MuonTrackBuildingConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/MuonTrackBuildingConfig.py
@@ -560,5 +560,8 @@ if __name__=="__main__":
     f.close()
     
     if args.run:
-        cfg.run(20)
+        sc = cfg.run(20)
+        if not sc.isSuccess():
+            import sys
+            sys.exit("Execution failed")
         
diff --git a/Reconstruction/MuonIdentification/MuonCombinedConfig/python/MuonCombinedRecToolsConfig.py b/Reconstruction/MuonIdentification/MuonCombinedConfig/python/MuonCombinedRecToolsConfig.py
index 4789539dc43..5212352b1eb 100644
--- a/Reconstruction/MuonIdentification/MuonCombinedConfig/python/MuonCombinedRecToolsConfig.py
+++ b/Reconstruction/MuonIdentification/MuonCombinedConfig/python/MuonCombinedRecToolsConfig.py
@@ -866,6 +866,15 @@ def MuonInsideOutRecoToolCfg(flags, name="MuonInsideOutRecoTool", **kwargs ):
     kwargs.setdefault("TrackSummaryTool", acc.getPrimary())
     result.merge(acc)
 
+    acc = CombinedMuonTrackBuilderCfg(flags)
+    kwargs.setdefault("MuonTrackBuilder", acc.getPrimary())
+    result.merge(acc)
+
+    from MuonConfig.MuonRecToolsConfig import MuonAmbiProcessorCfg
+    acc = MuonAmbiProcessorCfg(flags)
+    kwargs.setdefault("TrackAmbiguityProcessor", acc.getPrimary())
+    result.merge(acc)
+
     tool = CompFactory.MuonCombined.MuonInsideOutRecoTool(name, **kwargs)
     result.setPrivateTools(tool)
     return result
@@ -893,11 +902,12 @@ def MuonSegmentSelectionToolCfg(flags, name="MuonSegmentSelectionTool", **kwargs
       kwargs.setdefault("GoodADCFractionCut",  0.5 )
       kwargs.setdefault("MinADCPerSegmentCut", 100 )
     result = ComponentAccumulator()
+    # kwargs.setdefault("Printer", MuonEDMPrinterTool(flags) ) # FIXME - needs property added.
+
     result.setPrivateTools(CompFactory.Muon.MuonSegmentSelectionTool(name, **kwargs))
     return result
 
 def MuonLayerAmbiguitySolverToolCfg(flags, name="MuonLayerAmbiguitySolverTool", **kwargs):
-    # Won't explicitly configure MuonEDMPrinterTool
     result = MuonSegmentSelectionToolCfg(flags)
     segment_selection_tool = result.popPrivateTools()
     kwargs.setdefault("MuonSegmentSelectionTool",segment_selection_tool)
@@ -917,6 +927,8 @@ def MuonLayerAmbiguitySolverToolCfg(flags, name="MuonLayerAmbiguitySolverTool",
     acc.addPublicTool(muon_segment_track_builder)
     result.merge(acc)
 
+    kwargs.setdefault("MuonEDMPrinterTool", MuonEDMPrinterTool(flags) ) 
+
     result.setPrivateTools(CompFactory.Muon.MuonLayerAmbiguitySolverTool(name, **kwargs))
     
     return result
diff --git a/Reconstruction/MuonIdentification/MuonCombinedConfig/python/MuonCombinedReconstructionConfig.py b/Reconstruction/MuonIdentification/MuonCombinedConfig/python/MuonCombinedReconstructionConfig.py
index 02328290744..4533997e046 100644
--- a/Reconstruction/MuonIdentification/MuonCombinedConfig/python/MuonCombinedReconstructionConfig.py
+++ b/Reconstruction/MuonIdentification/MuonCombinedConfig/python/MuonCombinedReconstructionConfig.py
@@ -398,5 +398,8 @@ if __name__=="__main__":
     # f.close()
     
     if args.run:
-        cfg.run(20)
+        sc = cfg.run(20)
+        if not sc.isSuccess():
+            import sys
+            sys.exit("Execution failed")
         
-- 
GitLab