ATLAS Offline Software
SUSYToolsConfig.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2 
3 #==============================================================================
4 # Provides configs for the tools used for SUSY Derivations
5 #==============================================================================
6 
7 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
8 from AthenaConfiguration.ComponentFactory import CompFactory
9 
10 # SUSY20 TightBad flags, copied and adjusted from ​JetCommonConfig.py
11 def SUSY20EventCleaningToolCfg(flags, cleaningLevel = "TightBad"):
12 
13  """Configure the event/jet cleaning tool for SUSY20 derivations"""
14 
15  acc = ComponentAccumulator()
16 
17  from JetSelectorTools.JetSelectorToolsConfig import EventCleaningToolCfg, JetCleaningToolCfg
18 
19  JetCleaningTool = acc.popToolsAndMerge(JetCleaningToolCfg(
20  flags,
21  name = "SUSY20JetCleaningTool_" + cleaningLevel + "_EMTopo",
22  jetdef = "AntiKt4EMTopo",
23  cleaningLevel = cleaningLevel,
24  useDecorations = False
25  ))
26  acc.addPublicTool(JetCleaningTool)
27 
28  EventCleaningTool = acc.popToolsAndMerge(EventCleaningToolCfg(
29  flags,
30  name = "SUSY20EventCleaningTool_" + cleaningLevel + "_EMTopo",
31  cleaningLevel = cleaningLevel
32  ))
33  EventCleaningTool.JetCleanPrefix = "DFCommonJets_"
34  EventCleaningTool.JetContainer = "AntiKt4EMTopoJets"
35  EventCleaningTool.JetCleaningTool = JetCleaningTool
36  EventCleaningTool.DoDecorations = True
37  acc.addPublicTool(EventCleaningTool)
38 
39  EventCleanAlg = CompFactory.EventCleaningTestAlg(
40  name = "SUSY20EventCleaningTestAlg_" + cleaningLevel + "_EMTopo",
41  EventCleaningTool = EventCleaningTool,
42  JetCollectionName = "AntiKt4EMTopoJets",
43  EventCleanPrefix = "DFCommonJets_",
44  CleaningLevel = cleaningLevel,
45  doEvent = True
46  )
47  acc.addEventAlgo(EventCleanAlg)
48 
49  return acc
50 
51 # SUSY20 trigger skimming
52 def SUSY20DTTriggerSkimmingToolCfg(flags, name, **kwargs):
53 
54  """Configure the DT trigger skimming tool for SUSY20 derivations"""
55 
56  from TriggerMenuMT.TriggerAPI.TriggerAPI import TriggerAPI
57  from TriggerMenuMT.TriggerAPI.TriggerEnums import TriggerPeriod, TriggerType
58 
59  allperiods = TriggerPeriod.y2015 | TriggerPeriod.y2016 | TriggerPeriod.y2017 | TriggerPeriod.y2018 | TriggerPeriod.future2e34
60 
61  TriggerAPI.setConfigFlags(flags)
62  el_trig = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType = TriggerType.el_single, livefraction = 0.8)
63  mu_trig = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType = TriggerType.mu_single, livefraction = 0.8)
64  g_trig = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType = TriggerType.g_single, livefraction = 0.8)
65  xe_trig = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType = TriggerType.xe, livefraction = 0.8)
66 
67  # Additional unprescaled met trigger for 2015
68  xe_trig += ['HLT_xe70', 'HLT_xe70_tc_lcw', 'HLT_noalg_L1J400', 'HLT_noalg_L1J420', 'HLT_noalg_L1J450']
69 
70  triggers = el_trig + mu_trig + g_trig + xe_trig
71  triggers = sorted(list(set(triggers)))
72 
73  acc = ComponentAccumulator()
74  TriggerSkimmingTool = CompFactory.DerivationFramework.TriggerSkimmingTool
75  acc.addPublicTool(TriggerSkimmingTool
76  (
77  name,
78  TriggerListAND = [],
79  TriggerListOR = triggers,
80  **kwargs
81  ),
82  primary = True
83  )
84 
85  return acc
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.JetSelectorToolsConfig.EventCleaningToolCfg
def EventCleaningToolCfg(ConfigFlags, name, cleaningLevel)
Definition: JetSelectorToolsConfig.py:14
python.JetSelectorToolsConfig.JetCleaningToolCfg
def JetCleaningToolCfg(ConfigFlags, name, jetdef, cleaningLevel, useDecorations)
Definition: JetSelectorToolsConfig.py:6
python.SUSYToolsConfig.SUSY20DTTriggerSkimmingToolCfg
def SUSY20DTTriggerSkimmingToolCfg(flags, name, **kwargs)
Definition: SUSYToolsConfig.py:52
histSizes.list
def list(name, path='/')
Definition: histSizes.py:38
python.SUSYToolsConfig.SUSY20EventCleaningToolCfg
def SUSY20EventCleaningToolCfg(flags, cleaningLevel="TightBad")
Definition: SUSYToolsConfig.py:11
DerivationFramework::TriggerMatchingUtils::sorted
std::vector< typename T::value_type > sorted(T begin, T end)
Helper function to create a sorted vector from an unsorted one.
CxxUtils::set
constexpr std::enable_if_t< is_bitmask_v< E >, E & > set(E &lhs, E rhs)
Convenience function to set bits in a class enum bitmask.
Definition: bitmask.h:224