From aefaf4cb9942fd8eeb02571471fc47ac25451a89 Mon Sep 17 00:00:00 2001
From: adbailey <adam.bailey@cern.ch>
Date: Tue, 3 Nov 2020 13:14:49 +0100
Subject: [PATCH] Added new flag to remove duplicate tau core tracks or not.
 Tidied a couple of other flags in TauRecBuilder

---
 Reconstruction/tauRec/python/TauRecBuilder.py | 6 +++---
 Reconstruction/tauRec/python/tauRecFlags.py   | 9 ++++++++-
 2 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/Reconstruction/tauRec/python/TauRecBuilder.py b/Reconstruction/tauRec/python/TauRecBuilder.py
index 1efea1c0173..fc5db0cff39 100644
--- a/Reconstruction/tauRec/python/TauRecBuilder.py
+++ b/Reconstruction/tauRec/python/TauRecBuilder.py
@@ -56,13 +56,13 @@ class TauRecCoreBuilder ( TauRecConfigured ) :
             # run vertex finder only in case vertexing is available. This check can also be done in TauAlgorithmsHolder instead doing it here. 
             from InDetRecExample.InDetJobProperties import InDetFlags
             from tauRec.tauRecFlags import jobproperties
-            doMVATrackClassification = jobproperties.tauRecFlags.tauRecMVATrackClassification()
-            doRNNTrackClassification = jobproperties.tauRecFlags.tauRecRNNTrackClassification()
+            doMVATrackClassification = tauFlags.tauRecMVATrackClassification()
+            doRNNTrackClassification = tauFlags.tauRecRNNTrackClassification()
 
             if tauFlags.isStandalone() or InDetFlags.doVertexFinding():
                 tools.append(taualgs.getTauVertexFinder(doUseTJVA=self.do_TJVA))
             tools.append(taualgs.getTauAxis())
-            tools.append(taualgs.getTauTrackFinder(removeDuplicateTracks=(not doMVATrackClassification) ))
+            tools.append(taualgs.getTauTrackFinder(removeDuplicateTracks=(tauFlags.removeDuplicateCoreTracks() ) ))
             if doMVATrackClassification : tools.append(taualgs.getTauTrackClassifier())
             if not doMVATrackClassification and doRNNTrackClassification:
                 tools.append(taualgs.getTauTrackRNNClassifier())
diff --git a/Reconstruction/tauRec/python/tauRecFlags.py b/Reconstruction/tauRec/python/tauRecFlags.py
index addb8536b11..b68871d3c60 100644
--- a/Reconstruction/tauRec/python/tauRecFlags.py
+++ b/Reconstruction/tauRec/python/tauRecFlags.py
@@ -64,6 +64,13 @@ class useLargeD0Tracks(JobProperty):
     allowedTypes=['bool']
     StoredValue=False
 
+class removeDuplicateCoreTracks(JobProperty):
+    """Ignore core tracks already used in previous tau
+    """
+    statusOn=True
+    allowedTypes=['bool']
+    StoredValue=True
+
 class tauRecMVATrackClassification(JobProperty):
     """Run the MVA Track Classifier
     """
@@ -229,7 +236,7 @@ class tauRecFlags(JobPropertyContainer):
 jobproperties.add_Container(tauRecFlags)
 
 # I want always the following flags in the Rec container  
-_list_tau=[Enabled,doTauRec,isStandalone,tauRecSeedJetCollection,tauRecToolsCVMFSPath,doTJVA,useLargeD0Tracks,tauRecMVATrackClassification,tauRecRNNTrackClassification,tauRecMVATrackClassificationConfig,tauRecRNNTrackClassificationConfig,tauRecDecayModeNNClassifierConfig,tauRecSeedMinPt,tauRecSeedMaxEta,tauRecMaxNTracks,tauRecToolsDevToolList,tauRecToolsDevToolListProcessor,doRunTauDiscriminant,useVertexBasedConvFinder,useNewPIDBasedConvFinder,doPanTau,doPi0,pi0EtCuts,pi0MVACuts_1prong,pi0MVACuts_mprong,shotPtCut_1Photon,shotPtCut_2Photons,useOldVertexFitterAPI,useSubtractedCluster]
+_list_tau=[Enabled,doTauRec,isStandalone,tauRecSeedJetCollection,tauRecToolsCVMFSPath,doTJVA,useLargeD0Tracks,removeDuplicateCoreTracks,tauRecMVATrackClassification,tauRecRNNTrackClassification,tauRecMVATrackClassificationConfig,tauRecRNNTrackClassificationConfig,tauRecDecayModeNNClassifierConfig,tauRecSeedMinPt,tauRecSeedMaxEta,tauRecMaxNTracks,tauRecToolsDevToolList,tauRecToolsDevToolListProcessor,doRunTauDiscriminant,useVertexBasedConvFinder,useNewPIDBasedConvFinder,doPanTau,doPi0,pi0EtCuts,pi0MVACuts_1prong,pi0MVACuts_mprong,shotPtCut_1Photon,shotPtCut_2Photons,useOldVertexFitterAPI,useSubtractedCluster]
 for j in _list_tau: 
     jobproperties.tauRecFlags.add_JobProperty(j)
 del _list_tau
-- 
GitLab