6 This test defines its own version of the Dev_pp_run3_v1 menu and the corresponding PEB/DS configuration,
7 and executes several chains testing various types of Partial Event Building and Data Scouting
10 from TrigEDMConfig
import DataScoutingInfo, TriggerEDMRun3
14 myTriggerHLTListRun3 = []
15 for collectionConfig
in TriggerEDMRun3.TriggerHLTListRun3:
16 if 'Electron' in collectionConfig[0]:
17 modConfig =
list(collectionConfig)
18 modConfig[1] +=
' ElectronDSTest ElectronDSPEBTest'
19 myTriggerHLTListRun3.append(tuple(modConfig))
21 myTriggerHLTListRun3.append(collectionConfig)
22 TriggerEDMRun3.TriggerHLTListRun3 = myTriggerHLTListRun3
24 from TriggerMenuMT.HLT.Menu
import Dev_pp_run3_v1, EventBuildingInfo, StreamInfo
25 from TriggerMenuMT.HLT.Config.Utility.ChainDefInMenu
import ChainProp
26 from TriggerMenuMT.HLT.CommonSequences
import EventBuildingSequences
27 from TrigPartialEventBuilding.TrigPartialEventBuildingConfig
import StaticPEBInfoWriterToolCfg, RoIPEBInfoWriterToolCfg
28 from libpyeformat_helper
import SubDetector, SourceIdentifier
29 from AthenaCommon.Logging
import logging
30 log = logging.getLogger(
'dataScoutingTest')
33 EventBuildingInfo._PartialEventBuildingIdentifiers |= {
'TestPEBOne' :
False,
35 'TestPEBThree' :
True,
37 'ElectronDSTest' :
False,
38 'ElectronDSPEBTest':
False}
40 DataScoutingInfo._DataScoutingIdentifiers[
'ElectronDSTest'] = 3
41 DataScoutingInfo._DataScoutingIdentifiers[
'ElectronDSPEBTest'] = 3
42 DataScoutingInfo.TruncationThresholds[3] = 5*(1024**2)
46 log.debug(
'Executing myMenu')
48 from TriggerMenuMT.HLT.Menu.SignatureDicts
import ChainStore
52 ChainProp(name=
'HLT_e3_etcut_ElectronDSPEBTest_L1EM3', stream=[
'ElectronDSPEBTest'], groups=[
'RATE:Test',
'BW:Other']),
55 ChainProp(name=
'HLT_e5_etcut_ElectronDSTest_L1EM3', stream=[
'ElectronDSTest'], groups=[
'RATE:Test',
'BW:Other']),
58 ChainProp(name=
'HLT_e7_etcut_TestPEBOne_L1EM3', stream=[
'TestPEBOne'], groups=[
'RATE:Test',
'BW:Other']),
61 ChainProp(name=
'HLT_e10_etcut_TestPEBThree_L1EM3', stream=[
'TestPEBThree'], groups=[
'RATE:Test',
'BW:Other']),
64 ChainProp(name=
'HLT_e12_etcut_L1EM3', stream=[
'Main'], groups=[
'RATE:SingleElectron',
'BW:Electron']),
69 ChainProp(name=
'HLT_mu6_TestPEBTwo_L1MU5VF', stream=[
'TestPEBTwo'], groups=[
'RATE:Test',
'BW:Other']),
72 ChainProp(name=
'HLT_mu6_TestPEBFour_L1MU5VF', stream=[
'TestPEBFour'], groups=[
'RATE:Test',
'BW:Other']),
75 ChainProp(name=
'HLT_2mu6_L12MU5VF', stream=[
'Main'], groups=[
'RATE:SingleMuon',
'BW:Muon']),
79 Dev_pp_run3_v1.setupMenu = myMenu
83 log.debug(
'Executing myPebInfoWriterToolCfg')
86 HLT_ROB = SourceIdentifier(SubDetector.TDAQ_HLT, DataScoutingInfo.getFullHLTResultID())
89 if 'TestPEBOne' == eventBuildType:
94 ROBs = [0x42002e, 0x420060, 0x420064,
97 elif 'TestPEBTwo' == eventBuildType:
102 subDets = [SubDetector.MUON_RPC_BARREL_A_SIDE,
103 SubDetector.MUON_RPC_BARREL_C_SIDE] )
105 elif 'TestPEBThree' == eventBuildType:
114 regSelDets = [
'All'],
117 elif 'TestPEBFour' == eventBuildType:
124 regSelDets = [
'MDT',
'CSC',
'RPC',
'TGC',
'MM',
'sTGC'])
126 elif 'ElectronDSTest' == eventBuildType:
131 ROBs = [SourceIdentifier(SubDetector.TDAQ_HLT,
132 DataScoutingInfo.getDataScoutingResultID(eventBuildType))])
134 elif 'ElectronDSPEBTest' == eventBuildType:
140 ROBs = [SourceIdentifier(SubDetector.TDAQ_HLT,
141 DataScoutingInfo.getDataScoutingResultID(eventBuildType))],
144 regSelDets = [
'Pixel',
'SCT',
'TRT',
'TTEM',
'TTHEC',
'FCALEM',
'FCALHAD'])
148 log.error(
'PEBInfoWriterTool configuration is missing for event building identifier \'%s\'', eventBuildType)
152 EventBuildingSequences.pebInfoWriterToolCfg = myPebInfoWriterToolCfg
157 StreamInfo.StreamInfo(
'Main',
'physics',
True,
True),
158 StreamInfo.StreamInfo(
'TestPEBOne',
'physics',
True,
False),
159 StreamInfo.StreamInfo(
'TestPEBTwo',
'calibration',
True,
False),
160 StreamInfo.StreamInfo(
'TestPEBThree',
'physics',
True,
False),
161 StreamInfo.StreamInfo(
'TestPEBFour',
'calibration',
True,
False),
162 StreamInfo.StreamInfo(
'ElectronDSTest',
'physics',
True,
False),
163 StreamInfo.StreamInfo(
'ElectronDSPEBTest',
'physics',
True,
False),
166 StreamInfo._all_streams = myAllStreams
172 from TriggerJobOpts
import runHLT
174 runHLT.set_flags(flags)
175 flags.Trigger.triggerMenuSetup =
'Dev_pp_run3_v1'
176 flags.Trigger.enabledSignatures = [
'Egamma',
'Muon']
177 flags.Trigger.doLVL1 =
True
179 acc = runHLT.runHLTCfg(flags)