83 """Configure the vertex constraint tool"""
84 acc = ComponentAccumulator()
86 if "IPEstimator" not in kwargs:
87 from TrkConfig.TrkVertexFitterUtilsConfig
import AtlasTrackToVertexIPEstimatorCfg
88 kwargs.setdefault(
"IPEstimator", acc.popToolsAndMerge(
89 AtlasTrackToVertexIPEstimatorCfg(flags)))
91 if "VertexTrackUpdator" not in kwargs:
92 from TrkConfig.TrkVertexFitterUtilsConfig
import KalmanVertexTrackUpdatorCfg
93 kwargs.setdefault(
"VertexTrackUpdator", acc.popToolsAndMerge(
94 KalmanVertexTrackUpdatorCfg(flags, SkipInvertibleCheck =
True)))
96 if "LinearizedTrackFactory" not in kwargs:
97 from TrkConfig.TrkVertexFitterUtilsConfig
import AtlasFullLinearizedTrackFactoryCfg
98 kwargs.setdefault(
"LinearizedTrackFactory", acc.popToolsAndMerge(
99 AtlasFullLinearizedTrackFactoryCfg(flags)))
101 if "TrackExtrapolator" not in kwargs:
102 from TrkConfig.AtlasExtrapolatorConfig
import AtlasExtrapolatorCfg
103 kwargs.setdefault(
"TrackExtrapolator", acc.popToolsAndMerge(AtlasExtrapolatorCfg(flags)))
105 acc.setPrivateTools(CompFactory.DerivationFramework.TrackParametersKVU(name, **kwargs))
152 from TriggerMenuMT.TriggerAPI.TriggerAPI
import TriggerAPI
153 from TriggerMenuMT.TriggerAPI.TriggerEnums
import TriggerPeriod, TriggerType
157 allperiods = TriggerPeriod.y2015 | TriggerPeriod.y2016 | TriggerPeriod.y2017 | TriggerPeriod.y2018 | TriggerPeriod.future2e34
158 TriggerAPI.setConfigFlags(flags)
159 trig_el = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType=TriggerType.el, livefraction=0.8)
160 trig_mu = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType=TriggerType.mu, livefraction=0.8)
161 trig_g = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType=TriggerType.g, livefraction=0.8)
162 trig_xe = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType=TriggerType.xe, livefraction=0.8)
163 trig_elmu = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType=TriggerType.el, additionalTriggerType=TriggerType.mu, livefraction=0.8)
164 trig_mug = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType=TriggerType.mu, additionalTriggerType=TriggerType.g, livefraction=0.8)
167 all_run3 = TriggerListsHelper.Run3TriggerNames
168 r_run3_nojets = re.compile(
"(HLT_[1-9]*(j).*)")
169 r_tau = re.compile(
"HLT_.*tau.*")
171 for chain_name
in all_run3:
172 result_jets = r_run3_nojets.match(chain_name)
173 result_taus = r_tau.match(chain_name)
175 if 'perf' in chain_name.lower():
continue
176 if result_jets
is None and result_taus
is None: trig_run3_elmug.append(chain_name)
178 trig_EJ_Run3 = [
"HLT_j200_0eta180_emergingPTF0p08dR1p2_a10sd_cssk_pf_jes_ftf_preselj200_L1J100",
"HLT_j460_a10r_L1J100",
"HLT_j200_0eta180_emergingPTF0p08dR1p2_a10sd_cssk_pf_jes_ftf_preselj200_L1gLJ140p0ETA25",
"HLT_j200_0eta180_emergingPTF0p08dR1p2_a10sd_cssk_pf_jes_ftf_preselj200_L1SC111-CjJ40",
"HLT_j200_0eta180_emergingPTF0p08dR1p2_a10sd_cssk_pf_jes_ftf_preselj200_L1jJ160",
"HLT_j200_0eta180_emergingPTF0p08dR1p2_a10sd_cssk_pf_jes_ftf_preselj200_L1SC175-SCjJ10"]
179 trig_VBF_2018 =[
"HLT_j55_gsc80_bmv2c1070_split_j45_gsc60_bmv2c1085_split_j45_320eta490",
"HLT_j45_gsc55_bmv2c1070_split_2j45_320eta490_L1J25.0ETA23_2J15.31ETA49",
"HLT_j80_0eta240_j60_j45_320eta490_AND_2j35_gsc45_bmv2c1070_split",
"HLT_ht300_2j40_0eta490_invm700_L1HT150-J20s5.ETA31_MJJ-400-CF_AND_2j35_gsc45_bmv2c1070_split",
"HLT_j70_j50_0eta490_invm1100j70_dphi20_deta40_L1MJJ-500-NFF"]
180 trig_VBF_Run3 = [
"HLT_j70_j50a_j0_DJMASS1000j50dphi200x400deta_L1MJJ500NFF",
"HLT_j70_j50a_j0_DJMASS1000j50dphi200x400deta_L1jMJJ-500-NFF"]
181 trig_dispjet_Run3 = [
"HLT_j180_hitdvjet260_tight_L1J100",
"HLT_j180_dispjet50_3d2p_dispjet50_1p_L1J100",
"HLT_j180_2dispjet50_3d2p_L1J100",
"HLT_j180_2dispjet50_3d2p_L1jJ160",
"HLT_j180_dispjet50_3d2p_dispjet50_1p_L1jJ160",
"HLT_j180_dispjet90_x3d1p_L1jJ160",
"HLT_j180_dispjet100_x3d1p_L1jJ160",
"HLT_j180_2dispjet50_3d2p_L1J100",
"HLT_j180_dispjet50_3d2p_dispjet50_1p_L1J100",
"HLT_j180_dispjet90_x3d1p_L1J100",
"HLT_j180_dispjet90_x3d1p_L1J100",
"HLT_j180_dispjet100_x3d1p_L1J100",
"HLT_j180_2dispjet50_2p_L1jJ160",
"HLT_j180_2dispjet50_2p_L1J100"]
182 trig_dedx_Run3 = [
"HLT_xe80_tcpufit_dedxtrk25_medium_L1XE50",
"HLT_xe80_tcpufit_dedxtrk50_medium_L1XE50",
"HLT_xe80_tcpufit_dedxtrk25_medium_L1XE55",
"HLT_xe80_tcpufit_dedxtrk50_medium_L1XE55"]
183 trig_dt_Run3 = [
"HLT_xe80_tcpufit_distrk20_tight_L1XE50",
"HLT_xe80_tcpufit_distrk20_medium_L1XE50",
"HLT_xe80_tcpufit_distrk20_tight_L1XE55",
"HLT_xe80_tcpufit_distrk20_medium_L1XE55"]
184 trig_isohighpt_Run3 = [
"HLT_xe80_tcpufit_isotrk100_medium_iaggrmedium_L1XE50",
"HLT_xe80_tcpufit_isotrk120_medium_iaggrmedium_L1XE50",
"HLT_xe80_tcpufit_isotrk120_medium_iaggrloose_L1XE50",
"HLT_xe80_tcpufit_isotrk140_medium_iaggrmedium_L1XE50",
"HLT_xe80_tcpufit_isotrk120_medium_iaggrmedium_L1jXE100",
"HLT_xe50_tcpufit_isotrk120_medium_iaggrmedium_L1jXE100"]
185 trig_latemu = [
"HLT_mu10_mgonly_L1LATEMU10_J50",
"HLT_mu10_mgonly_L1LATEMU10_XE50",
"HLT_mu10_mgonly_L1LATE-MU10_XE40",
"HLT_mu10_lateMu_L1LATE-MU8F_jJ90",
"HLT_mu10_lateMu_L1LATE-MU8F_jXE70"]
186 trig_calratio_dispjet_run3 = [
"HLT_j30_CLEANllp_momemfrac006_calratio_L1jJ160",
"HLT_j30_CLEANllp_momemfrac006_calratiormbib_L1jJ160",
"HLT_j30_CLEANllp_momemfrac006_calratio_L1eTAU140",
"HLT_j30_CLEANllp_momemfrac006_calratiormbib_L1eTAU140",
"HLT_j30_CLEANllp_momemfrac006_calratio_L1eTAU80",
"HLT_j30_CLEANllp_momemfrac006_calratiormbib_L1eTAU80",
"HLT_j30_CLEANllp_momemfrac006_calratio_L1eTAU60_EMPTY",
"HLT_j30_CLEANllp_momemfrac006_calratiormbib_L1eTAU60_EMPTY",
"HLT_j30_CLEANllp_momemfrac006_calratio_L1eTAU60_UNPAIRED_ISO",
"HLT_j30_CLEANllp_momemfrac006_calratiormbib_L1eTAU60_UNPAIRED_ISO",
"HLT_j30_CLEANllp_momemfrac012_calratiovar_roiftf_preselj20emf12_L1jJ160"]
187 trig_multijet_ht_data22_23 = [
"HLT_2j250c_j120c_pf_ftf_presel2j180XXj80_L1J100",
"HLT_3j200_pf_ftf_L1J100",
"HLT_4j115_pf_ftf_presel4j85_L13J50",
"HLT_4j110_pf_ftf_presel4j85_L13J50",
"HLT_4j120_L13J50",
"HLT_5j70c_pf_ftf_presel5c50_L14J15",
"HLT_5j65c_pf_ftf_presel5c55_L14J15",
"HLT_5j85_pf_ftf_presel5j50_L14J15",
"HLT_5j80_pf_ftf_presel5j50_L14J15",
"HLT_5j80_pf_ftf_presel5j55_L14J15",
"HLT_6j35c_020jvt_pf_ftf_presel6c25_L14J15",
"HLT_6j55c_pf_ftf_presel6j40_L14J15",
"HLT_6j70_pf_ftf_presel6j40_L14J15",
"HLT_7j45_pf_ftf_presel7j30_L14J15",
"HLT_10j40_pf_ftf_presel7j30_L14J15",
"HLT_j0_HT1000_L1HT190-J15s5pETA21",
"HLT_j0_HT1000_L1J100",
"HLT_j0_HT1000_pf_ftf_preselcHT450_L1HT190-J15s5pETA21",
"HLT_j0_HT940_pf_ftf_preselcHT450_L1HT190-J15s5pETA21",
"HLT_j0_HT1000_pf_ftf_preselj180_L1HT190-J15s5pETA21",
"HLT_j0_HT940_pf_ftf_preselj180_L1HT190-J15s5pETA21",
"HLT_j0_HT1000_pf_ftf_preselj180_L1J100"]
188 trig_delayedjets_Run3 = [
"HLT_2j100_2timeSig15_L1jJ90",
"HLT_2j45_2j55_3timeSig15_L14jJ40",
"HLT_j200_2timing15_L1jJ160",
"HLT_j200_3timeSig15_L1jJ160",
"HLT_j220_j150_2timing15_L1jJ160",
"HLT_j250_2timing15_L1jJ160",
"HLT_j250_3timeSig15_L1jJ160"]
190 triggers = trig_el + trig_mu + trig_g + trig_elmu + trig_mug + trig_VBF_2018 + trig_EJ_Run3 + trig_run3_elmug + trig_dispjet_Run3 + trig_xe + trig_multijet_ht_data22_23 + trig_dedx_Run3 + trig_dt_Run3 + trig_isohighpt_Run3 + trig_latemu + trig_VBF_Run3 + trig_calratio_dispjet_run3 + trig_delayedjets_Run3
193 triggers = sorted(list(
set(triggers)))
195 acc = ComponentAccumulator()
196 TriggerSkimmingTool = CompFactory.DerivationFramework.TriggerSkimmingTool
197 acc.addPublicTool(TriggerSkimmingTool(name,
199 TriggerListOR = triggers,
206 """Configure the common trigger matching for run 2 DAODs"""
208 triggerList = kwargs[
'TriggerList']
209 outputContainerPrefix = kwargs[
'OutputContainerPrefix']
211 kwargs.setdefault(
'InputElectrons',
'LRTElectrons')
212 kwargs.setdefault(
'InputMuons',
'MuonsLRT')
213 kwargs.setdefault(
'DRThreshold',
None)
215 acc = ComponentAccumulator()
218 from DerivationFrameworkTrigger.TriggerMatchingToolConfig
import TriggerMatchingToolCfg
219 if kwargs[
'DRThreshold']
is None:
220 PhysCommonTriggerMatchingTool = acc.getPrimaryAndMerge(TriggerMatchingToolCfg(
223 ChainNames = triggerList,
224 OutputContainerPrefix = outputContainerPrefix,
225 InputElectrons = kwargs[
'InputElectrons'],
226 InputMuons = kwargs[
'InputMuons']))
228 PhysCommonTriggerMatchingTool = acc.getPrimaryAndMerge(TriggerMatchingToolCfg(
231 ChainNames = triggerList,
232 OutputContainerPrefix = outputContainerPrefix,
233 DRThreshold = kwargs[
'DRThreshold'],
234 InputElectrons = kwargs[
'InputElectrons'],
235 InputMuons = kwargs[
'InputMuons']))
236 CommonAugmentation = CompFactory.DerivationFramework.CommonAugmentation
237 acc.addEventAlgo(CommonAugmentation(f
"{outputContainerPrefix}TriggerMatchingKernel",
238 AugmentationTools=[PhysCommonTriggerMatchingTool]))
268 acc = ComponentAccumulator()
269 from ROOT
import egammaPID
270 from ElectronPhotonSelectorTools.AsgPhotonIsEMSelectorsConfig
import (
271 AsgPhotonIsEMSelectorCfg,
274 isFullSim = flags.Sim.ISF.Simulator.isFullSim()
if flags.Input.isMC
else False
277 from EGammaVariableCorrection.EGammaVariableCorrectionConfig
import (
278 PhotonVariableCorrectionToolCfg,
281 PhotonVariableCorrectionTool = acc.popToolsAndMerge(
282 PhotonVariableCorrectionToolCfg(flags))
283 acc.addPublicTool(PhotonVariableCorrectionTool)
285 PhotonIsEMSelectorMedium = acc.popToolsAndMerge(
286 AsgPhotonIsEMSelectorCfg(
287 flags, name=
"PhotonIsEMSelectorMedium", quality=egammaPID.PhotonIDMedium
290 acc.addPublicTool(PhotonIsEMSelectorMedium)
297 acc = ComponentAccumulator()
299 from ElectronPhotonSelectorTools.AsgElectronLikelihoodToolsConfig
import AsgElectronLikelihoodToolCfg
300 from ElectronPhotonSelectorTools.ElectronLikelihoodToolMapping
import electronLHmenu
301 from ROOT
import LikeEnum
303 lhMenu = electronLHmenu.offlineMC21
304 if flags.GeoModel.Run
is LHCPeriod.Run2:
305 lhMenu = electronLHmenu.offlineMC20
307 ElectronLHSelectorVeryLooseNoPix = acc.popToolsAndMerge(AsgElectronLikelihoodToolCfg(
309 name=
"ElectronLHSelectorVeryLooseNoPix",
310 quality=LikeEnum.VeryLooseLLP,
313 ElectronLHSelectorVeryLooseNoPix.primaryVertexContainer =
"PrimaryVertices"
315 ElectronLHSelectorLooseNoPix = acc.popToolsAndMerge(AsgElectronLikelihoodToolCfg(
317 name=
"ElectronLHSelectorLooseNoPix",
318 quality=LikeEnum.LooseLLP,
321 ElectronLHSelectorLooseNoPix.primaryVertexContainer =
"PrimaryVertices"
323 ElectronLHSelectorMediumNoPix = acc.popToolsAndMerge(AsgElectronLikelihoodToolCfg(
325 name=
"ElectronLHSelectorMediumNoPix",
326 quality=LikeEnum.MediumLLP,
329 ElectronLHSelectorMediumNoPix.primaryVertexContainer =
"PrimaryVertices"
331 ElectronLHSelectorTightNoPix = acc.popToolsAndMerge(AsgElectronLikelihoodToolCfg(
333 name=
"ElectronLHSelectorTightNoPix",
334 quality=LikeEnum.TightLLP,
337 ElectronLHSelectorTightNoPix.primaryVertexContainer =
"PrimaryVertices"
339 from DerivationFrameworkEGamma.EGammaToolsConfig
import EGElectronLikelihoodToolWrapperCfg
342 ElectronPassLHVeryLooseNoPix = acc.addPublicTool(acc.popToolsAndMerge(EGElectronLikelihoodToolWrapperCfg(
344 name=
"ElectronPassLHVeryLooseNoPix",
345 EGammaElectronLikelihoodTool=ElectronLHSelectorVeryLooseNoPix,
346 EGammaFudgeMCTool=
"",
348 StoreGateEntryName=
"DFCommonElectronsLHVeryLooseNoPix",
349 ContainerName=
"Electrons",
352 ElectronPassLHVeryLooseNoPixLRT = acc.addPublicTool(acc.popToolsAndMerge(EGElectronLikelihoodToolWrapperCfg(
354 name=
"ElectronPassLHVeryLooseNoPixLRT",
355 EGammaElectronLikelihoodTool=ElectronLHSelectorVeryLooseNoPix,
356 EGammaFudgeMCTool=
"",
358 StoreGateEntryName=
"DFCommonElectronsLHVeryLooseNoPix",
359 ContainerName=
"LRTElectrons",
363 ElectronPassLHLooseNoPix = acc.addPublicTool(acc.popToolsAndMerge(EGElectronLikelihoodToolWrapperCfg(
365 name=
"ElectronPassLHLooseNoPix",
366 EGammaElectronLikelihoodTool=ElectronLHSelectorLooseNoPix,
367 EGammaFudgeMCTool=
"",
369 StoreGateEntryName=
"DFCommonElectronsLHLooseNoPix",
370 ContainerName=
"Electrons",
371 StoreTResult=
False)))
373 ElectronPassLHLooseNoPixLRT = acc.addPublicTool(acc.popToolsAndMerge(EGElectronLikelihoodToolWrapperCfg(
375 name=
"ElectronPassLHLooseNoPixLRT",
376 EGammaElectronLikelihoodTool=ElectronLHSelectorLooseNoPix,
377 EGammaFudgeMCTool=
"",
379 StoreGateEntryName=
"DFCommonElectronsLHLooseNoPix",
380 ContainerName=
"LRTElectrons",
381 StoreTResult=
False)))
384 ElectronPassLHMediumNoPix = acc.addPublicTool(acc.popToolsAndMerge(EGElectronLikelihoodToolWrapperCfg(
386 name=
"ElectronPassLHMediumNoPix",
387 EGammaElectronLikelihoodTool=ElectronLHSelectorMediumNoPix,
388 EGammaFudgeMCTool=
"",
390 StoreGateEntryName=
"DFCommonElectronsLHMediumNoPix",
391 ContainerName=
"Electrons",
392 StoreTResult=
False)))
394 ElectronPassLHMediumNoPixLRT = acc.addPublicTool(acc.popToolsAndMerge(EGElectronLikelihoodToolWrapperCfg(
396 name=
"ElectronPassLHMediumNoPixLRT",
397 EGammaElectronLikelihoodTool=ElectronLHSelectorMediumNoPix,
398 EGammaFudgeMCTool=
"",
400 StoreGateEntryName=
"DFCommonElectronsLHMediumNoPix",
401 ContainerName=
"LRTElectrons",
402 StoreTResult=
False)))
405 ElectronPassLHTightNoPix = acc.addPublicTool(acc.popToolsAndMerge(EGElectronLikelihoodToolWrapperCfg(
407 name=
"ElectronPassLHTightNoPix",
408 EGammaElectronLikelihoodTool=ElectronLHSelectorTightNoPix,
409 EGammaFudgeMCTool=
"",
411 StoreGateEntryName=
"DFCommonElectronsLHTightNoPix",
412 ContainerName=
"Electrons",
413 StoreTResult=
False)))
415 ElectronPassLHTightNoPixLRT = acc.addPublicTool(acc.popToolsAndMerge(EGElectronLikelihoodToolWrapperCfg(
417 name=
"ElectronPassLHTightNoPixLRT",
418 EGammaElectronLikelihoodTool=ElectronLHSelectorTightNoPix,
419 EGammaFudgeMCTool=
"",
421 StoreGateEntryName=
"DFCommonElectronsLHTightNoPix",
422 ContainerName=
"LRTElectrons",
423 StoreTResult=
False)))
425 LRTEGAugmentationTools = [ElectronPassLHVeryLooseNoPix,
426 ElectronPassLHVeryLooseNoPixLRT,
427 ElectronPassLHLooseNoPix,
428 ElectronPassLHLooseNoPixLRT,
429 ElectronPassLHMediumNoPix,
430 ElectronPassLHMediumNoPixLRT,
431 ElectronPassLHTightNoPix,
432 ElectronPassLHTightNoPixLRT]
434 acc.addEventAlgo(CompFactory.DerivationFramework.CommonAugmentation(
435 "LLP1EGammaLRTKernel",
436 AugmentationTools=LRTEGAugmentationTools