From 4916822315ecd6084f56e5213f9ccdc75c9de389 Mon Sep 17 00:00:00 2001
From: Albert Kong <albert.xing.yi.kong@cern.ch>
Date: Mon, 1 Nov 2021 22:33:54 +1030
Subject: [PATCH] Fix selection logic in JETM3/4

---
 .../share/JETM3.py                            | 34 +++++++++++--------
 .../share/JETM4.py                            |  8 ++---
 2 files changed, 24 insertions(+), 18 deletions(-)

diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/share/JETM3.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/share/JETM3.py
index 110a35b383e4..a54a799afc69 100644
--- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/share/JETM3.py
+++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/share/JETM3.py
@@ -30,23 +30,29 @@ TrigMatchAug, NewTrigVars = applyTriggerMatching(ToolNamePrefix="JETM3",
                                                  ElectronTriggers=electronTriggers,MuonTriggers=muonTriggers)
 
 JETM3SkimmingTools = []
+orstr  = ' || '
+andstr = ' && '
+
+elofflinesel = andstr.join(['count((Electrons.pt > 20*GeV) && (Electrons.DFCommonElectronsLHMedium)) >= 2'])
+muofflinesel = andstr.join(['count((Muons.pt > 20*GeV) && (Muons.DFCommonMuonPassPreselection)) >= 2'])
+
+electronSelection = '(' + elofflinesel + ')'
+muonSelection = '(' + muofflinesel + ')'
+
 if not DerivationFrameworkIsMonteCarlo:
-  orstr  = ' || '
-  andstr = ' && '
   eltrigsel = orstr.join(electronTriggers)
-  elofflinesel = andstr.join(['count((Electrons.pt > 20*GeV) && (Electrons.DFCommonElectronsLHMedium)) >= 2'])
-  electronSelection = '( (' + eltrigsel + ') && (' + elofflinesel + ') )'
-
   mutrigsel = orstr.join(muonTriggers)
-  muofflinesel = andstr.join(['count((Muons.pt > 20*GeV) && (Muons.DFCommonMuonPassPreselection)) >= 2'])
-  muonSelection = '( (' + mutrigsel + ') && (' + muofflinesel + ') )'
-  expression = '( ' + electronSelection + ' || ' + muonSelection + ' )'
-
-  from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__xAODStringSkimmingTool
-  JETM3SkimmingTool = DerivationFramework__xAODStringSkimmingTool( name = "JETM3SkimmingTool1",
-                                                                      expression = expression)
-  ToolSvc += JETM3SkimmingTool
-  JETM3SkimmingTools += [JETM3SkimmingTool]
+
+  electronSelection += ' && (' + eltrigsel + ')'
+  muonSelection += ' && (' + mutrigsel + ')'
+
+expression = '( (' + electronSelection + ') || (' + muonSelection + ') )'
+
+from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__xAODStringSkimmingTool
+JETM3SkimmingTool = DerivationFramework__xAODStringSkimmingTool( name = "JETM3SkimmingTool1",
+                                                                 expression = expression)
+ToolSvc += JETM3SkimmingTool
+JETM3SkimmingTools += [JETM3SkimmingTool]
 
 #====================================================================
 # SET UP STREAM
diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/share/JETM4.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/share/JETM4.py
index 28a1fe57232a..596748be854a 100644
--- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/share/JETM4.py
+++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/share/JETM4.py
@@ -35,10 +35,10 @@ if not DerivationFrameworkIsMonteCarlo:
   ToolSvc += JETM4SkimmingTool
   JETM4SkimmingTools += [JETM4SkimmingTool]
 
-  #Trigger matching decorations
-  from DerivationFrameworkCore.TriggerMatchingAugmentation import applyTriggerMatching
-  TrigMatchAug, NewTrigVars = applyTriggerMatching(ToolNamePrefix="JETM4",
-                                                   PhotonTriggers=TriggerLists.single_photon_Trig())
+#Trigger matching decorations
+from DerivationFrameworkCore.TriggerMatchingAugmentation import applyTriggerMatching
+TrigMatchAug, NewTrigVars = applyTriggerMatching(ToolNamePrefix="JETM4",
+                                                 PhotonTriggers=TriggerLists.single_photon_Trig())
 
 #====================================================================
 # SET UP STREAM
-- 
GitLab