diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Muon/MuonRecoSequences.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Muon/MuonRecoSequences.py index 3627b9590314568acdd91efdd16a901eaddc0e4b..8000873b2f4000415fc251dcddf6c9e0749456cc 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Muon/MuonRecoSequences.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Muon/MuonRecoSequences.py @@ -111,6 +111,23 @@ def makeMuonPrepDataAlgs(RoIs="MURoIs", forFullScan=False): from AthenaCommon.AppMgr import ToolSvc if (MuonGeometryFlags.hasSTGC() and MuonGeometryFlags.hasMM()): + + ### sTGC RAW data ### + from MuonSTGC_CnvTools.MuonSTGC_CnvToolsConf import Muon__STGC_ROD_Decoder + sTGCRodDecoder = Muon__STGC_ROD_Decoder(name = "sTGCROD_Decoder") + + from MuonSTGC_CnvTools.MuonSTGC_CnvToolsConf import Muon__STGC_RawDataProviderToolMT + MuonsTGCRawDataProviderTool = Muon__STGC_RawDataProviderToolMT(name = "sTGC_RawDataProviderToolMT", + Decoder = sTGCRodDecoder ) + + from MuonByteStream.MuonByteStreamConf import Muon__sTgcRawDataProvider + from RegionSelector.RegSelToolConfig import makeRegSelTool_sTGC + sTGCRawDataProvider = Muon__sTgcRawDataProvider(name = "sTGCRawDataProvider" + postFix, + ProviderTool = MuonsTGCRawDataProviderTool, + DoSeededDecoding = not forFullScan, + RoIs = RoIs, + RegionSelectionTool=makeRegSelTool_sTGC()) + ### sTGC RDO data ### from MuonSTGC_CnvTools.MuonSTGC_CnvToolsConf import Muon__STGC_RDO_Decoder STGCRodDecoder = Muon__STGC_RDO_Decoder(name = "STGC_RDO_Decoder") @@ -125,11 +142,30 @@ def makeMuonPrepDataAlgs(RoIs="MURoIs", forFullScan=False): from MuonRdoToPrepData.MuonRdoToPrepDataConf import StgcRdoToStgcPrepData StgcRdoToStgcPrepData = StgcRdoToStgcPrepData(name = "StgcRdoToStgcPrepData" + postFix) - muDataPrepVDV.DataObjects += [( 'Muon::STGC_RawDataContainer' , 'StoreGateSvc+sTGCRDO' )] - topSequence.SGInputLoader.Load += [( 'Muon::STGC_RawDataContainer' , 'StoreGateSvc+sTGCRDO' )] + if globalflags.InputFormat.is_bytestream(): + viewAlgs_MuonPRD.append( sTGCRawDataProvider ) + else: + muDataPrepVDV.DataObjects += [( 'Muon::STGC_RawDataContainer' , 'StoreGateSvc+sTGCRDO' )] + topSequence.SGInputLoader.Load += [( 'Muon::STGC_RawDataContainer' , 'StoreGateSvc+sTGCRDO' )] viewAlgs_MuonPRD.append( StgcRdoToStgcPrepData ) + ### MM RAW data ### + from MuonMM_CnvTools.MuonMM_CnvToolsConf import Muon__MM_ROD_Decoder + MMRodDecoder = Muon__MM_ROD_Decoder(name = "MMROD_Decoder") + + from MuonMM_CnvTools.MuonMM_CnvToolsConf import Muon__MM_RawDataProviderToolMT + MuonMMRawDataProviderTool = Muon__MM_RawDataProviderToolMT(name = "MM_RawDataProviderToolMT", + Decoder = MMRodDecoder ) + + from MuonByteStream.MuonByteStreamConf import Muon__MM_RawDataProvider + from RegionSelector.RegSelToolConfig import makeRegSelTool_MM + MMRawDataProvider = Muon__MM_RawDataProvider(name = "MMRawDataProvider" + postFix, + ProviderTool = MuonMMRawDataProviderTool, + DoSeededDecoding = not forFullScan, + RoIs = RoIs, + RegionSelectionTool=makeRegSelTool_MM()) + ### MM RDO data ### from MuonMM_CnvTools.MuonMM_CnvToolsConf import Muon__MM_RDO_Decoder MMRodDecoder = Muon__MM_RDO_Decoder(name = "MM_RDO_Decoder") @@ -145,11 +181,17 @@ def makeMuonPrepDataAlgs(RoIs="MURoIs", forFullScan=False): MM_RdoToMM_PrepData = MM_RdoToMM_PrepData(name = "MMRdoToMMPrepData" + postFix, PrintInputRdo = True ) - muDataPrepVDV.DataObjects += [( 'Muon::MM_RawDataContainer' , 'StoreGateSvc+MMRDO' )] - topSequence.SGInputLoader.Load += [( 'Muon::MM_RawDataContainer' , 'StoreGateSvc+MMRDO' )] + + + if globalflags.InputFormat.is_bytestream(): + viewAlgs_MuonPRD.append( MMRawDataProvider ) + else: + muDataPrepVDV.DataObjects += [( 'Muon::MM_RawDataContainer' , 'StoreGateSvc+MMRDO' )] + topSequence.SGInputLoader.Load += [( 'Muon::MM_RawDataContainer' , 'StoreGateSvc+MMRDO' )] viewAlgs_MuonPRD.append( MM_RdoToMM_PrepData ) + if MuonGeometryFlags.hasCSC(): ### CSC RDO data ### from MuonCSC_CnvTools.MuonCSC_CnvToolsConf import Muon__CscROD_Decoder