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"]
198 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
201 triggers = sorted(list(
set(triggers)))
203 acc = ComponentAccumulator()
204 TriggerSkimmingTool = CompFactory.DerivationFramework.TriggerSkimmingTool
205 acc.addPublicTool(TriggerSkimmingTool(name,
207 TriggerListOR = triggers,
214 """Configure the common trigger matching for run 2 DAODs"""
216 triggerList = kwargs[
'TriggerList']
217 outputContainerPrefix = kwargs[
'OutputContainerPrefix']
219 kwargs.setdefault(
'InputElectrons',
'LRTElectrons')
220 kwargs.setdefault(
'InputMuons',
'MuonsLRT')
221 kwargs.setdefault(
'DRThreshold',
None)
223 acc = ComponentAccumulator()
226 from DerivationFrameworkTrigger.TriggerMatchingToolConfig
import TriggerMatchingToolCfg
227 if kwargs[
'DRThreshold']
is None:
228 PhysCommonTriggerMatchingTool = acc.getPrimaryAndMerge(TriggerMatchingToolCfg(
231 ChainNames = triggerList,
232 OutputContainerPrefix = outputContainerPrefix,
233 InputElectrons = kwargs[
'InputElectrons'],
234 InputMuons = kwargs[
'InputMuons']))
236 PhysCommonTriggerMatchingTool = acc.getPrimaryAndMerge(TriggerMatchingToolCfg(
239 ChainNames = triggerList,
240 OutputContainerPrefix = outputContainerPrefix,
241 DRThreshold = kwargs[
'DRThreshold'],
242 InputElectrons = kwargs[
'InputElectrons'],
243 InputMuons = kwargs[
'InputMuons']))
244 CommonAugmentation = CompFactory.DerivationFramework.CommonAugmentation
245 acc.addEventAlgo(CommonAugmentation(f
"{outputContainerPrefix}TriggerMatchingKernel",
246 AugmentationTools=[PhysCommonTriggerMatchingTool]))
293 acc = ComponentAccumulator()
294 from ROOT
import egammaPID
295 from ElectronPhotonSelectorTools.AsgPhotonIsEMSelectorsConfig
import (
296 AsgPhotonIsEMSelectorCfg,
299 isFullSim = flags.Sim.ISF.Simulator.isFullSim()
if flags.Input.isMC
else False
302 from EGammaVariableCorrection.EGammaVariableCorrectionConfig
import (
303 PhotonVariableCorrectionToolCfg,
306 PhotonVariableCorrectionTool = acc.popToolsAndMerge(
307 PhotonVariableCorrectionToolCfg(flags))
308 acc.addPublicTool(PhotonVariableCorrectionTool)
310 PhotonIsEMSelectorMedium = acc.popToolsAndMerge(
311 AsgPhotonIsEMSelectorCfg(
312 flags, name=
"PhotonIsEMSelectorMedium", quality=egammaPID.PhotonIDMedium
315 acc.addPublicTool(PhotonIsEMSelectorMedium)
322 acc = ComponentAccumulator()
324 from ElectronPhotonSelectorTools.AsgElectronLikelihoodToolsConfig
import AsgElectronLikelihoodToolCfg
325 from ElectronPhotonSelectorTools.ElectronLikelihoodToolMapping
import electronLHmenu
326 from ROOT
import LikeEnum
328 lhMenu = electronLHmenu.offlineMC21
329 if flags.GeoModel.Run
is LHCPeriod.Run2:
330 lhMenu = electronLHmenu.offlineMC20
332 ElectronLHSelectorVeryLooseNoPix = acc.popToolsAndMerge(AsgElectronLikelihoodToolCfg(
334 name=
"ElectronLHSelectorVeryLooseNoPix",
335 quality=LikeEnum.VeryLooseLLP,
338 ElectronLHSelectorVeryLooseNoPix.primaryVertexContainer =
"PrimaryVertices"
340 ElectronLHSelectorLooseNoPix = acc.popToolsAndMerge(AsgElectronLikelihoodToolCfg(
342 name=
"ElectronLHSelectorLooseNoPix",
343 quality=LikeEnum.LooseLLP,
346 ElectronLHSelectorLooseNoPix.primaryVertexContainer =
"PrimaryVertices"
348 ElectronLHSelectorMediumNoPix = acc.popToolsAndMerge(AsgElectronLikelihoodToolCfg(
350 name=
"ElectronLHSelectorMediumNoPix",
351 quality=LikeEnum.MediumLLP,
354 ElectronLHSelectorMediumNoPix.primaryVertexContainer =
"PrimaryVertices"
356 ElectronLHSelectorTightNoPix = acc.popToolsAndMerge(AsgElectronLikelihoodToolCfg(
358 name=
"ElectronLHSelectorTightNoPix",
359 quality=LikeEnum.TightLLP,
362 ElectronLHSelectorTightNoPix.primaryVertexContainer =
"PrimaryVertices"
364 from DerivationFrameworkEGamma.EGammaToolsConfig
import EGElectronLikelihoodToolWrapperCfg
367 ElectronPassLHVeryLooseNoPix = acc.addPublicTool(acc.popToolsAndMerge(EGElectronLikelihoodToolWrapperCfg(
369 name=
"ElectronPassLHVeryLooseNoPix",
370 EGammaElectronLikelihoodTool=ElectronLHSelectorVeryLooseNoPix,
371 EGammaFudgeMCTool=
"",
373 StoreGateEntryName=
"DFCommonElectronsLHVeryLooseNoPix",
374 ContainerName=
"Electrons",
377 ElectronPassLHVeryLooseNoPixLRT = acc.addPublicTool(acc.popToolsAndMerge(EGElectronLikelihoodToolWrapperCfg(
379 name=
"ElectronPassLHVeryLooseNoPixLRT",
380 EGammaElectronLikelihoodTool=ElectronLHSelectorVeryLooseNoPix,
381 EGammaFudgeMCTool=
"",
383 StoreGateEntryName=
"DFCommonElectronsLHVeryLooseNoPix",
384 ContainerName=
"LRTElectrons",
388 ElectronPassLHLooseNoPix = acc.addPublicTool(acc.popToolsAndMerge(EGElectronLikelihoodToolWrapperCfg(
390 name=
"ElectronPassLHLooseNoPix",
391 EGammaElectronLikelihoodTool=ElectronLHSelectorLooseNoPix,
392 EGammaFudgeMCTool=
"",
394 StoreGateEntryName=
"DFCommonElectronsLHLooseNoPix",
395 ContainerName=
"Electrons",
396 StoreTResult=
False)))
398 ElectronPassLHLooseNoPixLRT = acc.addPublicTool(acc.popToolsAndMerge(EGElectronLikelihoodToolWrapperCfg(
400 name=
"ElectronPassLHLooseNoPixLRT",
401 EGammaElectronLikelihoodTool=ElectronLHSelectorLooseNoPix,
402 EGammaFudgeMCTool=
"",
404 StoreGateEntryName=
"DFCommonElectronsLHLooseNoPix",
405 ContainerName=
"LRTElectrons",
406 StoreTResult=
False)))
409 ElectronPassLHMediumNoPix = acc.addPublicTool(acc.popToolsAndMerge(EGElectronLikelihoodToolWrapperCfg(
411 name=
"ElectronPassLHMediumNoPix",
412 EGammaElectronLikelihoodTool=ElectronLHSelectorMediumNoPix,
413 EGammaFudgeMCTool=
"",
415 StoreGateEntryName=
"DFCommonElectronsLHMediumNoPix",
416 ContainerName=
"Electrons",
417 StoreTResult=
False)))
419 ElectronPassLHMediumNoPixLRT = acc.addPublicTool(acc.popToolsAndMerge(EGElectronLikelihoodToolWrapperCfg(
421 name=
"ElectronPassLHMediumNoPixLRT",
422 EGammaElectronLikelihoodTool=ElectronLHSelectorMediumNoPix,
423 EGammaFudgeMCTool=
"",
425 StoreGateEntryName=
"DFCommonElectronsLHMediumNoPix",
426 ContainerName=
"LRTElectrons",
427 StoreTResult=
False)))
430 ElectronPassLHTightNoPix = acc.addPublicTool(acc.popToolsAndMerge(EGElectronLikelihoodToolWrapperCfg(
432 name=
"ElectronPassLHTightNoPix",
433 EGammaElectronLikelihoodTool=ElectronLHSelectorTightNoPix,
434 EGammaFudgeMCTool=
"",
436 StoreGateEntryName=
"DFCommonElectronsLHTightNoPix",
437 ContainerName=
"Electrons",
438 StoreTResult=
False)))
440 ElectronPassLHTightNoPixLRT = acc.addPublicTool(acc.popToolsAndMerge(EGElectronLikelihoodToolWrapperCfg(
442 name=
"ElectronPassLHTightNoPixLRT",
443 EGammaElectronLikelihoodTool=ElectronLHSelectorTightNoPix,
444 EGammaFudgeMCTool=
"",
446 StoreGateEntryName=
"DFCommonElectronsLHTightNoPix",
447 ContainerName=
"LRTElectrons",
448 StoreTResult=
False)))
450 LRTEGAugmentationTools = [ElectronPassLHVeryLooseNoPix,
451 ElectronPassLHVeryLooseNoPixLRT,
452 ElectronPassLHLooseNoPix,
453 ElectronPassLHLooseNoPixLRT,
454 ElectronPassLHMediumNoPix,
455 ElectronPassLHMediumNoPixLRT,
456 ElectronPassLHTightNoPix,
457 ElectronPassLHTightNoPixLRT]
459 acc.addEventAlgo(CompFactory.DerivationFramework.CommonAugmentation(
460 "LLP1EGammaLRTKernel",
461 AugmentationTools=LRTEGAugmentationTools