ATLAS Offline Software
Loading...
Searching...
No Matches
python.BStoRDO_Skeleton Namespace Reference

Functions

 fromRunArgs (runArgs)

Variables

 jobPropertiesDisallowed

Function Documentation

◆ fromRunArgs()

python.BStoRDO_Skeleton.fromRunArgs ( runArgs)

Definition at line 14 of file BStoRDO_Skeleton.py.

14def fromRunArgs(runArgs):
15 from AthenaCommon.Logging import logging
16 log = logging.getLogger('BStoRDO')
17 log.info('****************** STARTING BStoRDO *****************')
18
19 log.info('**** Transformation run arguments')
20 log.info(str(runArgs))
21
22 log.info('**** Setting-up configuration flags')
23 from AthenaConfiguration.AllConfigFlags import initConfigFlags
24 flags = initConfigFlags()
25
26 commonRunArgsToFlags(runArgs, flags)
27
28 flags.Common.ProductionStep = ProductionStep.MinbiasPreprocessing
29
30 flags.Reco.EnableHI = True
31 flags.Reco.HIMode = HIMode.HI
32
33 # This is for data overlay
34 flags.Overlay.DataOverlay = True
35
36 # Setting input/output files
37 if hasattr(runArgs, 'inputBSFile'):
38 flags.Input.Files = runArgs.inputBSFile
39 else:
40 raise ValueError('No input BS file defined')
41
42 if hasattr(runArgs, 'outputRDO_BKGFile'):
43 flags.Output.RDOFileName = runArgs.outputRDO_BKGFile
44 else:
45 raise RuntimeError('No output RDO file defined')
46
47 # Autoconfigure enabled subdetectors
48 if hasattr(runArgs, 'detectors'):
49 detectors = runArgs.detectors
50 else:
51 detectors = None
52
53 # Setup detector flags
54 from AthenaConfiguration.DetectorConfigFlags import setupDetectorFlags
55 setupDetectorFlags(flags, detectors, use_metadata=True, toggle_geometry=True)
56
57 # Setup perfmon flags from runargs
58 from PerfMonComps.PerfMonConfigHelpers import setPerfmonFlagsFromRunArgs
59 setPerfmonFlagsFromRunArgs(flags, runArgs)
60
61 # Pre-include
62 processPreInclude(runArgs, flags)
63
64 # Pre-exec
65 processPreExec(runArgs, flags)
66
67 # To respect --athenaopts
68 flags.fillFromArgs()
69
70 # Lock flags
71 flags.lock()
72
73 itemList = [] # items to store in RDO
74 acceptAlgs = [] # skimming algs
75
76 from AthenaConfiguration.MainServicesConfig import MainServicesCfg
77 cfg = MainServicesCfg(flags)
78
79 from EventBookkeeperTools.EventBookkeeperToolsConfig import CutFlowSvcCfg
80 cfg.merge(CutFlowSvcCfg(flags))
81
82 from ByteStreamCnvSvc.ByteStreamConfig import ByteStreamReadCfg
83 cfg.merge(ByteStreamReadCfg(flags))
84
85 from LumiBlockComps.LumiBlockMuWriterConfig import LumiBlockMuWriterCfg
86 cfg.merge(LumiBlockMuWriterCfg(flags))
87
88 if flags.Detector.EnableBCM:
89 from InDetOverlay.BCMOverlayConfig import BCMRawDataProviderAlgCfg
90 cfg.merge(BCMRawDataProviderAlgCfg(flags))
91 itemList.append(f'BCM_RDO_Container#{flags.Overlay.BkgPrefix}BCM_RDOs')
92
93 if flags.Detector.EnablePixel:
94 from PixelRawDataByteStreamCnv.PixelRawDataByteStreamCnvConfig import PixelRawDataProviderAlgCfg
95 cfg.merge(PixelRawDataProviderAlgCfg(flags))
96 itemList.append(f'PixelRDO_Container#{flags.Overlay.BkgPrefix}PixelRDOs')
97 itemList.append('IDCInDetBSErrContainer#PixelByteStreamErrs')
98
99 if flags.Detector.EnableSCT:
100 from SCT_RawDataByteStreamCnv.SCT_RawDataByteStreamCnvConfig import SCTRawDataProviderCfg, SCTEventFlagWriterCfg
101 cfg.merge(SCTRawDataProviderCfg(flags))
102 cfg.merge(SCTEventFlagWriterCfg(flags))
103 itemList.append(f'SCT_RDO_Container#{flags.Overlay.BkgPrefix}SCT_RDOs')
104 itemList.append('IDCInDetBSErrContainer#SCT_ByteStreamErrs')
105
106 if flags.Detector.EnableTRT:
107 from TRT_RawDataByteStreamCnv.TRT_RawDataByteStreamCnvConfig import TRTRawDataProviderCfg
108 cfg.merge(TRTRawDataProviderCfg(flags))
109 itemList.append(f'TRT_RDO_Container#{flags.Overlay.BkgPrefix}TRT_RDOs')
110 itemList.append('TRT_BSErrContainer#TRT_ByteStreamErrs')
111
112 if flags.Detector.EnableLAr:
113 from LArByteStream.LArRawDataReadingConfig import LArRawDataReadingCfg
114 cfg.merge(LArRawDataReadingCfg(flags))
115 itemList.append(f'LArDigitContainer#{flags.Overlay.BkgPrefix}LArDigitContainer_data')
116 itemList.append('LArFebHeaderContainer#LArFebHeader')
117
118 if flags.Detector.EnableTile:
119 from TileByteStream.TileByteStreamConfig import TileRawDataReadingCfg
120 cfg.merge(TileRawDataReadingCfg(flags, readMuRcv=False))
121 itemList.append(f'TileRawChannelContainer#{flags.Overlay.BkgPrefix}TileRawChannelCnt')
122 itemList.append(f'TileDigitsContainer#{flags.Overlay.BkgPrefix}TileDigitsCnt')
123
124 if flags.Detector.EnableCSC:
125 from MuonConfig.MuonBytestreamDecodeConfig import CscBytestreamDecodeCfg
126 cfg.merge(CscBytestreamDecodeCfg(flags))
127 itemList.append(f'CscRawDataContainer#{flags.Overlay.BkgPrefix}CSCRDO')
128
129 if flags.Detector.EnableMDT:
130 from MuonConfig.MuonBytestreamDecodeConfig import MdtBytestreamDecodeCfg
131 cfg.merge(MdtBytestreamDecodeCfg(flags))
132 itemList.append(f'MdtCsmContainer#{flags.Overlay.BkgPrefix}MDTCSM')
133
134 if flags.Detector.EnableRPC:
135 from MuonConfig.MuonBytestreamDecodeConfig import RpcBytestreamDecodeCfg
136 cfg.merge(RpcBytestreamDecodeCfg(flags))
137 itemList.append(f'RpcPadContainer#{flags.Overlay.BkgPrefix}RPCPAD')
138
139 if flags.Detector.EnableTGC:
140 from MuonConfig.MuonBytestreamDecodeConfig import TgcBytestreamDecodeCfg
141 cfg.merge(TgcBytestreamDecodeCfg(flags))
142 itemList.append(f'TgcRdoContainer#{flags.Overlay.BkgPrefix}TGCRDO')
143
144 if flags.Detector.EnablesTGC:
145 from MuonConfig.MuonBytestreamDecodeConfig import sTgcBytestreamDecodeCfg
146 cfg.merge(sTgcBytestreamDecodeCfg(flags))
147 itemList.append(f'Muon::STGC_RawDataContainer#{flags.Overlay.BkgPrefix}sTGCRDO')
148
149 if flags.Detector.EnableMM:
150 from MuonConfig.MuonBytestreamDecodeConfig import MmBytestreamDecodeCfg
151 cfg.merge(MmBytestreamDecodeCfg(flags))
152 itemList.append(f'Muon::MM_RawDataContainer#{flags.Overlay.BkgPrefix}MMRDO')
153
154 if flags.Detector.EnableCalo:
155 from CaloRec.CaloRecoConfig import CaloRecoCfg
156 cfg.merge(CaloRecoCfg(flags))
157
158 if flags.Reco.EnableTracking:
159 from InDetConfig.TrackRecoConfig import InDetTrackRecoCfg
160 cfg.merge(InDetTrackRecoCfg(flags))
161 itemList.append(f'xAOD::VertexContainer#{flags.Overlay.BkgPrefix}PrimaryVertices')
162 itemList.append(f'xAOD::VertexAuxContainer#{flags.Overlay.BkgPrefix}PrimaryVerticesAux.x.y.z')
163
164 from OverlayUtilities.OverlayUtilitiesConfig import OverlayVertexSkimmingAlgCfg
165 cfg.merge(OverlayVertexSkimmingAlgCfg(flags))
166 acceptAlgs.append('OverlayVertexSkimmingAlg')
167
168 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
169 cfg.merge(OutputStreamCfg(flags, 'RDO', itemList, AcceptAlgs=acceptAlgs))
170
171 from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
172 cfg.merge(SetupMetaDataForStreamCfg(flags, 'RDO', AcceptAlgs=acceptAlgs,
173 createMetadata=[MetadataCategory.IOVMetaData,
174 MetadataCategory.CutFlowMetaData]))
175
176 # Post-include
177 processPostInclude(runArgs, flags, cfg)
178
179 # Post-exec
180 processPostExec(runArgs, flags, cfg)
181
182 # Make sure data year is propagated in the metadata
183 if flags.Input.DataYear > 0:
184 from EventInfoMgt.TagInfoMgrConfig import TagInfoMgrCfg
185 cfg.merge(TagInfoMgrCfg(flags, tagValuePairs={
186 "project_name": flags.Input.ProjectName,
187 "data_year": str(flags.Input.DataYear)
188 }))
189
190 # Write AMI tag into in-file metadata
191 from PyUtils.AMITagHelperConfig import AMITagCfg
192 cfg.merge(AMITagCfg(flags, runArgs))
193
194 # Run the final configuration
195 sc = cfg.run()
196 sys.exit(not sc.isSuccess())

Variable Documentation

◆ jobPropertiesDisallowed

python.BStoRDO_Skeleton.jobPropertiesDisallowed

Definition at line 11 of file BStoRDO_Skeleton.py.