ATLAS Offline Software
Loading...
Searching...
No Matches
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
5import logging
6msg = logging.getLogger(__name__)
7
8import PyJobTransforms.trfArgClasses as trfArgClasses
9
10from PyJobTransforms.trfExe import athenaExecutor, DQMergeExecutor
11from PyJobTransforms.trfArgs import addPrimaryDPDArguments, addExtraDPDTypes
12
13
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
28 parser.defineArgGroup('Reco Files', 'Reconstruction file options')
29 parser.add_argument('--inputBSFile', nargs='+',
31 help='Input bytestream file', group='Reco Files')
32 parser.add_argument('--inputDRAW_ZMUMUFile', nargs='+',
34 help='Input skimmed Z->mumu bytestream', group='Reco Files')
35 parser.add_argument('--inputDRAW_ZEEFile', nargs='+',
37 help='Input skimmed Z->ee bytestream', group='Reco Files')
38 parser.add_argument('--inputDRAW_EMUFile', nargs='+',
40 help='Input skimmed e+mu bytestream', group='Reco Files')
41 parser.add_argument('--outputBSFile',
43 help='Output bytestream file', group='Reco Files')
44 parser.add_argument('--inputRDOFile', nargs='+',
46 help='Input RDO file', group='Reco Files')
47 parser.add_argument('--inputESDFile', nargs='+',
49 help='Input ESD file', group='Reco Files')
50 parser.add_argument('--outputESDFile',
52 help='Output ESD file', group='Reco Files')
53 parser.add_argument('--outputRDO_TRIGFile',
55 help='Output RDO_TRIG file', group='Reco Files')
56 parser.add_argument('--inputRDO_TRIGFile',
58 help='Input RDO_TRIG file', group='Reco Files')
59 parser.add_argument('--inputAODFile', nargs='+',
61 help='Input AOD file', group='Reco Files')
62 parser.add_argument('--outputAODFile',
64 help='Output AOD file', group='Reco Files')
65 parser.add_argument('--outputAOD_RPRFile',
67 help='Output AOD (reprocessed) file', group='Reco Files')
68 parser.add_argument('--outputAOD_SKIMFile',
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',
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',
82 help = 'Output JiveXML.tgz file', group = 'Reco Files')
83 parser.add_argument('--outputDAOD_TLAFile', nargs='+',
85 help='Output DAOD_TLA file', group='Reco Files')
86 parser.add_argument('--outputDAOD_TLAFTAGPEBFile', nargs='+',
88 help='Output DAOD_TLAFTAGPEB file', group='Reco Files')
89 parser.add_argument('--outputDAOD_TLADJETPEBFile', nargs='+',
91 help='Output DAOD_TLADJETPEB file', group='Reco Files')
92 parser.add_argument('--outputDAOD_TLAEGAMPEBFile', nargs='+',
94 help='Output DAOD_TLAEGAMPEB file', group='Reco Files')
95 parser.add_argument('--outputRDO_PUFile', nargs='+',
97 help='Output RDO pileup tracks file', group='Reco Files')
98
99
102def 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
138 addCommonRecTrfArgs(trf.parser)
139 addStandardRecoFiles(trf.parser)
140 addPrimaryDPDArguments(trf.parser, transform = trf)
141 addExtraDPDTypes(trf.parser, transform = trf)
Boolean type argument.
Factory class used to generate argument class instances for argparse.
Data quality histogram file class.
List of string arguments.
Base class for substep arguments.
Transform argument class definitions.
Transform execution functions.
addRecoSubsteps(executorSet)
Add reconstruction substeps to a set object.
addAllRecoArgs(trf)
The standard suite of reconstruction specific arguments.