26     ATH_MSG_INFO(
"List of modification tools in execution sequence:");
 
   37     ATH_MSG_INFO(
"List of official tools in execution sequence:");
 
   49         ATH_MSG_ERROR(
"Missing input/output containers required for tool " << 
tool->name() << 
" (" << 
tool->type() << 
")");
 
   50         return StatusCode::FAILURE;
 
   60     return StatusCode::FAILURE;
 
   63   return StatusCode::SUCCESS;
 
   70   if (!tauInputHandle.
isValid()) {
 
   71     ATH_MSG_ERROR(
"Could not retrieve TauJetContainer with key " << tauInputHandle.
key());
 
   72     return StatusCode::FAILURE;
 
   82     ATH_CHECK(outputTauTrackHandle.
record(std::make_unique<xAOD::TauTrackContainer>(), std::make_unique<xAOD::TauTrackAuxContainer>()));
 
   83     newTauTrkCon = outputTauTrackHandle.
ptr();
 
   88   ATH_CHECK(outputTauHandle.
record(std::make_unique<xAOD::TauJetContainer>(), std::make_unique<xAOD::TauJetAuxContainer>()));
 
  102     acc_ori_tau_link(*newTau) = link_to_ori_tau;
 
  113         *newTauTrk = *tauTrk;
 
  123     acc_modified(*newTau) = 
static_cast<char>(
false);
 
  128       if(
tool->execute(*newTau).isFailure()) 
break;
 
  144     if(!pi0ClusterInHandle.
isValid()) {
 
  145       ATH_MSG_ERROR (
"Could not retrieve HiveDataObj with key " << pi0ClusterInHandle.
key());
 
  146       return StatusCode::FAILURE;
 
  148     pi0ClusterContainer = pi0ClusterInHandle.
cptr();
 
  156     ATH_CHECK(chargedPFOHandle.
record(std::make_unique<xAOD::PFOContainer>(), std::make_unique<xAOD::PFOAuxContainer>()));
 
  157     chargedPFOContainer = chargedPFOHandle.
ptr();
 
  165     ATH_CHECK(neutralPFOHandle.
record(std::make_unique<xAOD::PFOContainer>(), std::make_unique<xAOD::PFOAuxContainer>()));
 
  166     neutralPFOContainer = neutralPFOHandle.
ptr();
 
  174     ATH_CHECK(pi0Handle.
record(std::make_unique<xAOD::ParticleContainer>(), std::make_unique<xAOD::ParticleAuxContainer>()));
 
  175     pi0Container = pi0Handle.
ptr();
 
  183     ATH_CHECK(hadronicPFOHandle.
record(std::make_unique<xAOD::PFOContainer>(), std::make_unique<xAOD::PFOAuxContainer>()));
 
  184     hadronicClusterPFOContainer = hadronicPFOHandle.
ptr();
 
  192     ATH_CHECK(vertOutHandle.
record(std::make_unique<xAOD::VertexContainer>(), std::make_unique<xAOD::VertexAuxContainer>()));
 
  193     pSecVtxContainer = vertOutHandle.
ptr();
 
  202       if (
tool->type() == 
"TauPi0ClusterCreator")
 
  203         sc = 
tool->executePi0ClusterCreator(*pTau, *neutralPFOContainer, *hadronicClusterPFOContainer, *pi0ClusterContainer);
 
  204       else if (
tool->type() == 
"TauVertexVariables")
 
  205         sc = 
tool->executeVertexVariables(*pTau, *pSecVtxContainer);
 
  206       else if (
tool->type() == 
"TauPi0ClusterScaler")
 
  207         sc = 
tool->executePi0ClusterScaler(*pTau, *neutralPFOContainer, *chargedPFOContainer);
 
  208       else if (
tool->type() == 
"TauPi0ScoreCalculator")
 
  209         sc = 
tool->executePi0nPFO(*pTau, *neutralPFOContainer);
 
  210       else if (
tool->type() == 
"TauPi0Selector")
 
  211         sc = 
tool->executePi0nPFO(*pTau, *neutralPFOContainer);
 
  212       else if (
tool->type() == 
"PanTau::PanTauProcessor")
 
  213         sc = 
tool->executePanTau(*pTau, *pi0Container, *neutralPFOContainer);
 
  214       else if (
tool->type() == 
"tauRecTools::TauTrackRNNClassifier")
 
  215         sc = 
tool->executeTrackClassifier(*pTau, *newTauTrkCon);
 
  217         sc = 
tool->execute(*pTau);
 
  219       if (
sc.isFailure()) 
break;
 
  221     if (
sc.isSuccess()) 
ATH_MSG_VERBOSE(
"The tau candidate has been modified successfully by the invoked official tools.");
 
  224   ATH_MSG_VERBOSE(
"The tau candidate container has been modified by the rest of the tools");
 
  225   ATH_MSG_DEBUG(newTauCon->size() << 
" / " << pTauContainer->size() <<
" taus were modified");
 
  227   return StatusCode::SUCCESS;
 
  234   return acc_modified(*newtau);