8def Run1Run2DecisionMakerCfg(flags):
9 """Configures HLTNavigation(tool) -> xAODNavigation and TrigDec::TrigDecision -> xAOD::TrigDecision """
10 acc = ComponentAccumulator()
11 doL1=flags.Trigger.L1.doCTP
12 doL2=flags.Trigger.decodeHLT
13 doEF=flags.Trigger.decodeHLT
14 doHLT=flags.Trigger.decodeHLT
15
16
17 if 'HLT' not in flags.Trigger.availableRecoMetadata:
18 doL2=False
19 doEF=False
20 doHLT=False
21
22 if 'L1' not in flags.Trigger.availableRecoMetadata:
23 doL1=False
24
25 if flags.Trigger.EDMVersion == 1:
26 doHLT = False
27 else:
28 doL2 = False
29 doEF = False
30
31 L1ResultKey = "" if flags.Input.Format is Format.BS else "Lvl1Result"
32
33 decMaker = CompFactory.TrigDec.TrigDecisionMaker( 'TrigDecMaker',
34 doL1 = doL1,
35 doL2 = doL2,
36 doEF = doEF,
37 doHLT = doHLT,
38 L1ResultKey = L1ResultKey)
39 acc.addEventAlgo(decMaker)
40
41
42 from TrigDecisionTool.TrigDecisionToolConfig import TrigDecisionToolCfg
43 acc.merge(TrigDecisionToolCfg(flags))
44
45 from TrigConfxAOD.TrigConfxAODConfig import getxAODConfigSvc
46 cnvTool = CompFactory.xAODMaker.TrigDecisionCnvTool('TrigDecisionCnvTool',
47 TrigConfigSvc = acc.getPrimaryAndMerge( getxAODConfigSvc( flags )) )
48
49
50 decCnv = CompFactory.xAODMaker.TrigDecisionCnvAlg(CnvTool = cnvTool)
51 if "EventInfo#EventInfo" not in flags.Input.TypedCollections:
52 decCnv.EventInfoKey=""
53
54 acc.addEventAlgo(decCnv)
55 if doHLT or doEF:
56
57
58
59 from SGComps.AddressRemappingConfig import InputRenameCfg
60
61
62 aodKey = "HLTResult_HLT" if doHLT else "HLTResult_EF"
63
64 acc.merge(InputRenameCfg("HLT::HLTResult", aodKey, aodKey+"_BS"))
65 acc.addEventAlgo( CompFactory.xAODMaker.TrigNavigationCnvAlg('TrigNavigationCnvAlg',
66 AODKey = aodKey,
67 xAODKey = "TrigNavigation") )
68
69 return acc
70