3 from TrigEDMConfig.TriggerEDM
import recordable
5 from ..Config.MenuComponents
import MenuSequence, SelectionCA, InViewRecoCA
6 from AthenaConfiguration.AccumulatorCache
import AccumulatorCache
7 from AthenaConfiguration.ComponentFactory
import CompFactory
13 raise ValueError(
"jet collection name is empty - pass the full HLT jet collection name to getBJetSequenceCfg().")
15 prmVtxKey = flags.Trigger.InDetTracking.fullScan.vertex
16 outputRoIName = flags.Trigger.InDetTracking.bjet.roi
18 jc_key = f
'{jc_name}_'
22 roiTool = CompFactory.ViewCreatorCentredOnJetWithPVConstraintROITool(
23 RoisWriteHandleKey =
recordable( outputRoIName ),
24 VertexReadHandleKey = prmVtxKey,
25 PrmVtxLink = prmVtxKey.replace(
"HLT_",
"" ),
26 RoIEtaWidth = flags.Trigger.InDetTracking.bjet.etaHalfWidth,
27 RoIPhiWidth = flags.Trigger.InDetTracking.bjet.phiHalfWidth,
28 RoIZWidth = flags.Trigger.InDetTracking.bjet.zedHalfWidth,
32 bJetBtagSequence = InViewRecoCA(f
"BTagViews_{jc_name}", RoITool = roiTool,
33 InViewRoIs =
"InViewRoIs",
34 mergeUsingFeature =
True,
35 RequireParentView =
False,
36 ViewFallThrough =
True,
39 PlaceJetInView =
True)
40 InputMakerAlg = bJetBtagSequence.inputMaker()
42 from TriggerMenuMT.HLT.Bjet.BjetTrackingConfig
import secondStageBjetTrackingCfg
44 inputRoI=InputMakerAlg.InViewRoIs,
45 inputVertex=prmVtxKey,
46 inputJets=InputMakerAlg.InViewJets)
48 PTTrackParticles = flags.Trigger.InDetTracking.bjet.tracks_IDTrig
50 from TriggerMenuMT.HLT.Bjet.BjetFlavourTaggingConfig
import flavourTaggingCfg
52 inputJets=
str(InputMakerAlg.InViewJets),
53 inputVertex=prmVtxKey,
54 inputTracks=PTTrackParticles,
57 bJetBtagSequence.mergeReco(secondStageAlgs)
58 bJetBtagSequence.mergeReco(flavourTaggingAlgs)
60 from TrigGenericAlgs.TrigGenericAlgsConfig
import ROBPrefetchingAlgCfg_Si
63 BjetAthSequence = SelectionCA( f
"BjetAthSequence_{jc_name}_step2", )
64 BjetAthSequence.mergeReco(bJetBtagSequence, robPrefetchCA=robPrefetch)
66 from TrigBjetHypo.TrigBjetMonitoringConfig
import TrigBjetOnlineMonitoring
67 hypo = CompFactory.TrigBjetBtagHypoAlg(
68 f
"TrigBjetBtagHypoAlg_{jc_name}",
70 BTaggedJetKey = InputMakerAlg.InViewJets,
71 BTaggingKey = BTagName,
72 TracksKey = PTTrackParticles,
73 PrmVtxKey = InputMakerAlg.RoITool.VertexReadHandleKey,
75 BTaggingLink = BTagName.replace(
"HLT_",
"" ),
76 PrmVtxLink = InputMakerAlg.RoITool.PrmVtxLink,
80 BjetAthSequence.addHypoAlgo(hypo)
82 from TrigBjetHypo.TrigBjetBtagHypoTool
import TrigBjetBtagHypoToolFromDict
83 return MenuSequence(flags,
85 HypoToolGen = TrigBjetBtagHypoToolFromDict)