From aa75043135feae2bcd8f017db8f257c973f8467e Mon Sep 17 00:00:00 2001
From: James Beacham <j.beacham@cern.ch>
Date: Wed, 3 Oct 2018 19:23:15 +0000
Subject: [PATCH] Merge branch 'sim/joboptions' into '21.0'

Add simple simulation job options to only run one subdetector at a time

See merge request atlas/athena!14661

(cherry picked from commit d4a1e6ea859a7484b1b3bf2352a840195a28ab03 [formerly 29f4eb1bb9e401011582ae00fc0ee682c68e1022])

3ba7f303 Add simple simulation job options to only run one subdetector at a time

Former-commit-id: a118bcb2909dda973468e6ae51f6236c75c420d3
---
 .../share/subdetectors/preInclude.CaloOnlyConfig.py          | 5 +++++
 .../share/subdetectors/preInclude.IDOnlyConfig.py            | 5 +++++
 .../share/subdetectors/preInclude.LArOnlyConfig.py           | 5 +++++
 .../share/subdetectors/preInclude.MuonOnlyConfig.py          | 5 +++++
 .../share/subdetectors/preInclude.PixelOnlyConfig.py         | 5 +++++
 .../share/subdetectors/preInclude.SCTOnlyConfig.py           | 5 +++++
 .../share/subdetectors/preInclude.TRTOnlyConfig.py           | 5 +++++
 .../share/subdetectors/preInclude.TileOnlyConfig.py          | 5 +++++
 8 files changed, 40 insertions(+)
 create mode 100644 Simulation/SimulationJobOptions/share/subdetectors/preInclude.CaloOnlyConfig.py
 create mode 100644 Simulation/SimulationJobOptions/share/subdetectors/preInclude.IDOnlyConfig.py
 create mode 100644 Simulation/SimulationJobOptions/share/subdetectors/preInclude.LArOnlyConfig.py
 create mode 100644 Simulation/SimulationJobOptions/share/subdetectors/preInclude.MuonOnlyConfig.py
 create mode 100644 Simulation/SimulationJobOptions/share/subdetectors/preInclude.PixelOnlyConfig.py
 create mode 100644 Simulation/SimulationJobOptions/share/subdetectors/preInclude.SCTOnlyConfig.py
 create mode 100644 Simulation/SimulationJobOptions/share/subdetectors/preInclude.TRTOnlyConfig.py
 create mode 100644 Simulation/SimulationJobOptions/share/subdetectors/preInclude.TileOnlyConfig.py

diff --git a/Simulation/SimulationJobOptions/share/subdetectors/preInclude.CaloOnlyConfig.py b/Simulation/SimulationJobOptions/share/subdetectors/preInclude.CaloOnlyConfig.py
new file mode 100644
index 00000000000..0c266906332
--- /dev/null
+++ b/Simulation/SimulationJobOptions/share/subdetectors/preInclude.CaloOnlyConfig.py
@@ -0,0 +1,5 @@
+if not 'DetFlags' in dir():
+    #if you configure one detflag, you're responsible for configuring them all!
+    from AthenaCommon.DetFlags import DetFlags
+    DetFlags.all_setOff()
+DetFlags.Calo_setOn()
diff --git a/Simulation/SimulationJobOptions/share/subdetectors/preInclude.IDOnlyConfig.py b/Simulation/SimulationJobOptions/share/subdetectors/preInclude.IDOnlyConfig.py
new file mode 100644
index 00000000000..91e3cf10304
--- /dev/null
+++ b/Simulation/SimulationJobOptions/share/subdetectors/preInclude.IDOnlyConfig.py
@@ -0,0 +1,5 @@
+if not 'DetFlags' in dir():
+    #if you configure one detflag, you're responsible for configuring them all!
+    from AthenaCommon.DetFlags import DetFlags
+    DetFlags.all_setOff()
+DetFlags.ID_setOn()
diff --git a/Simulation/SimulationJobOptions/share/subdetectors/preInclude.LArOnlyConfig.py b/Simulation/SimulationJobOptions/share/subdetectors/preInclude.LArOnlyConfig.py
new file mode 100644
index 00000000000..1d257db06d8
--- /dev/null
+++ b/Simulation/SimulationJobOptions/share/subdetectors/preInclude.LArOnlyConfig.py
@@ -0,0 +1,5 @@
+if not 'DetFlags' in dir():
+    #if you configure one detflag, you're responsible for configuring them all!
+    from AthenaCommon.DetFlags import DetFlags
+    DetFlags.all_setOff()
+DetFlags.LAr_setOn()
diff --git a/Simulation/SimulationJobOptions/share/subdetectors/preInclude.MuonOnlyConfig.py b/Simulation/SimulationJobOptions/share/subdetectors/preInclude.MuonOnlyConfig.py
new file mode 100644
index 00000000000..5f2018be304
--- /dev/null
+++ b/Simulation/SimulationJobOptions/share/subdetectors/preInclude.MuonOnlyConfig.py
@@ -0,0 +1,5 @@
+if not 'DetFlags' in dir():
+    #if you configure one detflag, you're responsible for configuring them all!
+    from AthenaCommon.DetFlags import DetFlags
+    DetFlags.all_setOff()
+DetFlags.Muon_setOn()
diff --git a/Simulation/SimulationJobOptions/share/subdetectors/preInclude.PixelOnlyConfig.py b/Simulation/SimulationJobOptions/share/subdetectors/preInclude.PixelOnlyConfig.py
new file mode 100644
index 00000000000..6788d4ab5a0
--- /dev/null
+++ b/Simulation/SimulationJobOptions/share/subdetectors/preInclude.PixelOnlyConfig.py
@@ -0,0 +1,5 @@
+if not 'DetFlags' in dir():
+    #if you configure one detflag, you're responsible for configuring them all!
+    from AthenaCommon.DetFlags import DetFlags
+    DetFlags.all_setOff()
+DetFlags.pixel_setOn()
diff --git a/Simulation/SimulationJobOptions/share/subdetectors/preInclude.SCTOnlyConfig.py b/Simulation/SimulationJobOptions/share/subdetectors/preInclude.SCTOnlyConfig.py
new file mode 100644
index 00000000000..03afed7791c
--- /dev/null
+++ b/Simulation/SimulationJobOptions/share/subdetectors/preInclude.SCTOnlyConfig.py
@@ -0,0 +1,5 @@
+if not 'DetFlags' in dir():
+    #if you configure one detflag, you're responsible for configuring them all!
+    from AthenaCommon.DetFlags import DetFlags
+    DetFlags.all_setOff()
+DetFlags.SCT_setOn()
diff --git a/Simulation/SimulationJobOptions/share/subdetectors/preInclude.TRTOnlyConfig.py b/Simulation/SimulationJobOptions/share/subdetectors/preInclude.TRTOnlyConfig.py
new file mode 100644
index 00000000000..998caae121a
--- /dev/null
+++ b/Simulation/SimulationJobOptions/share/subdetectors/preInclude.TRTOnlyConfig.py
@@ -0,0 +1,5 @@
+if not 'DetFlags' in dir():
+    #if you configure one detflag, you're responsible for configuring them all!
+    from AthenaCommon.DetFlags import DetFlags
+    DetFlags.all_setOff()
+DetFlags.TRT_setOn()
diff --git a/Simulation/SimulationJobOptions/share/subdetectors/preInclude.TileOnlyConfig.py b/Simulation/SimulationJobOptions/share/subdetectors/preInclude.TileOnlyConfig.py
new file mode 100644
index 00000000000..49f7b0d1ba6
--- /dev/null
+++ b/Simulation/SimulationJobOptions/share/subdetectors/preInclude.TileOnlyConfig.py
@@ -0,0 +1,5 @@
+if not 'DetFlags' in dir():
+    #if you configure one detflag, you're responsible for configuring them all!
+    from AthenaCommon.DetFlags import DetFlags
+    DetFlags.all_setOff()
+DetFlags.Tile_setOn()
-- 
GitLab