ATLAS Offline Software
Loading...
Searching...
No Matches
python.SUSYToolsConfig Namespace Reference

Functions

 SUSY20EventCleaningToolCfg (flags, cleaningLevel="TightBad")
 SUSY20DTTriggerSkimmingToolCfg (flags, name, **kwargs)
 SUSYToolsAlgCfg (flags, **kwargs)

Variables

 flags = initConfigFlags()
 susyArgsParser = flags.getArgumentParser( )
 action
 default
 None
 choices
 help
 nargs
 susyArgs = flags.fillFromArgs(parser=susyArgsParser)
str pTag = 'p6269' if ('data2' in susyArgs.testCampaign) else 'p6266'
str inputDir = '/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/SUSYTools'
dict inputFiles = {}
 Files
 fileOutput
 acc = MainServicesCfg(flags)
 status = acc.run()

Function Documentation

◆ SUSY20DTTriggerSkimmingToolCfg()

python.SUSYToolsConfig.SUSY20DTTriggerSkimmingToolCfg ( flags,
name,
** kwargs )
Configure the DT trigger skimming tool for SUSY20 derivations

Definition at line 53 of file DerivationFramework/DerivationFrameworkSUSY/python/SUSYToolsConfig.py.

53def SUSY20DTTriggerSkimmingToolCfg(flags, name, **kwargs):
54
55 """Configure the DT trigger skimming tool for SUSY20 derivations"""
56
57 # Trigger API for Run-1 and Run-2
58 if flags.Trigger.EDMVersion <= 2:
59
60 from TriggerMenuMT.TriggerAPI.TriggerAPI import TriggerAPI
61 from TriggerMenuMT.TriggerAPI.TriggerEnums import TriggerPeriod, TriggerType
62
63 allperiods = TriggerPeriod.y2015 | TriggerPeriod.y2016 | TriggerPeriod.y2017 | TriggerPeriod.y2018 | TriggerPeriod.future2e34
64
65 TriggerAPI.setConfigFlags(flags)
66 el_trig = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType = TriggerType.el_single, livefraction = 0.8)
67 mu_trig = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType = TriggerType.mu_single, livefraction = 0.8)
68 g_trig = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType = TriggerType.g_single, livefraction = 0.8)
69 xe_trig = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType = TriggerType.xe, livefraction = 0.8)
70
71 # Additional unprescaled met triggers for 2015
72 xe_trig += ['HLT_xe70', 'HLT_xe70_tc_lcw', 'HLT_noalg_L1J400', 'HLT_noalg_L1J420', 'HLT_noalg_L1J450']
73
74 # Merge and remove duplicates
75 triggers = el_trig + mu_trig + g_trig + xe_trig
76 triggers = sorted(list(set(triggers)))
77
78 # Run-3 and beyond
79 else:
80
81 from TriggerMenuMT.TriggerAPI.TriggerEnums import TriggerType
82 from DerivationFrameworkPhys.TriggerListsHelper import getTapisSession
83
84 # TriggerAPI Session based trigger lists
85 session = getTapisSession(flags)
86 triggers = set()
87 triggers = session.getLowestUnprescaled(triggerType = TriggerType.el_single, livefraction = 0.8).union(triggers)
88 triggers = session.getLowestUnprescaled(triggerType = TriggerType.mu_single, livefraction = 0.8).union(triggers)
89 triggers = session.getLowestUnprescaled(triggerType = TriggerType.g_single, livefraction = 0.8).union(triggers)
90 triggers = session.getLowestUnprescaled(triggerType = TriggerType.xe, livefraction = 0.8).union(triggers)
91
92 # Additional unprescaled triggers
93 triggers.update( ['HLT_e26_lhtight_ivarloose_L1EM22VHI', 'HLT_e60_lhmedium_L1EM22VHI', 'HLT_e140_lhloose_L1EM22VHI', 'HLT_e300_etcut_L1EM22VHI'] )
94 triggers.update( ['HLT_g140_loose_L1EM22VHI', 'HLT_g300_etcut_L1EM22VHI'] )
95 triggers.update( ['HLT_mu60_L1MU14FCH'] )
96 triggers.update( ['HLT_xe55_cell_xe70_tcpufit_xe90_pfsum_vssk_L1XE50', 'HLT_xe55_cell_xe70_tcpufit_xe95_pfsum_cssk_L1XE50', 'HLT_xe60_cell_xe95_pfsum_cssk_L1XE50', 'HLT_xe65_cell_xe100_mhtpufit_pf_L1XE50', 'HLT_xe65_cell_xe105_mhtpufit_em_L1XE50', 'HLT_xe75_cell_xe65_tcpufit_xe90_trkmht_L1XE50'] )
97
98 # Merge and remove duplicates
99 triggers = sorted(list(set(list(triggers))))
100
101 acc = ComponentAccumulator()
102 TriggerSkimmingTool = CompFactory.DerivationFramework.TriggerSkimmingTool
103 acc.addPublicTool(TriggerSkimmingTool
104 (
105 name,
106 TriggerListAND = [],
107 TriggerListOR = triggers,
108 **kwargs
109 ),
110 primary = True
111 )
112
113 return acc
STL class.

◆ SUSY20EventCleaningToolCfg()

python.SUSYToolsConfig.SUSY20EventCleaningToolCfg ( flags,
cleaningLevel = "TightBad" )
Configure the event/jet cleaning tool for SUSY20 derivations

Definition at line 11 of file DerivationFramework/DerivationFrameworkSUSY/python/SUSYToolsConfig.py.

11def 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 = "AntiKt4EMTopoJets",
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.OrDecorator = "passOR_EMTopo"
35 EventCleaningTool.JetContainer = "AntiKt4EMTopoJets"
36 EventCleaningTool.JetCleaningTool = JetCleaningTool
37 EventCleaningTool.DoDecorations = True
38 acc.addPublicTool(EventCleaningTool)
39
40 EventCleanAlg = CompFactory.EventCleaningTestAlg(
41 name = "SUSY20EventCleaningTestAlg_" + cleaningLevel + "_EMTopo",
42 EventCleaningTool = EventCleaningTool,
43 JetCollectionName = "AntiKt4EMTopoJets",
44 EventCleanPrefix = "DFCommonJets_",
45 CleaningLevel = cleaningLevel,
46 doEvent = True
47 )
48 acc.addEventAlgo(EventCleanAlg)
49
50 return acc
51
52# SUSY20 trigger skimming

◆ SUSYToolsAlgCfg()

python.SUSYToolsConfig.SUSYToolsAlgCfg ( flags,
** kwargs )

Definition at line 8 of file SUSYPhys/SUSYTools/python/SUSYToolsConfig.py.

8def SUSYToolsAlgCfg(flags, **kwargs):
9 acc = ComponentAccumulator()
10 from AthenaConfiguration.ComponentFactory import CompFactory
11
12 isMC = flags.Input.isMC
13 isFastSim = flags.Sim.ISF.Simulator.usesFastCaloSim() #full sim or atlfast
14
15 # configure SUSYTools algorithm and its tool
16 SUSYToolsAlg = CompFactory.SUSYToolsAlg
17 alg = SUSYToolsAlg(
18 "SUSYToolsAlg",
19 DoSyst = isMC and (not susyArgs.noSyst)
20 )
21
22 if susyArgs.configFile:
23 alg.SUSYTools.ConfigFile = susyArgs.configFile
24 else:
25 # select config file based on whether we are run3 or run2
26 if flags.GeoModel.Run is LHCPeriod.Run3:
27 alg.SUSYTools.ConfigFile = "SUSYTools/SUSYTools_Default_Run3.conf" # run3
28 else:
29 alg.SUSYTools.ConfigFile = "SUSYTools/SUSYTools_Default.conf" # run2
30
31 if susyArgs.testFormat == "PHYSLITE":
32 STconfig_lite = str(alg.SUSYTools.ConfigFile).replace(".conf","_LITE.conf")
33 alg.SUSYTools.IsPHYSLITE = True
34 alg.SUSYTools.ConfigFile = STconfig_lite
35
36 log.info("Configuration file: %s",alg.SUSYTools.ConfigFile)
37
38 alg.SUSYTools.DataSource = 0 if not isMC else (1 if not isFastSim else 2) # data/FS/atlfast
39
40 log.info("Configuration SUSYTools.DataSource: %s",alg.SUSYTools.DataSource)
41
42 if isMC:
43 if susyArgs.prwFiles:
44 alg.SUSYTools.PRWConfigFiles = susyArgs.prwFiles
45 else:
46 alg.SUSYTools.AutoconfigurePRWTool = True
47 alg.SUSYTools.PRWUseCommonMCFiles = True
48 # set lumicalc info based on the campaign, if running on MC
49 if susyArgs.lumicalcFiles:
50 alg.SUSYTools.PRWLumiCalcFiles = susyArgs.lumicalcFiles
51 else:
52 from PileupReweighting.AutoconfigurePRW import getLumicalcFiles
53 alg.SUSYTools.PRWLumiCalcFiles = getLumicalcFiles(flags.Input.MCCampaign)
54
55
56 acc.addEventAlgo(alg)
57
58 return acc
59
std::string replace(std::string s, const std::string &s2, const std::string &s3)
Definition hcg.cxx:312

Variable Documentation

◆ acc

python.SUSYToolsConfig.acc = MainServicesCfg(flags)

◆ action

python.SUSYToolsConfig.action

Definition at line 70 of file SUSYPhys/SUSYTools/python/SUSYToolsConfig.py.

◆ choices

python.SUSYToolsConfig.choices

Definition at line 70 of file SUSYPhys/SUSYTools/python/SUSYToolsConfig.py.

◆ default

python.SUSYToolsConfig.default

Definition at line 70 of file SUSYPhys/SUSYTools/python/SUSYToolsConfig.py.

◆ fileOutput

python.SUSYToolsConfig.fileOutput

Definition at line 94 of file SUSYPhys/SUSYTools/python/SUSYToolsConfig.py.

◆ Files

python.SUSYToolsConfig.Files

Definition at line 92 of file SUSYPhys/SUSYTools/python/SUSYToolsConfig.py.

◆ flags

python.SUSYToolsConfig.flags = initConfigFlags()

Definition at line 66 of file SUSYPhys/SUSYTools/python/SUSYToolsConfig.py.

◆ help

python.SUSYToolsConfig.help

Definition at line 70 of file SUSYPhys/SUSYTools/python/SUSYToolsConfig.py.

◆ inputDir

str python.SUSYToolsConfig.inputDir = '/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/SUSYTools'

Definition at line 84 of file SUSYPhys/SUSYTools/python/SUSYToolsConfig.py.

◆ inputFiles

dict python.SUSYToolsConfig.inputFiles = {}

Definition at line 85 of file SUSYPhys/SUSYTools/python/SUSYToolsConfig.py.

◆ nargs

python.SUSYToolsConfig.nargs

Definition at line 74 of file SUSYPhys/SUSYTools/python/SUSYToolsConfig.py.

◆ None

python.SUSYToolsConfig.None

Definition at line 70 of file SUSYPhys/SUSYTools/python/SUSYToolsConfig.py.

◆ pTag

str python.SUSYToolsConfig.pTag = 'p6269' if ('data2' in susyArgs.testCampaign) else 'p6266'

Definition at line 83 of file SUSYPhys/SUSYTools/python/SUSYToolsConfig.py.

◆ status

python.SUSYToolsConfig.status = acc.run()

◆ susyArgs

python.SUSYToolsConfig.susyArgs = flags.fillFromArgs(parser=susyArgsParser)

Definition at line 80 of file SUSYPhys/SUSYTools/python/SUSYToolsConfig.py.

◆ susyArgsParser

python.SUSYToolsConfig.susyArgsParser = flags.getArgumentParser( )

Definition at line 69 of file SUSYPhys/SUSYTools/python/SUSYToolsConfig.py.