12def StandaloneMuonOutputCfg(flags):
13 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
14 result = ComponentAccumulator()
15
16
17 from TrkEventCnvTools.TrkEventCnvToolsConfig import (
18 TrkEventCnvSuperToolCfg)
19 result.merge(TrkEventCnvSuperToolCfg(flags))
20
21 aod_items = []
22 if flags.Detector.EnableMM or flags.Detector.EnablesTGC:
23 aod_items += ["xAOD::MuonSegmentContainer#xAODNSWSegments"]
24 aod_items += ["xAOD::MuonSegmentAuxContainer#xAODNSWSegmentsAux."]
25
26 aod_items += ["xAOD::MuonSegmentContainer#NCB_MuonSegments"]
27 aod_items += ["xAOD::MuonSegmentAuxContainer#NCB_MuonSegmentsAux."]
28
29
30 aod_items += ["xAOD::TrackParticleContainer#MuonSpectrometerTrackParticles"]
31 aod_items += ["xAOD::TrackParticleAuxContainer#MuonSpectrometerTrackParticlesAux."]
32 aod_items += ["xAOD::TrackParticleContainer#MuonSpectrometerOnlyTrackParticles"]
33 aod_items += ["xAOD::TrackParticleAuxContainer#MuonSpectrometerOnlyTrackParticlesAux."]
34
35 aod_items += ["xAOD::TrackParticleContainer#MSonlyTracklets"]
36 aod_items += ["xAOD::TrackParticleAuxContainer#MSonlyTrackletsAux."]
37 aod_items += ["xAOD::VertexContainer#MSDisplacedVertex"]
38 aod_items += ["xAOD::VertexAuxContainer#MSDisplacedVertexAux."]
39
40 if flags.Input.isMC or flags.Overlay.DataOverlay:
41
42 aod_items += ["xAOD::TruthParticleContainer#MuonTruthParticles"]
43 aod_items += ["xAOD::TruthParticleAuxContainer#MuonTruthParticlesAux."]
44
45
46 aod_items += ["xAOD::MuonSegmentContainer#MuonTruthSegments"]
47 aod_items += ["xAOD::MuonSegmentAuxContainer#MuonTruthSegmentsAux.-localSegPars"]
48
49
50 esd_items = []
51 esd_items += aod_items
52
53
54 if flags.Detector.EnableMM:
55 esd_items += ["Muon::MMPrepDataContainer#MM_Measurements"]
56 esd_items += ["xAOD::NSWMMTPRDOContainer#*", "xAOD::NSWMMTPRDOAuxContainer#*"]
57 if flags.Detector.EnablesTGC:
58 esd_items += ["Muon::sTgcPrepDataContainer#STGC_Measurements"]
59 esd_items += ["Muon::NSW_PadTriggerDataContainer#NSW_PadTrigger_RDO"]
60 esd_items += ["xAOD::NSWTPRDOContainer#*", "xAOD::NSWTPRDOAuxContainer#*"]
61
62
63 if flags.Detector.EnableCSC:
64 esd_items += ["Muon::CscPrepDataContainer#CSC_Clusters"]
65 esd_items += ["Muon::CscStripPrepDataContainer#CSC_Measurements"]
66 esd_items += ["Muon::RpcPrepDataContainer#RPC_Measurements"]
67 esd_items += ["Muon::TgcPrepDataContainer#TGC_MeasurementsAllBCs"]
68 esd_items += ["Muon::MdtPrepDataContainer#MDT_DriftCircles"]
69
70
71
72 esd_items += ["Muon::TgcCoinDataContainer#TrigT1CoinDataCollection"]
73 esd_items += ["Muon::TgcCoinDataContainer#TrigT1CoinDataCollectionPriorBC"]
74 esd_items += ["Muon::TgcCoinDataContainer#TrigT1CoinDataCollectionNextBC"]
75 esd_items += ["Muon::TgcCoinDataContainer#TrigT1CoinDataCollectionNextNextBC"]
76 esd_items += ["Muon::RpcCoinDataContainer#RPC_triggerHits"]
77 esd_items += ["RpcSectorLogicContainer#RPC_SECTORLOGIC"]
78
79
80 if flags.Output.doWriteRDO or flags.Muon.doWriteRpcRDO:
81 esd_items += ["RpcPadContainer#RPCPAD"]
82
83
84 esd_items += ["Trk::SegmentCollection#NCB_TrackMuonSegments"]
85
88
89
90 esd_items += ["TrackCollection#MuonSpectrometerTracks"]
91 if flags.Detector.EnableMM or flags.Detector.EnablesTGC:
92 esd_items += ["Trk::SegmentCollection#TrackMuonNSWSegments"]
93
94
95 if flags.Input.isMC:
96 esd_items += ["TrackRecordCollection#MuonEntryLayerFilter"]
97 esd_items += ["TrackRecordCollection#MuonExitLayerFilter"]
98
99 esd_items += ["PRD_MultiTruthCollection#MDT_TruthMap",
100 "PRD_MultiTruthCollection#RPC_TruthMap", "PRD_MultiTruthCollection#TGC_TruthMap"]
101 if flags.Detector.EnableCSC:
102 esd_items += ["PRD_MultiTruthCollection#CSC_TruthMap"]
103 if flags.Detector.EnablesTGC:
104 esd_items += ["PRD_MultiTruthCollection#STGC_TruthMap"]
105 if flags.Detector.EnableMM:
106 esd_items += ["PRD_MultiTruthCollection#MM_TruthMap"]
107
108
109 esd_items += ["DetailedTrackTruthCollection#MuonSpectrometerTracksTruth"]
110 esd_items += ["TrackTruthCollection#MuonSpectrometerTracksTruth"]
111
112 if flags.Muon.writeSDOs:
113 if flags.Detector.EnableCSC: esd_items+=["CscSimDataCollection#CSC_SDO"]
114 esd_items+=["MuonSimDataCollection#MDT_SDO"]
115 esd_items+=["MuonSimDataCollection#RPC_SDO"]
116 esd_items+=["MuonSimDataCollection#TGC_SDO"]
117 if flags.Detector.EnablesTGC: esd_items+=["MuonSimDataCollection#sTGC_SDO"]
118 if flags.Detector.EnableMM: esd_items+=["MuonSimDataCollection#MM_SDO"]
119
120
121 if flags.Output.doWriteESD:
122 result.merge(OutputStreamCfg(flags, "ESD", esd_items))
123 if flags.Output.doWriteAOD:
124 result.merge(OutputStreamCfg(flags, "AOD", aod_items))
125 return result
126
127