Skip to content
Snippets Groups Projects
Commit 205ac79c authored by Mark Andrew Owen's avatar Mark Andrew Owen
Browse files

Modify MuonSetup so full-scan and RoI chains get different data prep algorithms.

I also fixed a couple of bugs:
- L2MuonSA CscDatPreparator was not getting passed the CSC raw data preparator (which I think meant no CSC data was seen at L2)
- The way to set the RoIs property for the data decoding run for EF was always setting the RoIs to FSRoI, that is now fixed
parent 416fc7ff
No related branches found
No related tags found
No related merge requests found
...@@ -10,7 +10,11 @@ muL2ISInfo = "MuonL2ISInfo" ...@@ -10,7 +10,11 @@ muL2ISInfo = "MuonL2ISInfo"
TrackParticlesName = "xAODTracks" TrackParticlesName = "xAODTracks"
### ==================== Data prepartion needed for the EF and L2 SA ==================== ### ### ==================== Data prepartion needed for the EF and L2 SA ==================== ###
def makeMuonPrepDataAlgs(): def makeMuonPrepDataAlgs(forFullScan=False):
postFix = ""
if forFullScan:
postFix = "FS"
eventAlgs_MuonPRD = [] # These algs should be prepared for configuring RoIs same as muon RoIs used in viewAlg. eventAlgs_MuonPRD = [] # These algs should be prepared for configuring RoIs same as muon RoIs used in viewAlg.
viewAlgs_MuonPRD = [] # These algs should be executed to prepare muon PRDs for muFast and muEF steps. viewAlgs_MuonPRD = [] # These algs should be executed to prepare muon PRDs for muFast and muEF steps.
...@@ -35,10 +39,10 @@ def makeMuonPrepDataAlgs(): ...@@ -35,10 +39,10 @@ def makeMuonPrepDataAlgs():
ToolSvc += CscRdoToCscPrepDataTool ToolSvc += CscRdoToCscPrepDataTool
from MuonRdoToPrepData.MuonRdoToPrepDataConf import CscRdoToCscPrepData from MuonRdoToPrepData.MuonRdoToPrepDataConf import CscRdoToCscPrepData
CscRdoToCscPrepData = CscRdoToCscPrepData(name = "CscRdoToCscPrepData", CscRdoToCscPrepData = CscRdoToCscPrepData(name = "CscRdoToCscPrepData" + postFix,
CscRdoToCscPrepDataTool = CscRdoToCscPrepDataTool, CscRdoToCscPrepDataTool = CscRdoToCscPrepDataTool,
PrintPrepData = False, PrintPrepData = False,
DoSeededDecoding = True, DoSeededDecoding = not forFullScan,
RoIs = "MURoIs" ) RoIs = "MURoIs" )
...@@ -77,16 +81,19 @@ def makeMuonPrepDataAlgs(): ...@@ -77,16 +81,19 @@ def makeMuonPrepDataAlgs():
ToolSvc += MdtRdoToMdtPrepDataTool ToolSvc += MdtRdoToMdtPrepDataTool
from MuonRdoToPrepData.MuonRdoToPrepDataConf import MdtRdoToMdtPrepData from MuonRdoToPrepData.MuonRdoToPrepDataConf import MdtRdoToMdtPrepData
MdtRdoToMdtPrepData = MdtRdoToMdtPrepData(name = "MdtRdoToMdtPrepData", MdtRdoToMdtPrepData = MdtRdoToMdtPrepData(name = "MdtRdoToMdtPrepData" + postFix,
DecodingTool = MdtRdoToMdtPrepDataTool, DecodingTool = MdtRdoToMdtPrepDataTool,
PrintPrepData = False, PrintPrepData = False,
DoSeededDecoding = True, DoSeededDecoding = not forFullScan,
RoIs = "MURoIs") RoIs = "MURoIs")
from MuonByteStream.MuonByteStreamConf import Muon__MdtRawDataProvider from MuonByteStream.MuonByteStreamConf import Muon__MdtRawDataProvider
MdtRawDataProvider = Muon__MdtRawDataProvider(name = "MdtRawDataProvider", MdtRawDataProvider = Muon__MdtRawDataProvider(name = "MdtRawDataProvider" + postFix,
ProviderTool = MuonMdtRawDataProviderTool ) ProviderTool = MuonMdtRawDataProviderTool,
DoSeededDecoding = not forFullScan,
RoIs = "MURoIs"
)
eventAlgs_MuonPRD.append( MdtRdoToMdtPrepData ) eventAlgs_MuonPRD.append( MdtRdoToMdtPrepData )
viewAlgs_MuonPRD.append( MdtRawDataProvider ) viewAlgs_MuonPRD.append( MdtRawDataProvider )
...@@ -109,16 +116,16 @@ def makeMuonPrepDataAlgs(): ...@@ -109,16 +116,16 @@ def makeMuonPrepDataAlgs():
ToolSvc += RpcRdoToRpcPrepDataTool ToolSvc += RpcRdoToRpcPrepDataTool
from MuonRdoToPrepData.MuonRdoToPrepDataConf import RpcRdoToRpcPrepData from MuonRdoToPrepData.MuonRdoToPrepDataConf import RpcRdoToRpcPrepData
RpcRdoToRpcPrepData = RpcRdoToRpcPrepData(name = "RpcRdoToRpcPrepData", RpcRdoToRpcPrepData = RpcRdoToRpcPrepData(name = "RpcRdoToRpcPrepData" + postFix,
DecodingTool = RpcRdoToRpcPrepDataTool, DecodingTool = RpcRdoToRpcPrepDataTool,
PrintPrepData = False, PrintPrepData = False,
DoSeededDecoding = True, DoSeededDecoding = not forFullScan,
RoIs = "MURoIs") RoIs = "MURoIs")
from MuonByteStream.MuonByteStreamConf import Muon__RpcRawDataProvider from MuonByteStream.MuonByteStreamConf import Muon__RpcRawDataProvider
RpcRawDataProvider = Muon__RpcRawDataProvider(name = "RpcRawDataProvider", RpcRawDataProvider = Muon__RpcRawDataProvider(name = "RpcRawDataProvider" + postFix,
ProviderTool = MuonRpcRawDataProviderTool, ProviderTool = MuonRpcRawDataProviderTool,
DoSeededDecoding = True, DoSeededDecoding = not forFullScan,
RoIs = "MURoIs") RoIs = "MURoIs")
eventAlgs_MuonPRD.append( RpcRawDataProvider ) eventAlgs_MuonPRD.append( RpcRawDataProvider )
...@@ -142,10 +149,10 @@ def makeMuonPrepDataAlgs(): ...@@ -142,10 +149,10 @@ def makeMuonPrepDataAlgs():
ToolSvc += TgcRdoToTgcPrepDataTool ToolSvc += TgcRdoToTgcPrepDataTool
from MuonRdoToPrepData.MuonRdoToPrepDataConf import TgcRdoToTgcPrepData from MuonRdoToPrepData.MuonRdoToPrepDataConf import TgcRdoToTgcPrepData
TgcRdoToTgcPrepData = TgcRdoToTgcPrepData(name = "TgcRdoToTgcPrepData", TgcRdoToTgcPrepData = TgcRdoToTgcPrepData(name = "TgcRdoToTgcPrepData" + postFix,
DecodingTool = TgcRdoToTgcPrepDataTool, DecodingTool = TgcRdoToTgcPrepDataTool,
PrintPrepData = False, PrintPrepData = False,
DoSeededDecoding = True, DoSeededDecoding = not forFullScan,
RoIs = "MURoIs") RoIs = "MURoIs")
from MuonByteStream.MuonByteStreamConf import Muon__TgcRawDataProvider from MuonByteStream.MuonByteStreamConf import Muon__TgcRawDataProvider
...@@ -232,7 +239,8 @@ def muFastRecoSequence( RoIs ): ...@@ -232,7 +239,8 @@ def muFastRecoSequence( RoIs ):
ToolSvc += CscClusterBuilderTool ToolSvc += CscClusterBuilderTool
from TrigL2MuonSA.TrigL2MuonSAConf import TrigL2MuonSA__CscDataPreparator from TrigL2MuonSA.TrigL2MuonSAConf import TrigL2MuonSA__CscDataPreparator
L2CscDataPreparator = TrigL2MuonSA__CscDataPreparator(CscPrepDataProvider = CscRdoToCscPrepDataTool, L2CscDataPreparator = TrigL2MuonSA__CscDataPreparator(CscRawDataProvider = MuonCscRawDataProviderTool,
CscPrepDataProvider = CscRdoToCscPrepDataTool,
CscClusterProvider = CscClusterBuilderTool, CscClusterProvider = CscClusterBuilderTool,
CSCPrepDataContainer = CscClusterBuilderTool.cluster_key) CSCPrepDataContainer = CscClusterBuilderTool.cluster_key)
ToolSvc += L2CscDataPreparator ToolSvc += L2CscDataPreparator
...@@ -410,7 +418,7 @@ def muEFSARecoSequence( RoIs, name ): ...@@ -410,7 +418,7 @@ def muEFSARecoSequence( RoIs, name ):
### Provide Muon_PrepDataAlgorithms ### ### Provide Muon_PrepDataAlgorithms ###
from TriggerMenuMT.HLTMenuConfig.Muon.MuonSetup import makeMuonPrepDataAlgs from TriggerMenuMT.HLTMenuConfig.Muon.MuonSetup import makeMuonPrepDataAlgs
( eventAlgs_MuonPRD, viewAlgs_MuonPRD ) = makeMuonPrepDataAlgs() ( eventAlgs_MuonPRD, viewAlgs_MuonPRD ) = makeMuonPrepDataAlgs( name == 'FS')
# setup RDO preparator algorithms # setup RDO preparator algorithms
from AthenaCommon import CfgMgr from AthenaCommon import CfgMgr
...@@ -515,10 +523,11 @@ def muEFSARecoSequence( RoIs, name ): ...@@ -515,10 +523,11 @@ def muEFSARecoSequence( RoIs, name ):
# setup muEFMsonly algs # setup muEFMsonly algs
for efAlg in efAlgs: for efAlg in efAlgs:
if "RoIs" in efAlg.properties(): if "RoIs" in efAlg.properties():
if "FS" in RoIs: if name == "FS":
efAlg.RoIs = "FSRoI" efAlg.RoIs = "FSRoI"
else: else:
efAlg.RoIs = RoIs efAlg.RoIs = RoIs
print efAlg.RoIs
muEFSARecoSequence += efAlg muEFSARecoSequence += efAlg
sequenceOut = themuoncreatoralg.MuonContainerLocation sequenceOut = themuoncreatoralg.MuonContainerLocation
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment