Skip to content

Turn on PhysVal Example by default

Thomas Strebler requested to merge tstreble-24.0-patch-23076 into 24.0

Following !72811 (merged) the event counting for NTUP_PHYSVAL has been updated to rely on the EventInfo/EventInfo_actualInteractionsPerCrossing, which is only created if PHYSVAL is run with --validationFlags doExample. Turn on by default this flag to be present in all existing PHYSVAL configs.

Also updates general PhysValMonitoringCfg to only update the tools based on flags, in case no tool is provided as input, otherwise this would badly interact with standalone PhysVal configs, running on AOD where collections added only in derivation, such as jets, are not present but used by the PhysValExample tool for object counting.

Fixes

PhysicsValidation 20:54:41 =====================================================
PhysicsValidation 20:54:41  Message Source              |   Level |    Count
PhysicsValidation 20:54:41 -----------------------------+---------+-------------
PhysicsValidation 20:54:41  PhysValMonManager.JetTagDQA::PhysValBTag|    INFO |     1777
PhysicsValidation 20:54:41 =====================================================
PhysicsValidation 20:54:41 leaving with code 0: "successful run"
PyJobTransforms.trfExe.execute 2024-07-09 20:54:41,418 INFO PhysicsValidation executor returns 0
PyJobTransforms.trfExe.validate 2024-07-09 20:54:42,428 INFO Executor PhysicsValidation validated successfully (return code 0)
PyJobTransforms.trfArgClasses._readMetadata 2024-07-09 20:54:42,428 INFO Metadata generator called to obtain nentries for ('NTUP_BTAG_PHYSVAL.root',)
[3423104] Traceback (most recent call last):
[3423104]   File "/cvmfs/atlas-nightlies.cern.ch/repo/sw/main_Athena_x86_64-el9-gcc13-opt/2024-07-08T2101/Athena/25.0.11/InstallArea/x86_64-el9-gcc13-opt/python/PyUtils/Decorators.py", line 58, in wrapper
[3423104]     result = func(*args, **kwargs)
[3423104]              ^^^^^^^^^^^^^^^^^^^^^
[3423104]   File "/cvmfs/atlas-nightlies.cern.ch/repo/sw/main_Athena_x86_64-el9-gcc13-opt/2024-07-08T2101/Athena/25.0.11/InstallArea/x86_64-el9-gcc13-opt/python/PyJobTransforms/trfFileUtils.py", line 269, in PHYSVALEntries
[3423104]     return int(aipc.GetEntries())
[3423104]                ^^^^^^^^^^^^^^^
[3423104] AttributeError: 'TObject' object has no attribute 'GetEntries'
PyJobTransforms.trfDecorators.exception_wrapper 2024-07-09 20:54:45,625 CRITICAL Got a general exception in the outer exception handler: (AttributeError("'TObject' object has no attribute 'GetEntries'"), None)
PyJobTransforms.trfDecorators.exception_wrapper 2024-07-09 20:54:45,625 CRITICAL Stack trace is...
PyJobTransforms.trfDecorators.exception_wrapper 2024-07-09 20:54:45,630 CRITICAL Traceback (most recent call last):
  File "/cvmfs/atlas-nightlies.cern.ch/repo/sw/main_Athena_x86_64-el9-gcc13-opt/2024-07-08T2101/Athena/25.0.11/InstallArea/x86_64-el9-gcc13-opt/python/PyJobTransforms/trfDecorators.py", line 69, in exception_wrapper
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/cvmfs/atlas-nightlies.cern.ch/repo/sw/main_Athena_x86_64-el9-gcc13-opt/2024-07-08T2101/Athena/25.0.11/InstallArea/x86_64-el9-gcc13-opt/python/PyJobTransforms/trfDecorators.py", line 126, in signal_wrapper
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/cvmfs/atlas-nightlies.cern.ch/repo/sw/main_Athena_x86_64-el9-gcc13-opt/2024-07-08T2101/Athena/25.0.11/InstallArea/x86_64-el9-gcc13-opt/share/Derivation_tf.py", line 27, in main
    trf.execute()
  File "/cvmfs/atlas-nightlies.cern.ch/repo/sw/main_Athena_x86_64-el9-gcc13-opt/2024-07-08T2101/Athena/25.0.11/InstallArea/x86_64-el9-gcc13-opt/python/PyJobTransforms/transform.py", line 463, in execute
    executor.validate()
  File "/cvmfs/atlas-nightlies.cern.ch/repo/sw/main_Athena_x86_64-el9-gcc13-opt/2024-07-08T2101/Athena/25.0.11/InstallArea/x86_64-el9-gcc13-opt/python/PyJobTransforms/trfExe.py", line 1319, in validate
    super(athenaExecutor, self).validate()
  File "/cvmfs/atlas-nightlies.cern.ch/repo/sw/main_Athena_x86_64-el9-gcc13-opt/2024-07-08T2101/Athena/25.0.11/InstallArea/x86_64-el9-gcc13-opt/python/PyJobTransforms/trfExe.py", line 830, in validate
    checkcount=trfValidation.eventMatch(self)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/cvmfs/atlas-nightlies.cern.ch/repo/sw/main_Athena_x86_64-el9-gcc13-opt/2024-07-08T2101/Athena/25.0.11/InstallArea/x86_64-el9-gcc13-opt/python/PyJobTransforms/trfValidation.py", line 965, in __init__
    self.configureCheck(override=False)
  File "/cvmfs/atlas-nightlies.cern.ch/repo/sw/main_Athena_x86_64-el9-gcc13-opt/2024-07-08T2101/Athena/25.0.11/InstallArea/x86_64-el9-gcc13-opt/python/PyJobTransforms/trfValidation.py", line 997, in configureCheck
    self._outEventDict[dataTypeName] = self._executor.conf.dataDictionary[dataTypeName].nentries
                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/cvmfs/atlas-nightlies.cern.ch/repo/sw/main_Athena_x86_64-el9-gcc13-opt/2024-07-08T2101/Athena/25.0.11/InstallArea/x86_64-el9-gcc13-opt/python/PyJobTransforms/trfArgClasses.py", line 887, in nentries
    return self.getnentries()
           ^^^^^^^^^^^^^^^^^^
  File "/cvmfs/atlas-nightlies.cern.ch/repo/sw/main_Athena_x86_64-el9-gcc13-opt/2024-07-08T2101/Athena/25.0.11/InstallArea/x86_64-el9-gcc13-opt/python/PyJobTransforms/trfArgClasses.py", line 893, in getnentries
    events = self.getSingleMetadata(fname=fname, metadataKey='nentries', populate = not fast)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/cvmfs/atlas-nightlies.cern.ch/repo/sw/main_Athena_x86_64-el9-gcc13-opt/2024-07-08T2101/Athena/25.0.11/InstallArea/x86_64-el9-gcc13-opt/python/PyJobTransforms/trfArgClasses.py", line 989, in getSingleMetadata
    md = self.getMetadata(files = fname, metadataKeys = metadataKey, populate = populate, flush = flush)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/cvmfs/atlas-nightlies.cern.ch/repo/sw/main_Athena_x86_64-el9-gcc13-opt/2024-07-08T2101/Athena/25.0.11/InstallArea/x86_64-el9-gcc13-opt/python/PyJobTransforms/trfArgClasses.py", line 963, in getMetadata
    self._readMetadata(files, metadataKeys)
  File "/cvmfs/atlas-nightlies.cern.ch/repo/sw/main_Athena_x86_64-el9-gcc13-opt/2024-07-08T2101/Athena/25.0.11/InstallArea/x86_64-el9-gcc13-opt/python/PyJobTransforms/trfArgClasses.py", line 1025, in _readMetadata
    self._metadataKeys[key](files)
  File "/cvmfs/atlas-nightlies.cern.ch/repo/sw/main_Athena_x86_64-el9-gcc13-opt/2024-07-08T2101/Athena/25.0.11/InstallArea/x86_64-el9-gcc13-opt/python/PyJobTransforms/trfArgClasses.py", line 1716, in _getNumberOfEvents
    myPHYSVALEntries = PHYSVALEntries(fileName=fname)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/cvmfs/atlas-nightlies.cern.ch/repo/sw/main_Athena_x86_64-el9-gcc13-opt/2024-07-08T2101/Athena/25.0.11/InstallArea/x86_64-el9-gcc13-opt/python/PyUtils/Decorators.py", line 52, in wrapper
    _reraise_exception(remote_exc)
  File "/cvmfs/atlas-nightlies.cern.ch/repo/sw/main_Athena_x86_64-el9-gcc13-opt/2024-07-08T2101/Athena/25.0.11/InstallArea/x86_64-el9-gcc13-opt/python/PyUtils/Decorators.py", line 21, in _reraise_exception
    raise new_exc.__class__ (new_exc, tb)
AttributeError: (AttributeError("'TObject' object has no attribute 'GetEntries'"), None)

PyJobTransforms.trfDecorators.exception_wrapper 2024-07-09 20:54:45,630 CRITICAL Job reports are likely to be missing or incomplete - sorry
PyJobTransforms.trfDecorators.exception_wrapper 2024-07-09 20:54:45,630 CRITICAL Please report this as a transforms bug!

FYI @zmarshal @turra @wbalunas

Edited by Thomas Strebler

Merge request reports