desdAlignmentTriggerMuonSequence += filAlg_MS filAlg_CT = muonTrkTrackThinTool("muonTrkTrackThinTool_CT", TrackCollectionKey="CombinedMuonTracks") desdAlignmentTriggerMuonSequence += filAlg_CT pass print topSequence ##==================================================================== ## Define this Muon DPD output stream ##==================================================================== #WriteMuonAlignmentTriggerStream streamName = primDPD.WriteDESDM_MSPerfStream.StreamName fileName = buildFileName(primDPD.WriteDESDM_MSPerfStream) if primDPD.WriteDESDM_MSPerfStream.isVirtual or primDPD.isVirtual(): AlignmentTriggerMuonStream = MSMgr.NewVirtualStream(streamName, fileName) pass else: AlignmentTriggerMuonStream = MSMgr.NewPoolStream(streamName, fileName) pass if primDPDAlignTrigMu.ApplyThinning(): AlignmentTriggerMuonStream.AcceptAlgs(["muonTrkTrackThinTool_MS"]) AlignmentTriggerMuonStream.AcceptAlgs(["muonTrkTrackThinTool_CT"]) pass if primDPDAlignTrigMu.ApplySkimming(): AlignmentTriggerMuonStream.AcceptAlgs(["EventSkimmingKernel"]) pass #--------------------------------------------------- # Add the containers to the output stream
##====================================================================== ## CREATE THE DERIVATION KERNEL ALGORITHM AND PASS THE ABOVE TOOLS ##====================================================================== desdTileMuonSequence += CfgMgr.DerivationFramework__DerivationKernel("TileMuKernel", SkimmingTools = [TileMuEventFilterTool], ThinningTools = [TileMuCaloCellThinningTool, TileMuMuonTPThinningTool]) ##====================================================================== ## Define this Muon DPD output stream ##====================================================================== streamName = primDPD.WriteDESDM_TILEMUStream.StreamName fileName = buildFileName( primDPD.WriteDESDM_TILEMUStream ) algsToBookkeep = [] if primDPD.WriteDESDM_TILEMUStream.isVirtual or primDPD.isVirtual() : TileMuStream = MSMgr.NewVirtualStream( streamName, fileName ) pass else: TileMuStream = MSMgr.NewPoolStream( streamName, fileName ) # Add the per-event bookkeeping TileMuStream.AddOtherAlgsToBookkeep( algsToBookkeep ) pass if primDESDMTileMu.ApplySkimming(): TileMuStream.AcceptAlgs(["TileMuKernel"]) pass from AthenaServices.Configurables import ThinningSvc, createThinningSvc augStream = MSMgr.GetStream(streamName) evtStream = augStream.GetEventStream() svcMgr += createThinningSvc(svcName="TileMuThinningToolSvc", outStreams=[evtStream])
) topSequence += DESDM_PHOJET_Seq ################## ### Output stream ################## from OutputStreamAthenaPool.MultipleStreamManager import MSMgr from PrimaryDPDMaker.PrimaryDPDHelpers import buildFileName from PrimaryDPDMaker.PrimaryDPDFlags import primDPD streamName = primDPD.WriteDESDM_PHOJETStream.StreamName fileName = buildFileName( primDPD.WriteDESDM_PHOJETStream ) if primDPD.WriteDESDM_PHOJETStream.isVirtual or primDPD.isVirtual() : StreamDESDM_PHOJET=MSMgr.NewVirtualStream( streamName, fileName ) pass else: StreamDESDM_PHOJET=MSMgr.NewPoolStream( streamName, fileName ) pass StreamDESDM_PHOJET.AddRequireAlgs(["DESDM_PHOJETKernel"]) from PrimaryDPDMaker import PrimaryDPD_OutputDefinitions as dpdOutput # Take all items from the input, except for the ones listed in the excludeList, # list should be copied from AllCells but add back the thinned tracking info for egamma ExcludeList=[] #dpdOutput.addAllItemsFromInputExceptExcludeList(streamName,ExcludeList)
## This handles multiple output streams from OutputStreamAthenaPool.MultipleStreamManager import MSMgr #Create a new stream streamName = primDPD.WriteDESDM_BEAMSPOTStream.StreamName fileName = buildFileName( primDPD.WriteDESDM_BEAMSPOTStream ) ##==================================================================== ## Define this output stream ##==================================================================== if primDPD.isVirtual() == False: DESDM_BeamSpotStream = MSMgr.NewPoolStream( streamName, fileName ) pass if primDPD.isVirtual() == True: DESDM_BeamSpotStream = MSMgr.NewVirtualStream( streamName, fileName ) pass ##----------------------------------------------------------------------------- ## Write all IOV meta data containers ## IOV stands for "Interval Of Validity". This means that in one file, there ## can be several blocks of events corresponding to one MetaData block. ##----------------------------------------------------------------------------- DESDM_BeamSpotStream.AddMetaDataItem( ["IOVMetaDataContainer#*"] ) DESDM_BeamSpotStream.AddMetaDataItem( ["LumiBlockCollection#*"] ) ##----------------------------------------------------------------------------- ## Write event-based containers