From 3a26c550332eb7da141be22e74fc71b3fa30c17a Mon Sep 17 00:00:00 2001
From: Sylvester Joosten <sjoosten@anl.gov>
Date: Thu, 12 Aug 2021 23:16:45 +0000
Subject: [PATCH] Add gems

---
 .gitlab-ci.yml                                   |  1 +
 benchmarks/full/options/full_reconstruction.py   | 11 +++++++++++
 .../options/imagingcluster_seeded_tracking.py    | 16 +++++++++++++---
 .../tracking/options/tracker_reconstruction.py   | 14 +++++++++++++-
 .../tracking/options/truth_seeded_tracking.py    | 16 +++++++++++++---
 5 files changed, 51 insertions(+), 7 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 778360b7..552e5565 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -3,6 +3,7 @@ image: eicweb.phy.anl.gov:4567/eic/juggler/juggler:$JUGGLER_TAG
 default:
   before_script:
     - source .local/bin/env.sh
+  interruptible: true
   artifacts:
     expire_in: 3 days
     paths:
diff --git a/benchmarks/full/options/full_reconstruction.py b/benchmarks/full/options/full_reconstruction.py
index ce2f2ff8..a4791272 100644
--- a/benchmarks/full/options/full_reconstruction.py
+++ b/benchmarks/full/options/full_reconstruction.py
@@ -99,6 +99,7 @@ sim_coll = [
     "HcalEndcapNHits",
     "TrackerEndcapHits",
     "TrackerBarrelHits",
+    "GEMTrackerEndcapHits",
     "VertexBarrelHits",
     "VertexEndcapHits",
     "DRICHHits"
@@ -447,6 +448,11 @@ vtx_ec_digi = TrackerDigi("vtx_ec_digi",
         outputHitCollection="VertexEndcapRawHits",
         timeResolution=8)
 
+gem_ec_digi = TrackerDigi("gem_ec_digi",
+        inputHitCollection="GEMTrackerEndcapHits",
+        outputHitCollection="GEMTrackerEndcapRawHits",
+        timeResolution=10)
+
 # Tracker and vertex reconstruction
 trk_b_reco = TrackerHitReconstruction("trk_b_reco",
         inputHitCollection = trk_b_digi.outputHitCollection,
@@ -464,6 +470,11 @@ vtx_ec_reco = TrackerHitReconstruction("vtx_ec_reco",
         inputHitCollection = vtx_ec_digi.outputHitCollection,
         outputHitCollection="VertexEndcapRecHits")
 
+gem_ec_reco = TrackerHitReconstruction("gem_ec_digi",
+        inputHitCollection=gem_ec_digi.outputHitCollection,
+        outputHitCollection="GEMTrackerEndcapRecHits",
+        timeResolution=10)
+
 # Hit Source linker
 sourcelinker = TrackerSourcesLinker("trk_srcslnkr",
         inputHitCollections = ["VertexBarrelRecHits", "TrackerBarrelRecHits"],
diff --git a/benchmarks/tracking/options/imagingcluster_seeded_tracking.py b/benchmarks/tracking/options/imagingcluster_seeded_tracking.py
index 9f691670..58faeb74 100644
--- a/benchmarks/tracking/options/imagingcluster_seeded_tracking.py
+++ b/benchmarks/tracking/options/imagingcluster_seeded_tracking.py
@@ -44,7 +44,8 @@ sim_colls = [
     "TrackerBarrelHits",
     "VertexBarrelHits",
     "VertexEndcapHits",
-    "EcalBarrelHits"
+    "EcalBarrelHits",
+    "GEMTrackerEndcapHits"
 ]
 podin = PodioInput("PodioReader", collections=sim_colls)
 podout = PodioOutput("out", filename=output_rec)
@@ -73,6 +74,11 @@ vtx_ec_digi = TrackerDigi("vtx_ec_digi",
         outputHitCollection="VertexEndcapRawHits",
         timeResolution=8)
 
+gem_ec_digi = TrackerDigi("gem_ec_digi",
+        inputHitCollection="GEMTrackerEndcapHits",
+        outputHitCollection="GEMTrackerEndcapRawHits",
+        timeResolution=10)
+
 # Tracker and vertex reconstruction
 trk_b_reco = TrackerReco("trk_b_reco",
         inputHitCollection = trk_b_digi.outputHitCollection,
@@ -90,6 +96,10 @@ vtx_ec_reco = TrackerReco("vtx_ec_reco",
         inputHitCollection = vtx_ec_digi.outputHitCollection,
         outputHitCollection="VertexEndcapRecHits")
 
+gem_ec_reco = TrackerReco("gem_ec_reco",
+        inputHitCollection=gem_ec_digi.outputHitCollection,
+        outputHitCollection="GEMTrackerEndcapRecHits")
+
 sourcelinker = TrackerSourcesLinker("trk_srcslnkr",
         inputHitCollections=["VertexBarrelRecHits", "TrackerBarrelRecHits"],
         outputSourceLinks="TrackerSourceLinks",
@@ -165,8 +175,8 @@ podout.outputCommands = [
 
 ApplicationMgr(
     TopAlg = [podin, mccopier,
-              trk_b_digi, trk_ec_digi, vtx_b_digi, vtx_ec_digi,
-              trk_b_reco, trk_ec_reco, vtx_b_reco, vtx_ec_reco,
+              trk_b_digi, trk_ec_digi, vtx_b_digi, vtx_ec_digi, gem_ec_digi,
+              trk_b_reco, trk_ec_reco, vtx_b_reco, vtx_ec_reco, gem_ec_reco,
               cb_ecal_digi, cb_ecal_reco, cb_ecal_cl, cb_ecal_clreco,
               sourcelinker,
               imclust_trk_init,
diff --git a/benchmarks/tracking/options/tracker_reconstruction.py b/benchmarks/tracking/options/tracker_reconstruction.py
index bcb4755f..aeb5ee36 100644
--- a/benchmarks/tracking/options/tracker_reconstruction.py
+++ b/benchmarks/tracking/options/tracker_reconstruction.py
@@ -48,7 +48,7 @@ from Configurables import Jug__Reco__SimpleClustering as SimpleClustering
 algorithms = [ ]
 
 podioinput = PodioInput("PodioReader", 
-                        collections=["mcparticles","TrackerEndcapHits","TrackerBarrelHits","VertexBarrelHits","VertexEndcapHits"])#, OutputLevel=DEBUG)
+                        collections=["mcparticles","TrackerEndcapHits","TrackerBarrelHits","VertexBarrelHits","VertexEndcapHits","GEMTrackerEndcapHits"])#, OutputLevel=DEBUG)
 algorithms.append( podioinput )
 
 ## copiers to get around input --> output copy bug. Note the "2" appended to the output collection.
@@ -85,6 +85,12 @@ vtx_ec_digi = TrackerDigi("vtx_ec_digi",
         timeResolution=8)
 algorithms.append( vtx_ec_digi )
 
+gem_ec_digi = TrackerDigi("gem_ec_digi",
+        inputHitCollection="GEMTrackerEndcapHits",
+        outputHitCollection="GEMTrackerEndcapRawHits",
+        timeResolution=10)
+algorithms.append(gem_ec_digi)
+
 # Tracker and vertex reconstruction
 trk_b_reco = TrackerHitReconstruction("trk_b_reco",
         inputHitCollection = trk_b_digi.outputHitCollection,
@@ -106,11 +112,17 @@ vtx_ec_reco = TrackerHitReconstruction("vtx_ec_reco",
         outputHitCollection="VertexEndcapRecHits")
 algorithms.append( vtx_ec_reco )
 
+gem_ec_reco = TrackerHitReconstruction("gem_ec_reco",
+        inputHitCollection=gem_ec_digi.outputHitCollection,
+        outputHitCollection="GEMTrackerEndcapRecHits")
+algorithms.append(gem_ec_reco)
+
 trk_hit_col = TrackingHitsCollector("trk_hit_col",
         trackerBarrelHits=trk_b_reco.outputHitCollection,
         trackerEndcapHits=trk_ec_reco.outputHitCollection,
         vertexBarrelHits=vtx_b_reco.outputHitCollection,
         vertexEndcapHits=vtx_ec_reco.outputHitCollection,
+        gemEndcapHits=gem_ec_reco.outputHitCollection,
         outputHitCollection="trackingHits")
 algorithms.append( trk_hit_col )
 
diff --git a/benchmarks/tracking/options/truth_seeded_tracking.py b/benchmarks/tracking/options/truth_seeded_tracking.py
index 3c9ee9cb..194d0693 100644
--- a/benchmarks/tracking/options/truth_seeded_tracking.py
+++ b/benchmarks/tracking/options/truth_seeded_tracking.py
@@ -35,7 +35,8 @@ sim_colls = [
     "TrackerBarrelHits",
     "VertexBarrelHits",
     "VertexEndcapHits",
-    "EcalBarrelHits"
+    "EcalBarrelHits",
+    "GEMTrackerEndcapHits"
 ]
 podin = PodioInput("PodioReader", collections=sim_colls)
 podout = PodioOutput("out", filename=output_rec)
@@ -64,6 +65,11 @@ vtx_ec_digi = TrackerDigi("vtx_ec_digi",
         outputHitCollection="VertexEndcapRawHits",
         timeResolution=8)
 
+gem_ec_digi = TrackerDigi("gem_ec_digi",
+        inputHitCollection="GEMTrackerEndcapHits",
+        outputHitCollection="GEMTrackerEndcapRawHits",
+        timeResolution=10)
+
 # Tracker and vertex reconstruction
 trk_b_reco = TrackerReco("trk_b_reco",
         inputHitCollection = trk_b_digi.outputHitCollection,
@@ -81,6 +87,10 @@ vtx_ec_reco = TrackerReco("vtx_ec_reco",
         inputHitCollection = vtx_ec_digi.outputHitCollection,
         outputHitCollection="VertexEndcapRecHits")
 
+gem_ec_reco = TrackerReco("gem_ec_reco",
+        inputHitCollection=gem_ec_digi.outputHitCollection,
+        outputHitCollection="GEMTrackerEndcapRecHits")
+
 sourcelinker = TrackerSourcesLinker("trk_srcslnkr",
         inputHitCollections=["VertexBarrelRecHits", "TrackerBarrelRecHits"],
         outputSourceLinks="TrackerSourceLinks",
@@ -118,8 +128,8 @@ podout.outputCommands = [
 
 ApplicationMgr(
     TopAlg = [podin, mccopier,
-              trk_b_digi, trk_ec_digi, vtx_b_digi, vtx_ec_digi,
-              trk_b_reco, trk_ec_reco, vtx_b_reco, vtx_ec_reco,
+              trk_b_digi, trk_ec_digi, vtx_b_digi, vtx_ec_digi, gem_ec_digi,
+              trk_b_reco, trk_ec_reco, vtx_b_reco, vtx_ec_reco, gem_ec_reco,
               sourcelinker,
               truth_trk_init,
               trk_find_alg, parts_from_fit,
-- 
GitLab