ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
RecJobTransforms
python
recTransformUtils.py
Go to the documentation of this file.
1
# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
2
3
4
5
import
logging
6
msg = logging.getLogger(__name__)
7
8
import
PyJobTransforms.trfArgClasses
as
trfArgClasses
9
10
from
PyJobTransforms.trfExe
import
athenaExecutor, DQMergeExecutor
11
from
PyJobTransforms.trfArgs
import
addPrimaryDPDArguments, addExtraDPDTypes
12
13
14
def
addCommonRecTrfArgs
(parser):
15
parser.defineArgGroup(
'Common Reco'
,
'Common Reconstruction Options'
)
16
parser.add_argument(
'--autoConfiguration'
, group=
'Common Reco'
, type=
trfArgClasses.argFactory
(
trfArgClasses.argList
),
17
help=
'Autoconfiguration settings (whitespace or comma separated)'
, nargs=
'+'
, metavar=
'AUTOCONFKEY'
)
18
parser.add_argument(
'--trigStream'
, group=
'Common Reco'
, type=
trfArgClasses.argFactory
(
trfArgClasses.argList
),
19
help=
'Trigger stream setting'
)
20
parser.add_argument(
'--topOptions'
, group=
'Common Reco'
, type=
trfArgClasses.argFactory
(
trfArgClasses.argSubstep
),
21
nargs=
"+"
, help=
'Alternative top options file for reconstruction (can be substep specific)'
,
22
metavar=
"substep:TOPOPTIONS"
)
23
parser.add_argument(
'--valid'
, group=
'Common Reco'
, type=
trfArgClasses.argFactory
(
trfArgClasses.argBool
),
24
help=
'Enable decorations for AOD that allow for enhanced physics validation'
, metavar=
'BOOL'
)
25
26
27
def
addStandardRecoFiles
(parser):
28
parser.defineArgGroup(
'Reco Files'
,
'Reconstruction file options'
)
29
parser.add_argument(
'--inputBSFile'
, nargs=
'+'
,
30
type=
trfArgClasses.argFactory
(
trfArgClasses.argBSFile
, io=
'input'
),
31
help=
'Input bytestream file'
, group=
'Reco Files'
)
32
parser.add_argument(
'--inputDRAW_ZMUMUFile'
, nargs=
'+'
,
33
type=
trfArgClasses.argFactory
(
trfArgClasses.argBSFile
, io=
'input'
),
34
help=
'Input skimmed Z->mumu bytestream'
, group=
'Reco Files'
)
35
parser.add_argument(
'--inputDRAW_ZEEFile'
, nargs=
'+'
,
36
type=
trfArgClasses.argFactory
(
trfArgClasses.argBSFile
, io=
'input'
),
37
help=
'Input skimmed Z->ee bytestream'
, group=
'Reco Files'
)
38
parser.add_argument(
'--inputDRAW_EMUFile'
, nargs=
'+'
,
39
type=
trfArgClasses.argFactory
(
trfArgClasses.argBSFile
, io=
'input'
),
40
help=
'Input skimmed e+mu bytestream'
, group=
'Reco Files'
)
41
parser.add_argument(
'--outputBSFile'
,
42
type=
trfArgClasses.argFactory
(
trfArgClasses.argBSFile
, io=
'output'
),
43
help=
'Output bytestream file'
, group=
'Reco Files'
)
44
parser.add_argument(
'--inputRDOFile'
, nargs=
'+'
,
45
type=
trfArgClasses.argFactory
(
trfArgClasses.argRDOFile
, io=
'input'
),
46
help=
'Input RDO file'
, group=
'Reco Files'
)
47
parser.add_argument(
'--inputESDFile'
, nargs=
'+'
,
48
type=
trfArgClasses.argFactory
(
trfArgClasses.argPOOLFile
, io=
'input'
),
49
help=
'Input ESD file'
, group=
'Reco Files'
)
50
parser.add_argument(
'--outputESDFile'
,
51
type=
trfArgClasses.argFactory
(
trfArgClasses.argPOOLFile
, io=
'output'
),
52
help=
'Output ESD file'
, group=
'Reco Files'
)
53
parser.add_argument(
'--outputRDO_TRIGFile'
,
54
type=
trfArgClasses.argFactory
(
trfArgClasses.argRDOFile
, io=
'output'
),
55
help=
'Output RDO_TRIG file'
, group=
'Reco Files'
)
56
parser.add_argument(
'--inputRDO_TRIGFile'
,
57
type=
trfArgClasses.argFactory
(
trfArgClasses.argRDOFile
, io=
'input'
),
58
help=
'Input RDO_TRIG file'
, group=
'Reco Files'
)
59
parser.add_argument(
'--inputAODFile'
, nargs=
'+'
,
60
type=
trfArgClasses.argFactory
(
trfArgClasses.argPOOLFile
, io=
'input'
),
61
help=
'Input AOD file'
, group=
'Reco Files'
)
62
parser.add_argument(
'--outputAODFile'
,
63
type=
trfArgClasses.argFactory
(
trfArgClasses.argPOOLFile
, io=
'output'
),
64
help=
'Output AOD file'
, group=
'Reco Files'
)
65
parser.add_argument(
'--outputAOD_RPRFile'
,
66
type=
trfArgClasses.argFactory
(
trfArgClasses.argPOOLFile
, io=
'output'
),
67
help=
'Output AOD (reprocessed) file'
, group=
'Reco Files'
)
68
parser.add_argument(
'--outputAOD_SKIMFile'
,
69
type=
trfArgClasses.argFactory
(
trfArgClasses.argPOOLFile
, io=
'output'
),
70
help=
'Output skimmed AOD file'
, group=
'Reco Files'
)
71
parser.add_argument(
"--outputHEPMCFile"
,
72
type=
trfArgClasses.argFactory
(
trfArgClasses.argHepEvtAsciiFile
, type=
'hepmc'
, io=
'output'
, runarg=
True
),
73
help=
"Name of HepMC output file"
, group=
'Reco Files'
)
74
parser.add_argument(
'--outputHISTFile'
,
75
type=
trfArgClasses.argFactory
(
trfArgClasses.argHISTFile
, io=
'output'
),
76
help=
'Output DQ monitoring file'
, group=
'Reco Files'
)
77
parser.add_argument(
'--outputHIST_AODFile'
,
78
type=
trfArgClasses.argFactory
(
trfArgClasses.argHISTFile
, io=
'output'
, countable=
False
),
79
help=
'Output DQ monitoring file'
, group=
'Reco Files'
)
80
parser.add_argument(
'--outputTXT_JIVEXMLTGZFile'
,
81
type =
trfArgClasses.argFactory
(
trfArgClasses.argFile
, io =
'output'
),
82
help =
'Output JiveXML.tgz file'
, group =
'Reco Files'
)
83
parser.add_argument(
'--outputDAOD_TLAFile'
, nargs=
'+'
,
84
type=
trfArgClasses.argFactory
(
trfArgClasses.argPOOLFile
, io=
'output'
),
85
help=
'Output DAOD_TLA file'
, group=
'Reco Files'
)
86
parser.add_argument(
'--outputDAOD_TLAFTAGPEBFile'
, nargs=
'+'
,
87
type=
trfArgClasses.argFactory
(
trfArgClasses.argPOOLFile
, io=
'output'
),
88
help=
'Output DAOD_TLAFTAGPEB file'
, group=
'Reco Files'
)
89
parser.add_argument(
'--outputDAOD_TLADJETPEBFile'
, nargs=
'+'
,
90
type=
trfArgClasses.argFactory
(
trfArgClasses.argPOOLFile
, io=
'output'
),
91
help=
'Output DAOD_TLADJETPEB file'
, group=
'Reco Files'
)
92
parser.add_argument(
'--outputDAOD_TLAEGAMPEBFile'
, nargs=
'+'
,
93
type=
trfArgClasses.argFactory
(
trfArgClasses.argPOOLFile
, io=
'output'
),
94
help=
'Output DAOD_TLAEGAMPEB file'
, group=
'Reco Files'
)
95
parser.add_argument(
'--outputRDO_PUFile'
, nargs=
'+'
,
96
type=
trfArgClasses.argFactory
(
trfArgClasses.argRDOFile
, io=
'output'
),
97
help=
'Output RDO pileup tracks file'
, group=
'Reco Files'
)
98
99
102
def
addRecoSubsteps
(executorSet):
103
executorSet.add(athenaExecutor(name =
'RDOtoBS'
,
104
skeletonCA =
'RecJobTransforms.RDOtoBS_Skeleton'
,
105
substep =
'r2b'
, inData = [
'RDO'
], outData = [
'BS'
]))
106
executorSet.add(athenaExecutor(name =
'RDOtoRDOTrigger'
, skeletonFile =
'RecJobTransforms/skeleton.RDOtoRDOtrigger.py'
,
# needs to keep legacy for older releases
107
skeletonCA =
'RecJobTransforms.RDOtoRDO_TRIG_Skeleton'
,
108
substep =
'r2t'
, inData = [
'RDO'
], outData = [
'RDO_TRIG'
]))
109
executorSet.add(athenaExecutor(name =
'RAWtoALL'
,
110
skeletonCA =
'RecJobTransforms.RAWtoALL_Skeleton'
,
111
substep =
'r2a'
, inData = [
'BS'
,
'RDO'
,
'DRAW_ZMUMU'
,
'DRAW_ZEE'
,
'DRAW_EMU'
,
'DRAW_RPVLL'
],
112
outData = [
'ESD'
,
'AOD'
,
'HIST_R2A'
,
'TXT_JIVEXMLTGZ'
],))
113
executorSet.add(athenaExecutor(name =
'PUTracking'
,
114
skeletonCA =
'RecJobTransforms.PUTracks_Skeleton'
,
115
substep =
'r2rpu'
, inData = [
'RDO'
],
116
outData = [
'RDO_PU'
],))
117
executorSet.add(athenaExecutor(name =
'RAWtoDAODTLA'
,
118
skeletonCA =
'RecJobTransforms.RAWtoDAOD_TLA_Skeleton'
,
119
substep =
'r2tla'
, inData = [
'BS'
], outData = [
'DAOD_TLA'
], ))
120
executorSet.add(athenaExecutor(name =
'RAWtoDAODTLAFTAGPEB'
,
121
skeletonCA =
'RecJobTransforms.RAWtoDAOD_TLA_Skeleton'
,
122
substep =
'r2TLAFTAGPEB'
, inData = [
'BS'
], outData = [
'DAOD_TLAFTAGPEB'
], ))
123
executorSet.add(athenaExecutor(name =
'RAWtoDAODTLADJETPEB'
,
124
skeletonCA =
'RecJobTransforms.RAWtoDAOD_TLA_Skeleton'
,
125
substep =
'r2TLADJETPEB'
, inData = [
'BS'
], outData = [
'DAOD_TLADJETPEB'
], ))
126
executorSet.add(athenaExecutor(name =
'RAWtoDAODTLAEGAMPEB'
,
127
skeletonCA =
'RecJobTransforms.RAWtoDAOD_TLA_Skeleton'
,
128
substep =
'r2TLAEGAMPEB'
, inData = [
'BS'
], outData = [
'DAOD_TLAEGAMPEB'
], ))
129
executorSet.add(DQMergeExecutor(name =
'DQHistogramMerge'
, inData = [(
'HIST_ESD_INT'
,
'HIST_AOD_INT'
),
'HIST_R2A'
,
'HIST_AOD'
], outData = [
'HIST'
]))
130
executorSet.add(athenaExecutor(name =
'AODtoHIST'
,
131
skeletonCA =
'RecJobTransforms.AODtoHIST_Skeleton'
,
132
substep =
'a2h'
, inData = [
'AOD'
], outData = [
'HIST_AOD'
],))
133
134
135
137
def
addAllRecoArgs
(trf):
138
addCommonRecTrfArgs
(trf.parser)
139
addStandardRecoFiles
(trf.parser)
140
addPrimaryDPDArguments(trf.parser, transform = trf)
141
addExtraDPDTypes(trf.parser, transform = trf)
python.trfArgClasses.argBSFile
ByteStream file class.
Definition
trfArgClasses.py:1373
python.trfArgClasses.argBool
Boolean type argument.
Definition
trfArgClasses.py:317
python.trfArgClasses.argFactory
Factory class used to generate argument class instances for argparse.
Definition
trfArgClasses.py:31
python.trfArgClasses.argFile
File argument class.
Definition
trfArgClasses.py:522
python.trfArgClasses.argHISTFile
Data quality histogram file class.
Definition
trfArgClasses.py:1658
python.trfArgClasses.argHepEvtAsciiFile
HEP ASCII file.
Definition
trfArgClasses.py:1851
python.trfArgClasses.argList
List of string arguments.
Definition
trfArgClasses.py:348
python.trfArgClasses.argPOOLFile
POOL file class.
Definition
trfArgClasses.py:1440
python.trfArgClasses.argRDOFile
Definition
trfArgClasses.py:1580
python.trfArgClasses.argSubstep
Base class for substep arguments.
Definition
trfArgClasses.py:1960
PyJobTransforms.trfArgClasses
Transform argument class definitions.
PyJobTransforms.trfExe
Transform execution functions.
python.recTransformUtils.addRecoSubsteps
addRecoSubsteps(executorSet)
Add reconstruction substeps to a set object.
Definition
recTransformUtils.py:102
python.recTransformUtils.addStandardRecoFiles
addStandardRecoFiles(parser)
Definition
recTransformUtils.py:27
python.recTransformUtils.addAllRecoArgs
addAllRecoArgs(trf)
The standard suite of reconstruction specific arguments.
Definition
recTransformUtils.py:137
python.recTransformUtils.addCommonRecTrfArgs
addCommonRecTrfArgs(parser)
Definition
recTransformUtils.py:14
Generated on
for ATLAS Offline Software by
1.17.0