Skip to content

Avoid QGTaggerTool crash

Jonathan Bossio requested to merge jbossios/athena:AvoidQGTaggerCrash into 21.2

As discussed in ATLASG-1627, a crash due to the usage of the QGTaggerTool is observed on some DAOD formats for some samples. Such a crash happens for a jet following a previous jet for which the following returns false:

jet->auxdata< ElementLinkxAOD::JetContainer >("GhostTruthAssociationLink").isValid()

If one does not try to retrieve the link, and decorate the jet with dummy truth info, then it doesn't crash. Technically, still crashes for that input file, but that also happens w/o even adding back the QGTagger tool [*].

This MR adds a protection such that QGTaggerTool doesn't crash and adds QGTaggerTool to all PHYS formats again.

Marking it as WIP while unrelated crash is understood and to collect feedback.

[*] 14:50:33 Electrons_decorateLowPtPromptLeptonVeto FATAL Standard std::exception is caught 14:50:33 Electrons_decorateLowPtPromptLeptonVeto ERROR SG::ExcBadAuxVar: Attempt to retrieve nonexistent aux data item ::LowPtPromptLeptonVeto' (2440). 14:50:33 ExceptionSvc DEBUG Property update for OutputLevel : new value = 2 14:50:33 ExceptionSvc DEBUG Service base class initialized successfully 14:50:33 ExceptionSvc DEBUG Handling std:except: "SG::ExcBadAuxVar: Attempt to retrieve nonexistent aux data item ::LowPtPromptLeptonVeto' (2440)." for Electrons_decorateLowPtPromptLeptonVeto 14:50:33 AlgErrorAuditor ERROR Illegal Return Code: Algorithm Electrons_decorateLowPtPromptLeptonVeto reported an ERROR, but returned a StatusCode "SUCCESS" 14:50:33 Error policy described in https://twiki.cern.ch/twiki/bin/view/AtlasComputing/ReportingErrors 14:50:33 AlgErrorAuditor ERROR Illegal Return Code: Algorithm Electrons_decorateLowPtPromptLeptonVeto reported a FATAL, but returned a StatusCode "SUCCESS" 14:50:33 Error policy described in https://twiki.cern.ch/twiki/bin/view/AtlasComputing/ReportingErrors 14:50:33 SeqPHYS FATAL Standard std::exception is caught 14:50:33 SeqPHYS ERROR SG::ExcBadAuxVar: Attempt to retrieve nonexistent aux data item ::LowPtPromptLeptonVeto' (2440). 14:50:33 ExceptionSvc DEBUG Handling std:except: "SG::ExcBadAuxVar: Attempt to retrieve nonexistent aux data item ::LowPtPromptLeptonVeto' (2440)." for SeqPHYS 14:50:33 AlgErrorAuditor ERROR Illegal Return Code: Algorithm SeqPHYS reported an ERROR, but returned a StatusCode "SUCCESS" 14:50:33 Error policy described in https://twiki.cern.ch/twiki/bin/view/AtlasComputing/ReportingErrors 14:50:33 AlgErrorAuditor ERROR Illegal Return Code: Algorithm SeqPHYS reported a FATAL, but returned a StatusCode "SUCCESS" 14:50:33 Error policy described in https://twiki.cern.ch/twiki/bin/view/AtlasComputing/ReportingErrors 14:50:33 AthAlgSeq FATAL Standard std::exception is caught 14:50:33 AthAlgSeq ERROR SG::ExcBadAuxVar: Attempt to retrieve nonexistent aux data item ::LowPtPromptLeptonVeto' (2440). 14:50:33 ExceptionSvc DEBUG Handling std:except: "SG::ExcBadAuxVar: Attempt to retrieve nonexistent aux data item ::LowPtPromptLeptonVeto' (2440)." for AthAlgSeq 14:50:33 AlgErrorAuditor ERROR Illegal Return Code: Algorithm AthAlgSeq reported an ERROR, but returned a StatusCode "SUCCESS" 14:50:33 Error policy described in https://twiki.cern.ch/twiki/bin/view/AtlasComputing/ReportingErrors 14:50:33 AlgErrorAuditor ERROR Illegal Return Code: Algorithm AthAlgSeq reported a FATAL, but returned a StatusCode "SUCCESS" 14:50:33 Error policy described in https://twiki.cern.ch/twiki/bin/view/AtlasComputing/ReportingErrors 14:50:33 AthMasterSeq FATAL Standard std::exception is caught 14:50:33 AthMasterSeq ERROR SG::ExcBadAuxVar: Attempt to retrieve nonexistent aux data item ::LowPtPromptLeptonVeto' (2440). 14:50:33 ExceptionSvc DEBUG Handling std:except: "SG::ExcBadAuxVar: Attempt to retrieve nonexistent aux data item ::LowPtPromptLeptonVeto' (2440)." for AthMasterSeq 14:50:33 AlgErrorAuditor ERROR Illegal Return Code: Algorithm AthMasterSeq reported an ERROR, but returned a StatusCode "SUCCESS" 14:50:33 Error policy described in https://twiki.cern.ch/twiki/bin/view/AtlasComputing/ReportingErrors 14:50:33 AlgErrorAuditor ERROR Illegal Return Code: Algorithm AthMasterSeq reported a FATAL, but returned a StatusCode "SUCCESS" 14:50:33 Error policy described in https://twiki.cern.ch/twiki/bin/view/AtlasComputing/ReportingErrors 14:50:33 Traceback (most recent call last): 14:50:33 File "/cvmfs/atlas.cern.ch/repo/sw/software/21.2/AthDerivation/21.2.138.0/InstallArea/x86_64-centos7-gcc62-opt/jobOptions/AthenaCommon/runbatch.py", line 20, in 14:50:33 theApp.run() # runs until theApp.EvtMax events reached 14:50:33 File "/cvmfs/atlas.cern.ch/repo/sw/software/21.2/AthDerivation/21.2.138.0/InstallArea/x86_64-centos7-gcc62-opt/python/AthenaCommon/AppMgr.py", line 663, in run 14:50:33 sc = self.getHandle()._evtpro.executeRun( nEvt ) 14:50:33 Exception: StatusCode IEventProcessor::executeRun(int maxevt) => 14:50:33 SG::ExcBadAuxVar: Attempt to retrieve nonexistent aux data item `::LowPtPromptLeptonVeto' (2440). (C++ exception of type SG::ExcBadAuxVar)

Edited by Jonathan Bossio

Merge request reports