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

Functions

 setOverlayInputFiles (runArgs, flags, log)
 fromRunArgs (runArgs)

Variables

 jobPropertiesDisallowed

Function Documentation

◆ fromRunArgs()

python.OverlaySkeleton.fromRunArgs ( runArgs)

Definition at line 85 of file OverlaySkeleton.py.

85def fromRunArgs(runArgs):
86 from AthenaCommon.Logging import logging
87 logOverlay = logging.getLogger('Overlay')
88 logOverlay.info('****************** STARTING OVERLAY *****************')
89
90 logOverlay.info('**** Transformation run arguments')
91 logOverlay.info(str(runArgs))
92
93 logOverlay.info('**** Setting-up configuration flags')
94 from AthenaConfiguration.AllConfigFlags import initConfigFlags
95 flags = initConfigFlags()
96
97 commonRunArgsToFlags(runArgs, flags)
98
99 flags.Common.ProductionStep = ProductionStep.Overlay
100
101 # Setting input files for Overlay
102 setOverlayInputFiles(runArgs, flags, logOverlay)
103
104 # Setting output files for Overlay
105 if hasattr(runArgs, 'outputRDOFile'):
106 if runArgs.outputRDOFile == 'None':
107 flags.Output.RDOFileName = ''
108 else:
109 flags.Output.RDOFileName = runArgs.outputRDOFile
110 else:
111 raise RuntimeError('No output RDO file defined')
112
113 if hasattr(runArgs, 'outputRDO_SGNLFile'):
114 flags.Output.RDO_SGNLFileName = runArgs.outputRDO_SGNLFile
115
116 # Autoconfigure enabled subdetectors
117 if hasattr(runArgs, 'detectors'):
118 detectors = runArgs.detectors
119 else:
120 detectors = None
121
122 # Setup digitization flags
123 from DigitizationConfig.DigitizationConfigFlags import digitizationRunArgsToFlags
124 digitizationRunArgsToFlags(runArgs, flags)
125
126 # Setup detector flags
127 from AthenaConfiguration.DetectorConfigFlags import setupDetectorFlags
128 setupDetectorFlags(flags, detectors, use_metadata=True, toggle_geometry=True)
129
130 # Disable LVL1 trigger if triggerConfig explicitly set to 'NONE'
131 if hasattr(runArgs, 'triggerConfig') and runArgs.triggerConfig == 'NONE':
132 flags.Detector.EnableL1Calo = False
133
134 # Setup perfmon flags from runargs
135 from PerfMonComps.PerfMonConfigHelpers import setPerfmonFlagsFromRunArgs
136 setPerfmonFlagsFromRunArgs(flags, runArgs)
137
138 # Special Configuration preInclude
139 specialConfigPreInclude(flags)
140
141 # Pre-include
142 processPreInclude(runArgs, flags)
143
144 # Pre-exec
145 processPreExec(runArgs, flags)
146
147 # To respect --athenaopts
148 flags.fillFromArgs()
149
150 # Moving here so that it is ahead of flags being locked. Need to
151 # iterate on exact best position w.r.t. above calls
152 from OverlayConfiguration.OverlayMetadata import overlayMetadataCheck
153 # Handle metadata correctly
154 overlayMetadataCheck(flags)
155
156 # Lock flags
157 flags.lock()
158
159 # Main overlay steering
160 from OverlayConfiguration.OverlaySteering import OverlayMainCfg
161 cfg = OverlayMainCfg(flags)
162
163 # Special message service configuration
164 from DigitizationConfig.DigitizationSteering import DigitizationMessageSvcCfg
165 cfg.merge(DigitizationMessageSvcCfg(flags))
166
167 # Special Configuration postInclude
168 specialConfigPostInclude(flags, cfg)
169
170 # Post-include
171 processPostInclude(runArgs, flags, cfg)
172
173 # Post-exec
174 processPostExec(runArgs, flags, cfg)
175
176 # Write AMI tag into in-file metadata
177 from PyUtils.AMITagHelperConfig import AMITagCfg
178 cfg.merge(AMITagCfg(flags, runArgs))
179
180 # Run the final configuration
181 sc = cfg.run()
182 sys.exit(not sc.isSuccess())

◆ setOverlayInputFiles()

python.OverlaySkeleton.setOverlayInputFiles ( runArgs,
flags,
log )

Definition at line 16 of file OverlaySkeleton.py.

16def setOverlayInputFiles(runArgs, flags, log):
17 hasRDO_BKGInput = hasattr(runArgs, 'inputRDO_BKGFile')
18 hasBS_SKIMInput = hasattr(runArgs, 'inputBS_SKIMFile')
19 hasEVNT_Input = hasattr(runArgs, 'inputEVNTFile')
20
21 if flags.Common.ProductionStep == ProductionStep.Overlay and not hasattr(runArgs, 'inputHITSFile'):
22 raise RuntimeError('No input HITS file defined')
23
24 if hasRDO_BKGInput and hasBS_SKIMInput:
25 raise RuntimeError('Both RDO_BKG and BS_SKIM are defined')
26 if not hasRDO_BKGInput and not hasBS_SKIMInput:
27 raise RuntimeError('Define one of RDO_BKG and BS_SKIM file types')
28
29 if hasattr(runArgs, 'skipSecondaryEvents'):
30 flags.Overlay.SkipSecondaryEvents = runArgs.skipSecondaryEvents
31
32 if hasRDO_BKGInput:
33 flags.Input.Files = runArgs.inputRDO_BKGFile
34
35 if flags.Input.isMC:
36 log.info('Running MC+MC overlay')
37 flags.Overlay.DataOverlay = False
38 else:
39 log.info('Running MC+data overlay')
40 flags.Overlay.DataOverlay = True
41
42 if flags.Common.ProductionStep == ProductionStep.Overlay:
43 flags.Input.SecondaryFiles = runArgs.inputHITSFile
44 elif flags.Common.ProductionStep == ProductionStep.FastChain:
45 if not hasEVNT_Input:
46 raise RuntimeError('No input EVNT file defined')
47 else:
48 flags.Input.SecondaryFiles = runArgs.inputEVNTFile
49 else:
50 raise RuntimeError('No secondaryFiles are defined')
51
52 # take MCChannelNumber from secondary input:
53 flags.Input.MCChannelNumber = GetFileMD(flags.Input.SecondaryFiles, allowEmpty=False).get("mc_channel_number", 0)
54
55 # runNumber is MC channel number in reco
56 if hasattr(runArgs, 'runNumber'):
57 if flags.Input.MCChannelNumber != runArgs.runNumber:
58 log.warning('Got different MC channel number (%d) from runNumber than from metadata (%d)', runArgs.runNumber, flags.Input.MCChannelNumber)
59 flags.Input.MCChannelNumber = runArgs.runNumber
60 else:
61 log.info('MC channel number: %d', flags.Input.MCChannelNumber)
62 else:
63 log.info('Running MC+data overlay from ByteStream')
64 flags.Overlay.DataOverlay = True
65 flags.Overlay.ByteStream = True
66 flags.Input.isMC = False
67 if flags.Common.ProductionStep == ProductionStep.Overlay:
68 flags.Input.Files = runArgs.inputHITSFile
69 elif flags.Common.ProductionStep == ProductionStep.FastChain:
70 if not hasEVNT_Input:
71 raise RuntimeError('No input EVNT file defined')
72 else:
73 flags.Input.Files = runArgs.inputEVNTFile
74 else:
75 raise RuntimeError('No input files are defined')
76
77 flags.Input.SecondaryFiles = runArgs.inputBS_SKIMFile
78
79 # take secondary metadata for some flags
80 # TODO: autoconfigure
81 flags.Input.RunNumbers = list(GetFileMD(flags.Input.SecondaryFiles).get("runNumbers", []))
82 flags.Input.LumiBlockNumbers = list(GetFileMD(flags.Input.SecondaryFiles).get("lumiBlockNumbers", []))
83
84
T * get(TKey *tobj)
get a TObject* from a TKey* (why can't a TObject be a TKey?)
Definition hcg.cxx:130

Variable Documentation

◆ jobPropertiesDisallowed

python.OverlaySkeleton.jobPropertiesDisallowed

Definition at line 13 of file OverlaySkeleton.py.