diff --git a/Reconstruction/tauRec/python/TauAlgorithmsHolder.py b/Reconstruction/tauRec/python/TauAlgorithmsHolder.py
index 4469ceca9ac4414acb3b486edbda547188281c1c..0437b7c3f6045d006658b70b946f0e1f7a5d7da0 100644
--- a/Reconstruction/tauRec/python/TauAlgorithmsHolder.py
+++ b/Reconstruction/tauRec/python/TauAlgorithmsHolder.py
@@ -686,7 +686,8 @@ def getTauJetRNNEvaluator():
     myTauJetRNNEvaluator = TauJetRNNEvaluator(name = _name,
                                               NetworkFile0P = "",
                                               NetworkFile1P = tauFlags.tauRecTauJetRNNConfig()[0],
-                                              NetworkFile3P = tauFlags.tauRecTauJetRNNConfig()[1],
+                                              NetworkFile2P = tauFlags.tauRecTauJetRNNConfig()[1],
+                                              NetworkFile3P = tauFlags.tauRecTauJetRNNConfig()[2],
                                               OutputVarname = "RNNJetScore",
                                               MaxTracks = 10,
                                               MaxClusters = 6,
@@ -712,11 +713,13 @@ def getTauWPDecoratorJetRNN():
     from tauRecTools.tauRecToolsConf import TauWPDecorator
     myTauWPDecorator = TauWPDecorator( name=_name,
                                        flatteningFile1Prong = tauFlags.tauRecTauJetRNNWPConfig()[0],
-                                       flatteningFile3Prong = tauFlags.tauRecTauJetRNNWPConfig()[1],
+                                       flatteningFile2Prong = tauFlags.tauRecTauJetRNNWPConfig()[1],
+                                       flatteningFile3Prong = tauFlags.tauRecTauJetRNNWPConfig()[2],
                                        CutEnumVals =
                                        [ ROOT.xAOD.TauJetParameters.IsTauFlag.JetRNNSigVeryLoose, ROOT.xAOD.TauJetParameters.IsTauFlag.JetRNNSigLoose,
                                          ROOT.xAOD.TauJetParameters.IsTauFlag.JetRNNSigMedium, ROOT.xAOD.TauJetParameters.IsTauFlag.JetRNNSigTight ],
                                        SigEff1P = [0.95, 0.85, 0.75, 0.60],
+                                       SigEff2P = [0.95, 0.75, 0.60, 0.45],
                                        SigEff3P = [0.95, 0.75, 0.60, 0.45],
                                        ScoreName = "RNNJetScore",
                                        NewScoreName = "RNNJetScoreSigTrans",
diff --git a/Reconstruction/tauRec/python/tauRecFlags.py b/Reconstruction/tauRec/python/tauRecFlags.py
index 7f74f30a75569805be8232d350e1e5482fb02f7e..32309dc44596ed48593f3aa728177a0d37da8a95 100644
--- a/Reconstruction/tauRec/python/tauRecFlags.py
+++ b/Reconstruction/tauRec/python/tauRecFlags.py
@@ -142,14 +142,14 @@ class tauRecTauJetRNNConfig(JobProperty):
     """
     statusOn=True
     allowedTypes=[['string']]
-    StoredValue=[ 'rnnid_mc16d_config_1p.json', 'rnnid_mc16d_config_3p.json' ]
+    StoredValue=[ 'rnnid_mc16d_config_1p.json', 'rnnid_mc16d_config_3p.json', 'rnnid_mc16d_config_3p.json' ]
 
 class tauRecTauJetRNNWPConfig(JobProperty):
     """Config files for TauWPDecorator for RNN jet ID
     """
     statusOn=True
     allowedTypes=[['string']]
-    StoredValue=[ 'rnnid_mc16d_flat_1p.root', 'rnnid_mc16d_flat_3p.root' ]
+    StoredValue=[ 'rnnid_mc16d_flat_1p.root', 'rnnid_mc16d_flat_3p.root', 'rnnid_mc16d_flat_3p.root' ]
 
 class tauRecTauEleRNNConfig(JobProperty):
     """Config files for TauJetRNNEvaluator eVeto
diff --git a/Reconstruction/tauRecTools/Root/TauJetRNNUtils.cxx b/Reconstruction/tauRecTools/Root/TauJetRNNUtils.cxx
index f760d8936ecf009b291b6714c238d31c221758e5..db041bb0acdc7d5e9f06a5c8bf9de21e5337fb43 100644
--- a/Reconstruction/tauRecTools/Root/TauJetRNNUtils.cxx
+++ b/Reconstruction/tauRecTools/Root/TauJetRNNUtils.cxx
@@ -131,9 +131,14 @@ std::unique_ptr<VarCalc> get_default_calculator() {
 
     // Track variable calculator functions
     calc->insert("pt_log", Variables::Track::pt_log);
+    calc->insert("pt_tau_log", Variables::Track::pt_tau_log);
     calc->insert("pt_jetseed_log", Variables::Track::pt_jetseed_log);
     calc->insert("d0_abs_log", Variables::Track::d0_abs_log);
     calc->insert("z0sinThetaTJVA_abs_log", Variables::Track::z0sinThetaTJVA_abs_log);
+    calc->insert("z0sinthetaTJVA", Variables::Track::z0sinthetaTJVA);
+    calc->insert("z0sinthetaSigTJVA", Variables::Track::z0sinthetaSigTJVA);
+    calc->insert("d0TJVA", Variables::Track::d0TJVA);
+    calc->insert("d0SigTJVA", Variables::Track::d0SigTJVA);
     calc->insert("dEta", Variables::Track::dEta);
     calc->insert("dPhi", Variables::Track::dPhi);
     calc->insert("nInnermostPixelHits", Variables::Track::nInnermostPixelHits);
@@ -147,6 +152,7 @@ std::unique_ptr<VarCalc> get_default_calculator() {
 
     // Cluster variable calculator functions
     calc->insert("et_log", Variables::Cluster::et_log);
+    calc->insert("pt_tau_log", Variables::Cluster::pt_tau_log);
     calc->insert("pt_jetseed_log", Variables::Cluster::pt_jetseed_log);
     calc->insert("dEta", Variables::Cluster::dEta);
     calc->insert("dPhi", Variables::Cluster::dPhi);
@@ -353,6 +359,11 @@ bool pt_log(const xAOD::TauJet& /*tau*/, const xAOD::TauTrack &track, double &ou
     return true;
 }
 
+bool pt_tau_log(const xAOD::TauJet &tau, const xAOD::TauTrack& /*track*/, double &out) {
+    out = std::log10(std::max(tau.pt(), 1e-6));
+    return true;
+}
+
 bool pt_jetseed_log(const xAOD::TauJet &tau, const xAOD::TauTrack& /*track*/, double &out) {
     out = std::log10(tau.ptJetSeed());
     return true;
@@ -368,6 +379,26 @@ bool z0sinThetaTJVA_abs_log(const xAOD::TauJet& /*tau*/, const xAOD::TauTrack &t
     return true;
 }
 
+bool z0sinthetaTJVA(const xAOD::TauJet& /*tau*/, const xAOD::TauTrack &track, double &out) {
+    out = track.z0sinthetaTJVA();
+    return true;
+}
+
+bool z0sinthetaSigTJVA(const xAOD::TauJet& /*tau*/, const xAOD::TauTrack &track, double &out) {
+    out = track.z0sinthetaSigTJVA();
+    return true;
+}
+
+bool d0TJVA(const xAOD::TauJet& /*tau*/, const xAOD::TauTrack &track, double &out) {
+    out = track.d0TJVA();
+    return true;
+}
+
+bool d0SigTJVA(const xAOD::TauJet& /*tau*/, const xAOD::TauTrack &track, double &out) {
+    out = track.d0SigTJVA();
+    return true;
+}
+
 bool dEta(const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out) {
     out = track.eta() - tau.eta();
     return true;
@@ -448,6 +479,11 @@ bool et_log(const xAOD::TauJet& /*tau*/, const xAOD::CaloVertexedTopoCluster &cl
     return true;
 }
 
+bool pt_tau_log(const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster& /*cluster*/, double &out) {
+    out = std::log10(std::max(tau.pt(), 1e-6));
+    return true;
+}
+
 bool pt_jetseed_log(const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster& /*cluster*/, double &out) {
     out = std::log10(tau.ptJetSeed());
     return true;
diff --git a/Reconstruction/tauRecTools/tauRecTools/TauJetRNNUtils.h b/Reconstruction/tauRecTools/tauRecTools/TauJetRNNUtils.h
index 3b102c6ab6b7df8221d0d4ab0d03235cf14c5528..03c8145591d833320650d51c30846c0876fb5b86 100644
--- a/Reconstruction/tauRecTools/tauRecTools/TauJetRNNUtils.h
+++ b/Reconstruction/tauRecTools/tauRecTools/TauJetRNNUtils.h
@@ -131,6 +131,9 @@ namespace Track {
 bool pt_log(
     const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out);
 
+bool pt_tau_log(
+    const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out);
+
 bool pt_jetseed_log(
     const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out);
 
@@ -140,6 +143,18 @@ bool d0_abs_log(
 bool z0sinThetaTJVA_abs_log(
     const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out);
 
+bool z0sinthetaTJVA(
+    const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
+
+bool z0sinthetaSigTJVA(
+    const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
+
+bool d0TJVA(
+    const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
+
+bool d0SigTJVA(
+    const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out);
+
 bool dEta(
     const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out);
 
@@ -182,6 +197,9 @@ namespace Cluster {
 bool et_log(
     const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out);
 
+bool pt_tau_log(
+    const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out);
+
 bool pt_jetseed_log(
     const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out);
 
@@ -200,9 +218,14 @@ bool SECOND_LAMBDA(
 bool CENTER_LAMBDA(
     const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out);
 
-bool SECOND_LAMBDAOverClustersMeanSecondLambda   (const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out);
-bool CENTER_LAMBDAOverClustersMeanCenterLambda   (const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out);
-bool FirstEngDensOverClustersMeanFirstEngDens    (const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out);
+bool SECOND_LAMBDAOverClustersMeanSecondLambda(
+    const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out);
+
+bool CENTER_LAMBDAOverClustersMeanCenterLambda(
+    const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out);
+
+bool FirstEngDensOverClustersMeanFirstEngDens(
+    const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out);
 
 } // namespace Cluster
 } // namespace Variables