From dd72cb765f5e990b3b5ff363c008b704aeaf2a25 Mon Sep 17 00:00:00 2001
From: Tadej Novak <tadej.novak@cern.ch>
Date: Mon, 10 Oct 2022 23:33:38 +0200
Subject: [PATCH] Properly apply pt cut in analysis sequences

---
 .../python/ElectronAnalysisSequence.py        | 16 ++++++++--------
 .../python/PhotonAnalysisSequence.py          | 19 ++++++++-----------
 .../python/MuonAnalysisSequence.py            |  2 +-
 3 files changed, 17 insertions(+), 20 deletions(-)

diff --git a/PhysicsAnalysis/Algorithms/EgammaAnalysisAlgorithms/python/ElectronAnalysisSequence.py b/PhysicsAnalysis/Algorithms/EgammaAnalysisAlgorithms/python/ElectronAnalysisSequence.py
index 67230addc20c..7058102a1a74 100644
--- a/PhysicsAnalysis/Algorithms/EgammaAnalysisAlgorithms/python/ElectronAnalysisSequence.py
+++ b/PhysicsAnalysis/Algorithms/EgammaAnalysisAlgorithms/python/ElectronAnalysisSequence.py
@@ -297,14 +297,6 @@ def makeElectronWorkingPointSequence( seq, dataType, workingPoint,
                     dynConfig = {'preselection' : lambda meta : "&&".join (meta["selectionDecorNamesOutput"])} )
         pass
 
-    # Set up an algorithm used for decorating baseline electron selection:
-    alg = createAlgorithm( 'CP::AsgSelectionAlg',
-                           'ElectronSelectionSummary' + postfix )
-    alg.selectionDecoration = 'baselineSelection' + postfix + ',as_char'
-    seq.append( alg, inputPropName = 'particles',
-                stageName = 'selection',
-                dynConfig = {'preselection' : lambda meta : "&&".join (meta["selectionDecorNamesOutput"])} )
-
     # Set up the electron efficiency correction algorithm:
     alg = createAlgorithm( 'CP::ElectronEfficiencyCorrectionAlg',
                            'ElectronEfficiencyCorrectionAlg' + postfix )
@@ -327,3 +319,11 @@ def makeElectronWorkingPointSequence( seq, dataType, workingPoint,
                     stageName = 'efficiency',
                     dynConfig = {'preselection' : lambda meta : "&&".join (meta["selectionDecorNamesOutput"])} )
         pass
+
+    # Set up an algorithm used for decorating baseline electron selection:
+    alg = createAlgorithm( 'CP::AsgSelectionAlg',
+                           'ElectronSelectionSummary' + postfix )
+    alg.selectionDecoration = 'baselineSelection' + postfix + ',as_char'
+    seq.append( alg, inputPropName = 'particles',
+                stageName = 'selection',
+                dynConfig = {'preselection' : lambda meta : "&&".join (meta["selectionDecorNames"])} )
diff --git a/PhysicsAnalysis/Algorithms/EgammaAnalysisAlgorithms/python/PhotonAnalysisSequence.py b/PhysicsAnalysis/Algorithms/EgammaAnalysisAlgorithms/python/PhotonAnalysisSequence.py
index c600d8293660..ff0002cf4de6 100644
--- a/PhysicsAnalysis/Algorithms/EgammaAnalysisAlgorithms/python/PhotonAnalysisSequence.py
+++ b/PhysicsAnalysis/Algorithms/EgammaAnalysisAlgorithms/python/PhotonAnalysisSequence.py
@@ -294,17 +294,6 @@ def makePhotonWorkingPointSequence( seq, dataType, workingPoint, postfix = '',
                     dynConfig = {'preselection' : lambda meta : "&&".join (meta["selectionDecorNamesOutput"])} )
         pass
 
-    # Set up an algorithm used for decorating baseline photon selection:
-    alg = createAlgorithm( 'CP::AsgSelectionAlg',
-                           'PhotonSelectionSummary' + postfix )
-    alg.selectionDecoration = 'baselineSelection' + postfix + ',as_char'
-    seq.append( alg, inputPropName = 'particles',
-                stageName = 'selection',
-                metaConfig = {'selectionDecorNames' : [alg.selectionDecoration],
-                              'selectionDecorNamesOutput' : [alg.selectionDecoration],
-                              'selectionDecorCount' : [1]},
-                dynConfig = {'preselection' : lambda meta : "&&".join (meta["selectionDecorNamesOutput"])} )
-
     # Set up the photon efficiency correction algorithm.
     alg = createAlgorithm( 'CP::PhotonEfficiencyCorrectionAlg',
                            'PhotonEfficiencyCorrectionAlg' + postfix )
@@ -327,3 +316,11 @@ def makePhotonWorkingPointSequence( seq, dataType, workingPoint, postfix = '',
         pass
 
     pass
+
+    # Set up an algorithm used for decorating baseline photon selection:
+    alg = createAlgorithm( 'CP::AsgSelectionAlg',
+                           'PhotonSelectionSummary' + postfix )
+    alg.selectionDecoration = 'baselineSelection' + postfix + ',as_char'
+    seq.append( alg, inputPropName = 'particles',
+                stageName = 'selection',
+                dynConfig = {'preselection' : lambda meta : "&&".join (meta["selectionDecorNames"])} )
diff --git a/PhysicsAnalysis/Algorithms/MuonAnalysisAlgorithms/python/MuonAnalysisSequence.py b/PhysicsAnalysis/Algorithms/MuonAnalysisAlgorithms/python/MuonAnalysisSequence.py
index fb55bc1c0536..da72b9ce33b7 100644
--- a/PhysicsAnalysis/Algorithms/MuonAnalysisAlgorithms/python/MuonAnalysisSequence.py
+++ b/PhysicsAnalysis/Algorithms/MuonAnalysisAlgorithms/python/MuonAnalysisSequence.py
@@ -247,5 +247,5 @@ def makeMuonWorkingPointSequence( seq, dataType, workingPoint, postfix = '',
     alg.selectionDecoration = 'baselineSelection' + postfix + ',as_char'
     seq.append( alg, inputPropName = 'particles',
                 stageName = 'selection',
-                dynConfig = {'preselection' : lambda meta : "&&".join (meta["selectionDecorNamesOutput"])})
+                dynConfig = {'preselection' : lambda meta : "&&".join (meta["selectionDecorNames"])})
     pass
-- 
GitLab