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 60 of file OverlaySkeleton.py.

60def fromRunArgs(runArgs):
61 from AthenaCommon.Logging import logging
62 logOverlay = logging.getLogger('Overlay')
63 logOverlay.info('****************** STARTING OVERLAY *****************')
64
65 logOverlay.info('**** Transformation run arguments')
66 logOverlay.info(str(runArgs))
67
68 logOverlay.info('**** Setting-up configuration flags')
69 from AthenaConfiguration.AllConfigFlags import initConfigFlags
70 flags = initConfigFlags()
71
72 commonRunArgsToFlags(runArgs, flags)
73
74 flags.Common.ProductionStep = ProductionStep.Overlay
75
76 # Setting input files for Overlay
77 setOverlayInputFiles(runArgs, flags, logOverlay)
78
79 # Setting output files for Overlay
80 if hasattr(runArgs, 'outputRDOFile'):
81 if runArgs.outputRDOFile == 'None':
82 flags.Output.RDOFileName = ''
83 else:
84 flags.Output.RDOFileName = runArgs.outputRDOFile
85 else:
86 raise RuntimeError('No output RDO file defined')
87
88 if hasattr(runArgs, 'outputRDO_SGNLFile'):
89 flags.Output.RDO_SGNLFileName = runArgs.outputRDO_SGNLFile
90
91 # Autoconfigure enabled subdetectors
92 if hasattr(runArgs, 'detectors'):
93 detectors = runArgs.detectors
94 else:
95 detectors = None
96
97 # Setup digitization flags
98 from DigitizationConfig.DigitizationConfigFlags import digitizationRunArgsToFlags
99 digitizationRunArgsToFlags(runArgs, flags)
100
101 # Setup detector flags
102 from AthenaConfiguration.DetectorConfigFlags import setupDetectorFlags
103 setupDetectorFlags(flags, detectors, use_metadata=True, toggle_geometry=True)
104
105 # Disable LVL1 trigger if triggerConfig explicitly set to 'NONE'
106 if hasattr(runArgs, 'triggerConfig') and runArgs.triggerConfig == 'NONE':
107 flags.Detector.EnableL1Calo = False
108
109 # Setup perfmon flags from runargs
110 from PerfMonComps.PerfMonConfigHelpers import setPerfmonFlagsFromRunArgs
111 setPerfmonFlagsFromRunArgs(flags, runArgs)
112
113 # Special Configuration preInclude
114 specialConfigPreInclude(flags)
115
116 # Pre-include
117 processPreInclude(runArgs, flags)
118
119 # Pre-exec
120 processPreExec(runArgs, flags)
121
122 # To respect --athenaopts
123 flags.fillFromArgs()
124
125 # Moving here so that it is ahead of flags being locked. Need to
126 # iterate on exact best position w.r.t. above calls
127 from OverlayConfiguration.OverlayMetadata import overlayMetadataCheck
128 # Handle metadata correctly
129 overlayMetadataCheck(flags)
130
131 # Lock flags
132 flags.lock()
133
134 # Main overlay steering
135 from OverlayConfiguration.OverlaySteering import OverlayMainCfg
136 cfg = OverlayMainCfg(flags)
137
138 # Special message service configuration
139 from DigitizationConfig.DigitizationSteering import DigitizationMessageSvcCfg
140 cfg.merge(DigitizationMessageSvcCfg(flags))
141
142 # Special Configuration postInclude
143 specialConfigPostInclude(flags, cfg)
144
145 # Post-include
146 processPostInclude(runArgs, flags, cfg)
147
148 # Post-exec
149 processPostExec(runArgs, flags, cfg)
150
151 # Write AMI tag into in-file metadata
152 from PyUtils.AMITagHelperConfig import AMITagCfg
153 cfg.merge(AMITagCfg(flags, runArgs))
154
155 # Run the final configuration
156 sc = cfg.run()
157 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 hasEVNT_Input = hasattr(runArgs, 'inputEVNTFile')
19
20 if flags.Common.ProductionStep == ProductionStep.Overlay and not hasattr(runArgs, 'inputHITSFile'):
21 raise RuntimeError('No input HITS file defined')
22
23 if not hasRDO_BKGInput:
24 raise RuntimeError('No input RDO_BKG file defined')
25
26 if hasattr(runArgs, 'skipSecondaryEvents'):
27 flags.Overlay.SkipSecondaryEvents = runArgs.skipSecondaryEvents
28
29 flags.Input.Files = runArgs.inputRDO_BKGFile
30
31 if flags.Input.isMC:
32 log.info('Running MC+MC overlay')
33 flags.Overlay.DataOverlay = False
34 else:
35 log.info('Running MC+data overlay')
36 flags.Overlay.DataOverlay = True
37
38 if flags.Common.ProductionStep == ProductionStep.Overlay:
39 flags.Input.SecondaryFiles = runArgs.inputHITSFile
40 elif flags.Common.ProductionStep == ProductionStep.FastChain:
41 if not hasEVNT_Input:
42 raise RuntimeError('No input EVNT file defined')
43 else:
44 flags.Input.SecondaryFiles = runArgs.inputEVNTFile
45 else:
46 raise RuntimeError('No secondaryFiles are defined')
47
48 # take MCChannelNumber from secondary input:
49 flags.Input.MCChannelNumber = GetFileMD(flags.Input.SecondaryFiles, allowEmpty=False).get("mc_channel_number", 0)
50
51 # runNumber is MC channel number in reco
52 if hasattr(runArgs, 'runNumber'):
53 if flags.Input.MCChannelNumber != runArgs.runNumber:
54 log.warning('Got different MC channel number (%d) from runNumber than from metadata (%d)', runArgs.runNumber, flags.Input.MCChannelNumber)
55 flags.Input.MCChannelNumber = runArgs.runNumber
56 else:
57 log.info('MC channel number: %d', flags.Input.MCChannelNumber)
58
59
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.