From b1578b1b5ac21d033b902ac96f36cf6de0aef8e3 Mon Sep 17 00:00:00 2001
From: Robin Newhouse <robin.newhouse@cern.ch>
Date: Wed, 5 Aug 2020 07:50:56 -0700
Subject: [PATCH] Properly splitting tracks from LargeD0 alg in to separate
 collection.

Next is to add a flag allowing it to be turned on and off
---
 .../InDetExample/InDetRecExample/python/InDetKeys.py       | 7 +++++++
 .../InDetRecExample/share/InDetRec_jobOptions.py           | 6 +++++-
 .../InDetExample/InDetRecExample/share/InDetxAODCreator.py | 6 +++---
 3 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/InnerDetector/InDetExample/InDetRecExample/python/InDetKeys.py b/InnerDetector/InDetExample/InDetRecExample/python/InDetKeys.py
index 1524612fa35b..b29070994d62 100644
--- a/InnerDetector/InDetExample/InDetRecExample/python/InDetKeys.py
+++ b/InnerDetector/InDetExample/InDetRecExample/python/InDetKeys.py
@@ -470,6 +470,12 @@ class ExtendedLargeD0Tracks(JobProperty):
     allowedTypes = ['str']
     StoredValue  = 'ExtendedLargeD0Tracks'
 
+class ExtendedLargeD0TracksTruth(JobProperty):
+    """ Storegate key for new-tracking extended high-d0 tracks"""
+    statusOn     = True
+    allowedTypes = ['str']
+    StoredValue  = 'ExtendedLargeD0TracksTruthCollection'
+
 class ProcessedESDTracks(JobProperty):
     """ Storegate key for already processed tracks from ESD"""
     statusOn     = True
@@ -1116,6 +1122,7 @@ jobproperties.InDetContainerKeys.add_JobProperty(ExtendedSLHCTracks)
 jobproperties.InDetContainerKeys.add_JobProperty(ExtendedLowPtTracks)
 jobproperties.InDetContainerKeys.add_JobProperty(ExtendedBeamGasTracks)
 jobproperties.InDetContainerKeys.add_JobProperty(ExtendedLargeD0Tracks)
+jobproperties.InDetContainerKeys.add_JobProperty(ExtendedLargeD0TracksTruth)
 jobproperties.InDetContainerKeys.add_JobProperty(ProcessedESDTracks)
 jobproperties.InDetContainerKeys.add_JobProperty(ExtendedDetailedTracksTruth)
 jobproperties.InDetContainerKeys.add_JobProperty(ExtendedTracksTruth)
diff --git a/InnerDetector/InDetExample/InDetRecExample/share/InDetRec_jobOptions.py b/InnerDetector/InDetExample/InDetRecExample/share/InDetRec_jobOptions.py
index dd419a0d6f4c..347c23b453c0 100755
--- a/InnerDetector/InDetExample/InDetRecExample/share/InDetRec_jobOptions.py
+++ b/InnerDetector/InDetExample/InDetRecExample/share/InDetRec_jobOptions.py
@@ -457,8 +457,10 @@ else:
       #     processing case, those tracks are not part of the re-tracking procedure)
       if InDetFlags.useExistingTracksAsInput():
           _dummy = InputCombinedInDetTracks.pop()
+
       # --- add into list for combination
-      InputCombinedInDetTracks += [ InDetLargeD0TRTExtension.ForwardTrackCollection()]
+      # Don't add LRT tracks into combined collection. They will be in a separate collection
+      # InputCombinedInDetTracks += [ InDetLargeD0TRTExtension.ForwardTrackCollection()]
 
     
 
@@ -685,7 +687,9 @@ else:
       InputPixelInDetTracks = []
       InputPixelInDetTracks += InputCombinedInDetTracks
       if InDetFlags.doForwardTracks(): 
+        # Add tracks that are not saved to the InputCombinedInDetTracks
         InputPixelInDetTracks +=[ InDetForwardTracksSiPattern.SiTrackCollection()]
+        InputPixelInDetTracks +=[ InDetLargeD0TRTExtension.ForwardTrackCollection()] # TODO: Should this be .SiTrackCollection()? RN
       # --- load cuts for pixel segment finding
       if ('InDetNewTrackingCutsDisappearing' not in dir()):
         printfunc ("InDetRec_jobOptions: InDetNewTrackingCutsDisappearing not set before - import them now")
diff --git a/InnerDetector/InDetExample/InDetRecExample/share/InDetxAODCreator.py b/InnerDetector/InDetExample/InDetRecExample/share/InDetxAODCreator.py
index 5fab143bd1d3..0a9b57db85c1 100644
--- a/InnerDetector/InDetExample/InDetRecExample/share/InDetxAODCreator.py
+++ b/InnerDetector/InDetExample/InDetRecExample/share/InDetxAODCreator.py
@@ -213,11 +213,11 @@ if InDetFlags.doPseudoTracking():
                               topSequence)
 
 
-if InDetFlags.doR3LargeD0(): # TODO: Should this include the flag doLargeD0? Will this simple be converted to doLargeD0 once incorporated?
+if InDetFlags.doR3LargeD0(): # TODO: Should this include the flag doLargeD0? Will this simple be converted to doLargeD0 once incorporated? -RN
     if doCreation :
-        createTrackParticles(InDetKeys.ResolvedLargeD0Tracks(), InDetKeys.ResolvedLargeD0TracksTruth(), InDetKeys.xAODLargeD0TrackParticleContainer(),topSequence)
+        createTrackParticles(InDetKeys.ExtendedLargeD0Tracks(), InDetKeys.ExtendedLargeD0TracksTruth(), InDetKeys.xAODLargeD0TrackParticleContainer(),topSequence)
     if doConversion :
-        convertTrackParticles(getRecTrackParticleNameIfInFile(InDetKeys.ResolvedLargeD0TrackParticles()), # Not sure if this should be ResolvedLargeD0TrackParticles or ResolvedLargeD0Tracks
+        convertTrackParticles(getRecTrackParticleNameIfInFile(InDetKeys.ResolvedLargeD0TrackParticles()), # TODO: Not sure if this should be ResolvedLargeD0TrackParticles or ResolvedLargeD0Tracks -RN
                               InDetKeys.ResolvedLargeD0TrackParticlesTruth(),
                               InDetKeys.xAODLargeD0TrackParticleContainer(),
                               topSequence)
-- 
GitLab