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

Variable Documentation

◆ jobPropertiesDisallowed

python.BStoRDO_Skeleton.jobPropertiesDisallowed

Definition at line 11 of file BStoRDO_Skeleton.py.