Avoid QGTaggerTool crash
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)