3from AthenaCommon.Logging
import logging
4logging.getLogger().info(
"Importing %s",__name__)
5log = logging.getLogger(__name__)
7from TriggerMenuMT.HLT.Config.ChainConfigurationBase
import ChainConfigurationBase
8from TriggerMenuMT.HLT.Config.MenuComponents
import MenuSequence, SelectionCA, InEventRecoCA
9from AthenaConfiguration.ComponentFactory
import CompFactory
10from TrigGenericAlgs.TrigGenericAlgsConfig
import TimeBurnerCfg, TimeBurnerHypoToolGen, L1CorrelationAlgCfg
11from L1TopoOnlineMonitoring
import L1TopoOnlineMonitoringConfig
as TopoMonConfig
12from L1TopoSimulation
import L1TopoSimulationConfig
as TopoSimConfig
13from TrigHypoCommonTools.TrigHypoCommonTools
import TrigGenericHypoToolFromDict
14from TrigEDMConfig.TriggerEDM
import recordable
15from AthenaCommon.CFElements
import seqAND
16from TriggerMenuMT.HLT.CommonSequences.RejectSequences
import RejectSequence
23 inputMaker = CompFactory.InputMakerForRoI(
"IM_TimeBurner",
24 RoITool=CompFactory.ViewCreatorInitialROITool(),
25 RoIs=
"TimeBurnerInputRoIs",
27 reco = InEventRecoCA(
'TimeBurner_reco',inputMaker=inputMaker)
29 selAcc = SelectionCA(
'TimeBurnerSequence')
30 selAcc.mergeReco(reco)
33 name=
"TimeBurnerHypo",
38 msca = MenuSequence(flags, selAcc,
39 HypoToolGen=TimeBurnerHypoToolGen)
45 inputMaker = CompFactory.InputMakerForRoI(
"IM_TimeBurnerProcessing",
46 RoITool=CompFactory.ViewCreatorInitialROITool(),
47 RoIs=
"TimeBurnerProcessingInputRoIs",
49 reco = InEventRecoCA(
'TimeBurnerProcessing_reco',inputMaker=inputMaker)
50 selAcc = SelectionCA(
'TimeBurnerProcessingSequence')
51 selAcc.mergeReco(reco)
54 name=
"TimeBurnerProcessingHypo",
55 TimeDistribution=
"landau",
64 msca = MenuSequence(flags, selAcc,
65 HypoToolGen=TimeBurnerHypoToolGen)
71 from LArMonitoring.LArSuperCellMonAlg
import LArSuperCellMonConfigHLT
73 inputMaker = CompFactory.InputMakerForRoI(
"IM_LArSuperCellMon"+appendName,
74 RoITool=CompFactory.ViewCreatorInitialROITool(),
75 RoIs=
"LArSuperCellMonRoIs"+appendName,
77 reco = InEventRecoCA(
'LArSuperCellMonitoring'+appendName,inputMaker=inputMaker)
78 reco.merge( LArSuperCellMonConfigHLT(flags,name=
"LArSuperCellMonConfigHLT"+appendName) )
79 selAcc = SelectionCA(
'LArSuperCellMonitoringSequence'+appendName)
80 selAcc.mergeReco(reco)
81 HypoName =
"LArSuperCellMonHypoConfig"+appendName
82 msca = RejectSequence(flags, HypoName, selAcc)
88 inputMaker = CompFactory.InputMakerForRoI(
"IM_L1TopoOnlineMonitor")
89 inputMaker.RoITool = CompFactory.ViewCreatorInitialROITool()
90 inputMaker.RoIs=
"L1TopoOnlineMonitorInputRoIs"
92 reco = InEventRecoCA(
'L1TopoPhase1OnlineMonitor_reco',inputMaker=inputMaker)
95 if flags.Trigger.doLVL1:
96 readMuCTPI_local=
False
98 reco.addSequence(seqAND(
'L1TopoSimSeq'))
99 reco.merge(TopoSimConfig.L1TopoSimulationCfg(flags,doMonitoring=
True,readMuCTPI=readMuCTPI_local,name=
"L1OnlineTopoSimulation"), sequenceName=
'L1TopoSimSeq')
101 selAcc = SelectionCA(
"L1TopoOnlineMonitorSequence")
102 selAcc.mergeReco(reco)
104 hypoAlg = TopoMonConfig.getL1TopoOnlineMonitorHypo(flags)
105 selAcc.addHypoAlgo(hypoAlg)
107 return MenuSequence(flags, selAcc,
108 HypoToolGen = TopoMonConfig.L1TopoOnlineMonitorHypoToolGen)
112 inputMaker = CompFactory.InputMakerForRoI(
"IM_MistimeMon",
113 RoITool = CompFactory.ViewCreatorInitialROITool(),
114 RoIs=
"MistimeMonInputRoIs",
117 outputName = recordable(
"HLT_TrigCompositeMistimeJ400")
118 reco = InEventRecoCA(
'Mistime_reco',inputMaker=inputMaker)
119 recoAlg = L1CorrelationAlgCfg(flags,
"MistimeMonj400", ItemList=[
'L1_J400',
'L1_gJ400p0ETA25'],
120 TrigCompositeWriteHandleKey=outputName, trigCompPassKey=outputName+
".pass",
121 l1AKey=outputName+
".l1a_type", otherTypeKey=outputName+
".other_type",
122 beforeAfterKey=outputName+
".beforeafterflag",
123 otherTypeBeforeKey=outputName+
".other_type_before",
124 otherTypeAfterKey=outputName+
".other_type_after",
125 beforeOffsetKey=outputName+
".offset_before",
126 afterOffsetKey=outputName+
".offset_after")
127 reco.addRecoAlgo(recoAlg)
128 selAcc = SelectionCA(
"MistimeMonSequence")
129 selAcc.mergeReco(reco)
132 hypoAlg = CompFactory.TrigGenericHypoAlg(
"MistimeMonJ400HypoAlg", TrigCompositeContainer=outputName)
133 selAcc.addHypoAlgo(hypoAlg)
135 return MenuSequence(flags, selAcc,
136 HypoToolGen = TrigGenericHypoToolFromDict)
139 from TrigCaloRec.TrigCaloRecConfig
import hltCaloTopoClusteringCfg
141 reco = InEventRecoCA(
'CaloClusterMonitoring' + suffix)
143 reco.merge( hltCaloTopoClusteringCfg(flags, namePrefix=
"CaloMon", nameSuffix=
"FS" + suffix, CellsName=
"CaloCellsFS" + suffix, monitorCells=
False, clustersKey=
"HLT_MonitoringCaloClusters" + suffix) )
145 selAcc = SelectionCA(
'CaloClusterMonitoringSequence' + suffix)
147 selAcc.mergeReco(reco)
149 HypoName =
"CaloClusterMonHypoConfig"+ suffix
150 msca = RejectSequence(flags, HypoName, selAcc)
161 ChainConfigurationBase.__init__(self,chainDict)
170 monTypeList = self.chainPart.
get(
'monType')
172 raise RuntimeError(
'No monType defined in chain ' + self.
chainName)
173 if len(monTypeList) > 1:
174 raise RuntimeError(
'Multiple monType values defined in chain ' + self.
chainName)
175 monType = monTypeList[0]
177 if monType ==
'timeburner':
179 elif monType ==
'timeburnerprocessing':
181 elif monType ==
'larsupercellmon':
183 elif monType ==
'l1topoPh1debug':
185 elif monType ==
'mistimemonj400':
187 elif monType ==
'caloclustermon':
190 raise RuntimeError(
'Unexpected monType '+monType+
' in MonitorChainConfiguration')
192 return self.buildChain(chainSteps)
198 return self.getStep(flags,
'TimeBurner',[timeBurnerCfg])
204 return self.getStep(flags,
'TimeBurnerProcessing',[timeBurnerProcessingCfg])
216 appendName=
"_firstempty"
219 return self.getStep(flags,
'larsupercellmon'+appendName,[LArSuperCellMonitoringGenCfg],appendName=appendName)
226 sequenceCfg = L1TopoOnlineMonitorSequenceCfg
227 return self.getStep(flags,
'L1TopoOnlineMonitor',[sequenceCfg])
233 return self.getStep(flags,
'MistimeMon',[MistimeMonSequenceCfg])
241 this_suffix =
"_filled"
243 this_suffix =
"_empty"
245 this_suffix =
"_firstempty"
246 return self.getStep(flags,
'caloclustermon' + this_suffix, [CaloClusterMonitorCfg], suffix = this_suffix)
getMistimeMonStep(self, flags)
assembleChainImpl(self, flags)
getTimeBurnerStep(self, flags)
getTimeBurnerProcessingStep(self, flags)
getCaloClusterMonitorCfg(self, flags)
__init__(self, chainDict)
getL1TopoOnlineMonitorStep(self, flags)
getLArSuperCellMonitoringGenCfg(self, flags)
T * get(TKey *tobj)
get a TObject* from a TKey* (why can't a TObject be a TKey?)
timeBurnerProcessingCfg(flags)
CaloClusterMonitorCfg(flags, suffix="")
MistimeMonSequenceCfg(flags)
LArSuperCellMonitoringGenCfg(flags, appendName="")
L1TopoOnlineMonitorSequenceCfg(flags)