From 645dbbd836c89a58c59002a3a5ddaf178a46df82 Mon Sep 17 00:00:00 2001
From: Tadej Novak <tadej.novak@cern.ch>
Date: Fri, 21 Feb 2020 13:02:25 +0100
Subject: [PATCH] Fix HepMcParticleLink scheduling issue for overlay jobs

---
 .../PixelDigitization/python/PixelDigitizationConfigNew.py     | 3 +++
 .../SCT_Digitization/python/SCT_DigitizationConfigNew.py       | 3 +++
 .../TRT_Digitization/python/TRT_DigitizationConfigNew.py       | 3 +++
 MuonSpectrometer/MuonConfig/python/CSC_DigitizationConfig.py   | 3 +++
 MuonSpectrometer/MuonConfig/python/MDT_DigitizationConfig.py   | 3 +++
 MuonSpectrometer/MuonConfig/python/RPC_DigitizationConfig.py   | 3 +++
 MuonSpectrometer/MuonConfig/python/TGC_DigitizationConfig.py   | 3 +++
 .../Overlay/OverlayConfiguration/python/OverlayConfigFlags.py  | 2 ++
 8 files changed, 23 insertions(+)

diff --git a/InnerDetector/InDetDigitization/PixelDigitization/python/PixelDigitizationConfigNew.py b/InnerDetector/InDetDigitization/PixelDigitization/python/PixelDigitizationConfigNew.py
index 945f1a4f20f6..d7b11270df0b 100644
--- a/InnerDetector/InDetDigitization/PixelDigitization/python/PixelDigitizationConfigNew.py
+++ b/InnerDetector/InDetDigitization/PixelDigitization/python/PixelDigitizationConfigNew.py
@@ -292,6 +292,9 @@ def PixelOverlayDigitizationBasicCfg(flags, **kwargs):
     if flags.Concurrency.NumThreads > 0:
         kwargs.setdefault("Cardinality", flags.Concurrency.NumThreads)
 
+    # Set common overlay extra inputs
+    kwargs.setdefault("ExtraInputs", flags.Overlay.ExtraInputs)
+
     PixelDigitization = CompFactory.PixelDigitization
     acc.addEventAlgo(PixelDigitization(name="PixelOverlayDigitization", **kwargs))
     return acc
diff --git a/InnerDetector/InDetDigitization/SCT_Digitization/python/SCT_DigitizationConfigNew.py b/InnerDetector/InDetDigitization/SCT_Digitization/python/SCT_DigitizationConfigNew.py
index 8a5b7fe47448..7a92eaf373e8 100644
--- a/InnerDetector/InDetDigitization/SCT_Digitization/python/SCT_DigitizationConfigNew.py
+++ b/InnerDetector/InDetDigitization/SCT_Digitization/python/SCT_DigitizationConfigNew.py
@@ -267,6 +267,9 @@ def SCT_OverlayDigitizationBasicCfg(flags, **kwargs):
     if flags.Concurrency.NumThreads > 0:
         kwargs.setdefault('Cardinality', flags.Concurrency.NumThreads)
 
+    # Set common overlay extra inputs
+    kwargs.setdefault("ExtraInputs", flags.Overlay.ExtraInputs)
+
     SCT_Digitization = CompFactory.SCT_Digitization
     acc.addEventAlgo(SCT_Digitization(name="SCT_OverlayDigitization", **kwargs))
     return acc
diff --git a/InnerDetector/InDetDigitization/TRT_Digitization/python/TRT_DigitizationConfigNew.py b/InnerDetector/InDetDigitization/TRT_Digitization/python/TRT_DigitizationConfigNew.py
index 7bc0e54b04db..ce05e45bdc97 100644
--- a/InnerDetector/InDetDigitization/TRT_Digitization/python/TRT_DigitizationConfigNew.py
+++ b/InnerDetector/InDetDigitization/TRT_Digitization/python/TRT_DigitizationConfigNew.py
@@ -157,6 +157,9 @@ def TRT_OverlayDigitizationBasicCfg(flags, **kwargs):
     if flags.Concurrency.NumThreads > 0:
         kwargs.setdefault("Cardinality", flags.Concurrency.NumThreads)
 
+    # Set common overlay extra inputs
+    kwargs.setdefault("ExtraInputs", flags.Overlay.ExtraInputs)
+
     TRTDigitization = CompFactory.TRTDigitization
     acc.addEventAlgo(TRTDigitization(name="TRT_OverlayDigitization", **kwargs))
     return acc
diff --git a/MuonSpectrometer/MuonConfig/python/CSC_DigitizationConfig.py b/MuonSpectrometer/MuonConfig/python/CSC_DigitizationConfig.py
index 86ebbc950464..fde64aeb334c 100644
--- a/MuonSpectrometer/MuonConfig/python/CSC_DigitizationConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/CSC_DigitizationConfig.py
@@ -108,6 +108,9 @@ def CSC_OverlayDigitizationBasicCfg(flags, **kwargs):
     if flags.Concurrency.NumThreads > 0:
         kwargs.setdefault("Cardinality", flags.Concurrency.NumThreads)
 
+    # Set common overlay extra inputs
+    kwargs.setdefault("ExtraInputs", flags.Overlay.ExtraInputs)
+
     CscDigitBuilder = CompFactory.CscDigitBuilder
     acc.addEventAlgo(CscDigitBuilder(name="CscOverlayDigitBuilder", **kwargs))
     return acc
diff --git a/MuonSpectrometer/MuonConfig/python/MDT_DigitizationConfig.py b/MuonSpectrometer/MuonConfig/python/MDT_DigitizationConfig.py
index 3c2875333e12..d96a17968c7c 100644
--- a/MuonSpectrometer/MuonConfig/python/MDT_DigitizationConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/MDT_DigitizationConfig.py
@@ -117,6 +117,9 @@ def MDT_OverlayDigitizationBasicCfg(flags, **kwargs):
     if flags.Concurrency.NumThreads > 0:
        kwargs.setdefault("Cardinality", flags.Concurrency.NumThreads)
 
+    # Set common overlay extra inputs
+    kwargs.setdefault("ExtraInputs", flags.Overlay.ExtraInputs)
+
     MDT_Digitizer = CompFactory.MDT_Digitizer
     acc.addEventAlgo(MDT_Digitizer(name="MDT_OverlayDigitizer", **kwargs))
     return acc
diff --git a/MuonSpectrometer/MuonConfig/python/RPC_DigitizationConfig.py b/MuonSpectrometer/MuonConfig/python/RPC_DigitizationConfig.py
index e941cfcf3b7f..6dc10969574c 100644
--- a/MuonSpectrometer/MuonConfig/python/RPC_DigitizationConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/RPC_DigitizationConfig.py
@@ -131,6 +131,9 @@ def RPC_OverlayDigitizationBasicCfg(flags, **kwargs):
     if flags.Concurrency.NumThreads > 0:
         kwargs.setdefault("Cardinality", flags.Concurrency.NumThreads)
 
+    # Set common overlay extra inputs
+    kwargs.setdefault("ExtraInputs", flags.Overlay.ExtraInputs)
+
     RPC_Digitizer = CompFactory.RPC_Digitizer
     acc.addEventAlgo(RPC_Digitizer(name="RPC_OverlayDigitizer", **kwargs))
     return acc
diff --git a/MuonSpectrometer/MuonConfig/python/TGC_DigitizationConfig.py b/MuonSpectrometer/MuonConfig/python/TGC_DigitizationConfig.py
index dcf3178a509d..6c938eeadb35 100644
--- a/MuonSpectrometer/MuonConfig/python/TGC_DigitizationConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/TGC_DigitizationConfig.py
@@ -90,6 +90,9 @@ def TGC_OverlayDigitizationBasicCfg(flags, **kwargs):
     if flags.Concurrency.NumThreads > 0:
         kwargs.setdefault("Cardinality", flags.Concurrency.NumThreads)
 
+    # Set common overlay extra inputs
+    kwargs.setdefault("ExtraInputs", flags.Overlay.ExtraInputs)
+
     TGCDigitizer = CompFactory.TGCDigitizer
     acc.addEventAlgo(TGCDigitizer(name="TGC_OverlayDigitizer", **kwargs))
     return acc
diff --git a/Simulation/Overlay/OverlayConfiguration/python/OverlayConfigFlags.py b/Simulation/Overlay/OverlayConfiguration/python/OverlayConfigFlags.py
index 510c51b16546..9d525da325a3 100644
--- a/Simulation/Overlay/OverlayConfiguration/python/OverlayConfigFlags.py
+++ b/Simulation/Overlay/OverlayConfiguration/python/OverlayConfigFlags.py
@@ -15,6 +15,8 @@ def createOverlayConfigFlags():
     flags.addFlag("Overlay.BkgPrefix", "Bkg_")
     # Overlay signal StoreGate key prefix
     flags.addFlag("Overlay.SigPrefix", "Sig_")
+    # Overlay extra input dependencies
+    flags.addFlag("Overlay.ExtraInputs", [("McEventCollection", "TruthEvent")])
     # Name of MC EvtStore to overlay
     flags.addFlag("Overlay.Legacy.EventStore", "BkgEvent_0_SG")
     return flags
-- 
GitLab