ATLAS Offline Software
Functions | Variables
python.PATTransformUtils Namespace Reference

Functions

def addPhysValidationMergeFiles (parser)
 
def addNTUPMergeSubsteps (executorSet, skip_post_processing=False)
 
def addDAODArguments (parser, mergerTrf=True)
 Import list of known DAODs from the derivation framework and. More...
 
def addDAODMergerSubsteps (executorSet)
 
def knownDAODTypes ()
 

Variables

 msg = msg.getChild(__name__)
 

Function Documentation

◆ addDAODArguments()

def python.PATTransformUtils.addDAODArguments (   parser,
  mergerTrf = True 
)

Import list of known DAODs from the derivation framework and.

Definition at line 56 of file PATTransformUtils.py.

56 def addDAODArguments(parser, mergerTrf=True):
57  DAODTypes = knownDAODTypes()
58  if mergerTrf:
59  parser.defineArgGroup('Input DAOD', 'Input DAOD files to be merged')
60  parser.defineArgGroup('Output DAOD', 'Output merged DAOD files')
61  for DAOD in DAODTypes:
62  parser.add_argument("--input" + DAOD + "File", nargs="+",
63  type=trfArgClasses.argFactory(trfArgClasses.argPOOLFile, io="input", type="AOD", subtype=DAOD),
64  help="Input DAOD file of " + DAOD + " derivation", group="Input DAOD")
65  parser.add_argument("--output" + DAOD + "_MRGFile",
66  type=trfArgClasses.argFactory(trfArgClasses.argPOOLFile, io="output", type="AOD", subtype=DAOD),
67  help="Output merged DAOD file of " + DAOD + " derivation", group="Output DAOD")
68  else:
69  parser.defineArgGroup('Output DAOD', 'Output derivation DAOD files')
70  for DAOD in DAODTypes:
71  parser.add_argument("--output" + DAOD + "File",
72  type=trfArgClasses.argFactory(trfArgClasses.argPOOLFile, io="output", type="AOD", subtype=DAOD),
73  help="Output DAOD file of " + DAOD + " derivation", group="Output DAOD")
74 
75 

◆ addDAODMergerSubsteps()

def python.PATTransformUtils.addDAODMergerSubsteps (   executorSet)

Definition at line 76 of file PATTransformUtils.py.

76 def addDAODMergerSubsteps(executorSet):
77  DAODTypes = knownDAODTypes()
78  for DAOD in DAODTypes:
79  executorSet.add(POOLMergeExecutor(name = DAOD.removeprefix("DAOD_") + 'Merge', inData = [DAOD], outData = [DAOD+'_MRG']))
80 

◆ addNTUPMergeSubsteps()

def python.PATTransformUtils.addNTUPMergeSubsteps (   executorSet,
  skip_post_processing = False 
)

Definition at line 30 of file PATTransformUtils.py.

30 def addNTUPMergeSubsteps(executorSet, skip_post_processing=False):
31  # Ye olde NTUPs
32  intermediateStep = 'NTUP_PHYSVAL_MRG0'
33  try:
34  if skip_post_processing:
35  msg.info("User requested to SKIP post-processing ('--skipPostProcessing' [%s]), so we'll just do merging and skip running post-processing.", skip_post_processing)
36  out_data = ['NTUP_PHYSVAL_MRG']
37  else:
38  msg.info("We'll run merging and post-processing (implemented for ID track monitoring, EGamma, and BTagging).")
39  out_data = [intermediateStep]
40 
41  executorSet.add(NTUPMergeExecutor(name='NTUPLEMergePHYSVAL', exe='hadd', inData=['NTUP_PHYSVAL'], outData=out_data, exeArgs=[]))
42 
43  if not skip_post_processing:
44  executorSet.add(NTUPMergeExecutor(name='NTUPLEPHYSVALIDTrackingPostProc', exe='postProcessIDPVMHistos', inData=[intermediateStep], outData=['NTUP_PHYSVAL_MRG1'], exeArgs=[]))
45  executorSet.add(NtupPhysValPostProcessingExecutor(name='NTUPLEPHYSVALPostProc', exe='physvalPostProcessing.py', inData=['NTUP_PHYSVAL_MRG1'], outData=['NTUP_PHYSVAL_MRG'],exeArgs=[]))
46 
47  # Extra Tier-0 NTUPs
48  extraNTUPs = getExtraDPDList(NTUPOnly = True)
49  for ntup in extraNTUPs:
50  executorSet.add(NTUPMergeExecutor(name='NTUPLEMerge'+ntup.name.replace('_',''), exe ='hadd', inData=[ntup.name], outData=[ntup.name+'_MRG'], exeArgs=[]))
51  except ImportError as e:
52  msg.warning("Failed to get D3PD lists - probably D3PDs are broken in this release: {0}".format(e))
53 
54 

◆ addPhysValidationMergeFiles()

def python.PATTransformUtils.addPhysValidationMergeFiles (   parser)

Definition at line 14 of file PATTransformUtils.py.

14 def addPhysValidationMergeFiles(parser):
15  # TODO: Better to somehow auto-import this from PhysicsAnalysis/PhysicsValidation/PhysValMonitoring
16  # Use arggroup to get these arguments in their own sub-section (of --help)
17  parser.defineArgGroup('PhysValMerge', 'Physics Validation merge job specific options')
18  parser.add_argument('--inputNTUP_PHYSVALFile',
19  type=trfArgClasses.argFactory(trfArgClasses.argNTUPFile, io='input'),
20  help='Input physics validation file', group='PhysValMerge', nargs='+')
21  parser.add_argument('--outputNTUP_PHYSVAL_MRGFile',
22  type=trfArgClasses.argFactory(trfArgClasses.argNTUPFile, io='output'),
23  help='Output merged physics validation file', group='PhysValMerge')
24  parser.add_argument('--skipPostProcessing',
25  action='store_true',
26  default = False,
27  help='If given, skip the post-processing step and just do the merging',
28  group='PhysValMerge')
29 

◆ knownDAODTypes()

def python.PATTransformUtils.knownDAODTypes ( )

Definition at line 81 of file PATTransformUtils.py.

81 def knownDAODTypes():
82  DAODTypes = []
83  try:
84  from DerivationFrameworkCore.DerivationFrameworkProdFlags import listAODtoDPD
85  DAODTypes = [ name.lstrip("Stream") for name in listAODtoDPD ]
86  except ImportError:
87  msg.warning("Could not import DAOD subtypes from DerivationFramework.DerivationFrameworkCore")
88  return DAODTypes

Variable Documentation

◆ msg

python.PATTransformUtils.msg = msg.getChild(__name__)

Definition at line 7 of file PATTransformUtils.py.

python.PATTransformUtils.addDAODArguments
def addDAODArguments(parser, mergerTrf=True)
Import list of known DAODs from the derivation framework and.
Definition: PATTransformUtils.py:56
vtune_athena.format
format
Definition: vtune_athena.py:14
python.trfArgs.getExtraDPDList
def getExtraDPDList(NTUPOnly=False)
Definition: trfArgs.py:402
python.PATTransformUtils.addNTUPMergeSubsteps
def addNTUPMergeSubsteps(executorSet, skip_post_processing=False)
Definition: PATTransformUtils.py:30
python.PATTransformUtils.addPhysValidationMergeFiles
def addPhysValidationMergeFiles(parser)
Definition: PATTransformUtils.py:14
python.PATTransformUtils.knownDAODTypes
def knownDAODTypes()
Definition: PATTransformUtils.py:81
python.PATTransformUtils.addDAODMergerSubsteps
def addDAODMergerSubsteps(executorSet)
Definition: PATTransformUtils.py:76