12def fastTrackingSequenceGenCfg(flags, variant='', is_probe_leg = False):
13 """ second step: tracking....."""
14 from TriggerMenuMT.HLT.Egamma.TrigEgammaKeys import getTrigEgammaKeys
15 TrigEgammaKeys = getTrigEgammaKeys(flags, variant)
16 inViewRoIs = "EMIDRoIs"+variant
17
18
19 from TriggerMenuMT.HLT.Electron.FastTrackingRecoSequences import fastTracking
20 fastTrackingReco, recoFlags = fastTracking(flags, inViewRoIs, variant)
21
22
23 ViewCreatorCentredOnClusterROITool=CompFactory.ViewCreatorCentredOnClusterROITool
25 roiTool.AllowMultipleClusters = False
26 roiTool.RoisWriteHandleKey = TrigEgammaKeys.fastTrackingRoIContainer
27 roiTool.RoIEtaWidth = recoFlags.Tracking.ActiveConfig.etaHalfWidth
28 roiTool.RoIPhiWidth = recoFlags.Tracking.ActiveConfig.phiHalfWidth
29 if recoFlags.Tracking.ActiveConfig.zedHalfWidth > 0 :
30 roiTool.RoIZedWidth = recoFlags.Tracking.ActiveConfig.zedHalfWidth
31 viewName="EMFastTracking"+variant
32 fastInDetReco = InViewRecoCA(viewName,
33 RoITool=roiTool,
34 RequireParentView=True,
35 InViewRoIs=inViewRoIs,
36 isProbe=is_probe_leg)
37
38 from TrigGenericAlgs.TrigGenericAlgsConfig import ROBPrefetchingAlgCfg_Si
39 robPrefetchAlg = ROBPrefetchingAlgCfg_Si(flags, nameSuffix='IM_'+fastInDetReco.name)
40
41 fastInDetReco.mergeReco(fastTrackingReco)
42 selAcc=SelectionCA('ElectronFTF'+variant, isProbe=is_probe_leg)
43 selAcc.mergeReco(fastInDetReco, robPrefetchCA=robPrefetchAlg)
44 fastElectronHypoAlg = CompFactory.TrigStreamerHypoAlg("ElectronfastTrackingHypo"+variant)
45 fastElectronHypoAlg.FeatureIsROI = False
46 selAcc.addHypoAlgo(fastElectronHypoAlg)
47 def acceptAllHypoToolGen(flags, chainDict):
48 return CompFactory.TrigStreamerHypoTool(chainDict["chainName"], Pass = True)
49 return MenuSequence(flags,selAcc,HypoToolGen=acceptAllHypoToolGen)
50
51