3 from AthenaCommon.Logging
import logging
4 logging.getLogger().
info(
"Importing %s",__name__)
5 log = logging.getLogger(__name__)
7 from TriggerMenuMT.HLT.Config.ChainConfigurationBase
import ChainConfigurationBase
8 from TriggerMenuMT.HLT.Config.MenuComponents
import MenuSequence, SelectionCA, InViewRecoCA, InEventRecoCA
9 from AthenaConfiguration.ComponentFactory
import CompFactory
10 from TrigT2CaloCommon.CaloDef
import fastCaloRecoSequenceCfg
11 from TrigGenericAlgs.TrigGenericAlgsConfig
import TimeBurnerCfg, TimeBurnerHypoToolGen
12 from AthenaConfiguration.AccumulatorCache
import AccumulatorCache
14 from TrigTrackingHypo.IDCalibHypoConfig
import IDCalibHypoToolFromDict, createIDCalibHypoAlg
15 from ..CommonSequences.FullScanInDetConfig
import commonInDetFullScanCfg
16 from TriggerMenuMT.HLT.Jet.JetMenuSequencesConfig
import getTrackingInputMaker
18 from TrigCaloRec.TrigCaloRecConfig
import hltCaloCellMakerCfg
19 from TrigCaloHypo.TrigCaloHypoConfig
import TrigLArNoiseBurstRecoAlgCfg
20 from TrigCaloHypo.TrigCaloHypoConfig
import TrigLArNoiseBurstHypoToolGen
21 from TrigT2CaloCommon.CaloDef
import clusterFSInputMaker
26 cells_name =
'CaloCellsFS'
38 hypoAlg = CompFactory.TrigLArNoiseBurstAlg(
"NoiseBurstAlg")
43 InEventReco.mergeReco(noiseBurstRecoSeq)
44 selAcc = SelectionCA(
"LArNoiseBurstMenuSequence")
45 selAcc.mergeReco(InEventReco)
46 selAcc.addHypoAlgo(hypoAlg)
48 return MenuSequence(flags,selAcc,HypoToolGen=TrigLArNoiseBurstHypoToolGen)
57 from TrigT2CaloCommon.CaloDef
import fastCaloVDVCfg
58 nameselAcc =
"LArPSSequence_All"
59 namerecoAcc =
"fastCaloInViewSequenceAllEM"
60 hypoAlgName =
"TrigL2CaloLayersAlg_AllEM"
61 output =
"HLT_LArPS_AllCaloEMClusters"
63 nameselAcc =
"LArPSSequence_AllEM"
64 namerecoAcc =
"fastCaloInViewSequenceAll"
65 hypoAlgName =
"TrigL2CaloLayersAlg_All"
66 output =
"HLT_LArPS_AllCaloClusters"
67 selAcc = SelectionCA(nameselAcc)
68 InViewRoIs=
"EMCaloRoIs"
69 reco = InViewRecoCA(namerecoAcc,InViewRoIs=InViewRoIs)
71 reco.mergeReco(
fastCaloRecoSequenceCfg(flags, inputEDM=InViewRoIs,ClustersName=output,doAllEm=
not doAllorAllEM,doAll=doAllorAllEM))
73 selAcc.mergeReco(reco)
75 from TrigCaloHypo.TrigCaloHypoConfig
import TrigL2CaloLayersHypoToolGen
76 TrigL2CaloLayersAlg = CompFactory.TrigL2CaloLayersAlg(hypoAlgName)
77 TrigL2CaloLayersAlg.TrigClusterContainerKey = output
78 selAcc.addHypoAlgo(TrigL2CaloLayersAlg)
79 return MenuSequence(flags,selAcc,HypoToolGen=TrigL2CaloLayersHypoToolGen)
87 ChainConfigurationBase.__init__(self,chainDict)
95 log.debug(
"Assembling chain for %s", self.chainName)
99 if 'acceptedevts' in self.chainPart[
'purpose']:
100 steps=stepDictionary[
'AcceptedEvents']
101 elif self.chainPart[
'purpose'][0] ==
'larnoiseburst':
102 steps=stepDictionary[
'LArNoiseBurst']
103 elif self.chainPart[
'purpose'][0] ==
'larpsallem':
104 steps=stepDictionary[
'LArPSAllEM']
105 elif self.chainPart[
'purpose'][0] ==
'larpsall':
106 steps=stepDictionary[
'LArPSAll']
107 elif self.chainPart[
'purpose'][0] ==
'idcalib':
108 steps=stepDictionary[
'IDCalib']
109 for i, step
in enumerate(steps):
110 chainstep = getattr(self, step)(flags, i)
111 chainSteps+=[chainstep]
113 myChain = self.buildChain(chainSteps)
122 "AcceptedEvents": [
'getAcceptedEventsStep'],
123 "LArNoiseBurst": [
'getAllTEStep'],
124 "LArPSAllEM" : [
'getCaloAllEMStep'],
125 "LArPSAll" : [
'getCaloAllStep'],
126 "IDCalib": [
'getIDCalibEmpty',
'getIDCalibEmpty',
'getIDCalibFTFReco',
'getIDCalibTrigger']
128 return stepDictionary
132 return self.getStep(flags,
'AcceptedEvents', [acceptedEventsSequenceGenCfg])
135 return self.getStep(flags,
'LArNoiseBurst', [getLArNoiseBurstSequenceGenCfg])
138 return self.getStep(flags,
'LArPSALLEM', [getCaloAllEMLayersPSSequenceGenCfg], doAllorAllEM=
False)
141 return self.getStep(flags,
'LArPSALL', [getCaloAllEMLayersPSSequenceGenCfg], doAllorAllEM=
True)
144 return self.getEmptyStep(1,
'IDCalibEmptyStep')
147 return self.getStep(flags,
'IDCalibFTFCfg',[IDCalibFTFSequenceGenCfg])
150 return self.getStep(flags,
'IDCalibTriggerCfg',[IDCalibTriggerSequenceGenCfg])
160 DummyInputMakerAlg = CompFactory.InputMakerForRoI(
"IM_IDCalib_HypoOnlyStep" )
161 DummyInputMakerAlg.RoITool = CompFactory.ViewCreatorInitialROITool()
163 reco = InEventRecoCA(
'IDCalibEmptySeq_reco',inputMaker=DummyInputMakerAlg)
166 theHypoAlg.tracksKey = flags.Trigger.InDetTracking.fullScan.tracks_FTF
168 selAcc = SelectionCA(
'IDCalibEmptySeq_sel')
169 selAcc.mergeReco(reco)
170 selAcc.addHypoAlgo(theHypoAlg)
174 HypoToolGen=IDCalibHypoToolFromDict,
186 selAcc = SelectionCA(
'IDCalibTrkrecoSeq')
187 selAcc.mergeReco(reco)
188 selAcc.addHypoAlgo(CompFactory.TrigStreamerHypoAlg(
"IDCalibTrkDummyStream"))
192 HypoToolGen =
lambda chainDict: CompFactory.TrigStreamerHypoTool(chainDict[
'chainName'])
205 Return MenuSequence for an HLT step used by the AcceptedEvents chains. This step is a trivial
206 always-reject hypo with no reco. The step itself should be noop as only the HLTSeeding and the
207 end-of-event sequence parts of AcceptedEvents chains are actually used.
211 inputMaker = CompFactory.InputMakerForRoI(
213 RoITool = CompFactory.ViewCreatorInitialROITool(),
214 RoIs=
"AcceptedEventsRoIs",
216 reco = InEventRecoCA(
'AcceptedEvents_reco',inputMaker=inputMaker)
218 selAcc = SelectionCA(
'AcceptedEventsSequence')
219 selAcc.mergeReco(reco)
223 name=
"AcceptedEventsHypo",
224 SleepTimeMillisec = 0,
230 HypoToolGen=TimeBurnerHypoToolGen