37   return StatusCode::SUCCESS;
 
   63   std::vector<std::vector<FELink_t>> tauNeutralFEVec(tauJetReadHandle->
size());
 
   64   std::vector<std::vector<FELink_t>> tauChargedFEVec(tauJetReadHandle->
size());
 
   67   std::multimap<size_t, size_t> map_tau_clusters, map_tau_tracks;
 
   72     if(acc_passThinning.
isAvailable(*tau) && !acc_passThinning(*tau)) 
continue;
 
   77       std::vector<xAOD::CaloVertexedTopoCluster> 
vertexedClusters = tau->vertexedClusters();
 
   82     map_tau_clusters.insert(std::make_pair<size_t,size_t>(tau->index(),cluster.clust().index()));
 
   90       std::vector<const xAOD::IParticle*> tauClusters = tau->clusters();
 
   91       for (
const auto *cluster : tauClusters) {
 
   93         TLorentzVector clusterp4 = clus->
p4();
 
   95         if (tauVertex != 
nullptr) {
 
   97           clusterp4 = vertexedClus.
p4();
 
  102     map_tau_clusters.insert(std::make_pair<size_t,size_t>(tau->index(),clus->
index()));
 
  107     std::vector<const xAOD::TauTrack*> tauTracks = tau->tracks();
 
  108     for (
const auto *tauTrack : tauTracks) {
 
  112       map_tau_tracks.insert(std::make_pair<size_t,size_t>(tau->index(),tauIDTrack->
index()));
 
  121     if (FE->otherObjects().empty()) 
continue;
 
  122     if (FE->otherObjects().at(0) == 
nullptr) 
continue;
 
  124     size_t FEClusterIndex = FE->otherObjects().at(0)->index();
 
  126     std::vector<TauJetLink_t> FETauJetLinks;
 
  129     for (
const auto [tauIndex, tauClusterIndex] : map_tau_clusters) {
 
  131       if (tauClusterIndex == FEClusterIndex) {
 
  132     FETauJetLinks.emplace_back(*tauJetReadHandle, tauIndex);
 
  133     tauNeutralFEVec.at(tauIndex).emplace_back(*neutralFEReadHandle, FE->index() );
 
  138     neutralFETauWriteDecorHandle (*FE) = FETauJetLinks;
 
  147     if (FE->chargedObjects().empty()) 
continue;
 
  148     if (FE->chargedObjects().at(0) == 
nullptr) 
continue;
 
  151     size_t FETrackIndex = FE->chargedObjects().at(0)->index();
 
  153     std::vector<TauJetLink_t> FETauJetLinks;
 
  156     for (
const auto [tauIndex, tauIDTrackIndex] : map_tau_tracks) {
 
  158       if (tauIDTrackIndex == FETrackIndex) {
 
  159     FETauJetLinks.emplace_back(*tauJetReadHandle, tauIndex);
 
  160     tauChargedFEVec.at(tauIndex).emplace_back(*chargedFEReadHandle, FE->index() );
 
  165     chargedFETauWriteDecorHandle (*FE) = FETauJetLinks;
 
  173   for (
const xAOD::TauJet* tau : *tauNeutralFEWriteDecorHandle) {
 
  174     tauNeutralFEWriteDecorHandle (*tau) = tauNeutralFEVec.at(tau->index());
 
  175     tauChargedFEWriteDecorHandle (*tau) = tauChargedFEVec.at(tau->index());
 
  180   return StatusCode::SUCCESS;