From edd2a6fdd29cd3ed56782465e885e128bc4639ee Mon Sep 17 00:00:00 2001
From: Tadej Novak <tadej.novak@cern.ch>
Date: Mon, 13 Sep 2021 16:35:18 +0200
Subject: [PATCH] Add sanity checks for initial/final bunch crossing arguments

---
 Simulation/Digitization/python/DigitizationConfigFlags.py | 4 ++++
 Simulation/SimuJobTransforms/share/skeleton.HITtoRDO.py   | 2 ++
 2 files changed, 6 insertions(+)

diff --git a/Simulation/Digitization/python/DigitizationConfigFlags.py b/Simulation/Digitization/python/DigitizationConfigFlags.py
index 1a1c6fd1c329..c4ae8e92872b 100644
--- a/Simulation/Digitization/python/DigitizationConfigFlags.py
+++ b/Simulation/Digitization/python/DigitizationConfigFlags.py
@@ -224,6 +224,10 @@ def pileupRunArgsToFlags(runArgs, flags):
     if hasattr(runArgs, "pileupFinalBunch"):
         flags.Digitization.PU.FinalBunchCrossing = runArgs.pileupFinalBunch
 
+    # sanity check
+    if flags.Digitization.PU.InitialBunchCrossing > flags.Digitization.PU.FinalBunchCrossing:
+        raise ValueError("Initial bunch crossing should not be larger than the final one")
+
     if hasattr(runArgs, "inputLowPtMinbiasHitsFile"):
         from Digitization.PileUpUtils import generateBackgroundInputCollections
         flags.Digitization.PU.LowPtMinBiasInputCols = \
diff --git a/Simulation/SimuJobTransforms/share/skeleton.HITtoRDO.py b/Simulation/SimuJobTransforms/share/skeleton.HITtoRDO.py
index cabbb553f0b1..e1fa1d1312b9 100644
--- a/Simulation/SimuJobTransforms/share/skeleton.HITtoRDO.py
+++ b/Simulation/SimuJobTransforms/share/skeleton.HITtoRDO.py
@@ -121,6 +121,8 @@ if hasattr(runArgs,"digiSteeringConf"):
         digilog.info( "Changing digitizationFlags.digiSteeringConf from %s to %s", digitizationFlags.digiSteeringConf.get_Value(),runArgs.digiSteeringConf)
         digitizationFlags.digiSteeringConf=runArgs.digiSteeringConf+"PileUpToolsAlg"
         PileUpConfigOverride=True
+if digitizationFlags.initialBunchCrossing > digitizationFlags.finalBunchCrossing:
+    raise ValueError( "Initial bunch crossing should not be larger than the final one" )
 if PileUpConfigOverride:
     digilog.info( "NB Some pile-up (re-)configuration was done on the command-line.")
 del PileUpConfigOverride
-- 
GitLab