91 """Configure the vertex constraint tool"""
92 acc = ComponentAccumulator()
94 if "IPEstimator" not in kwargs:
95 from TrkConfig.TrkVertexFitterUtilsConfig
import AtlasTrackToVertexIPEstimatorCfg
96 kwargs.setdefault(
"IPEstimator", acc.popToolsAndMerge(
97 AtlasTrackToVertexIPEstimatorCfg(flags)))
99 if "VertexTrackUpdator" not in kwargs:
100 from TrkConfig.TrkVertexFitterUtilsConfig
import KalmanVertexTrackUpdatorCfg
101 kwargs.setdefault(
"VertexTrackUpdator", acc.popToolsAndMerge(
102 KalmanVertexTrackUpdatorCfg(flags, SkipInvertibleCheck =
True)))
104 if "LinearizedTrackFactory" not in kwargs:
105 from TrkConfig.TrkVertexFitterUtilsConfig
import AtlasFullLinearizedTrackFactoryCfg
106 kwargs.setdefault(
"LinearizedTrackFactory", acc.popToolsAndMerge(
107 AtlasFullLinearizedTrackFactoryCfg(flags)))
109 if "TrackExtrapolator" not in kwargs:
110 from TrkConfig.AtlasExtrapolatorConfig
import AtlasExtrapolatorCfg
111 kwargs.setdefault(
"TrackExtrapolator", acc.popToolsAndMerge(AtlasExtrapolatorCfg(flags)))
113 acc.setPrivateTools(CompFactory.DerivationFramework.TrackParametersKVU(name, **kwargs))
160 from TriggerMenuMT.TriggerAPI.TriggerAPI
import TriggerAPI
161 from TriggerMenuMT.TriggerAPI.TriggerEnums
import TriggerPeriod, TriggerType
165 allperiods = TriggerPeriod.y2015 | TriggerPeriod.y2016 | TriggerPeriod.y2017 | TriggerPeriod.y2018 | TriggerPeriod.future2e34
166 TriggerAPI.setConfigFlags(flags)
167 trig_el = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType=TriggerType.el, livefraction=0.8)
168 trig_mu = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType=TriggerType.mu, livefraction=0.8)
169 trig_g = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType=TriggerType.g, livefraction=0.8)
170 trig_xe = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType=TriggerType.xe, livefraction=0.8)
171 trig_elmu = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType=TriggerType.el, additionalTriggerType=TriggerType.mu, livefraction=0.8)
172 trig_mug = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType=TriggerType.mu, additionalTriggerType=TriggerType.g, livefraction=0.8)
175 all_run3 = TriggerListsHelper.Run3TriggerNames
176 r_run3_nojets = re.compile(
"(HLT_[1-9]*(j).*)")
177 r_tau = re.compile(
"HLT_.*tau.*")
179 for chain_name
in all_run3:
180 result_jets = r_run3_nojets.match(chain_name)
181 result_taus = r_tau.match(chain_name)
183 if 'perf' in chain_name.lower():
continue
184 if result_jets
is None and result_taus
is None: trig_run3_elmug.append(chain_name)
186 trig_EJ_Run3 = [
"HLT_j200_0eta180_emergingPTF0p08dR1p2_a10sd_cssk_pf_jes_ftf_preselj200_L1J100",
"HLT_j460_a10r_L1J100",
"HLT_j460_a10r_L1jJ160",
"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"]
187 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"]
188 trig_VBF_Run3 = [
"HLT_j70_j50a_j0_DJMASS1000j50dphi200x400deta_L1MJJ-500-NFF",
"HLT_j70_j50a_j0_DJMASS1000j50dphi200x400deta_L1jMJJ-500-NFF"]
189 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"]
190 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"]
191 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"]
192 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"]
193 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"]
194 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"]
195 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"]
196 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"]
197 trig_hip = [
"HLT_g0_hiptrt_L1EM22VHI",
"HLT_g0_hiptrt_L1eEM26M",
"HLT_g0_hiptrt_L1eEM28M"]
199 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 + trig_hip
202 triggers = sorted(list(
set(triggers)))
204 acc = ComponentAccumulator()
205 TriggerSkimmingTool = CompFactory.DerivationFramework.TriggerSkimmingTool
206 acc.addPublicTool(TriggerSkimmingTool(name,
208 TriggerListOR = triggers,
215 """Configure the common trigger matching for run 2 DAODs"""
217 triggerList = kwargs[
'TriggerList']
218 outputContainerPrefix = kwargs[
'OutputContainerPrefix']
220 kwargs.setdefault(
'InputElectrons',
'LRTElectrons')
221 kwargs.setdefault(
'InputMuons',
'MuonsLRT')
222 kwargs.setdefault(
'DRThreshold',
None)
224 acc = ComponentAccumulator()
227 from DerivationFrameworkTrigger.TriggerMatchingToolConfig
import TriggerMatchingToolCfg
228 if kwargs[
'DRThreshold']
is None:
229 PhysCommonTriggerMatchingTool = acc.getPrimaryAndMerge(TriggerMatchingToolCfg(
232 ChainNames = triggerList,
233 OutputContainerPrefix = outputContainerPrefix,
234 InputElectrons = kwargs[
'InputElectrons'],
235 InputMuons = kwargs[
'InputMuons']))
237 PhysCommonTriggerMatchingTool = acc.getPrimaryAndMerge(TriggerMatchingToolCfg(
240 ChainNames = triggerList,
241 OutputContainerPrefix = outputContainerPrefix,
242 DRThreshold = kwargs[
'DRThreshold'],
243 InputElectrons = kwargs[
'InputElectrons'],
244 InputMuons = kwargs[
'InputMuons']))
245 CommonAugmentation = CompFactory.DerivationFramework.CommonAugmentation
246 acc.addEventAlgo(CommonAugmentation(f
"{outputContainerPrefix}TriggerMatchingKernel",
247 AugmentationTools=[PhysCommonTriggerMatchingTool]))
294 acc = ComponentAccumulator()
295 from ROOT
import egammaPID
296 from ElectronPhotonSelectorTools.AsgPhotonIsEMSelectorsConfig
import (
297 AsgPhotonIsEMSelectorCfg,
300 isFullSim = flags.Sim.ISF.Simulator.isFullSim()
if flags.Input.isMC
else False
303 from EGammaVariableCorrection.EGammaVariableCorrectionConfig
import (
304 PhotonVariableCorrectionToolCfg,
307 PhotonVariableCorrectionTool = acc.popToolsAndMerge(
308 PhotonVariableCorrectionToolCfg(flags))
309 acc.addPublicTool(PhotonVariableCorrectionTool)
311 PhotonIsEMSelectorMedium = acc.popToolsAndMerge(
312 AsgPhotonIsEMSelectorCfg(
313 flags, name=
"PhotonIsEMSelectorMedium", quality=egammaPID.PhotonIDMedium
316 acc.addPublicTool(PhotonIsEMSelectorMedium)
323 acc = ComponentAccumulator()
325 from ElectronPhotonSelectorTools.AsgElectronLikelihoodToolsConfig
import AsgElectronLikelihoodToolCfg
326 from ElectronPhotonSelectorTools.ElectronLikelihoodToolMapping
import electronLHmenu
327 from ROOT
import LikeEnum
329 lhMenu = electronLHmenu.offlineMC21
330 if flags.GeoModel.Run
is LHCPeriod.Run2:
331 lhMenu = electronLHmenu.offlineMC20
333 ElectronLHSelectorVeryLooseNoPix = acc.popToolsAndMerge(AsgElectronLikelihoodToolCfg(
335 name=
"ElectronLHSelectorVeryLooseNoPix",
336 quality=LikeEnum.VeryLooseLLP,
339 ElectronLHSelectorVeryLooseNoPix.primaryVertexContainer =
"PrimaryVertices"
341 ElectronLHSelectorLooseNoPix = acc.popToolsAndMerge(AsgElectronLikelihoodToolCfg(
343 name=
"ElectronLHSelectorLooseNoPix",
344 quality=LikeEnum.LooseLLP,
347 ElectronLHSelectorLooseNoPix.primaryVertexContainer =
"PrimaryVertices"
349 ElectronLHSelectorMediumNoPix = acc.popToolsAndMerge(AsgElectronLikelihoodToolCfg(
351 name=
"ElectronLHSelectorMediumNoPix",
352 quality=LikeEnum.MediumLLP,
355 ElectronLHSelectorMediumNoPix.primaryVertexContainer =
"PrimaryVertices"
357 ElectronLHSelectorTightNoPix = acc.popToolsAndMerge(AsgElectronLikelihoodToolCfg(
359 name=
"ElectronLHSelectorTightNoPix",
360 quality=LikeEnum.TightLLP,
363 ElectronLHSelectorTightNoPix.primaryVertexContainer =
"PrimaryVertices"
365 from DerivationFrameworkEGamma.EGammaToolsConfig
import EGElectronLikelihoodToolWrapperCfg
368 ElectronPassLHVeryLooseNoPix = acc.addPublicTool(acc.popToolsAndMerge(EGElectronLikelihoodToolWrapperCfg(
370 name=
"ElectronPassLHVeryLooseNoPix",
371 EGammaElectronLikelihoodTool=ElectronLHSelectorVeryLooseNoPix,
372 EGammaFudgeMCTool=
"",
374 StoreGateEntryName=
"DFCommonElectronsLHVeryLooseNoPix",
375 ContainerName=
"Electrons",
378 ElectronPassLHVeryLooseNoPixLRT = acc.addPublicTool(acc.popToolsAndMerge(EGElectronLikelihoodToolWrapperCfg(
380 name=
"ElectronPassLHVeryLooseNoPixLRT",
381 EGammaElectronLikelihoodTool=ElectronLHSelectorVeryLooseNoPix,
382 EGammaFudgeMCTool=
"",
384 StoreGateEntryName=
"DFCommonElectronsLHVeryLooseNoPix",
385 ContainerName=
"LRTElectrons",
389 ElectronPassLHLooseNoPix = acc.addPublicTool(acc.popToolsAndMerge(EGElectronLikelihoodToolWrapperCfg(
391 name=
"ElectronPassLHLooseNoPix",
392 EGammaElectronLikelihoodTool=ElectronLHSelectorLooseNoPix,
393 EGammaFudgeMCTool=
"",
395 StoreGateEntryName=
"DFCommonElectronsLHLooseNoPix",
396 ContainerName=
"Electrons",
397 StoreTResult=
False)))
399 ElectronPassLHLooseNoPixLRT = acc.addPublicTool(acc.popToolsAndMerge(EGElectronLikelihoodToolWrapperCfg(
401 name=
"ElectronPassLHLooseNoPixLRT",
402 EGammaElectronLikelihoodTool=ElectronLHSelectorLooseNoPix,
403 EGammaFudgeMCTool=
"",
405 StoreGateEntryName=
"DFCommonElectronsLHLooseNoPix",
406 ContainerName=
"LRTElectrons",
407 StoreTResult=
False)))
410 ElectronPassLHMediumNoPix = acc.addPublicTool(acc.popToolsAndMerge(EGElectronLikelihoodToolWrapperCfg(
412 name=
"ElectronPassLHMediumNoPix",
413 EGammaElectronLikelihoodTool=ElectronLHSelectorMediumNoPix,
414 EGammaFudgeMCTool=
"",
416 StoreGateEntryName=
"DFCommonElectronsLHMediumNoPix",
417 ContainerName=
"Electrons",
418 StoreTResult=
False)))
420 ElectronPassLHMediumNoPixLRT = acc.addPublicTool(acc.popToolsAndMerge(EGElectronLikelihoodToolWrapperCfg(
422 name=
"ElectronPassLHMediumNoPixLRT",
423 EGammaElectronLikelihoodTool=ElectronLHSelectorMediumNoPix,
424 EGammaFudgeMCTool=
"",
426 StoreGateEntryName=
"DFCommonElectronsLHMediumNoPix",
427 ContainerName=
"LRTElectrons",
428 StoreTResult=
False)))
431 ElectronPassLHTightNoPix = acc.addPublicTool(acc.popToolsAndMerge(EGElectronLikelihoodToolWrapperCfg(
433 name=
"ElectronPassLHTightNoPix",
434 EGammaElectronLikelihoodTool=ElectronLHSelectorTightNoPix,
435 EGammaFudgeMCTool=
"",
437 StoreGateEntryName=
"DFCommonElectronsLHTightNoPix",
438 ContainerName=
"Electrons",
439 StoreTResult=
False)))
441 ElectronPassLHTightNoPixLRT = acc.addPublicTool(acc.popToolsAndMerge(EGElectronLikelihoodToolWrapperCfg(
443 name=
"ElectronPassLHTightNoPixLRT",
444 EGammaElectronLikelihoodTool=ElectronLHSelectorTightNoPix,
445 EGammaFudgeMCTool=
"",
447 StoreGateEntryName=
"DFCommonElectronsLHTightNoPix",
448 ContainerName=
"LRTElectrons",
449 StoreTResult=
False)))
451 LRTEGAugmentationTools = [ElectronPassLHVeryLooseNoPix,
452 ElectronPassLHVeryLooseNoPixLRT,
453 ElectronPassLHLooseNoPix,
454 ElectronPassLHLooseNoPixLRT,
455 ElectronPassLHMediumNoPix,
456 ElectronPassLHMediumNoPixLRT,
457 ElectronPassLHTightNoPix,
458 ElectronPassLHTightNoPixLRT]
460 acc.addEventAlgo(CompFactory.DerivationFramework.CommonAugmentation(
461 "LLP1EGammaLRTKernel",
462 AugmentationTools=LRTEGAugmentationTools