21def DVRecoFragment(flags):
22
23 selAcc = SelectionCA("DVRecoSequence1")
24
25 inputMakerAlg = CompFactory.EventViewCreatorAlgorithm(
26 "IMDVRoILRT",
27 mergeUsingFeature = False,
28 RoITool = CompFactory.ViewCreatorDVROITool(
29 'ViewCreatorDVRoI',
30 RoisWriteHandleKey = recordable( flags.Trigger.InDetTracking.DVtxLRT.roi ),
31 RoIEtaWidth = flags.Trigger.InDetTracking.DVtxLRT.etaHalfWidth,
32 RoIPhiWidth = flags.Trigger.InDetTracking.DVtxLRT.phiHalfWidth,
33 ),
34 Views = "DVRoIViews",
35 InViewRoIs = "InViewRoIs",
36 RequireParentView = False,
37 ViewFallThrough = True,
38 ViewNodeName = selAcc.name+'InView',
39 )
40
41 reco = InViewRecoCA('DVRecoStep',viewMaker=inputMakerAlg)
42
43 flagsWithTrk = cloneFlagsToActiveConfig(flags, flags.Trigger.InDetTracking.DVtxLRT.input_name, log)
44
45 lrt_algs = trigInDetLRTCfg(
46 flagsWithTrk,
47 flags.Tracking.ActiveConfig.trkTracks_FTF,
48 inputMakerAlg.InViewRoIs,
49 in_view=True,
50 extra_view_inputs=(
51 ( 'xAOD::TrackParticleContainer' , flags.Tracking.ActiveConfig.tracks_FTF ),
52 ( 'xAOD::VertexContainer' , flags.Tracking.ActiveConfig.vertex ),
53 )
54 )
55
56 from TrigVrtSecInclusive.TrigVrtSecInclusiveConfig import TrigVrtSecInclusiveCfg
57 vertexingAlgs = TrigVrtSecInclusiveCfg( flags, "TrigVrtSecInclusive_TrigDV",
58 FirstPassTracksName = flags.Tracking.ActiveConfig.tracks_FTF,
59 SecondPassTracksName = flags.Trigger.InDetTracking.DVtxLRT.tracks_FTF,
60 PrimaryVertexInputName = flags.Tracking.ActiveConfig.vertex,
61 VxCandidatesOutputName = recordable(vtxOutName),
62 TrkPairOutputName = recordable(trkPairOutName) )
63
64 recoAlgSequence = seqAND("DVRecoSeq")
65 acc = ComponentAccumulator()
66
67 acc.addSequence(recoAlgSequence)
68
69 acc.merge(lrt_algs)
70 acc.merge(vertexingAlgs)
71
72 reco.mergeReco(acc)
73 selAcc.mergeReco(reco)
74 return selAcc
75
76