diff --git a/Projects/AthenaP1/version.txt b/Projects/AthenaP1/version.txt
index dd6eb88497c634fe40cfb379dfc0c7238d4b3287..8cd621c4d0a1c8f7fbe99ce46888046598989733 100644
--- a/Projects/AthenaP1/version.txt
+++ b/Projects/AthenaP1/version.txt
@@ -1 +1 @@
-21.1.24
\ No newline at end of file
+21.1.26
\ No newline at end of file
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysis/TrigInDetAnalysis/TrackAnalysis.h b/Trigger/TrigAnalysis/TrigInDetAnalysis/TrigInDetAnalysis/TrackAnalysis.h
index fcee3705b42ba9f5de961aac0753c7261c5253f6..ce0e916a8189f3ee3b7cf8b947e4bcc36b2214b3 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysis/TrigInDetAnalysis/TrackAnalysis.h
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysis/TrigInDetAnalysis/TrackAnalysis.h
@@ -22,6 +22,7 @@
 #include "TrigInDetAnalysis/Track.h"
 #include "TrigInDetAnalysis/TIDAEvent.h"
 #include "TrigInDetAnalysis/TIDAVertex.h"
+#include "TrigInDetAnalysis/TIDARoiDescriptor.h"
 #include "TrigInDetAnalysis/TIDAFeatureStore.h"
 
 #include "TH1.h"
@@ -35,7 +36,7 @@ public:
     mname(name), 
     m_xBeamReference(0), m_yBeamReference(0), m_zBeamReference(0),
     m_xBeamTest(0),      m_yBeamTest(0),      m_zBeamTest(0),
-    m_event(0)
+    m_event(0), m_roi(0)
   { } 
   
   virtual ~TrackAnalysis() { } 
@@ -50,6 +51,11 @@ public:
 			const std::vector<TIDA::Track*>& tracks2,
 			TrackAssociator* matcher ) = 0;
 
+  //  virtual void execute( const std::vector<TIDA::Track*>& ,
+  //			const std::vector<TIDA::Track*>& ,
+  //			TrackAssociator* , 
+  //			TIDARoiDescriptor* =0 ) { } 
+
   virtual void execute_vtx( const std::vector<TIDA::Vertex*>& ,
 			    const std::vector<TIDA::Vertex*>& , 
 			    const TIDA::Event* =0 ) { }  
@@ -96,9 +102,12 @@ public:
 
   TIDA::FeatureStore& store() { return m_store; }
 
-  TIDA::Event*    event()               { return m_event; }
+  TIDA::Event*    event() const         { return m_event; }
   void         setevent(TIDA::Event* e) { m_event=e; }
 
+  TIDARoiDescriptor*  roi() const               { return m_roi; }
+  void             setroi(TIDARoiDescriptor* r) { m_roi=r; }
+
 protected:
  
   /// identifier of the of the analysis - also used for the root
@@ -122,7 +131,8 @@ protected:
 
   TIDA::FeatureStore m_store;
   
-  TIDA::Event*       m_event;
+  TIDA::Event*        m_event;
+  TIDARoiDescriptor*  m_roi;
   
 };
 
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/Analysis_Tier0.h b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/Analysis_Tier0.h
index 65cfd11a57f0cfcae3e34ae62a5018e9fe40752a..9ebca8aff1cd08bf06fe74d389bbbd7f0d0c3f66 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/Analysis_Tier0.h
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/Analysis_Tier0.h
@@ -31,10 +31,9 @@ class Analysis_Tier0 : public TrackAnalysis {
   virtual void initialise();
   
   virtual void execute(const std::vector<TIDA::Track*>& referenceTracks,
-		       const std::vector<TIDA::Track*>& testTracks,
-		       TrackAssociator* associator);
+  		       const std::vector<TIDA::Track*>& testTracks,
+  		       TrackAssociator* associator );
   
-
   virtual void execute_vtx(const std::vector<TIDA::Vertex*>& vtx0,
 			   const std::vector<TIDA::Vertex*>& vtx1, 
 			   const TIDA::Event* tevt=0 );
@@ -134,6 +133,9 @@ class Analysis_Tier0 : public TrackAnalysis {
   TH1F* h_trkd0;
   TH1F* h_trkz0;
 
+  TH1F* h_trketaroi;
+  TH1F* h_trketazroi;
+
   TH1F* h_trkdd0;
   TH1F* h_trkdz0;
 
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/T_AnalysisConfig_Tier0.h b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/T_AnalysisConfig_Tier0.h
index 5fbc5a9b28418e85ef58baf382e6a3125e27855f..4ca7809305aff1859f9f20ae25f89d1c8b77998a 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/T_AnalysisConfig_Tier0.h
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/T_AnalysisConfig_Tier0.h
@@ -1174,7 +1174,9 @@ protected:
 	  m_associator->match( ref_tracks, test_tracks );
 	 
 	  //	  std::cout << "SUTT: execute : N tracks " << ref_tracks.size() << " " << test_tracks.size() << std::endl; 
-	  
+	
+
+	  _analysis->setroi( &chain.rois().at(iroi).roi() );  
 	  _analysis->execute( ref_tracks, test_tracks, m_associator );
 	  
 	  //	  std::cout << "chain " << m_chainNames[ichain]  << " " << "\tvtx name " << vtx_name << std::endl;
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/Analysis_Tier0.cxx b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/Analysis_Tier0.cxx
index c024e3faabb045646d967b4bf034dba40e11ca87..96ce3dd7c4bcd5652d7b92a30fe5ae89c186e553 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/Analysis_Tier0.cxx
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/Analysis_Tier0.cxx
@@ -102,6 +102,10 @@ void Analysis_Tier0::initialise() {
   h_trkd0  = new TH1F("reftrk_d0" , "Reference track d0", 101,   -5.0,     5.0 );
   h_trkz0  = new TH1F("reftrk_z0" , "Reference track z0",  50,   -225.,    225.);
 
+  h_trketaroi  = new TH1F("reftrk_etaroi",  "Reference track Eta - Roi Eta",      100,   -2.5,     2.5) ;
+  h_trketazroi = new TH1F("reftrk_etazroi", "Reference track (Eta - Roi Eta)*Dz", 100,   -2.5,     2.5) ;
+
+
   h_trkdd0  = new TH1F("reftrk_dd0" , "Reference track sigma(d0)", 101,   -0.5,     0.5);
   h_trkdz0  = new TH1F("reftrk_dz0" , "Reference track sigma(z0)", 101,   -2.5,     2.5);
 
@@ -113,6 +117,10 @@ void Analysis_Tier0::initialise() {
   addHistogram(h_trkd0);
   addHistogram(h_trkz0);
 
+  addHistogram(h_trketaroi);
+  addHistogram(h_trketazroi);
+
+
   addHistogram(h_trkdd0);
   addHistogram(h_trkdz0);
 
@@ -365,10 +373,12 @@ void Analysis_Tier0::initialise() {
 
 }
 
+extern TIDARoiDescriptor* agroi;
+
 
 void Analysis_Tier0::execute(const std::vector<TIDA::Track*>& referenceTracks,
 			     const std::vector<TIDA::Track*>& testTracks,
-			     TrackAssociator* associator) {
+			     TrackAssociator* associator ) { 
   
   /// Loop over reference tracks
   std::vector<TIDA::Track*>::const_iterator  reference    = referenceTracks.begin();
@@ -542,6 +552,31 @@ void Analysis_Tier0::execute(const std::vector<TIDA::Track*>& referenceTracks,
       h_d0vsphi_rec->Fill( test->phi(), test->a0() );
 
     }
+    else { 
+      //  std::cout << "Analysis: " << name() << " " << roi();
+      //  if ( roi() ) std::cout << "\t" << *roi();
+      //  std::cout << std::endl; 
+
+      //      std::cout << "about to crash ? " << std::endl;
+
+      if ( roi() ) { 
+
+	double deta = 0.5*(roi()->etaPlus() - roi()->etaMinus()); 
+	
+	double Dzed = 0.5*(roi()->zedPlus() - roi()->zedMinus());
+	double dzed = referenceZ0 - roi()->zed();
+	
+	h_trketaroi->Fill( (referenceEta - roi()->eta())/deta );
+
+	h_trketazroi->Fill( (referenceEta - roi()->eta())*dzed/Dzed );
+      
+      }
+
+      //      std::cout << "not crashed yet" << std::endl;
+
+
+    }
+
     //    else { 
     //      if ( referencePT*0.001 > 10 ) { /// in GeV
     // 	      m_debug = true;
@@ -576,3 +611,6 @@ double Analysis_Tier0::phi(double p) {
 }
 
 
+
+
+
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisUser/Analysis/src/rmain.cxx b/Trigger/TrigAnalysis/TrigInDetAnalysisUser/Analysis/src/rmain.cxx
index 4274d648c93f8e45beefb62d9edcb8559375de26..c90baf4a39408b9ccf1416422f70acd5616b161d 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysisUser/Analysis/src/rmain.cxx
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysisUser/Analysis/src/rmain.cxx
@@ -491,6 +491,7 @@ int main(int argc, char** argv)
 
   double Rmatch = 0.1;
 
+  int ntracks = 0;
 
   //bool printflag = false;  // JK removed (unused)
 
@@ -535,6 +536,11 @@ int main(int argc, char** argv)
   if ( inputdata.isTagDefined("nbl") )      nbl      = inputdata.GetValue("nbl");
   if ( inputdata.isTagDefined("chi2prob") ) chi2prob = inputdata.GetValue("chi2prob");
 
+  if ( inputdata.isTagDefined("ntracks") )  ntracks  = inputdata.GetValue("ntracks")+0.5; // rounding necessary ?
+
+
+  if ( inputdata.isTagDefined("chi2prob") ) chi2prob = inputdata.GetValue("chi2prob");
+
   /// only if not set from the command line
   if ( pdgId==0 && inputdata.isTagDefined("pdgId") ) pdgId = inputdata.GetValue("pdgId");
   
@@ -1049,14 +1055,23 @@ int main(int argc, char** argv)
 
   /// track selectors for efficiencies
 
-  bool fullyContainTracks = true;
+  bool fullyContainTracks = false;
 
   if ( inputdata.isTagDefined("FullyContainTracks") ) { 
     fullyContainTracks = ( inputdata.GetValue("FullyContainTracks")==0 ? false : true ); 
   }
 
-  dynamic_cast<Filter_Combined*>(refFilter)->setDebug(debugPrintout);
-  dynamic_cast<Filter_Combined*>(refFilter)->containtracks(fullyContainTracks);
+  bool containTracksPhi = true;
+
+  if ( inputdata.isTagDefined("ContainTracksPhi") ) { 
+    containTracksPhi = ( inputdata.GetValue("ContainTracksPhi")==0 ? false : true ); 
+  }
+
+  if ( dynamic_cast<Filter_Combined*>(refFilter) ) { 
+    dynamic_cast<Filter_Combined*>(refFilter)->setDebug(debugPrintout);
+    dynamic_cast<Filter_Combined*>(refFilter)->containtracks(fullyContainTracks);
+    dynamic_cast<Filter_Combined*>(refFilter)->containtracksPhi(containTracksPhi);
+  }    
 
   NtupleTrackSelector  refTracks( refFilter );
   NtupleTrackSelector  offTracks( testFilter );
@@ -1070,7 +1085,6 @@ int main(int argc, char** argv)
   //    NtupleTrackSelector  testTracks( &filter_off );
   //    NtupleTrackSelector testTracks(&filter_roi);
 
-
   /// do we want to filter the RoIs ? 
 
   bool filterRoi = false;
@@ -1903,7 +1917,10 @@ int main(int argc, char** argv)
 	ConfVtxAnalysis* vtxanal = 0;
 	analitr->second->store().find( vtxanal, "rvtx" );
 
-	if ( vtxanal ) {	  
+	/// NB: because ntracks = 0 by default, this second clause should 
+	///     always be true unless ntracks has been set to some value
+	if ( vtxanal && ( refp.size() >= size_t(ntracks) ) ) {	  
+
 	  /// AAAAAARGH!!! because you cannot cast vector<T> to const vector<const T>
 	  ///  we first need to copy the actual elements from the const vector, to a normal
 	  ///  vector. This is because if we take the address of elements of a const vector<T>
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisUtils/TrigInDetAnalysisUtils/Filters.h b/Trigger/TrigAnalysis/TrigInDetAnalysisUtils/TrigInDetAnalysisUtils/Filters.h
index eceaf142d1cbd6a197160d0a5cac2ef07fd639c1..4c4e164604e35ab071d5036e3c7cc7bc93e86997 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysisUtils/TrigInDetAnalysisUtils/Filters.h
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysisUtils/TrigInDetAnalysisUtils/Filters.h
@@ -230,6 +230,7 @@ public:
   Filter_Combined( TrackFilter* f1, TrackFilter* f2) : 
     mf1(f1), mf2(f2), m_roi(0), 
     m_debugPrintout(false), 
+    m_containPhi(true),
     m_contain(false)
   { } 
 
@@ -241,6 +242,11 @@ public:
 
   void containtracks( bool b=true ) { m_contain=b; }
 
+  /// set / unset to allow the strict phi containment to be
+  /// used even if the full rigorous containement is not 
+
+  void containtracksPhi( bool b=true ) { m_containPhi=b; }
+
 
   bool contains( const TIDA::Track* t, const TIDARoiDescriptor* r ) const { 
 
@@ -269,7 +275,7 @@ public:
       ///     within an Roi but failthis condition
       bool contained_eta = ( t->eta()<r->etaPlus() && t->eta()>r->etaMinus() );
       
-      if ( m_contain ) { 
+      if ( m_contain || m_containPhi ) { 
 
 	///  includes calculation of approximate z position of the 
 	///  track at radius r and test if track within that z position at radius r 
@@ -287,9 +293,11 @@ public:
  
 	double cross0 = zexit*r->rMinusZed() - rexit*r->zedMinusR();
 	double cross1 = zexit*r->rPlusZed()  - rexit*r->zedPlusR(); 
-
-	if ( cross0>0 && cross1<0 ) contained_eta=true;
-	else                        contained_eta=false;
+	
+	if ( m_contain ) {  
+	  if ( cross0>0 && cross1<0 ) contained_eta=true;
+	  else                        contained_eta=false;
+	}
 
 	/// now check phi taking account of the track transverse curvature
 
@@ -380,6 +388,7 @@ private:
 
   bool  m_debugPrintout;
 
+  bool   m_containPhi;
   bool   m_contain;
 
 };
diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigBtagFex.h b/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigBtagFex.h
index d619837b57e929767397a373404356cc17c7cff0..4304a7efb3557a50de6abcedb9978a49890fad2a 100755
--- a/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigBtagFex.h
+++ b/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigBtagFex.h
@@ -218,13 +218,13 @@ class TrigBtagFex: public HLT::FexAlgo {
   float m_mon_tag_MV2c10;
   float m_mon_tag_MV2c10_hybrid;
   float m_mon_tag_MV2c20;
-  //2017 variables - Nghia
+  //2017 variables
   float m_mon_tag_IP2_c;
   float m_mon_tag_IP2_cu;
   float m_mon_tag_IP3_c;
   float m_mon_tag_IP3_cu;
 
-  //JetFitter variables - Nghia
+  //JetFitter variables
   int   m_mon_jf_n2tv;
   int   m_mon_jf_ntrkv; 
   int   m_mon_jf_nvtx; 
@@ -233,17 +233,10 @@ class TrigBtagFex: public HLT::FexAlgo {
   float m_mon_jf_efrc; 
   float m_mon_jf_dR; 
   float m_mon_jf_sig3;
-  /// @brief JetFitter : Delta eta between jet and momentum sum of all tracks associated with displaced vertices reconstructed by JetFitter
-  float m_mon_jf_deta; 
-  /// @brief JetFitter : Delta phi between jet and momentum sum of all tracks associated with displaced vertices reconstructed by JetFitter
-  float m_mon_jf_dphi;  
 
-  //jet variables - Nghia
+  //jet variables
   float m_mon_jet_pt;
   float m_mon_jet_eta;
-  float sv_check;
-  float sv_mass_check ;
-  float jf_check;
   int   m_mon_sv_bool; 
   int   m_mon_jf_bool; 
 
diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBtagFexMonitoring.py b/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBtagFexMonitoring.py
index 53a2ecd29845d5d7a93507a1896bc0e560ff5a0a..d8ed877a1fcfe760f0f3f55caf2b03cbd7c9dddd 100755
--- a/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBtagFexMonitoring.py
+++ b/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBtagFexMonitoring.py
@@ -36,6 +36,8 @@ class TrigBtagFexMonitoring(TrigGenericMonitoringToolConfig):
         #                                        xbins=200, xmin=-1., xmax=1.) ]
         self.Histograms += [ defineHistogram('tag_MV2c10', type='TH1F', title="BtagFex MV2c10 Discriminant",
                                              xbins=200, xmin=-1., xmax=1.) ]
+        self.Histograms += [ defineHistogram('tag_MV2c10_hybrid', type='TH1F', title="BtagFex MV2c10_hybrid Discriminant",
+                                             xbins=200, xmin=-1., xmax=1.) ]
         self.Histograms += [ defineHistogram('tag_MV2c20', type='TH1F', title="BtagFex MV2c20 Discriminant",
                                              xbins=200, xmin=-1., xmax=1.) ]  
         self.Histograms += [ defineHistogram('tag_IP2_c', type='TH1F', title="BtagFex IP2D Likelihood Ratio between b- and c-jet",
diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigBtagFex.cxx b/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigBtagFex.cxx
index 33e58654cb1cc2d3c195b98fbb32e1008b6f6563..658a84d5a326e99723daf01cd62e1abd0c04fac2 100755
--- a/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigBtagFex.cxx
+++ b/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigBtagFex.cxx
@@ -357,7 +357,9 @@ HLT::ErrorCode TrigBtagFex::hltExecute(const HLT::TriggerElement* inputTE, HLT::
   }
 
   // Fill monitoring variables
-
+  float sv_check;
+  float sv_mass_check;
+  
   sv_mass_check = 0.0 ; 
   
   trigBTagging->variable<float>("SV1", "masssvx",  sv_mass_check);
@@ -397,6 +399,11 @@ HLT::ErrorCode TrigBtagFex::hltExecute(const HLT::TriggerElement* inputTE, HLT::
       m_mon_tag_SV1= -999;
     } //set default values for jets that SV is not found
 
+  /// @brief JetFitter : Delta eta between jet and momentum sum of all tracks associated with displaced vertices reconstructed by JetFitter
+  float m_mon_jf_deta; 
+  /// @brief JetFitter : Delta phi between jet and momentum sum of all tracks associated with displaced vertices reconstructed by JetFitter
+  float m_mon_jf_dphi;
+  float jf_check;
   
   //Check JetFitter algorithm
   m_mon_jf_deta = -10.;
diff --git a/Trigger/TrigMonitoring/TrigTauMonitoring/python/TrigTauMonitCategory.py b/Trigger/TrigMonitoring/TrigTauMonitoring/python/TrigTauMonitCategory.py
index c0355b8583a7d5978cdb0a72ad9ebbbf60237e6b..7903638a5e8f830ad71a75760e991d77e2fcf7ba 100644
--- a/Trigger/TrigMonitoring/TrigTauMonitoring/python/TrigTauMonitCategory.py
+++ b/Trigger/TrigMonitoring/TrigTauMonitoring/python/TrigTauMonitCategory.py
@@ -26,7 +26,7 @@ monitoring_singleTau = 'tau25_medium1_tracktwo'
 monitoring_tau = [
     'tau0_perf_ptonly_L1TAU12',
     'tau0_perf_ptonly_L1TAU100', #TES change. 'tau0_perf_ptonly_L1TAU60',
-    'tau25_idperf_track',
+    #'tau25_idperf_track',
     'tau25_idperf_tracktwo',
     'tau25_perf_tracktwo',
     'tau25_medium1_tracktwo',
@@ -47,10 +47,28 @@ monitoring_tau = [
 monitoring_tau_pp = [
     'tau0_perf_ptonly_L1TAU12',
     'tau0_perf_ptonly_L1TAU100',
-    'tau25_idperf_track',
+    #'tau25_idperf_track',
     'tau25_idperf_tracktwo',
     'tau25_perf_tracktwo',
     'tau25_medium1_tracktwo',
+    'tau25_verylooseRNN_tracktwo',
+    'tau25_looseRNN_tracktwo',
+    'tau25_mediumRNN_tracktwo',
+    'tau25_tightRNN_tracktwo',
+    'tau25_idperf_tracktwoMVA',
+    'tau25_perf_tracktwoMVA',
+    'tau25_medium1_tracktwoMVA',
+    'tau25_verylooseRNN_tracktwoMVA',
+    'tau25_looseRNN_tracktwoMVA',
+    'tau25_mediumRNN_tracktwoMVA',
+    'tau25_tightRNN_tracktwoMVA',
+    'tau25_idperf_tracktwoEF',
+    'tau25_perf_tracktwoEF',
+    'tau25_medium1_tracktwoEF',
+    'tau25_idperf_tracktwoEFmvaTES',
+    'tau25_perf_tracktwoEFmvaTES',
+    'tau25_medium1NoPt_tracktwoEFmvaTES',
+    'tau25_medium1_tracktwoEFmvaTES',
     'tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM',  #keep this as reference for the L1Topo plots
     'tau35_medium1_tracktwo_xe70_L1XE45', # tau+xe
     'tau35_medium1_L1TAU20_tau25_medium1_L1TAU12_xe50', # 2tau+xe
@@ -98,19 +116,37 @@ monitoring_tau_pp = [
 monitoring_tau_validation = [
     'tau0_perf_ptonly_L1TAU12',
     'tau0_perf_ptonly_L1TAU100', # 'tau0_perf_ptonly_L1TAU60',
-    'tau25_idperf_track',
-    'tau25_idperf_tracktwo',
+    #'tau25_idperf_track',
     'tau25_perf_ptonly',
+    'tau25_loose1_ptonly',
+    'tau25_medium1_ptonly',
+    'tau25_tight1_ptonly',
+    'tau25_idperf_tracktwo',
     'tau25_perf_tracktwo',
     'tau25_medium1_tracktwo',
     'tau25_loose1_tracktwo',
     'tau25_tight1_tracktwo',
+    'tau25_verylooseRNN_tracktwo',
+    'tau25_looseRNN_tracktwo',
+    'tau25_mediumRNN_tracktwo',
+    'tau25_tightRNN_tracktwo',
     'tau25_medium1_tracktwo_L1TAU12',
     'tau25_medium1_tracktwo_L1TAU12IL',
     'tau25_medium1_tracktwo_L1TAU12IT',
-    'tau25_loose1_ptonly',
-    'tau25_medium1_ptonly',
-    'tau25_tight1_ptonly',
+    'tau25_idperf_tracktwoMVA',
+    'tau25_perf_tracktwoMVA',
+    'tau25_medium1_tracktwoMVA',
+    'tau25_verylooseRNN_tracktwoMVA',
+    'tau25_looseRNN_tracktwoMVA',
+    'tau25_mediumRNN_tracktwoMVA',
+    'tau25_tightRNN_tracktwoMVA',
+    'tau25_idperf_tracktwoEF',
+    'tau25_perf_tracktwoEF',
+    'tau25_medium1_tracktwoEF',
+    'tau25_idperf_tracktwoEFmvaTES',
+    'tau25_perf_tracktwoEFmvaTES',
+    'tau25_medium1NoPt_tracktwoEFmvaTES',
+    'tau25_medium1_tracktwoEFmvaTES',
     'tau35_perf_tracktwo',
     'tau35_perf_ptonly',
     'tau35_medium1_tracktwo_xe70_L1XE45', # tau+xe
diff --git a/Trigger/TrigMonitoring/TrigTauMonitoring/python/TrigTauMonitoringConfig.py b/Trigger/TrigMonitoring/TrigTauMonitoring/python/TrigTauMonitoringConfig.py
index f2ec838723efd1556b9aba3410a69c7a559920f3..39981b6c45efa9057800fa699a1514d405369ac3 100644
--- a/Trigger/TrigMonitoring/TrigTauMonitoring/python/TrigTauMonitoringConfig.py
+++ b/Trigger/TrigMonitoring/TrigTauMonitoring/python/TrigTauMonitoringConfig.py
@@ -29,31 +29,62 @@ def TrigTauMonitoringTool():
 	]
 
 	ditau_topo_chains = [
-            'tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM',
-            'tau35_medium1_tracktwo_tau25_medium1_tracktwo', # 2tau non-L1TOPO
-            'tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1DR-TAU20ITAU12I',
-            'tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1DR-TAU20ITAU12I-J25', # 2tau L1TOPO+J
-            'tau35_medium1_tracktwo_tau25_medium1_tracktwo_03dR30',
-            'tau35_medium1_tracktwo_tau25_medium1_tracktwo_03dR30_L1DR-TAU20ITAU12I',
-            'tau35_medium1_tracktwo_tau25_medium1_tracktwo_03dR30_L1DR-TAU20ITAU12I-J25', # 2tau L1TOPO+J
-            'tau80_medium1_tracktwo_L1TAU60_tau35_medium1_tracktwo_L1TAU12IM_L1TAU60_DR-TAU20ITAU12I', # 2tau L1TOPO
+        			'tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM',
+        			'tau35_medium1_tracktwo_tau25_medium1_tracktwo', # 2tau non-L1TOPO
+        			'tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1DR-TAU20ITAU12I',
+        			'tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1DR-TAU20ITAU12I-J25', # 2tau L1TOPO+J
+        			'tau35_medium1_tracktwo_tau25_medium1_tracktwo_03dR30',
+        			'tau35_medium1_tracktwo_tau25_medium1_tracktwo_03dR30_L1DR-TAU20ITAU12I',
+        			'tau35_medium1_tracktwo_tau25_medium1_tracktwo_03dR30_L1DR-TAU20ITAU12I-J25', # 2tau L1TOPO+J
+        			'tau80_medium1_tracktwo_L1TAU60_tau35_medium1_tracktwo_L1TAU12IM_L1TAU60_DR-TAU20ITAU12I', # 2tau L1TOPO
 	]
 	
 	mutau_topo_chains = [
-            'mu14_ivarloose_tau25_medium1_tracktwo', # tau+mu non-L1TOPO
-            'mu14_ivarloose_tau25_medium1_tracktwo_L1DR-MU10TAU12I_TAU12I-J25', # tau+mu L1TOPO
-            'mu14_ivarloose_tau25_medium1_tracktwo_L1MU10_TAU20IM_J25_2J20', # tau+mu non-L1TOPO
+        			'mu14_ivarloose_tau25_medium1_tracktwo', # tau+mu non-L1TOPO
+        			'mu14_ivarloose_tau25_medium1_tracktwo_L1DR-MU10TAU12I_TAU12I-J25', # tau+mu L1TOPO
+        			'mu14_ivarloose_tau25_medium1_tracktwo_L1MU10_TAU20IM_J25_2J20', # tau+mu non-L1TOPO
 			'mu14_ivarloose_tau25_medium1_tracktwo_03dR30',
 			'mu14_ivarloose_tau25_medium1_tracktwo_03dR30_L1DR-MU10TAU12I_TAU12I-J25',
 	]
 
 	eltau_topo_chains = [
 			'e17_lhmedium_nod0_ivarloose_tau25_medium1_tracktwo', # tau+e+J non-L1TOPO
-            'e17_lhmedium_nod0_ivarloose_tau25_medium1_tracktwo_L1DR-EM15TAU12I-J25', # tau+e+J L1TOPO
+			'e17_lhmedium_nod0_ivarloose_tau25_medium1_tracktwo_L1DR-EM15TAU12I-J25', # tau+e+J L1TOPO
 			'e17_lhmedium_nod0_ivarloose_tau25_medium1_tracktwo_03dR30',
 			'e17_lhmedium_nod0_tau25_medium1_tracktwo_03dR30_L1DR-EM15TAU12I-J25',
 	]
 
+	MVA_chains = [
+			'tau25_idperf_tracktwoMVA',
+			'tau25_perf_tracktwoMVA',
+			'tau25_verylooseRNN_tracktwoMVA',
+			'tau25_looseRNN_tracktwoMVA',
+			'tau25_mediumRNN_tracktwoMVA',
+			'tau25_tightRNN_tracktwoMVA',
+	]
+
+	RNN_chains = [
+			'tau25_verylooseRNN_tracktwo',
+			'tau25_looseRNN_tracktwo',
+			'tau25_mediumRNN_tracktwo',
+			'tau25_verylooseRNN_tracktwoMVA',
+			'tau25_looseRNN_tracktwoMVA',
+			'tau25_mediumRNN_tracktwoMVA',
+			'tau25_tightRNN_tracktwoMVA',
+	]
+
+	BDTRNN_chains = [
+			'tau25_perf_tracktwo',
+			'tau25_idperf_tracktwo',
+			'tau25_medium1_tracktwo',
+			'tau25_idperf_tracktwoEF',
+			'tau25_perf_tracktwoEF',
+			'tau25_idperf_tracktwoEFmvaTES',
+			'tau25_perf_tracktwoEFmvaTES',
+			'tau25_idperf_tracktwoMVA',
+			'tau25_perf_tracktwoMVA',
+	]
+
 	tau_topo_support_chains = [
 
 	]
@@ -118,6 +149,7 @@ def TrigTauMonitoringTool():
 				primary_tau		= full_tau, #[]
 				prescaled_tau		= [], #tau_track_test, #[],
 				LowestSingleTau		= hltmonList.monitoring_singleTau, #"tau25_medium1_tracktwo",
+				LowestSingleTauMVA		= "tau25_mediumRNN_tracktwoMVA",
 				Highpt_tau		= highpt_tau,
 				Ztt_tau		 	= ztt_tau,
 				EffOffTauPtCut	 	= 25000.,  #MeV
@@ -136,12 +168,17 @@ def TrigTauMonitoringTool():
 #				doTestTracking		= False,
 				doL1JetPlots		= False,
 				doEFTProfiles		= False,
+				doFailTrackFilterBitMonitoring		= True,
+				doRNNInOutMonitoring		= True,
 				domuCut40		= False,
 				doEfficiencyRatioPlots = True, #False
 				doL1TopoLeptonsMonitoringWarnings = False,
 				topo_ditau_chains	= ditau_topo_chains,
 				topo_mutau_chains	= mutau_topo_chains,
 				topo_eltau_chains	= eltau_topo_chains,
+				trigMVA_chains	= MVA_chains,
+				trigRNN_chains	= RNN_chains,
+				trigBDTRNN_chains	= BDTRNN_chains,
 				topo_support_chains	= tau_topo_support_chains,
 				doTopoValidation	= False,
 				L1TriggerCondition	= "Physics", #allowResurrectedDecision, alsoDeactivateTEs, Physics [default]
diff --git a/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool.cxx b/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool.cxx
index 6d0ed7eb4ba55855581037fc810dd91a50961177..ecef6d011f26f559d683254cdca359ec12977e81 100755
--- a/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool.cxx
+++ b/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool.cxx
@@ -132,13 +132,19 @@ HLTTauMonTool::HLTTauMonTool(const std::string & type, const std::string & n, co
     declareProperty("doTopoValidation",         m_doTopoValidation=false);
     declareProperty("doL1JetPlots", 		m_doL1JetPlots=false);
     declareProperty("doEFTProfiles", 		m_doEFTProfiles=false);
+    declareProperty("doFailTrackFilterBitMonitoring", 		m_doFailTrackFilterBitMonitoring=true);
+    declareProperty("doRNNInOutMonitoring", 		m_doRNNInOutMonitoring=true);
     declareProperty("domuCut40", 		m_domuCut40=false);    
     declareProperty("doL1TopoLeptonsMonitoringWarnings",	m_doL1TopoLeptonsMonitoringWarnings=false);
     declareProperty("topo_ditau_chains",    m_topo_chains_ditau);
     declareProperty("topo_eltau_chains",    m_topo_chains_eltau);
     declareProperty("topo_mutau_chains",    m_topo_chains_mutau);
+    declareProperty("trigMVA_chains",    m_trigMVA_chains);
+    declareProperty("trigRNN_chains",    m_trigRNN_chains);
+    declareProperty("trigBDTRNN_chains",    m_trigBDTRNN_chains);
     declareProperty("topo_support_chains",  m_topo_support_chains);
     declareProperty("LowestSingleTau", 		m_lowest_singletau="");
+    declareProperty("LowestSingleTauMVA", 		m_lowest_singletauMVA="");
     declareProperty("L1TriggerCondition", 	m_L1StringCondition="Physics");
     declareProperty("HLTTriggerCondition",      m_HLTStringCondition="Physics");
     declareProperty("nTrkMax",			m_selection_nTrkMax=-1);
@@ -245,13 +251,16 @@ StatusCode HLTTauMonTool::init() {
       m_trigItemsZtt.push_back(*it);
     }
 
-	// List of chains of interest for Efficiency Ratio plots between FTK and Reference (i.e. non-FTK/"tracktwo") chains.
-	m_LST_HLTsel_FTK_chains = {"tau12_idperf_FTK", "tau12_perf_FTK", "tau12_medium1_FTK"};
-	m_LST_HLTsel0Prong_FTK_chains = {"tau12_idperf_FTK", "tau12_perf0_FTK", "tau12_medium0_FTK"};
-	m_LST_HLTsel_FTKNoPrec_chains = {"tau12_idperf_FTK", "tau12_perf_FTK", "tau12_medium1_FTKNoPrec"};
-	m_LST_HLTsel0Prong_FTKNoPrec_chains = {"tau12_idperf_FTK", "tau12_perf0_FTK", "tau12_medium0_FTKNoPrec"};
-	m_LST_HLTsel_tracktwo_chains = {"tau25_idperf_tracktwo", "tau25_perf_tracktwo", "tau25_medium1_tracktwo"};	// Reference 
-	m_Ratio = {"idperf", "perf", "medium1"};
+  // List of chains of interest for Efficiency Ratio plots between FTK and Reference (i.e. non-FTK/"tracktwo") chains.
+  m_LST_HLTsel_FTK_chains = {"tau12_idperf_FTK", "tau12_perf_FTK", "tau12_medium1_FTK"};
+  m_LST_HLTsel0Prong_FTK_chains = {"tau12_idperf_FTK", "tau12_perf0_FTK", "tau12_medium0_FTK"};
+  m_LST_HLTsel_FTKNoPrec_chains = {"tau12_idperf_FTK", "tau12_perf_FTK", "tau12_medium1_FTKNoPrec"};
+  m_LST_HLTsel0Prong_FTKNoPrec_chains = {"tau12_idperf_FTK", "tau12_perf0_FTK", "tau12_medium0_FTKNoPrec"};
+  m_LST_HLTsel_tracktwo_chains = {"tau25_idperf_tracktwo", "tau25_perf_tracktwo", "tau25_medium1_tracktwo"};	// Reference 
+  m_Ratio = {"idperf", "perf", "medium1"};
+  // List of MVA triggers
+
+
 
 // 	HERE DOESN'T WORK SINCE TDT NOT YET INITIALISED
 //	const Trig::ChainGroup* m_allHLTTauItems = getTDT()->getChainGroup("HLT_.*");
@@ -535,6 +544,15 @@ StatusCode HLTTauMonTool::fill() {
 		if(!sc.isSuccess())	ATH_MSG_WARNING("Failed TopoLeptons() for eltau");
 	}
 
+	if (m_doFailTrackFilterBitMonitoring) {
+		for(unsigned int i=0;i<m_trigMVA_chains.size(); ++i){
+		// monitor failtrackfilter bit 
+			sc = FailTrackFilterMonitor ( m_trigMVA_chains.at(i) );
+			if(!sc.isSuccess())	ATH_MSG_WARNING("Failed FailTrackFilterMonitor()");
+		}
+	}
+
+
 	// muCut on filling the histograms
 	if (muCut40Passed)
 	{
@@ -616,6 +634,23 @@ StatusCode HLTTauMonTool::fillHistogramsForItem(const std::string & trigItem){
     std::string trig_item_EF = "HLT_"+trigItem;
     std::string trig_item_L1(LowerChain( trig_item_EF ) );
     if(trig_item_L1=="") {ATH_MSG_DEBUG("L1 chain for "<< trig_item_EF << " not found");}
+
+		bool monRNN (false);
+		for (unsigned int i=0; i<m_trigRNN_chains.size(); i++) {
+		  if ( trigItem == m_trigRNN_chains.at(i) ) {
+		    monRNN = true;
+				break;
+		  }
+		}
+		bool monBDT (false);
+		for (unsigned int i=0; i<m_trigBDTRNN_chains.size(); i++) {
+		  if ( trigItem == m_trigBDTRNN_chains.at(i) ) {
+				if (!monRNN) monRNN = true;
+				if (!monBDT) monBDT = true;
+				break;
+		  }
+		} 
+		if ( (!monBDT) && (!monRNN) ) monBDT=true; // if the chain is not listed in BDTRNN, but it is also not in RNN, then it is BDT 
     
     if(trigItem=="Dump"){
 
@@ -654,14 +689,26 @@ StatusCode HLTTauMonTool::fillHistogramsForItem(const std::string & trigItem){
         for(; CI!=tauJetCont_end; ++CI){
           if(!Selection(*CI)) continue;
 	  sc = fillEFTau(*CI, trigItem, "basicVars");
-	  sc = fillEFTau(*CI, trigItem, "1p_NonCorr");
-	  sc = fillEFTau(*CI, trigItem, "mp_NonCorr");
-	  sc = fillEFTau(*CI, trigItem, "1p_muCorr");
-	  sc = fillEFTau(*CI, trigItem, "mp_muCorr");
+		if (monBDT) {
+			sc = fillEFTau(*CI, trigItem, "1p_NonCorr");
+			sc = fillEFTau(*CI, trigItem, "mp_NonCorr");
+			//sc = fillEFTau(*CI, trigItem, "1p_muCorr");
+			//sc = fillEFTau(*CI, trigItem, "mp_muCorr");
+		}
 	  if(!sc.isSuccess()){ ATH_MSG_WARNING("Failed to Fill BDT input histograms for fillEFTau(). Exiting!"); return sc;}
+    if(monRNN) {
+      sc = fillEFTau(*CI, trigItem, "RNN_inScalar_1P");
+      sc = fillEFTau(*CI, trigItem, "RNN_inScalar_3P");
+      sc = fillEFTau(*CI, trigItem, "RNN_inTrack");
+      sc = fillEFTau(*CI, trigItem, "RNN_inCluster");
+      sc = fillEFTau(*CI, trigItem, "RNN_out");
+      if(!sc.isSuccess()){ ATH_MSG_WARNING("Failed to Fill RNN input and output histograms for fillEFTau(). Exiting!"); return sc;}
+    }
 	  sc = fillEFTauVsOffline(*CI, trigItem, "basicVars");
-	  sc = fillEFTauVsOffline(*CI, trigItem, "1p_NonCorr");
-	  sc = fillEFTauVsOffline(*CI, trigItem, "mp_NonCorr");
+		if (monBDT) {
+			sc = fillEFTauVsOffline(*CI, trigItem, "1p_NonCorr");
+			sc = fillEFTauVsOffline(*CI, trigItem, "mp_NonCorr");
+		}
 	  if(!sc.isSuccess()){ ATH_MSG_WARNING("Failed to Fill histograms for fillEFTauVsOffline(). Exiting!"); return sc;}
 	}
         
@@ -859,15 +906,27 @@ StatusCode HLTTauMonTool::fillHistogramsForItem(const std::string & trigItem){
              for(; tauItr != tauEnd; ++tauItr) {
      		if(!Selection(*tauItr)) continue;
      		if(*tauItr) sc = fillEFTau(*tauItr, trigItem, "basicVars");
-     		if(*tauItr) sc = fillEFTau(*tauItr, trigItem, "1p_NonCorr");
-     		if(*tauItr) sc = fillEFTau(*tauItr, trigItem, "mp_NonCorr");
-     		if(*tauItr) sc = fillEFTau(*tauItr, trigItem, "1p_muCorr");
-     		if(*tauItr) sc = fillEFTau(*tauItr, trigItem, "mp_muCorr");
+				if (monBDT) {
+		   		if(*tauItr) sc = fillEFTau(*tauItr, trigItem, "1p_NonCorr");
+		   		if(*tauItr) sc = fillEFTau(*tauItr, trigItem, "mp_NonCorr");
+		   		//if(*tauItr) sc = fillEFTau(*tauItr, trigItem, "1p_muCorr");
+		   		//if(*tauItr) sc = fillEFTau(*tauItr, trigItem, "mp_muCorr");
+				}
      		if(!sc.isSuccess()){ ATH_MSG_WARNING("Failed to Fill BDT input histograms for fillEFTau(). Exiting!"); return sc;}
+     		if(monRNN) {
+     		  if(*tauItr) sc = fillEFTau(*tauItr, trigItem, "RNN_inScalar_1P");
+     		  if(*tauItr) sc = fillEFTau(*tauItr, trigItem, "RNN_inScalar_3P");
+       		if(*tauItr) sc = fillEFTau(*tauItr, trigItem, "RNN_inTrack");
+     		  if(*tauItr) sc = fillEFTau(*tauItr, trigItem, "RNN_inCluster");
+     		  if(*tauItr) sc = fillEFTau(*tauItr, trigItem, "RNN_out");
+     		  if(!sc.isSuccess()){ ATH_MSG_WARNING("Failed to Fill RNN input and output histograms for fillEFTau(). Exiting!"); return sc;}
+     		}
      		if(m_truth) if(*tauItr) sc = fillEFTauVsTruth(*tauItr, trigItem);
      		if(*tauItr) sc = fillEFTauVsOffline(*tauItr, trigItem, "basicVars");
-     		if(*tauItr) sc = fillEFTauVsOffline(*tauItr, trigItem, "1p_NonCorr");
-     		if(*tauItr) sc = fillEFTauVsOffline(*tauItr, trigItem, "mp_NonCorr");
+				if (monBDT) {
+		   		if(*tauItr) sc = fillEFTauVsOffline(*tauItr, trigItem, "1p_NonCorr");
+		   		if(*tauItr) sc = fillEFTauVsOffline(*tauItr, trigItem, "mp_NonCorr");
+				}
      		if(!sc.isSuccess()){ ATH_MSG_WARNING("Failed to Fill histograms for fillEFTauVsOffline(). Exiting!"); return sc;}
              }
             }
@@ -1032,6 +1091,7 @@ StatusCode HLTTauMonTool::fillEFTau(const xAOD::TauJet *aEFTau, const std::strin
   float EMFrac = -1.0;
 //  float PSSFraction = 0;
   float BDTJetScore = 0;
+  float BDTJetScoreSigTrans = 0;
   float innerTrkAvgDist = 0;
   float etOverPtLeadTrk = 0;
   float ipSigLeadTrk = 0;
@@ -1044,7 +1104,7 @@ StatusCode HLTTauMonTool::fillEFTau(const xAOD::TauJet *aEFTau, const std::strin
   float dRmax = 0;
   float mEflowApprox = 0;
   float ptRatioEflowApprox = 0;
-
+/*
   float innerTrkAvgDistCorr = 0;
   float etOverPtLeadTrkCorr = 0;
   float ipSigLeadTrkCorr = 0;
@@ -1057,6 +1117,7 @@ StatusCode HLTTauMonTool::fillEFTau(const xAOD::TauJet *aEFTau, const std::strin
   float dRmaxCorr = 0;
   float mEflowApproxCorr = 0;
   float ptRatioEflowApproxCorr = 0;
+*/
   float mu = 0;
 
   int EFnTrack(-1);
@@ -1071,6 +1132,34 @@ StatusCode HLTTauMonTool::fillEFTau(const xAOD::TauJet *aEFTau, const std::strin
   //Pileup
   mu = m_mu_offline;
 
+  // special treatment for the track multiplicity plot depending on the "quality" of the tau charged tracks.
+  // if a charged track has been recovered via the "failTrackFilter" flag, 
+  // then treat this tau as 0-track for the track multiplicity plot. 
+  bool failsTrackFilter = aEFTau->nTracks(xAOD::TauJetParameters::failTrackFilter);
+  bool isMVAtrig_here (false);
+  for (unsigned int i=0; i<m_trigMVA_chains.size(); i++) {
+    if ( trigItem == m_trigMVA_chains.at(i) ) {
+      isMVAtrig_here = true;
+      break;
+    }
+  }
+  bool monRNN (false);
+  for (unsigned int i=0; i<m_trigRNN_chains.size(); i++) {
+    if ( trigItem == m_trigRNN_chains.at(i) ) {
+      monRNN = true;
+		  break;
+    }
+  }
+  bool monBDT (false);
+  for (unsigned int i=0; i<m_trigBDTRNN_chains.size(); i++) {
+    if ( trigItem == m_trigBDTRNN_chains.at(i) ) {
+			if (!monRNN) monRNN = true;
+			if (!monBDT) monBDT = true;
+			break;
+    }
+  } 
+	if ( (!monBDT) && (!monRNN) ) monBDT=true; // if the chain is not listed in BDTRNN, but it is also not in RNN, then it is BDT 
+
   if(BDTinput_type == "basicVars")
     {
       setCurrentMonGroup("HLT/TauMon/Expert/"+trigItem+"/EFTau");
@@ -1082,8 +1171,11 @@ StatusCode HLTTauMonTool::fillEFTau(const xAOD::TauJet *aEFTau, const std::strin
       hist("hEFNUM")->Fill(num_vxt);
       hist2("hEFNUMvsmu")->Fill(num_vxt,mu);
       hist("hEFPhi")->Fill(aEFTau->phi());
-      hist("hEFnTrack")->Fill(EFnTrack);
-   
+      if ( isMVAtrig_here && failsTrackFilter && (trigItem != "tau25_idperf_tracktwoMVA") ) {
+        hist("hEFnTrack")->Fill(0);
+      } else {
+        hist("hEFnTrack")->Fill(EFnTrack);
+      }   
       int EFWidenTrack(-1); 
       #ifndef XAODTAU_VERSIONS_TAUJET_V3_H 
       EFWidenTrack = aEFTau->nWideTracks();
@@ -1105,12 +1197,22 @@ StatusCode HLTTauMonTool::fillEFTau(const xAOD::TauJet *aEFTau, const std::strin
       //if(aEFTau->detail(xAOD::TauJetParameters::hadRadius, hadRadius)) hist("hEFHADRadius")->Fill(hadRadius);  
       if(aEFTau->detail(xAOD::TauJetParameters::isolFrac, isoFrac)) hist("hEFIsoFrac")->Fill(isoFrac);
       //if(aEFTau->detail(xAOD::TauJetParameters::PSSFraction, PSSFraction)) hist("hEFPSSFraction")->Fill(PSSFraction);
-	BDTJetScore = aEFTau->discriminant(xAOD::TauJetParameters::TauID::BDTJetScore);
-      if( BDTJetScore )
-	{
-	  if(is1P) hist("hScore1p")->Fill(BDTJetScore);
-	  if(isMP) hist("hScoremp")->Fill(BDTJetScore);
+
+	if (monBDT) {
+		BDTJetScore = aEFTau->discriminant(xAOD::TauJetParameters::TauID::BDTJetScore);
+		    if( BDTJetScore )
+		{
+			if(is1P) hist("hScore1p")->Fill(BDTJetScore);
+			if(isMP) hist("hScoremp")->Fill(BDTJetScore);
+		}
+		BDTJetScoreSigTrans = aEFTau->discriminant(xAOD::TauJetParameters::TauID::BDTJetScoreSigTrans);
+		    if( BDTJetScoreSigTrans )
+		{
+			if(is1P) hist("hScoreSigTrans1p")->Fill(BDTJetScoreSigTrans);
+			if(isMP) hist("hScoreSigTransmp")->Fill(BDTJetScoreSigTrans);
+		}
 	}
+
     }
   else if(BDTinput_type == "1p_NonCorr")
     {
@@ -1219,7 +1321,7 @@ StatusCode HLTTauMonTool::fillEFTau(const xAOD::TauJet *aEFTau, const std::strin
 	    }
         }
     }
-  else if(BDTinput_type == "1p_muCorr")
+/*  else if(BDTinput_type == "1p_muCorr")
     {
       setCurrentMonGroup("HLT/TauMon/Expert/"+trigItem+"/EFTau/BDT/1p_Corrected");
       if(is1P)
@@ -1322,6 +1424,228 @@ StatusCode HLTTauMonTool::fillEFTau(const xAOD::TauJet *aEFTau, const std::strin
 	      if ((trigItem == "tau25_medium1_tracktwo") || (m_doEFTProfiles))	profile("hEFmEflowApproxMPCmu")->Fill(mu, mEflowApproxCorr);
 	    }
         }
+    }*/
+  else if(BDTinput_type == "RNN_inScalar_1P")
+    {
+		// RNN Input Variables
+		// Scalars
+    setCurrentMonGroup("HLT/TauMon/Expert/"+trigItem+"/EFTau/RNN/InputScalar1p");
+		if(is1P)
+		  {
+				float RNN_scalar_centFrac(-999.);
+				float RNN_scalar_etOverPtLeadTrk(-999.);
+				float RNN_scalar_dRmax(-999.);
+				float RNN_scalar_absipSigLeadTrk(-999.);
+				float RNN_scalar_SumPtTrkFrac(-999.);
+				float RNN_scalar_EMPOverTrkSysP(-999.);
+				float RNN_scalar_ptRatioEflowApprox(-999.);
+				float RNN_scalar_mEflowApprox(-999.);
+				double RNN_scalar_ptDetectorAxis(-999.);
+
+				if (aEFTau->detail(xAOD::TauJetParameters::centFrac, RNN_scalar_centFrac)){
+					RNN_scalar_centFrac = std::min(centFrac, 1.0f);
+					hist("hEFRNNInput_Scalar_centFrac_1P")->Fill(RNN_scalar_centFrac);
+				}
+				if (aEFTau->detail(xAOD::TauJetParameters::etOverPtLeadTrk, RNN_scalar_etOverPtLeadTrk)){
+					RNN_scalar_etOverPtLeadTrk = TMath::Log10(std::max(etOverPtLeadTrk, 0.1f));
+					hist("hEFRNNInput_Scalar_etOverPtLeadTrk_log_1P")->Fill(RNN_scalar_etOverPtLeadTrk);
+				}
+				if (aEFTau->detail(xAOD::TauJetParameters::dRmax, RNN_scalar_dRmax)){
+					hist("hEFRNNInput_Scalar_dRmax_1P")->Fill(RNN_scalar_dRmax);
+				}
+				if (aEFTau->detail(xAOD::TauJetParameters::ipSigLeadTrk, RNN_scalar_absipSigLeadTrk)){
+					RNN_scalar_absipSigLeadTrk = std::min(TMath::Abs(RNN_scalar_absipSigLeadTrk), 30.0f);
+					hist("hEFRNNInput_Scalar_absipSigLeadTrk_1P")->Fill(RNN_scalar_absipSigLeadTrk);
+				}
+				if (aEFTau->detail(xAOD::TauJetParameters::SumPtTrkFrac, RNN_scalar_SumPtTrkFrac)){
+					hist("hEFRNNInput_Scalar_SumPtTrkFrac_1P")->Fill(RNN_scalar_SumPtTrkFrac);
+				}
+				if (aEFTau->detail(xAOD::TauJetParameters::EMPOverTrkSysP, RNN_scalar_EMPOverTrkSysP)){
+					RNN_scalar_EMPOverTrkSysP = TMath::Log10(std::max(RNN_scalar_EMPOverTrkSysP, 1e-3f));
+					hist("hEFRNNInput_Scalar_EMPOverTrkSysP_log_1P")->Fill(RNN_scalar_EMPOverTrkSysP);
+				}
+				if (aEFTau->detail(xAOD::TauJetParameters::ptRatioEflowApprox, RNN_scalar_ptRatioEflowApprox)){
+					RNN_scalar_ptRatioEflowApprox = std::min(RNN_scalar_ptRatioEflowApprox, 4.0f);
+					hist("hEFRNNInput_Scalar_ptRatioEflowApprox_1P")->Fill(RNN_scalar_ptRatioEflowApprox);
+				}
+				if (aEFTau->detail(xAOD::TauJetParameters::mEflowApprox, RNN_scalar_mEflowApprox)){
+					RNN_scalar_mEflowApprox = TMath::Log10(std::max(RNN_scalar_mEflowApprox, 140.0f));
+					hist("hEFRNNInput_Scalar_mEflowApprox_log_1P")->Fill(RNN_scalar_mEflowApprox);
+				}
+				RNN_scalar_ptDetectorAxis = TMath::Log10(std::min(aEFTau->ptDetectorAxis() / 1000.0, 100.0));
+				hist("hEFRNNInput_Scalar_ptDetectorAxis_log_1P")->Fill(RNN_scalar_ptDetectorAxis);
+		}
+	} 
+	else if(BDTinput_type == "RNN_inScalar_3P")
+    {
+    setCurrentMonGroup("HLT/TauMon/Expert/"+trigItem+"/EFTau/RNN/InputScalar3p");
+		if(isMP) {
+				float RNN_scalar_centFrac(-999.);
+				float RNN_scalar_etOverPtLeadTrk(-999.);
+				float RNN_scalar_dRmax(-999.);
+				float RNN_scalar_trFlightPathSig(-999.);
+				float RNN_scalar_SumPtTrkFrac(-999.);
+				float RNN_scalar_EMPOverTrkSysP(-999.);
+				float RNN_scalar_ptRatioEflowApprox(-999.);
+				float RNN_scalar_mEflowApprox(-999.);
+				double RNN_scalar_ptDetectorAxis(-999.);
+				float RNN_scalar_massTrkSys(-999.);
+
+				if (aEFTau->detail(xAOD::TauJetParameters::centFrac, RNN_scalar_centFrac)){
+					RNN_scalar_centFrac = std::min(centFrac, 1.0f);
+					hist("hEFRNNInput_Scalar_centFrac_3P")->Fill(RNN_scalar_centFrac);
+				}
+				if (aEFTau->detail(xAOD::TauJetParameters::etOverPtLeadTrk, RNN_scalar_etOverPtLeadTrk)){
+					RNN_scalar_etOverPtLeadTrk = TMath::Log10(std::max(etOverPtLeadTrk, 0.1f));
+					hist("hEFRNNInput_Scalar_etOverPtLeadTrk_log_3P")->Fill(RNN_scalar_etOverPtLeadTrk);
+				}
+				if (aEFTau->detail(xAOD::TauJetParameters::dRmax, RNN_scalar_dRmax)){
+					hist("hEFRNNInput_Scalar_dRmax_3P")->Fill(RNN_scalar_dRmax);
+				}
+				if (aEFTau->detail(xAOD::TauJetParameters::trFlightPathSig, RNN_scalar_trFlightPathSig)){
+					RNN_scalar_trFlightPathSig = TMath::Log10(std::max(RNN_scalar_trFlightPathSig, 0.01f));
+					hist("hEFRNNInput_Scalar_trFlightPathSig_log_3P")->Fill(RNN_scalar_trFlightPathSig);
+				}
+				if (aEFTau->detail(xAOD::TauJetParameters::SumPtTrkFrac, RNN_scalar_SumPtTrkFrac)){
+					hist("hEFRNNInput_Scalar_SumPtTrkFrac_3P")->Fill(RNN_scalar_SumPtTrkFrac);
+				}
+				if (aEFTau->detail(xAOD::TauJetParameters::EMPOverTrkSysP, RNN_scalar_EMPOverTrkSysP)){
+					RNN_scalar_EMPOverTrkSysP = TMath::Log10(std::max(RNN_scalar_EMPOverTrkSysP, 1e-3f));
+					hist("hEFRNNInput_Scalar_EMPOverTrkSysP_log_3P")->Fill(RNN_scalar_EMPOverTrkSysP);
+				}
+				if (aEFTau->detail(xAOD::TauJetParameters::ptRatioEflowApprox, RNN_scalar_ptRatioEflowApprox)){
+					RNN_scalar_ptRatioEflowApprox = std::min(RNN_scalar_ptRatioEflowApprox, 4.0f);
+					hist("hEFRNNInput_Scalar_ptRatioEflowApprox_3P")->Fill(RNN_scalar_ptRatioEflowApprox);
+				}
+				if (aEFTau->detail(xAOD::TauJetParameters::mEflowApprox, RNN_scalar_mEflowApprox)){
+					RNN_scalar_mEflowApprox = TMath::Log10(std::max(RNN_scalar_mEflowApprox, 140.0f));
+					hist("hEFRNNInput_Scalar_mEflowApprox_log_3P")->Fill(RNN_scalar_mEflowApprox);
+				}
+				RNN_scalar_ptDetectorAxis = TMath::Log10(std::min(aEFTau->ptDetectorAxis() / 1000.0, 100.0));
+				hist("hEFRNNInput_Scalar_ptDetectorAxis_log_3P")->Fill(RNN_scalar_ptDetectorAxis);
+				if (aEFTau->detail(xAOD::TauJetParameters::massTrkSys, RNN_scalar_massTrkSys)){
+					RNN_scalar_massTrkSys = TMath::Log10(std::max(RNN_scalar_massTrkSys, 140.0f));
+					hist("hEFRNNInput_Scalar_massTrkSys_log_3P")->Fill(RNN_scalar_massTrkSys);
+				}
+		}
+	} 
+	else if(BDTinput_type == "RNN_inTrack")
+    {
+		setCurrentMonGroup("HLT/TauMon/Expert/"+trigItem+"/EFTau/RNN/InputTrack");
+		// Tracks
+		float RNN_tracks_pt_log(-999.);
+		float RNN_tracks_pt_jetseed_log(-999.);
+		float RNN_tracks_dEta(-999.);
+		float RNN_tracks_dPhi(-999.);
+		float RNN_tracks_z0sinThetaTJVA_abs_log(-999.);
+		float RNN_tracks_d0_abs_log(-999.);
+		bool success_InPixHits(false);
+		uint8_t RNN_tracks_nInnermostPixelHits = 0;
+		bool success_PixHits(false);
+		uint8_t RNN_tracks_nPixelHits = 0;
+		bool success_SCTHits(false);
+		uint8_t RNN_tracks_nSCTHits = 0;
+
+		if (is1P || isMP) {
+			for (int track = 0; track < EFnTrack; ++track){
+				const xAOD::TrackParticle* trk = 0;
+				if ( (aEFTau->track(track) != NULL) ) {
+					trk = aEFTau->track(track)->track();
+					if ( trk != NULL ) {
+						RNN_tracks_pt_log = TMath::Log10( trk->pt() );
+						hist("hEFRNNInput_Track_pt_log")->Fill(RNN_tracks_pt_log);
+						RNN_tracks_pt_jetseed_log = TMath::Log10( aEFTau->ptJetSeed() );
+						hist("hEFRNNInput_Track_pt_jetseed_log")->Fill(RNN_tracks_pt_jetseed_log);
+						RNN_tracks_dEta = trk->eta() - aEFTau->eta();
+						hist("hEFRNNInput_Track_dEta")->Fill(RNN_tracks_dEta);
+						RNN_tracks_dPhi = trk->p4().DeltaPhi(aEFTau->p4());
+						hist("hEFRNNInput_Track_dPhi")->Fill(RNN_tracks_dPhi);
+						RNN_tracks_z0sinThetaTJVA_abs_log = TMath::Log10(TMath::Abs( aEFTau->track(track)->z0sinThetaTJVA(*aEFTau) ));
+						hist("hEFRNNInput_Track_z0sinThetaTJVA_abs_log")->Fill(RNN_tracks_z0sinThetaTJVA_abs_log);					
+						RNN_tracks_d0_abs_log = TMath::Log10( TMath::Abs(trk->d0()) + 1e-6);
+						hist("hEFRNNInput_Track_d0_abs_log")->Fill(RNN_tracks_d0_abs_log);
+						success_InPixHits =  trk->summaryValue(RNN_tracks_nInnermostPixelHits, xAOD::numberOfInnermostPixelLayerHits);
+						if (success_InPixHits){
+							hist("hEFRNNInput_Track_nInnermostPixelHits")->Fill(RNN_tracks_nInnermostPixelHits);
+						}
+						success_PixHits =  trk->summaryValue(RNN_tracks_nPixelHits, xAOD::numberOfPixelHits);
+						if (success_PixHits){
+							hist("hEFRNNInput_Track_nPixelHits")->Fill(RNN_tracks_nPixelHits);
+						}
+						success_SCTHits =  trk->summaryValue(RNN_tracks_nSCTHits, xAOD::numberOfSCTHits);
+						if (success_SCTHits){
+							hist("hEFRNNInput_Track_nSCTHits")->Fill(RNN_tracks_nSCTHits);
+						}
+					} else {
+						ATH_MSG_WARNING("->track() does not exists in: " << track);
+					}//end if trk exists
+				} else {
+						ATH_MSG_WARNING("->track(track) does not exists in: " << track);
+				}
+			} // end for-loop for tracks
+		} // end if(is1P||isMP)
+	}
+  else if(BDTinput_type == "RNN_inCluster")
+    {
+		// Cluster 
+		setCurrentMonGroup("HLT/TauMon/Expert/"+trigItem+"/EFTau/RNN/InputCluster");
+		float RNN_clusters_et_log(-999.);
+		float RNN_clusters_pt_jetseed_log(-999.);
+		float RNN_clusters_dEta(-999.);
+		float RNN_clusters_dPhi(-999.);
+		double RNN_clusters_SECOND_R(-999.);
+		double RNN_clusters_SECOND_LAMBDA(-999.);
+		double RNN_clusters_CENTER_LAMBDA(-999.);
+		const xAOD::CaloClusterContainer *caloCont;
+		if ( m_storeGate->retrieve( caloCont, "HLT_xAOD__CaloClusterContainer_TrigCaloClusterMaker").isSuccess() ){//"TauPi0Clusters").isSuccess() ){
+			ATH_MSG_INFO("caloCluster retrieved!");
+			xAOD::CaloClusterContainer::const_iterator clusItr  = caloCont->begin();
+			xAOD::CaloClusterContainer::const_iterator clusItrE = caloCont->end();
+			for (; clusItr != clusItrE; ++clusItr) {
+				RNN_clusters_et_log = TMath::Log10( (*clusItr)->et() );
+				hist("hEFRNNInput_Cluster_et_log")->Fill(RNN_clusters_et_log);
+				RNN_clusters_pt_jetseed_log = TMath::Log10( aEFTau->ptJetSeed() );
+				hist("hEFRNNInput_Cluster_pt_jetseed_log")->Fill(RNN_clusters_pt_jetseed_log);
+				RNN_clusters_dEta = ((*clusItr)->eta() - (aEFTau->eta()));
+				hist("hEFRNNInput_Cluster_dEta")->Fill(RNN_clusters_dEta);
+				RNN_clusters_dPhi = (*clusItr)->p4().DeltaPhi(aEFTau->p4());//deltaPhi((*clusItr)->phi(),(aEFTau->phi()));
+				hist("hEFRNNInput_Cluster_dPhi")->Fill(RNN_clusters_dPhi);
+				const auto success_SECOND_R = (*clusItr)->retrieveMoment(xAOD::CaloCluster::MomentType::SECOND_R, RNN_clusters_SECOND_R);
+				if ( (success_SECOND_R) ) {
+					RNN_clusters_SECOND_R =TMath::Log10(RNN_clusters_SECOND_R + 0.1);
+					hist("hEFRNNInput_Cluster_SECOND_R_log10")->Fill(RNN_clusters_SECOND_R);
+				}
+				const auto success_SECOND_LAMBDA = (*clusItr)->retrieveMoment(xAOD::CaloCluster::MomentType::SECOND_LAMBDA, RNN_clusters_SECOND_LAMBDA);
+				if ( (success_SECOND_LAMBDA) ) {
+					RNN_clusters_SECOND_LAMBDA =TMath::Log10(RNN_clusters_SECOND_LAMBDA + 0.1);
+					hist("hEFRNNInput_Cluster_SECOND_LAMBDA_log10")->Fill(RNN_clusters_SECOND_LAMBDA);
+				}
+				const auto success_CENTER_LAMBDA = (*clusItr)->retrieveMoment(xAOD::CaloCluster::MomentType::CENTER_LAMBDA, RNN_clusters_CENTER_LAMBDA);
+				if ( (success_CENTER_LAMBDA) ) {
+					RNN_clusters_CENTER_LAMBDA =TMath::Log10(RNN_clusters_CENTER_LAMBDA + 1e-6);
+					hist("hEFRNNInput_Cluster_CENTER_LAMBDA_log10")->Fill(RNN_clusters_CENTER_LAMBDA);
+				}
+			}
+		} 
+	}
+  else if(BDTinput_type == "RNN_out")
+    {
+		// RNN Output Variables
+		setCurrentMonGroup("HLT/TauMon/Expert/"+trigItem+"/EFTau/RNN/Output");
+		float RNNJetScore(-999.);
+		float RNNJetScoreSigTrans(-999.);
+		if(aEFTau->hasDiscriminant(xAOD::TauJetParameters::RNNJetScore)) {
+			RNNJetScore = aEFTau->discriminant(xAOD::TauJetParameters::RNNJetScore);
+		} else {
+			ATH_MSG_WARNING(" RNNJetScore not available.");
+		}
+		if(aEFTau->hasDiscriminant(xAOD::TauJetParameters::RNNJetScoreSigTrans)) {
+			RNNJetScoreSigTrans = aEFTau->discriminant(xAOD::TauJetParameters::RNNJetScoreSigTrans);
+		} else {
+			ATH_MSG_WARNING(" RNNJetScoreSigTrans not available.");
+		}
+		hist("hEFRNNJetScore")->Fill(RNNJetScore);
+		hist("hEFRNNJetScoreSigTrans")->Fill(RNNJetScoreSigTrans);
     }
   else
     {
diff --git a/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool.h b/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool.h
index 2547e58d00e129399746508c32311588a4a0ebc3..03baa838cab4211a9157fadb354b06a6404dfdf9 100755
--- a/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool.h
+++ b/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool.h
@@ -108,6 +108,7 @@ class HLTTauMonTool : public IHLTMonTool {
   StatusCode trackCurves(const std::string & trigItem);
   StatusCode efficiencyRatioPlots (const std::string & trigItem);
   StatusCode L1TopoLeptons(const std::string & trigItem, const std::string & typeOfChain);
+  StatusCode FailTrackFilterMonitor(const std::string & trigItem);
 
   //Methods for HLT and L1 Matching
   bool HLTTauMatching(const std::string & trigItem, const TLorentzVector & TLV, float DR);
@@ -163,6 +164,8 @@ class HLTTauMonTool : public IHLTMonTool {
   bool m_doTopoValidation;
   bool m_doL1JetPlots;
   bool m_doEFTProfiles;
+  bool m_doFailTrackFilterBitMonitoring;
+  bool m_doRNNInOutMonitoring;
   bool m_domuCut40; 
   bool m_doEfficiencyRatioPlots;
   bool m_doL1TopoLeptonsMonitoringWarnings;
@@ -210,7 +213,11 @@ class HLTTauMonTool : public IHLTMonTool {
   std::vector<std::string> m_LST_HLTsel0Prong_FTKNoPrec_chains;
   std::vector<std::string> m_LST_HLTsel_tracktwo_chains;
   std::vector<std::string> m_Ratio;
+  std::vector<std::string> m_trigMVA_chains;
+  std::vector<std::string> m_trigRNN_chains;
+  std::vector<std::string> m_trigBDTRNN_chains;
   std::string m_lowest_singletau;
+  std::string m_lowest_singletauMVA;
   //std::string m_lowest_ditau;
   //std::string m_lowest_etau;
   //std::string m_lowest_mutau;
diff --git a/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool_FailTrackFilterMonitor.cxx b/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool_FailTrackFilterMonitor.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..eb80006c2b28d389cb24902e7950ed4531b5c431
--- /dev/null
+++ b/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool_FailTrackFilterMonitor.cxx
@@ -0,0 +1,38 @@
+//  @file HLTTauMonTool_FailTrackFilterMonitor.cxx
+//  created by Eleni-Myrto Asimakopoulou <eleni.myrto.asimakopoulou@cern.ch>
+#include "TProfile.h"
+#include "HLTTauMonTool.h"
+#include "AthenaKernel/Units.h"
+#include "xAODEventInfo/EventInfo.h"
+
+using namespace std;
+using Athena::Units::GeV;
+StatusCode HLTTauMonTool::FailTrackFilterMonitor(const std::string & trigItem){
+   
+	ATH_MSG_DEBUG ("HLTTauMonTool::FailTrackFilterMonitor");
+   
+	const xAOD::EventInfo* evtInfo = 0;	
+	ATH_CHECK ( evtStore()->retrieve(evtInfo) );
+
+	std::string chain = "HLT_"+trigItem;
+
+	setCurrentMonGroup("HLT/TauMon/Expert/"+trigItem+"/FailTrackFilterMonitor");
+	if(getTDT()->isPassed(chain))
+	{
+		for(unsigned int t=0;t<m_taus.size();t++){
+			// check if this tau has the "failTrackFilter" flag set to true, 
+			// ie, none of its core tracks passed the nominal BDT cut, but one core track passed a looser BDT cut
+			// --> the tau track is promoted to classifiedCharged
+			bool failsTrackFilter = m_taus.at(t)->nTracks(xAOD::TauJetParameters::failTrackFilter);
+			
+			//if (!failsTrackFilter) continue; // we are only interested to monitor here the cases where that is TRUE.
+			if (failsTrackFilter) { // we are only interested to monitor here the cases where that is TRUE.
+			  // fill a histogram with the pT of that tau.
+			  hist("hFailTrackFilterPt")->Fill(m_taus.at(t)->pt()/GeV);
+			}
+
+		}
+	} // end of: "if(getTDT()->isPassed(chain))"
+
+	return StatusCode::SUCCESS;
+} // end of "HLTTauMonTool::FailTrackFilterMonitor"
diff --git a/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool_bookHistograms.cxx b/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool_bookHistograms.cxx
index 2e425d3e804df49d10e69380335c871dfe8be90b..cbb290d17430ebbb8f451701721157e786255d53 100644
--- a/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool_bookHistograms.cxx
+++ b/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool_bookHistograms.cxx
@@ -9,7 +9,25 @@ using namespace std;
 
 ///////////////////////////////////////////////////////////////////
 void HLTTauMonTool::bookHistogramsForItem(const std::string & trigItem){
-    
+
+		bool monRNN (false);
+		for (unsigned int j=0; j<m_trigRNN_chains.size(); j++) {
+		  if ( trigItem == m_trigRNN_chains.at(j) ) {
+		    monRNN = true;
+				break;
+		  }
+		}
+		bool monBDT (false);
+		for (unsigned int j=0; j<m_trigBDTRNN_chains.size(); j++) {
+		  if ( trigItem == m_trigBDTRNN_chains.at(j) ) {
+				if (!monRNN) monRNN = true;
+				if (!monBDT) monBDT = true;
+				break;
+		  }
+		} 
+		if ( (!monBDT) && (!monRNN) ) monBDT=true; // if the chain is not listed in BDTRNN, but it is also not in RNN, then it is BDT 
+
+
     const int nbin_pt = 13;
     double bins_pt[nbin_pt] = {20.,25.,30.,35.,40.,45.,50.,55.,60.,70.,100.,150.,200.};
 
@@ -20,9 +38,11 @@ void HLTTauMonTool::bookHistogramsForItem(const std::string & trigItem){
     double bins_eta[nbin_eta] = {-2.47,-1.52,-1.37,-0.69,0.,0.69,1.37,1.52,2.47};
     const int nbin_nvtx = 6;
     double bins_nvtx[nbin_nvtx] = {0.,5.,10.,15.,20.,25.};
-    const int nbin_mu = 34;
-    float bins_mu[nbin_mu] = {0.,2.,4.,6.,8.,10.,12.,14.,16.,18.,20.,22.,24.,26.,28.,30.,32.,34.,36.,38.,40., 42., 44., 44., 46., 48., 50., 52., 54., 56., 58., 60., 62., 72};
-
+    //const int nbin_mu = 34;
+    //float bins_mu[nbin_mu] = {0.,2.,4.,6.,8.,10.,12.,14.,16.,18.,20.,22.,24.,26.,28.,30.,32.,34.,36.,38.,40., 42., 44., 44., 46., 48., 50., 52., 54., 56., 58., 60., 62., 72};
+    const int nbin_mu = 51;
+    float bins_mu[nbin_mu] = {0.,2.,4.,6.,8.,10.,12.,14.,16.,18.,20.,22.,24.,26.,28.,30.,32.,34.,36.,38.,40.,42.,44.,\
+		46.,48.,50.,52.,54.,56.,58.,60.,62.,64.,66.,68.,70.,72.,74.,76.,78., 80.,82.,84.,86.,88.,90.,92.,94.,96.,98.,100.};
 
 //    const int nbin_met = 14;
 //    double bins_met[nbin_met] = {0.,5.,10.,20.,25.,30.,35.,40.,45.,50.,60.,70.,100.,150.};
@@ -89,8 +109,8 @@ void HLTTauMonTool::bookHistogramsForItem(const std::string & trigItem){
     //Basic kinematic variables
     addHistogram(new TH1F("hEFEt","EF Et;E_{T}[GeV];Nevents",50,0.0,100.0));
     addHistogram(new TH1F("hEFEta","EF TrigCaloCluster Eta; #eta ; Nevents",26,-2.6,2.6));
-    addHistogram(new TH1F("hEFNUM","Online mu; Online #mu ; Nevents",50,0,50));
-    addHistogram(new TH2F("hEFNUMvsmu","Online vs offline mu; Online #mu ; Offline #mu",  70,0,70,70,0,70));
+    addHistogram(new TH1F("hEFNUM","Online mu; Online #mu ; Nevents",100,0,100));
+    addHistogram(new TH2F("hEFNUMvsmu","Online vs offline mu; Online #mu ; Offline #mu",  100,0,100,100,0,100));
     addHistogram(new TH1F("hEFPhi","EF TrigCaloCluster Phi; #phi ; Nevents",16,-3.2,3.2));
     addHistogram(new TH1F("hEFnTrack","EF number of tracks;number of tracks;Nevents",10,0,10));
     addHistogram(new TH2F("hEFEtaVsPhi","EF TrigCaloCluster Eta vs Phi; #eta ; #phi ; Nevents",26,-2.6,2.6,16,-3.2,3.2));
@@ -104,103 +124,173 @@ void HLTTauMonTool::bookHistogramsForItem(const std::string & trigItem){
     addHistogram(new TH1F("hEFIsoFrac", "Iso Fraction at EF; isoFrac at EF; Candidates",50,-0.1,1.1));
     //addHistogram(new TH1F("hEFPSSFraction", "PSS Fraction at EF; PSS at EF; Candidates",50,-0.05,1.1));
     addHistogram(new TH1F("hEFEMFraction", "Em Fraction at EF; EM Fraction at EF; Candidates",50,-0.05,1.1));
-    addHistogram(new TH1F("hScore1p", "1p BDT Score; HLT BDT Score; Candidates",50,0.,1.));
-    addHistogram(new TH1F("hScoremp", "mp BDT Score; HLT BDT Score; Candidates",50,0.,1.));
-    //BDT inputs for 1-prong Non-Corrected
-    addMonGroup(new MonGroup(this,"HLT/TauMon/Expert/"+trigItem+"/EFTau/BDT/1p_nonCorrected",run));
-    setCurrentMonGroup("HLT/TauMon/Expert/"+trigItem+"/EFTau/BDT/1p_nonCorrected");
-    addHistogram(new TH1F("hEFinnerTrkAvgDist1PNCorr", "Inner Track Average Distance at EF 1-prong non-corrected; innertrkAvgDist at EF; Candidates",50,-0.05,0.5));
-    addHistogram(new TH1F("hEFetOverPtLeadTrk1PNCorr", "Et over Lead Track Pt at EF 1-prong non-corrected; etOverPtLeadTrk at EF; Candidates",51,-0.1,25.0));
-    addHistogram(new TH1F("hEFipSigLeadTrk1PNCorr", "IpSigLeadTrk at EF 1-prong non-corrected; ipSigLeadTrk at EF; Candidates",50,-20.0,20.0));
-    addHistogram(new TH1F("hEFSumPtTrkFrac1PNCorr", "SumPtTrkFrac at EF 1-prong non-corrected; SumPtTrkFrac at EF; Candidates",50,-0.5,1.1));
-    addHistogram(new TH1F("hEFChPiEMEOverCaloEME1PNCorr", "ChPiEMEOverCaloEME at EF 1-prong non-corrected; ChPiEMEOverCaloEME at EF; Candidates",51,-20.0,20.0));
-    addHistogram(new TH1F("hEFEMPOverTrkSysP1PNCorr", "EMPOverTrkSysP at EF 1-prong non-corrected; EMPOverTrkSysP at EF; Candidates", 41,0.0,40.0));
-    addHistogram(new TH1F("hEFcentFrac1PNCorr", "Centrality Fraction at EF 1-prong non-corrected; centFrac at EF; Candidates",50,-0.05,1.2));
-    addHistogram(new TH1F("hEFptRatioEflowApprox1PNCorr", "ptRatioEflowApprox at EF 1-prong non-corrected; ptRatioEflowApprox at EF; Candidates",50,0.0,2.0));
-	if ((trigItem == "tau25_medium1_tracktwo") || (m_doEFTProfiles)) // keep the EF TProfiles of lowest single tau or if flag is turned on for the rest of the chains
-	{
-		addProfile(new TProfile("hEFinnerTrkAvgDist1PNCmu", "InnerTrkAvgDist at EF vs mu 1-prong non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
-		addProfile(new TProfile("hEFetOverPtLeadTrk1PNCmu", "EtOverPtLeadTrk at EF vs mu 1-prong non-corrected;Average interactions per bunch crossing ;",nbin_mu-1,bins_mu));
-		addProfile(new TProfile("hEFipSigLeadTrk1PNCmu", "IpSigLeadTrk at EF vs mu 1-prong non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
-		addProfile(new TProfile("hEFSumPtTrkFrac1PNCmu", "SumPtTrkFrac at EF vs mu 1-prong non-corrected;Average interactions per bunch crossing ;",nbin_mu-1,bins_mu));
-		addProfile(new TProfile("hEFChPiEMEOverCaloEME1PNCmu", "ChPiEMEOverCaloEME at EF vs mu 1p non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
-		addProfile(new TProfile("hEFEMPOverTrkSysP1PNCmu", "EMPOverTrkSysP at EF vs mu 1-prong non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
-		addProfile(new TProfile("hEFcentFrac1PNCmu", "Centrality Fraction at EF vs mu 1-prong non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
-		addProfile(new TProfile("hEFptRatioEflowApprox1PNCmu", "ptRatioEflowApprox at EF vs mu 1p non-corrected;Average interactions per bunch crossing ;",nbin_mu-1,bins_mu));
-	}
-    //BDT inputs for 3-prong Non-Corrected
-    addMonGroup(new MonGroup(this,"HLT/TauMon/Expert/"+trigItem+"/EFTau/BDT/mp_nonCorrected",run));
-    setCurrentMonGroup("HLT/TauMon/Expert/"+trigItem+"/EFTau/BDT/mp_nonCorrected");
-    addHistogram(new TH1F("hEFinnerTrkAvgDistMPNCorr", "Inner Track Average Distance at EF m-prong non-corrected; innertrkAvgDist at EF; Candidates",50,-0.05,0.5));
-    addHistogram(new TH1F("hEFetOverPtLeadTrkMPNCorr", "Et over Lead Track Pt at EF m-prong non-corrected; etOverPtLeadTrk at EF; Candidates",51,-0.1,25.0));
-    addHistogram(new TH1F("hEFChPiEMEOverCaloEMEMPNCorr", "ChPiEMEOverCaloEME at EF m-prong non-corrected; ChPiEMEOverCaloEME at EF; Candidates",51,-20.0,20.0));
-    addHistogram(new TH1F("hEFEMPOverTrkSysPMPNCorr", "EMPOverTrkSysP at EF m-prong non-corrected; EMPOverTrkSysP at EF; Candidates", 41,0.0,40.0));
-    addHistogram(new TH1F("hEFcentFracMPNCorr", "Centrality Fraction at EF m-prong non-corrected; centFrac at EF; Candidates",50,-0.05,1.2));
-    addHistogram(new TH1F("hEFptRatioEflowApproxMPNCorr", "ptRatioEflowApprox at EF m-prong non-corrected; ptRatioEflowApprox at EF; Candidates",50,0.0,2.0));
-    addHistogram(new TH1F("hEFdRmaxMPNCorr", "Max dR of associated tracks at EF m-prong non-corrected; dRmax at EF; Candidates",50,-0.1,0.3));
-    addHistogram(new TH1F("hEFtrFlightPathSigMPNCorr", "TrFlightPathSig at EF m-prong non-corrected; trFlightPathSig at EF; Candidates",50,-20.0,20.0));
-    addHistogram(new TH1F("hEFmassTrkSysMPNCorr", "MassTrkSys at EF m-prong non-corrected; MassTrkSys at EF [GeV]; Candidates",50,-0.1,15.0));
-    addHistogram(new TH1F("hEFmEflowApproxMPNCorr", "mEflowApprox at EF m-prong non-corrected;  mEflowApprox at EF ; Candidates",61,-0.2,60.2));
-	if ((trigItem == "tau25_medium1_tracktwo") || (m_doEFTProfiles)) // keep the EF TProfiles of lowest single tau or if flag is turned on for the rest of the chains
-	{
-		addProfile(new TProfile("hEFinnerTrkAvgDistMPNCmu", "InnerTrkAvgDist at EF vs mu m-prong non-corrected; Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
-		addProfile(new TProfile("hEFetOverPtLeadTrkMPNCmu", "EtOverPtLeadTrk at EF vs mu m-prong non-corrected; Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
-		addProfile(new TProfile("hEFChPiEMEOverCaloEMEMPNCmu", "ChPiEMEOverCaloEME at EF vs mu mp non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
-		addProfile(new TProfile("hEFEMPOverTrkSysPMPNCmu", "EMPOverTrkSysP at EF vs mu m-prong non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
-		addProfile(new TProfile("hEFcentFracMPNCmu", "Centrality Fraction at EF vs mu m-prong non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
-		addProfile(new TProfile("hEFptRatioEflowApproxMPNCmu", "ptRatioEflowApprox at EF vs mu mp non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
-		addProfile(new TProfile("hEFdRmaxMPNCmu", "Max dR of associated tracks at EF vs mu m-prong non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
-		addProfile(new TProfile("hEFtrFlightPathSigMPNCmu", "TrFlightPathSig at EF vs mu m-prong non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
-		addProfile(new TProfile("hEFmassTrkSysMPNCmu", "MassTrkSys at EF vs mu m-prong non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
-		addProfile(new TProfile("hEFmEflowApproxMPNCmu", "mEflowApprox at EF vs mu m-prong non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));	
-	}
-    //BDT inputs for 1-prong mu-Corrected
-    addMonGroup(new MonGroup(this,"HLT/TauMon/Expert/"+trigItem+"/EFTau/BDT/1p_Corrected",run));
-    setCurrentMonGroup("HLT/TauMon/Expert/"+trigItem+"/EFTau/BDT/1p_Corrected");
-    addHistogram(new TH1F("hEFinnerTrkAvgDist1PCorr", "Inner Track Average Distance at EF 1-prong mu-corrected; innertrkAvgDist at EF; Candidates",50,-0.05,0.5));
-    addHistogram(new TH1F("hEFetOverPtLeadTrk1PCorr", "Et over Lead Track Pt at EF 1-prong mu-corrected; etOverPtLeadTrk at EF; Candidates",51,-0.1,25.0));
-    addHistogram(new TH1F("hEFipSigLeadTrk1PCorr", "IpSigLeadTrk at EF 1-prong mu-corrected; IpSigLeadTrk at EF; Candidates",50,-20.0,20.0));
-    addHistogram(new TH1F("hEFSumPtTrkFrac1PCorr", "SumPtTrkFrac at EF 1-prong mu-corrected; SumPtTrkFrac at EF; Candidates",50,-0.5,1.1));
-    addHistogram(new TH1F("hEFChPiEMEOverCaloEME1PCorr", "ChPiEMEOverCaloEME at EF 1-prong mu-corrected; ChPiEMEOverCaloEME at EF; Candidates", 51,-20.0,20.0));
-    addHistogram(new TH1F("hEFEMPOverTrkSysP1PCorr", "EMPOverTrkSysP at EF 1-prong mu-corrected; EMPOverTrkSysP at EF; Candidates", 41,0.0,40.0));
-    addHistogram(new TH1F("hEFcentFrac1PCorr", "Centrality Fraction at EF 1-prong mu-corrected; centFrac at EF; Candidates",50,-0.05,1.2));
-    addHistogram(new TH1F("hEFptRatioEflowApprox1PCorr", "ptRatioEflowApprox at EF 1-prong mu-corrected; ptRatioEflowApprox at EF; Candidates",50,0.0,2.0));
-	if ((trigItem == "tau25_medium1_tracktwo") || (m_doEFTProfiles)) // keep the EF TProfiles of lowest single tau or if flag is turned on for the rest of the chains
-	{
-		addProfile(new TProfile("hEFinnerTrkAvgDist1PCmu", "InnerTrkAvgDist at EF vs mu 1-prong mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
-		addProfile(new TProfile("hEFetOverPtLeadTrk1PCmu", "EtOverPtLeadTrk at EF vs mu 1-prong mu-corrected;Average interactions per bunch crossing ;",nbin_mu-1,bins_mu));
-		addProfile(new TProfile("hEFipSigLeadTrk1PCmu", "IpSigLeadTrk at EF vs mu 1-prong mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
-		addProfile(new TProfile("hEFSumPtTrkFrac1PCmu", "SumPtTrkFrac at EF vs mu 1-prong mu-corrected;Average interactions per bunch crossing ;",nbin_mu-1,bins_mu));
-		addProfile(new TProfile("hEFChPiEMEOverCaloEME1PCmu", "ChPiEMEOverCaloEME at EF vs mu 1p mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
-		addProfile(new TProfile("hEFEMPOverTrkSysP1PCmu", "EMPOverTrkSysP at EF vs mu 1-prong mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
-		addProfile(new TProfile("hEFcentFrac1PCmu", "Centrality Fraction at EF vs mu 1-prong mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
-		addProfile(new TProfile("hEFptRatioEflowApprox1PCmu", "ptRatioEflowApprox at EF vs mu 1p mu-corrected;Average interactions per bunch crossing ;",nbin_mu-1,bins_mu));
-	}
-    //BDT inputs for 3-prong mu-Corrected
-    addMonGroup(new MonGroup(this,"HLT/TauMon/Expert/"+trigItem+"/EFTau/BDT/mp_Corrected",run));
-    setCurrentMonGroup("HLT/TauMon/Expert/"+trigItem+"/EFTau/BDT/mp_Corrected");
-    addHistogram(new TH1F("hEFinnerTrkAvgDistMPCorr", "Inner Track Average Distance at EF m-prong mu-corrected; innertrkAvgDist at EF; Candidates",50,-0.05,0.5));
-    addHistogram(new TH1F("hEFetOverPtLeadTrkMPCorr", "Et over Lead Track Pt at EF m-prong mu-corrected; etOverPtLeadTrk at EF; Candidates",51,-0.1,25.0));
-    addHistogram(new TH1F("hEFChPiEMEOverCaloEMEMPCorr", "ChPiEMEOverCaloEME at EF m-prong mu-corrected; ChPiEMEOverCaloEME at EF; Candidates", 51,-20.0,20.0));
-    addHistogram(new TH1F("hEFEMPOverTrkSysPMPCorr", "EMPOverTrkSysP at EF m-prong mu-corrected; EMPOverTrkSysP at EF; Candidates", 41,0.0,40.0));
-    addHistogram(new TH1F("hEFcentFracMPCorr", "Centrality Fraction at EF m-prong mu-corrected; centFrac at EF; Candidates",50,-0.05,1.2));
-    addHistogram(new TH1F("hEFptRatioEflowApproxMPCorr", "ptRatioEflowApprox at EF m-prong mu-corrected; ptRatioEflowApprox at EF; Candidates",50,0.0,2.0));
-    addHistogram(new TH1F("hEFdRmaxMPCorr", "Max dR of associated tracks at EF m-prong mu-corrected; dRmax at EF; Candidates",50,-0.1,0.3));
-    addHistogram(new TH1F("hEFtrFlightPathSigMPCorr", "TrFlightPathSig at EF m-prong mu-corrected; trFlightPathSig at EF; Candidates",50,-20.0,20.0));
-    addHistogram(new TH1F("hEFmassTrkSysMPCorr", "MassTrkSys at EF m-prong mu-corrected; massTrkSys at EF [GeV]; Candidates",50,-0.1,15.0));
-    addHistogram(new TH1F("hEFmEflowApproxMPCorr", "mEflowApprox at EF m-prong mu-corrected;  mEflowApprox at EF ; Candidates",61,-0.2,60.2));
-	if ((trigItem == "tau25_medium1_tracktwo") || (m_doEFTProfiles)) // keep the EF TProfiles of lowest single tau or if flag is turned on for the rest of the chains
+		if (monBDT) {
+		  addHistogram(new TH1F("hScore1p", "1p BDT Score; HLT BDT Score; Candidates",50,0.,1.));
+		  addHistogram(new TH1F("hScoremp", "mp BDT Score; HLT BDT Score; Candidates",50,0.,1.));
+		  addHistogram(new TH1F("hScoreSigTrans1p", "1p BDT Score (signal transformed/flattened); HLT BDT Score; Candidates",50,0.,1.));
+		  addHistogram(new TH1F("hScoreSigTransmp", "mp BDT Score (signal transformed/flattened); HLT BDT Score; Candidates",50,0.,1.));
+		  //BDT inputs for 1-prong Non-Corrected
+		  addMonGroup(new MonGroup(this,"HLT/TauMon/Expert/"+trigItem+"/EFTau/BDT/1p_nonCorrected",run));
+		  setCurrentMonGroup("HLT/TauMon/Expert/"+trigItem+"/EFTau/BDT/1p_nonCorrected");
+		  addHistogram(new TH1F("hEFinnerTrkAvgDist1PNCorr", "Inner Track Average Distance at EF 1-prong non-corrected; innertrkAvgDist at EF; Candidates",50,-0.05,0.5));
+		  addHistogram(new TH1F("hEFetOverPtLeadTrk1PNCorr", "Et over Lead Track Pt at EF 1-prong non-corrected; etOverPtLeadTrk at EF; Candidates",51,-0.1,25.0));
+		  addHistogram(new TH1F("hEFipSigLeadTrk1PNCorr", "IpSigLeadTrk at EF 1-prong non-corrected; ipSigLeadTrk at EF; Candidates",50,-20.0,20.0));
+		  addHistogram(new TH1F("hEFSumPtTrkFrac1PNCorr", "SumPtTrkFrac at EF 1-prong non-corrected; SumPtTrkFrac at EF; Candidates",50,-0.5,1.1));
+		  addHistogram(new TH1F("hEFChPiEMEOverCaloEME1PNCorr", "ChPiEMEOverCaloEME at EF 1-prong non-corrected; ChPiEMEOverCaloEME at EF; Candidates",51,-20.0,20.0));
+		  addHistogram(new TH1F("hEFEMPOverTrkSysP1PNCorr", "EMPOverTrkSysP at EF 1-prong non-corrected; EMPOverTrkSysP at EF; Candidates", 41,0.0,40.0));
+		  addHistogram(new TH1F("hEFcentFrac1PNCorr", "Centrality Fraction at EF 1-prong non-corrected; centFrac at EF; Candidates",50,-0.05,1.2));
+		  addHistogram(new TH1F("hEFptRatioEflowApprox1PNCorr", "ptRatioEflowApprox at EF 1-prong non-corrected; ptRatioEflowApprox at EF; Candidates",50,0.0,2.0));
+		if ((trigItem == "tau25_medium1_tracktwo") || (m_doEFTProfiles)) // keep the EF TProfiles of lowest single tau or if flag is turned on for the rest of the chains
+		{
+			addProfile(new TProfile("hEFinnerTrkAvgDist1PNCmu", "InnerTrkAvgDist at EF vs mu 1-prong non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
+			addProfile(new TProfile("hEFetOverPtLeadTrk1PNCmu", "EtOverPtLeadTrk at EF vs mu 1-prong non-corrected;Average interactions per bunch crossing ;",nbin_mu-1,bins_mu));
+			addProfile(new TProfile("hEFipSigLeadTrk1PNCmu", "IpSigLeadTrk at EF vs mu 1-prong non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
+			addProfile(new TProfile("hEFSumPtTrkFrac1PNCmu", "SumPtTrkFrac at EF vs mu 1-prong non-corrected;Average interactions per bunch crossing ;",nbin_mu-1,bins_mu));
+			addProfile(new TProfile("hEFChPiEMEOverCaloEME1PNCmu", "ChPiEMEOverCaloEME at EF vs mu 1p non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
+			addProfile(new TProfile("hEFEMPOverTrkSysP1PNCmu", "EMPOverTrkSysP at EF vs mu 1-prong non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
+			addProfile(new TProfile("hEFcentFrac1PNCmu", "Centrality Fraction at EF vs mu 1-prong non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
+			addProfile(new TProfile("hEFptRatioEflowApprox1PNCmu", "ptRatioEflowApprox at EF vs mu 1p non-corrected;Average interactions per bunch crossing ;",nbin_mu-1,bins_mu));
+		}
+		  //BDT inputs for 3-prong Non-Corrected
+		  addMonGroup(new MonGroup(this,"HLT/TauMon/Expert/"+trigItem+"/EFTau/BDT/mp_nonCorrected",run));
+		  setCurrentMonGroup("HLT/TauMon/Expert/"+trigItem+"/EFTau/BDT/mp_nonCorrected");
+		  addHistogram(new TH1F("hEFinnerTrkAvgDistMPNCorr", "Inner Track Average Distance at EF m-prong non-corrected; innertrkAvgDist at EF; Candidates",50,-0.05,0.5));
+		  addHistogram(new TH1F("hEFetOverPtLeadTrkMPNCorr", "Et over Lead Track Pt at EF m-prong non-corrected; etOverPtLeadTrk at EF; Candidates",51,-0.1,25.0));
+		  addHistogram(new TH1F("hEFChPiEMEOverCaloEMEMPNCorr", "ChPiEMEOverCaloEME at EF m-prong non-corrected; ChPiEMEOverCaloEME at EF; Candidates",51,-20.0,20.0));
+		  addHistogram(new TH1F("hEFEMPOverTrkSysPMPNCorr", "EMPOverTrkSysP at EF m-prong non-corrected; EMPOverTrkSysP at EF; Candidates", 41,0.0,40.0));
+		  addHistogram(new TH1F("hEFcentFracMPNCorr", "Centrality Fraction at EF m-prong non-corrected; centFrac at EF; Candidates",50,-0.05,1.2));
+		  addHistogram(new TH1F("hEFptRatioEflowApproxMPNCorr", "ptRatioEflowApprox at EF m-prong non-corrected; ptRatioEflowApprox at EF; Candidates",50,0.0,2.0));
+		  addHistogram(new TH1F("hEFdRmaxMPNCorr", "Max dR of associated tracks at EF m-prong non-corrected; dRmax at EF; Candidates",50,-0.1,0.3));
+		  addHistogram(new TH1F("hEFtrFlightPathSigMPNCorr", "TrFlightPathSig at EF m-prong non-corrected; trFlightPathSig at EF; Candidates",50,-20.0,20.0));
+		  addHistogram(new TH1F("hEFmassTrkSysMPNCorr", "MassTrkSys at EF m-prong non-corrected; MassTrkSys at EF [GeV]; Candidates",50,-0.1,15.0));
+		  addHistogram(new TH1F("hEFmEflowApproxMPNCorr", "mEflowApprox at EF m-prong non-corrected;  mEflowApprox at EF ; Candidates",61,-0.2,60.2));
+		if ((trigItem == "tau25_medium1_tracktwo") || (m_doEFTProfiles)) // keep the EF TProfiles of lowest single tau or if flag is turned on for the rest of the chains
+		{
+			addProfile(new TProfile("hEFinnerTrkAvgDistMPNCmu", "InnerTrkAvgDist at EF vs mu m-prong non-corrected; Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
+			addProfile(new TProfile("hEFetOverPtLeadTrkMPNCmu", "EtOverPtLeadTrk at EF vs mu m-prong non-corrected; Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
+			addProfile(new TProfile("hEFChPiEMEOverCaloEMEMPNCmu", "ChPiEMEOverCaloEME at EF vs mu mp non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
+			addProfile(new TProfile("hEFEMPOverTrkSysPMPNCmu", "EMPOverTrkSysP at EF vs mu m-prong non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
+			addProfile(new TProfile("hEFcentFracMPNCmu", "Centrality Fraction at EF vs mu m-prong non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
+			addProfile(new TProfile("hEFptRatioEflowApproxMPNCmu", "ptRatioEflowApprox at EF vs mu mp non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
+			addProfile(new TProfile("hEFdRmaxMPNCmu", "Max dR of associated tracks at EF vs mu m-prong non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
+			addProfile(new TProfile("hEFtrFlightPathSigMPNCmu", "TrFlightPathSig at EF vs mu m-prong non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
+			addProfile(new TProfile("hEFmassTrkSysMPNCmu", "MassTrkSys at EF vs mu m-prong non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
+			addProfile(new TProfile("hEFmEflowApproxMPNCmu", "mEflowApprox at EF vs mu m-prong non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));	
+		}
+	/* // These were condsidered not needed for the time being
+		  //BDT inputs for 1-prong mu-Corrected
+		  addMonGroup(new MonGroup(this,"HLT/TauMon/Expert/"+trigItem+"/EFTau/BDT/1p_Corrected",run));
+		  setCurrentMonGroup("HLT/TauMon/Expert/"+trigItem+"/EFTau/BDT/1p_Corrected");
+		  addHistogram(new TH1F("hEFinnerTrkAvgDist1PCorr", "Inner Track Average Distance at EF 1-prong mu-corrected; innertrkAvgDist at EF; Candidates",50,-0.05,0.5));
+		  addHistogram(new TH1F("hEFetOverPtLeadTrk1PCorr", "Et over Lead Track Pt at EF 1-prong mu-corrected; etOverPtLeadTrk at EF; Candidates",51,-0.1,25.0));
+		  addHistogram(new TH1F("hEFipSigLeadTrk1PCorr", "IpSigLeadTrk at EF 1-prong mu-corrected; IpSigLeadTrk at EF; Candidates",50,-20.0,20.0));
+		  addHistogram(new TH1F("hEFSumPtTrkFrac1PCorr", "SumPtTrkFrac at EF 1-prong mu-corrected; SumPtTrkFrac at EF; Candidates",50,-0.5,1.1));
+		  addHistogram(new TH1F("hEFChPiEMEOverCaloEME1PCorr", "ChPiEMEOverCaloEME at EF 1-prong mu-corrected; ChPiEMEOverCaloEME at EF; Candidates", 51,-20.0,20.0));
+		  addHistogram(new TH1F("hEFEMPOverTrkSysP1PCorr", "EMPOverTrkSysP at EF 1-prong mu-corrected; EMPOverTrkSysP at EF; Candidates", 41,0.0,40.0));
+		  addHistogram(new TH1F("hEFcentFrac1PCorr", "Centrality Fraction at EF 1-prong mu-corrected; centFrac at EF; Candidates",50,-0.05,1.2));
+		  addHistogram(new TH1F("hEFptRatioEflowApprox1PCorr", "ptRatioEflowApprox at EF 1-prong mu-corrected; ptRatioEflowApprox at EF; Candidates",50,0.0,2.0));
+		if ((trigItem == "tau25_medium1_tracktwo") || (m_doEFTProfiles)) // keep the EF TProfiles of lowest single tau or if flag is turned on for the rest of the chains
+		{
+			addProfile(new TProfile("hEFinnerTrkAvgDist1PCmu", "InnerTrkAvgDist at EF vs mu 1-prong mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
+			addProfile(new TProfile("hEFetOverPtLeadTrk1PCmu", "EtOverPtLeadTrk at EF vs mu 1-prong mu-corrected;Average interactions per bunch crossing ;",nbin_mu-1,bins_mu));
+			addProfile(new TProfile("hEFipSigLeadTrk1PCmu", "IpSigLeadTrk at EF vs mu 1-prong mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
+			addProfile(new TProfile("hEFSumPtTrkFrac1PCmu", "SumPtTrkFrac at EF vs mu 1-prong mu-corrected;Average interactions per bunch crossing ;",nbin_mu-1,bins_mu));
+			addProfile(new TProfile("hEFChPiEMEOverCaloEME1PCmu", "ChPiEMEOverCaloEME at EF vs mu 1p mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
+			addProfile(new TProfile("hEFEMPOverTrkSysP1PCmu", "EMPOverTrkSysP at EF vs mu 1-prong mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
+			addProfile(new TProfile("hEFcentFrac1PCmu", "Centrality Fraction at EF vs mu 1-prong mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
+			addProfile(new TProfile("hEFptRatioEflowApprox1PCmu", "ptRatioEflowApprox at EF vs mu 1p mu-corrected;Average interactions per bunch crossing ;",nbin_mu-1,bins_mu));
+		}
+		  //BDT inputs for 3-prong mu-Corrected
+		  addMonGroup(new MonGroup(this,"HLT/TauMon/Expert/"+trigItem+"/EFTau/BDT/mp_Corrected",run));
+		  setCurrentMonGroup("HLT/TauMon/Expert/"+trigItem+"/EFTau/BDT/mp_Corrected");
+		  addHistogram(new TH1F("hEFinnerTrkAvgDistMPCorr", "Inner Track Average Distance at EF m-prong mu-corrected; innertrkAvgDist at EF; Candidates",50,-0.05,0.5));
+		  addHistogram(new TH1F("hEFetOverPtLeadTrkMPCorr", "Et over Lead Track Pt at EF m-prong mu-corrected; etOverPtLeadTrk at EF; Candidates",51,-0.1,25.0));
+		  addHistogram(new TH1F("hEFChPiEMEOverCaloEMEMPCorr", "ChPiEMEOverCaloEME at EF m-prong mu-corrected; ChPiEMEOverCaloEME at EF; Candidates", 51,-20.0,20.0));
+		  addHistogram(new TH1F("hEFEMPOverTrkSysPMPCorr", "EMPOverTrkSysP at EF m-prong mu-corrected; EMPOverTrkSysP at EF; Candidates", 41,0.0,40.0));
+		  addHistogram(new TH1F("hEFcentFracMPCorr", "Centrality Fraction at EF m-prong mu-corrected; centFrac at EF; Candidates",50,-0.05,1.2));
+		  addHistogram(new TH1F("hEFptRatioEflowApproxMPCorr", "ptRatioEflowApprox at EF m-prong mu-corrected; ptRatioEflowApprox at EF; Candidates",50,0.0,2.0));
+		  addHistogram(new TH1F("hEFdRmaxMPCorr", "Max dR of associated tracks at EF m-prong mu-corrected; dRmax at EF; Candidates",50,-0.1,0.3));
+		  addHistogram(new TH1F("hEFtrFlightPathSigMPCorr", "TrFlightPathSig at EF m-prong mu-corrected; trFlightPathSig at EF; Candidates",50,-20.0,20.0));
+		  addHistogram(new TH1F("hEFmassTrkSysMPCorr", "MassTrkSys at EF m-prong mu-corrected; massTrkSys at EF [GeV]; Candidates",50,-0.1,15.0));
+		  addHistogram(new TH1F("hEFmEflowApproxMPCorr", "mEflowApprox at EF m-prong mu-corrected;  mEflowApprox at EF ; Candidates",61,-0.2,60.2));
+		if ((trigItem == "tau25_medium1_tracktwo") || (m_doEFTProfiles)) // keep the EF TProfiles of lowest single tau or if flag is turned on for the rest of the chains
+		{
+			addProfile(new TProfile("hEFinnerTrkAvgDistMPCmu", "InnerTrkAvgDist at EF vs mu m-prong mu-corrected; Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
+			addProfile(new TProfile("hEFetOverPtLeadTrkMPCmu", "EtOverPtLeadTrk at EF vs mu m-prong mu-corrected; Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
+			addProfile(new TProfile("hEFChPiEMEOverCaloEMEMPCmu", "ChPiEMEOverCaloEME at EF vs mu mp mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
+			addProfile(new TProfile("hEFEMPOverTrkSysPMPCmu", "EMPOverTrkSysP at EF vs mu m-prong mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
+			addProfile(new TProfile("hEFcentFracMPCmu", "Centrality Fraction at EF vs mu m-prong mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
+			addProfile(new TProfile("hEFptRatioEflowApproxMPCmu", "ptRatioEflowApprox at EF vs mu mp mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
+			addProfile(new TProfile("hEFdRmaxMPCmu", "Max dR of associated tracks at EF vs mu m-prong mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
+			addProfile(new TProfile("hEFtrFlightPathSigMPCmu", "TrFlightPathSig at EF vs mu m-prong mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
+			addProfile(new TProfile("hEFmassTrkSysMPCmu", "MassTrkSys at EF vs mu m-prong mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
+			addProfile(new TProfile("hEFmEflowApproxMPCmu", "mEflowApprox at EF vs mu m-prong mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
+		}
+	*/ // end of mu-corrected BDT inputs
+	} // end of if(monBDT)
+	// RNN variables
+	if (monRNN) 
 	{
-		addProfile(new TProfile("hEFinnerTrkAvgDistMPCmu", "InnerTrkAvgDist at EF vs mu m-prong mu-corrected; Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
-		addProfile(new TProfile("hEFetOverPtLeadTrkMPCmu", "EtOverPtLeadTrk at EF vs mu m-prong mu-corrected; Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
-		addProfile(new TProfile("hEFChPiEMEOverCaloEMEMPCmu", "ChPiEMEOverCaloEME at EF vs mu mp mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
-		addProfile(new TProfile("hEFEMPOverTrkSysPMPCmu", "EMPOverTrkSysP at EF vs mu m-prong mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
-		addProfile(new TProfile("hEFcentFracMPCmu", "Centrality Fraction at EF vs mu m-prong mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
-		addProfile(new TProfile("hEFptRatioEflowApproxMPCmu", "ptRatioEflowApprox at EF vs mu mp mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
-		addProfile(new TProfile("hEFdRmaxMPCmu", "Max dR of associated tracks at EF vs mu m-prong mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
-		addProfile(new TProfile("hEFtrFlightPathSigMPCmu", "TrFlightPathSig at EF vs mu m-prong mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
-		addProfile(new TProfile("hEFmassTrkSysMPCmu", "MassTrkSys at EF vs mu m-prong mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
-		addProfile(new TProfile("hEFmEflowApproxMPCmu", "mEflowApprox at EF vs mu m-prong mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu));
+		// output
+		addMonGroup(new MonGroup(this,"HLT/TauMon/Expert/"+trigItem+"/EFTau/RNN/Output",run));
+		setCurrentMonGroup("HLT/TauMon/Expert/"+trigItem+"/EFTau/RNN/Output");
+		addHistogram(new TH1F("hEFRNNJetScore", "RNNJetScore distribution ; RNNJetScore; Events",40,-1,1));        
+		addHistogram(new TH1F("hEFRNNJetScoreSigTrans", "hRNNJetScoreSigTrans distribution ; hRNNJetScoreSigTrans; Events",20,0,1));        
+
+		// Scalar input variables
+		addMonGroup(new MonGroup(this,"HLT/TauMon/Expert/"+trigItem+"/EFTau/RNN/InputScalar1p",run));
+    setCurrentMonGroup("HLT/TauMon/Expert/"+trigItem+"/EFTau/RNN/InputScalar1p");
+		addHistogram(new TH1F("hEFRNNInput_Scalar_centFrac_1P", "Centrality Fraction (1Prong); centFrac; Events",50,-0.05,1.2));      
+		addHistogram(new TH1F("hEFRNNInput_Scalar_etOverPtLeadTrk_log_1P", "etOverPtLeadTrk log (1Prong); etOverPtLeadTrk_log; Events",60,-3.,3.));  
+		addHistogram(new TH1F("hEFRNNInput_Scalar_dRmax_1P", "max dR of associated tracks (1Prong); dRmax; Events",50,-0.1,0.3));        
+		addHistogram(new TH1F("hEFRNNInput_Scalar_absipSigLeadTrk_1P", "AbsIpSigLeadTrk (1Prong); absipSigLeadTrk; Events",25,0.0,20.0));     
+		addHistogram(new TH1F("hEFRNNInput_Scalar_SumPtTrkFrac_1P", "SumPtTrkFrac (1Prong); SumPtTrkFrac; Events",50,-0.5,1.1));  
+		addHistogram(new TH1F("hEFRNNInput_Scalar_EMPOverTrkSysP_log_1P", "EMPOverTrkSysP log (1Prong); EMPOverTrkSysP_log; Events",40,-5.,3.));  
+		addHistogram(new TH1F("hEFRNNInput_Scalar_ptRatioEflowApprox_1P", "ptRatioEflowApprox (1Prong); ptRatioEflowApprox; Events",50,0.0,2.0)); 
+		addHistogram(new TH1F("hEFRNNInput_Scalar_mEflowApprox_log_1P", "mEflowApprox log (1Prong); mEflowApprox_log; Events",35,0.,5.));//61,-0.2,60.2));      
+		addHistogram(new TH1F("hEFRNNInput_Scalar_ptDetectorAxis_log_1P", "ptDetectorAxis log (1Prong); ptDetectorAxis_log; Events",50,0.,5.));  
+    
+		addMonGroup(new MonGroup(this,"HLT/TauMon/Expert/"+trigItem+"/EFTau/RNN/InputScalar3p",run));
+    setCurrentMonGroup("HLT/TauMon/Expert/"+trigItem+"/EFTau/RNN/InputScalar3p");
+		addHistogram(new TH1F("hEFRNNInput_Scalar_centFrac_3P", "Centrality Fraction (3Prong); centFrac; Events",50,-0.05,1.2));      
+		addHistogram(new TH1F("hEFRNNInput_Scalar_etOverPtLeadTrk_log_3P", "etOverPtLeadTrk log (3Prong); etOverPtLeadTrk_log; Events",60,-3.,3.)); //51,-0.1,25.0));     
+		addHistogram(new TH1F("hEFRNNInput_Scalar_dRmax_3P", "max dR of associated tracks (3Prong); dRmax; Events",50,-0.1,0.3));        
+		addHistogram(new TH1F("hEFRNNInput_Scalar_trFlightPathSig_log_3P", "trFlightPathSig log (3Prong); trFlightPathSig_log; Events",60,-3.,3.)); //50,-20.0,20.0));      
+		addHistogram(new TH1F("hEFRNNInput_Scalar_SumPtTrkFrac_3P", "SumPtTrkFrac (3Prong); SumPtTrkFrac; Events",50,-0.5,1.1));
+		addHistogram(new TH1F("hEFRNNInput_Scalar_EMPOverTrkSysP_log_3P", "EMPOverTrkSysP log (3Prong); EMPOverTrkSysP_log; Events",40,-5.,3.));//41,0.0,40.0));  
+		addHistogram(new TH1F("hEFRNNInput_Scalar_ptRatioEflowApprox_3P", "ptRatioEflowApprox (3Prong); ptRatioEflowApprox; Events",50,0.0,2.0));      
+		addHistogram(new TH1F("hEFRNNInput_Scalar_mEflowApprox_log_3P", "mEflowApprox log (3Prong); mEflowApprox_log; Events",35,0.,5.));//35,0.,7000.));//61,-0.2,60.2));      
+		addHistogram(new TH1F("hEFRNNInput_Scalar_ptDetectorAxis_log_3P", "ptDetectorAxis log (3Prong); ptDetectorAxis_log; Events",50,0.,5.)); //nbin_pt-1,bins_pt));     
+		addHistogram(new TH1F("hEFRNNInput_Scalar_massTrkSys_log_3P", "massTrkSys log (3Prong); massTrkSys_log; Events",50,0.,3.));//50,-0.1,15.0)); 
+ 
+		// Track input variables
+		addMonGroup(new MonGroup(this,"HLT/TauMon/Expert/"+trigItem+"/EFTau/RNN/InputTrack",run));
+	  setCurrentMonGroup("HLT/TauMon/Expert/"+trigItem+"/EFTau/RNN/InputTrack");
+		addHistogram(new TH1F("hEFRNNInput_Track_pt_log", "pt_log ; pt_log; Events",50,-5,7));//nbin_pt-1,bins_pt));    
+		addHistogram(new TH1F("hEFRNNInput_Track_pt_jetseed_log", "pt_jetseed_log ; pt_jetseed_log; Events",50,2,7));//nbin_pt-1,bins_pt));    
+		//addHistogram(new TH1F("hEFRNNInput_Track_eta", "eta ; eta; Events",nbin_eta-1,bins_eta));    
+		//addHistogram(new TH1F("hEFRNNInput_Track_phi", "phi ; phi; Events",16,-3.2,3.2));    
+		addHistogram(new TH1F("hEFRNNInput_Track_dEta", "dEta ; dEta; Events",100,-2.6,2.6));//nbin_eta-1,bins_eta));    
+		addHistogram(new TH1F("hEFRNNInput_Track_dPhi", "dPhi ; dPhi; Events",100,-3.2,3.2));
+		addHistogram(new TH1F("hEFRNNInput_Track_d0_abs_log", "d0_abs_log ; d0_abs_log; Events",50,-7.,2.));//50,-5.,5.));
+		addHistogram(new TH1F("hEFRNNInput_Track_z0sinThetaTJVA_abs_log", "z0sinThetaTJVA_abs_log ; z0sinThetaTJVA_abs_log; Events",50,-10,4));//15,-200.,200.));   
+		addHistogram(new TH1F("hEFRNNInput_Track_nInnermostPixelHits", "nInnermostPixelHits ; nInnermostPixelHits; Events",3,0.,3));
+		addHistogram(new TH1F("hEFRNNInput_Track_nPixelHits", "nPixelHits ; nPixelHits; Events",11,0.,11));  
+		addHistogram(new TH1F("hEFRNNInput_Track_nSCTHits", "nSCTHits ; nSCTHits; Events",20,0.,20));     
+		// Cluster input variables
+		addMonGroup(new MonGroup(this,"HLT/TauMon/Expert/"+trigItem+"/EFTau/RNN/InputCluster",run));
+	  setCurrentMonGroup("HLT/TauMon/Expert/"+trigItem+"/EFTau/RNN/InputCluster");
+		//addHistogram(new TH1F("hEFRNNInput_Cluster_e", "e ; e; Events",nbin_pt-1,bins_pt));     
+		//addHistogram(new TH1F("hEFRNNInput_Cluster_et", "et ; et; Events",nbin_pt-1,bins_pt));  // or 260,0.,130.    
+		//addHistogram(new TH1F("hEFRNNInput_Cluster_eta", "eta ; eta; Events",nbin_eta-1,bins_eta));
+		//addHistogram(new TH1F("hEFRNNInput_Cluster_phi", "phi ; phi; Events",16,-3.2,3.2));    
+		addHistogram(new TH1F("hEFRNNInput_Cluster_et_log", "et_log ; et_log; Events",30,0.,6.));//nbin_pt-1,bins_pt));  // or 260,0.,130.    
+		addHistogram(new TH1F("hEFRNNInput_Cluster_pt_jetseed_log", "pt_jetseed_log ; pt_jetseed_log; Events",50,2,7));//nbin_pt-1,bins_pt));  // or 260,0.,130.    
+		addHistogram(new TH1F("hEFRNNInput_Cluster_dEta", "dEta ; dEta; Events",100,-2.6,2.6));//nbin_eta-1,bins_eta));
+		addHistogram(new TH1F("hEFRNNInput_Cluster_dPhi", "dPhi ; dPhi; Events",100,-3.2,3.2));    
+		addHistogram(new TH1F("hEFRNNInput_Cluster_SECOND_R_log10", "SECOND_R ; SECOND_R; Events",50,-3.,7.));
+		addHistogram(new TH1F("hEFRNNInput_Cluster_SECOND_LAMBDA_log10", "SECOND_LAMBDA ; SECOND_LAMBDA; Events",50,-3.,7.));      
+		addHistogram(new TH1F("hEFRNNInput_Cluster_CENTER_LAMBDA_log10", "CENTER_LAMBDA ; CENTER_LAMBDA; Events",50,-2.,5.));      
 	}
 
     //--------------------
@@ -783,8 +873,12 @@ void HLTTauMonTool::bookHistogramsAllItem(){
         const int nbin_eta = 9;
         double bins_eta[nbin_eta] = {-2.47,-1.52,-1.37,-0.69,0.,0.69,1.37,1.52,2.47};
 
-        const int nbin_mu = 34;
-        float bins_mu[nbin_mu] = {0.,2.,4.,6.,8.,10.,12.,14.,16.,18.,20.,22.,24.,26.,28.,30.,32.,34.,36.,38.,40., 42., 44., 44., 46., 48., 50., 52., 54., 56., 58., 60., 62., 72};
+        //const int nbin_mu = 34;
+        //float bins_mu[nbin_mu] = {0.,2.,4.,6.,8.,10.,12.,14.,16.,18.,20.,22.,24.,26.,28.,30.,32.,34.,36.,38.,40., 42., 44., 44., 46., 48., 50., 52., 54., 56., 58., 60., 62., 72};
+				const int nbin_mu = 51;
+				float bins_mu[nbin_mu] = {0.,2.,4.,6.,8.,10.,12.,14.,16.,18.,20.,22.,24.,26.,28.,30.,32.,34.,36.,38.,40.,42.,44.,\
+				46.,48.,50.,52.,54.,56.,58.,60.,62.,64.,66.,68.,70.,72.,74.,76.,78., 80.,82.,84.,86.,88.,90.,92.,94.,96.,98.,100.};
+
 	for(unsigned int i=0;i<m_trigItemsHighPt.size();++i)
           {
           addMonGroup( new MonGroup(this, "HLT/TauMon/Expert/dijetFakeTausEff/"+m_trigItemsHighPt[i],run) );
@@ -805,6 +899,7 @@ void HLTTauMonTool::bookHistogramsAllItem(){
 
     std::vector<string> lowest_names;
     lowest_names.push_back("lowest_singletau");
+    lowest_names.push_back("lowest_singletauMVA");
     //    lowest_names.push_back("lowest_ditau");
     //    lowest_names.push_back("lowest_etau");
     //    lowest_names.push_back("lowest_mutau");
@@ -935,8 +1030,11 @@ void HLTTauMonTool::bookHistogramsAllItem(){
     double bins_eta[nbin_eta] = {-2.47,-1.52,-1.37,-0.69,0.,0.69,1.37,1.52,2.47};
     const int nbin_nvtx = 6;
     double bins_nvtx[nbin_nvtx] = {0.,5.,10.,15.,20.,25.};
-    const int nbin_mu = 34;
-    float bins_mu[nbin_mu] = {0.,2.,4.,6.,8.,10.,12.,14.,16.,18.,20.,22.,24.,26.,28.,30.,32.,34.,36.,38.,40., 42., 44., 44., 46., 48., 50., 52., 54., 56., 58., 60., 62., 72};
+    const int nbin_mu = 51;
+    float bins_mu[nbin_mu] = {0.,2.,4.,6.,8.,10.,12.,14.,16.,18.,20.,22.,24.,26.,28.,30.,32.,34.,36.,38.,40.,42.,44.,\
+		46.,48.,50.,52.,54.,56.,58.,60.,62.,64.,66.,68.,70.,72.,74.,76.,78., 80.,82.,84.,86.,88.,90.,92.,94.,96.,98.,100.};
+    //const int nbin_mu = 34;
+    //float bins_mu[nbin_mu] = {0.,2.,4.,6.,8.,10.,12.,14.,16.,18.,20.,22.,24.,26.,28.,30.,32.,34.,36.,38.,40., 42., 44., 44., 46., 48., 50., 52., 54., 56., 58., 60., 62., 72};
     //    const int nbin_mu = 21;
     //    float bins_mu[nbin_mu] = {0.,2.,4.,6.,8.,10.,12.,14.,16.,18.,20.,22.,24.,26.,28.,30.,32.,34.,36.,38.,40.};
 
@@ -1319,4 +1417,12 @@ void HLTTauMonTool::bookHistogramsAllItem(){
 
 	}
 
+	if (m_doFailTrackFilterBitMonitoring) {
+		for(unsigned int i=0;i<m_trigMVA_chains.size(); ++i){    
+	    addMonGroup(new MonGroup(this,"HLT/TauMon/Expert/"+m_trigMVA_chains.at(i)+"/FailTrackFilterMonitor",run));
+	    setCurrentMonGroup("HLT/TauMon/Expert/"+m_trigMVA_chains.at(i)+"/FailTrackFilterMonitor");
+			addHistogram(new TH1F("hFailTrackFilterPt", "pT distribution of taus with (xAOD::TauJetParameters::failTrackFilter)==1 ; pT; Events",nbin_pt-1,bins_pt));        
+		}
+	} // end of m_doFailTrackFilterBitMonitoring
+
 }
diff --git a/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool_proc.cxx b/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool_proc.cxx
index d7cabed71178766d986166734e02cbcc3302ca36..64889f1177de9f9a9c85d4449159bae3b0313199 100644
--- a/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool_proc.cxx
+++ b/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool_proc.cxx
@@ -4,6 +4,8 @@
 
 #include "TProfile.h"
 #include "HLTTauMonTool.h"
+#include "AthenaMonitoring/AthenaMonManager.h"
+#include "AthenaMonitoring/ManagedMonitorToolTest.h"
 
 using namespace std;
 
@@ -33,6 +35,24 @@ StatusCode HLTTauMonTool::proc()
 	
         for(unsigned int i=0;i<m_trigItems.size();++i)
 	  {
+						bool monRNN (false);
+						for (unsigned int j=0; j<m_trigRNN_chains.size(); j++) {
+							if ( m_trigItems.at(i) == m_trigRNN_chains.at(j) ) {
+								monRNN = true;
+								break;
+							}
+						}
+						bool monBDT (false);
+						for (unsigned int j=0; j<m_trigBDTRNN_chains.size(); j++) {
+							if ( m_trigItems.at(i) == m_trigBDTRNN_chains.at(j) ) {
+								if (!monRNN) monRNN = true;
+								if (!monBDT) monBDT = true;
+								break;
+							}
+						} 
+						if ( (!monBDT) && (!monRNN) ) monBDT=true; // if the chain is not listed in BDTRNN, but it is also not in RNN, then it is BDT 
+
+
             if(m_truth && m_turnOnCurves)
 	      {
 		//                setCurrentMonGroup("HLT/TauMon/Expert/"+m_trigItems[i]+"/TurnOnCurves/TruthEfficiency");
@@ -196,53 +216,57 @@ StatusCode HLTTauMonTool::proc()
             plotUnderOverFlow(hist("hEFIsoFrac"));
             //plotUnderOverFlow(hist("hEFPSSFraction"));
             plotUnderOverFlow(hist("hEFEMFraction"));
-            plotUnderOverFlow(hist("hScore1p"));
-            plotUnderOverFlow(hist("hScoremp"));
-            
-            setCurrentMonGroup("HLT/TauMon/Expert/"+m_trigItems[i]+"/EFTau/BDT/1p_nonCorrected");
-            plotUnderOverFlow(hist("hEFinnerTrkAvgDist1PNCorr"));
-            plotUnderOverFlow(hist("hEFetOverPtLeadTrk1PNCorr"));
-            plotUnderOverFlow(hist("hEFipSigLeadTrk1PNCorr"));
-            plotUnderOverFlow(hist("hEFSumPtTrkFrac1PNCorr"));
-            plotUnderOverFlow(hist("hEFChPiEMEOverCaloEME1PNCorr"));
-            plotUnderOverFlow(hist("hEFEMPOverTrkSysP1PNCorr"));
-            plotUnderOverFlow(hist("hEFcentFrac1PNCorr"));
-            plotUnderOverFlow(hist("hEFptRatioEflowApprox1PNCorr"));
-            
-            setCurrentMonGroup("HLT/TauMon/Expert/"+m_trigItems[i]+"/EFTau/BDT/mp_nonCorrected");
-            plotUnderOverFlow(hist("hEFinnerTrkAvgDistMPNCorr"));
-            plotUnderOverFlow(hist("hEFetOverPtLeadTrkMPNCorr"));
-            plotUnderOverFlow(hist("hEFChPiEMEOverCaloEMEMPNCorr"));
-            plotUnderOverFlow(hist("hEFEMPOverTrkSysPMPNCorr"));
-            plotUnderOverFlow(hist("hEFcentFracMPNCorr"));
-            plotUnderOverFlow(hist("hEFptRatioEflowApproxMPNCorr"));
-            plotUnderOverFlow(hist("hEFdRmaxMPNCorr"));
-            plotUnderOverFlow(hist("hEFtrFlightPathSigMPNCorr"));
-            plotUnderOverFlow(hist("hEFmassTrkSysMPNCorr"));
-            plotUnderOverFlow(hist("hEFmEflowApproxMPNCorr"));
-            
-            setCurrentMonGroup("HLT/TauMon/Expert/"+m_trigItems[i]+"/EFTau/BDT/1p_Corrected");
-            plotUnderOverFlow(hist("hEFinnerTrkAvgDist1PCorr"));
-            plotUnderOverFlow(hist("hEFetOverPtLeadTrk1PCorr"));
-            plotUnderOverFlow(hist("hEFipSigLeadTrk1PCorr"));
-            plotUnderOverFlow(hist("hEFSumPtTrkFrac1PCorr"));
-            plotUnderOverFlow(hist("hEFChPiEMEOverCaloEME1PCorr"));
-            plotUnderOverFlow(hist("hEFEMPOverTrkSysP1PCorr"));
-            plotUnderOverFlow(hist("hEFcentFrac1PCorr"));
-            plotUnderOverFlow(hist("hEFptRatioEflowApprox1PCorr"));
-            
-            setCurrentMonGroup("HLT/TauMon/Expert/"+m_trigItems[i]+"/EFTau/BDT/mp_Corrected");
-            plotUnderOverFlow(hist("hEFinnerTrkAvgDistMPCorr"));
-            plotUnderOverFlow(hist("hEFetOverPtLeadTrkMPCorr"));
-            plotUnderOverFlow(hist("hEFChPiEMEOverCaloEMEMPCorr"));
-            plotUnderOverFlow(hist("hEFEMPOverTrkSysPMPCorr"));
-            plotUnderOverFlow(hist("hEFcentFracMPCorr"));
-            plotUnderOverFlow(hist("hEFptRatioEflowApproxMPCorr"));
-            plotUnderOverFlow(hist("hEFdRmaxMPCorr"));
-            plotUnderOverFlow(hist("hEFtrFlightPathSigMPCorr"));
-            plotUnderOverFlow(hist("hEFmassTrkSysMPCorr"));
-            plotUnderOverFlow(hist("hEFmEflowApproxMPCorr"));
-            
+						if (monBDT) {
+		          plotUnderOverFlow(hist("hScore1p"));
+		          plotUnderOverFlow(hist("hScoremp"));
+		          plotUnderOverFlow(hist("hScoreSigTrans1p"));
+		          plotUnderOverFlow(hist("hScoreSigTransmp"));
+		          
+		          setCurrentMonGroup("HLT/TauMon/Expert/"+m_trigItems[i]+"/EFTau/BDT/1p_nonCorrected");
+		          plotUnderOverFlow(hist("hEFinnerTrkAvgDist1PNCorr"));
+		          plotUnderOverFlow(hist("hEFetOverPtLeadTrk1PNCorr"));
+		          plotUnderOverFlow(hist("hEFipSigLeadTrk1PNCorr"));
+		          plotUnderOverFlow(hist("hEFSumPtTrkFrac1PNCorr"));
+		          plotUnderOverFlow(hist("hEFChPiEMEOverCaloEME1PNCorr"));
+		          plotUnderOverFlow(hist("hEFEMPOverTrkSysP1PNCorr"));
+		          plotUnderOverFlow(hist("hEFcentFrac1PNCorr"));
+		          plotUnderOverFlow(hist("hEFptRatioEflowApprox1PNCorr"));
+		          
+		          setCurrentMonGroup("HLT/TauMon/Expert/"+m_trigItems[i]+"/EFTau/BDT/mp_nonCorrected");
+		          plotUnderOverFlow(hist("hEFinnerTrkAvgDistMPNCorr"));
+		          plotUnderOverFlow(hist("hEFetOverPtLeadTrkMPNCorr"));
+		          plotUnderOverFlow(hist("hEFChPiEMEOverCaloEMEMPNCorr"));
+		          plotUnderOverFlow(hist("hEFEMPOverTrkSysPMPNCorr"));
+		          plotUnderOverFlow(hist("hEFcentFracMPNCorr"));
+		          plotUnderOverFlow(hist("hEFptRatioEflowApproxMPNCorr"));
+		          plotUnderOverFlow(hist("hEFdRmaxMPNCorr"));
+		          plotUnderOverFlow(hist("hEFtrFlightPathSigMPNCorr"));
+		          plotUnderOverFlow(hist("hEFmassTrkSysMPNCorr"));
+		          plotUnderOverFlow(hist("hEFmEflowApproxMPNCorr"));
+	/*            
+		          setCurrentMonGroup("HLT/TauMon/Expert/"+m_trigItems[i]+"/EFTau/BDT/1p_Corrected");
+		          plotUnderOverFlow(hist("hEFinnerTrkAvgDist1PCorr"));
+		          plotUnderOverFlow(hist("hEFetOverPtLeadTrk1PCorr"));
+		          plotUnderOverFlow(hist("hEFipSigLeadTrk1PCorr"));
+		          plotUnderOverFlow(hist("hEFSumPtTrkFrac1PCorr"));
+		          plotUnderOverFlow(hist("hEFChPiEMEOverCaloEME1PCorr"));
+		          plotUnderOverFlow(hist("hEFEMPOverTrkSysP1PCorr"));
+		          plotUnderOverFlow(hist("hEFcentFrac1PCorr"));
+		          plotUnderOverFlow(hist("hEFptRatioEflowApprox1PCorr"));
+		          
+		          setCurrentMonGroup("HLT/TauMon/Expert/"+m_trigItems[i]+"/EFTau/BDT/mp_Corrected");
+		          plotUnderOverFlow(hist("hEFinnerTrkAvgDistMPCorr"));
+		          plotUnderOverFlow(hist("hEFetOverPtLeadTrkMPCorr"));
+		          plotUnderOverFlow(hist("hEFChPiEMEOverCaloEMEMPCorr"));
+		          plotUnderOverFlow(hist("hEFEMPOverTrkSysPMPCorr"));
+		          plotUnderOverFlow(hist("hEFcentFracMPCorr"));
+		          plotUnderOverFlow(hist("hEFptRatioEflowApproxMPCorr"));
+		          plotUnderOverFlow(hist("hEFdRmaxMPCorr"));
+		          plotUnderOverFlow(hist("hEFtrFlightPathSigMPCorr"));
+		          plotUnderOverFlow(hist("hEFmassTrkSysMPCorr"));
+		          plotUnderOverFlow(hist("hEFmEflowApproxMPCorr"));
+	*/            
+						}
             setCurrentMonGroup("HLT/TauMon/Expert/"+m_trigItems[i]+"/L1VsOffline");
             plotUnderOverFlow(hist("hL1EtRatio"));
             
@@ -494,6 +518,7 @@ StatusCode HLTTauMonTool::proc()
         // clone shifter histograms
         std::vector<string> lowest_names, lowest_trigger_names;
         lowest_names.push_back("lowest_singletau"); 	lowest_trigger_names.push_back(m_lowest_singletau);
+        lowest_names.push_back("lowest_singletauMVA"); 	lowest_trigger_names.push_back(m_lowest_singletauMVA);
         //lowest_names.push_back("lowest_ditau"); 	lowest_trigger_names.push_back(m_lowest_ditau);
         //lowest_names.push_back("lowest_etau"); 	lowest_trigger_names.push_back(m_lowest_etau);
         //lowest_names.push_back("lowest_mutau");	lowest_trigger_names.push_back(m_lowest_mutau);
@@ -502,6 +527,25 @@ StatusCode HLTTauMonTool::proc()
         
         for(unsigned int i=0;i<lowest_names.size();++i)
         {
+
+						bool monRNN (false);
+						for (unsigned int j=0; j<m_trigRNN_chains.size(); j++) {
+							if ( m_trigRNN_chains.at(j)==lowest_trigger_names.at(i) ) {
+								monRNN = true;
+								break;
+							}
+						}
+						bool monBDT (false);
+						for (unsigned int j=0; j<m_trigBDTRNN_chains.size(); j++) {
+							if ( m_trigBDTRNN_chains.at(j)==lowest_trigger_names.at(i) ) {
+								if (!monRNN) monRNN = true;
+								if (!monBDT) monBDT = true;
+								break;
+							}
+						} 
+						if ( (!monBDT) && (!monRNN) ) monBDT=true; // if the chain is not listed in BDTRNN, but it is also not in RNN, then it is BDT 
+
+
             bool good_item(false);
             for(unsigned int j=0;j<m_trigItems.size();++j)
             {
@@ -552,51 +596,107 @@ StatusCode HLTTauMonTool::proc()
             cloneHistogram("hEFIsoFrac","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau");
             //cloneHistogram("hEFPSSFraction","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau");
             cloneHistogram("hEFEMFraction","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau");
-            cloneHistogram("hScore1p","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau");
-            cloneHistogram("hScoremp","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau");
-            cloneHistogram2("hEFEtaVsPhi","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau");
-            cloneHistogram2("hEFEtVsPhi","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau");
-            cloneHistogram2("hEFEtVsEta","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau");
-            //      setCurrentMonGroup("HLT/TauMon/Shifter/"+lowest_names.at(i)+"/EFTau/BDT/1p_nonCorrected");
-            cloneHistogram("hEFinnerTrkAvgDist1PNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_nonCorrected");
-            cloneHistogram("hEFetOverPtLeadTrk1PNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_nonCorrected");
-            cloneHistogram("hEFipSigLeadTrk1PNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_nonCorrected");
-            cloneHistogram("hEFSumPtTrkFrac1PNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_nonCorrected");
-            //      cloneHistogram("hEFChPiEMEOverCaloEME1PNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_nonCorrected");
-            cloneHistogram("hEFEMPOverTrkSysP1PNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_nonCorrected");
-            cloneHistogram("hEFcentFrac1PNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_nonCorrected");
-            //      cloneHistogram("hEFptRatioEflowApprox1PNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_nonCorrected");
-            //      setCurrentMonGroup("HLT/TauMon/Shifter/"+lowest_names.at(i)+"/EFTau/BDT/mp_nonCorrected");
-            cloneHistogram("hEFinnerTrkAvgDistMPNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_nonCorrected");
-            cloneHistogram("hEFetOverPtLeadTrkMPNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_nonCorrected");
-            //      cloneHistogram("hEFChPiEMEOverCaloEMEMPNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_nonCorrected");
-            cloneHistogram("hEFEMPOverTrkSysPMPNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_nonCorrected");
-            cloneHistogram("hEFcentFracMPNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_nonCorrected");
-            //      cloneHistogram("hEFptRatioEflowApproxMPNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_nonCorrected");
-            cloneHistogram("hEFdRmaxMPNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_nonCorrected");
-            cloneHistogram("hEFtrFlightPathSigMPNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_nonCorrected");
-            //      cloneHistogram("hEFmassTrkSysMPNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_nonCorrected");
-            //      cloneHistogram("hEFmEflowApproxMPNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_nonCorrected");
-            //      setCurrentMonGroup("HLT/TauMon/Shifter/"+lowest_names.at(i)+"/EFTau/BDT/1p_Corrected");
-            cloneHistogram("hEFinnerTrkAvgDist1PCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_Corrected");
-            cloneHistogram("hEFetOverPtLeadTrk1PCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_Corrected");
-            cloneHistogram("hEFipSigLeadTrk1PCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_Corrected");
-            cloneHistogram("hEFSumPtTrkFrac1PCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_Corrected");
-            //      cloneHistogram("hEFChPiEMEOverCaloEME1PCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_Corrected");
-            cloneHistogram("hEFEMPOverTrkSysP1PCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_Corrected");
-            cloneHistogram("hEFcentFrac1PCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_Corrected");
-            //      cloneHistogram("hEFptRatioEflowApprox1PCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_Corrected");
-            //      setCurrentMonGroup("HLT/TauMon/Shifter/"+lowest_names.at(i)+"/EFTau/BDT/mp_Corrected");
-            cloneHistogram("hEFinnerTrkAvgDistMPCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_Corrected");
-            cloneHistogram("hEFetOverPtLeadTrkMPCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_Corrected");
-            //      cloneHistogram("hEFChPiEMEOverCaloEMEMPCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_Corrected");
-            cloneHistogram("hEFEMPOverTrkSysPMPCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_Corrected");
-            cloneHistogram("hEFcentFracMPCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_Corrected");
-            //      cloneHistogram("hEFptRatioEflowApproxMPCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_Corrected");
-            cloneHistogram("hEFdRmaxMPCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_Corrected");
-            cloneHistogram("hEFtrFlightPathSigMPCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_Corrected");
-            //      cloneHistogram("hEFmassTrkSysMPCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_Corrected");
-            //      cloneHistogram("hEFmEflowApproxMPCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_Corrected");
+	          cloneHistogram2("hEFEtaVsPhi","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau");
+	          cloneHistogram2("hEFEtVsPhi","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau");
+	          cloneHistogram2("hEFEtVsEta","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau");
+						if (monBDT) {
+		          cloneHistogram("hScore1p","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau");
+		          cloneHistogram("hScoremp","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau");
+		          cloneHistogram("hScoreSigTrans1p","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau");
+		          cloneHistogram("hScoreSigTransmp","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau");
+		          //      setCurrentMonGroup("HLT/TauMon/Shifter/"+lowest_names.at(i)+"/EFTau/BDT/1p_nonCorrected");
+		          cloneHistogram("hEFinnerTrkAvgDist1PNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_nonCorrected");
+		          cloneHistogram("hEFetOverPtLeadTrk1PNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_nonCorrected");
+		          cloneHistogram("hEFipSigLeadTrk1PNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_nonCorrected");
+		          cloneHistogram("hEFSumPtTrkFrac1PNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_nonCorrected");
+		          //      cloneHistogram("hEFChPiEMEOverCaloEME1PNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_nonCorrected");
+		          cloneHistogram("hEFEMPOverTrkSysP1PNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_nonCorrected");
+		          cloneHistogram("hEFcentFrac1PNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_nonCorrected");
+		          //      cloneHistogram("hEFptRatioEflowApprox1PNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_nonCorrected");
+		          //      setCurrentMonGroup("HLT/TauMon/Shifter/"+lowest_names.at(i)+"/EFTau/BDT/mp_nonCorrected");
+		          cloneHistogram("hEFinnerTrkAvgDistMPNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_nonCorrected");
+		          cloneHistogram("hEFetOverPtLeadTrkMPNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_nonCorrected");
+		          //      cloneHistogram("hEFChPiEMEOverCaloEMEMPNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_nonCorrected");
+		          cloneHistogram("hEFEMPOverTrkSysPMPNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_nonCorrected");
+		          cloneHistogram("hEFcentFracMPNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_nonCorrected");
+		          //      cloneHistogram("hEFptRatioEflowApproxMPNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_nonCorrected");
+		          cloneHistogram("hEFdRmaxMPNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_nonCorrected");
+		          cloneHistogram("hEFtrFlightPathSigMPNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_nonCorrected");
+		          //      cloneHistogram("hEFmassTrkSysMPNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_nonCorrected");
+		          //      cloneHistogram("hEFmEflowApproxMPNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_nonCorrected");
+/*
+		          //      setCurrentMonGroup("HLT/TauMon/Shifter/"+lowest_names.at(i)+"/EFTau/BDT/1p_Corrected");
+		          cloneHistogram("hEFinnerTrkAvgDist1PCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_Corrected");
+		          cloneHistogram("hEFetOverPtLeadTrk1PCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_Corrected");
+		          cloneHistogram("hEFipSigLeadTrk1PCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_Corrected");
+		          cloneHistogram("hEFSumPtTrkFrac1PCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_Corrected");
+		          //      cloneHistogram("hEFChPiEMEOverCaloEME1PCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_Corrected");
+		          cloneHistogram("hEFEMPOverTrkSysP1PCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_Corrected");
+		          cloneHistogram("hEFcentFrac1PCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_Corrected");
+		          //      cloneHistogram("hEFptRatioEflowApprox1PCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_Corrected");
+		          //      setCurrentMonGroup("HLT/TauMon/Shifter/"+lowest_names.at(i)+"/EFTau/BDT/mp_Corrected");
+		          cloneHistogram("hEFinnerTrkAvgDistMPCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_Corrected");
+		          cloneHistogram("hEFetOverPtLeadTrkMPCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_Corrected");
+		          //      cloneHistogram("hEFChPiEMEOverCaloEMEMPCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_Corrected");
+		          cloneHistogram("hEFEMPOverTrkSysPMPCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_Corrected");
+		          cloneHistogram("hEFcentFracMPCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_Corrected");
+		          //      cloneHistogram("hEFptRatioEflowApproxMPCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_Corrected");
+		          cloneHistogram("hEFdRmaxMPCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_Corrected");
+		          cloneHistogram("hEFtrFlightPathSigMPCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_Corrected");
+		          //      cloneHistogram("hEFmassTrkSysMPCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_Corrected");
+		          //      cloneHistogram("hEFmEflowApproxMPCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_Corrected");
+*/
+						}
+            if (monRNN) {
+                  // scalar RNN inputs 1prong
+                  cloneHistogram("hEFRNNInput_Scalar_centFrac_1P","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputScalar1p");
+                  cloneHistogram("hEFRNNInput_Scalar_etOverPtLeadTrk_log_1P","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputScalar1p");
+                  cloneHistogram("hEFRNNInput_Scalar_dRmax_1P","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputScalar1p");
+                  cloneHistogram("hEFRNNInput_Scalar_absipSigLeadTrk_1P","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputScalar1p");
+                  cloneHistogram("hEFRNNInput_Scalar_SumPtTrkFrac_1P","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputScalar1p");
+                  cloneHistogram("hEFRNNInput_Scalar_EMPOverTrkSysP_log_1P","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputScalar1p");
+                  cloneHistogram("hEFRNNInput_Scalar_ptRatioEflowApprox_1P","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputScalar1p");
+                  cloneHistogram("hEFRNNInput_Scalar_mEflowApprox_log_1P","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputScalar1p");
+                  cloneHistogram("hEFRNNInput_Scalar_ptDetectorAxis_log_1P","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputScalar1p");
+                  // scalar RNN inputs 3prong
+                  cloneHistogram("hEFRNNInput_Scalar_centFrac_3P","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputScalar3p");
+                  cloneHistogram("hEFRNNInput_Scalar_etOverPtLeadTrk_log_3P","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputScalar3p");
+                  cloneHistogram("hEFRNNInput_Scalar_dRmax_3P","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputScalar3p");
+                  cloneHistogram("hEFRNNInput_Scalar_trFlightPathSig_log_3P","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputScalar3p");
+                  cloneHistogram("hEFRNNInput_Scalar_SumPtTrkFrac_3P","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputScalar3p");
+                  cloneHistogram("hEFRNNInput_Scalar_EMPOverTrkSysP_log_3P","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputScalar3p");
+                  cloneHistogram("hEFRNNInput_Scalar_ptRatioEflowApprox_3P","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputScalar3p");
+                  cloneHistogram("hEFRNNInput_Scalar_mEflowApprox_log_3P","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputScalar3p");
+                  cloneHistogram("hEFRNNInput_Scalar_ptDetectorAxis_log_3P","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputScalar3p");
+                  cloneHistogram("hEFRNNInput_Scalar_massTrkSys_log_3P","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputScalar3p");
+                  // track RNN inputs
+                  cloneHistogram("hEFRNNInput_Track_pt_log","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputTrack");
+                  cloneHistogram("hEFRNNInput_Track_pt_jetseed_log","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputTrack");
+                  //cloneHistogram("hEFRNNInput_Track_eta","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputTrack");
+                  //cloneHistogram("hEFRNNInput_Track_phi","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputTrack");
+                  cloneHistogram("hEFRNNInput_Track_dEta","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputTrack");
+                  cloneHistogram("hEFRNNInput_Track_dPhi","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputTrack");
+                  cloneHistogram("hEFRNNInput_Track_d0_abs_log","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputTrack");
+                  cloneHistogram("hEFRNNInput_Track_z0sinThetaTJVA_abs_log","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputTrack");
+                  cloneHistogram("hEFRNNInput_Track_nInnermostPixelHits","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputTrack");
+                  cloneHistogram("hEFRNNInput_Track_nPixelHits","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputTrack");
+                  cloneHistogram("hEFRNNInput_Track_nSCTHits","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputTrack");
+                  // cluster RNN inputs
+                  //cloneHistogram("hEFRNNInput_Cluster_e","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputCluster");
+                  //cloneHistogram("hEFRNNInput_Cluster_et","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputCluster");
+                  //cloneHistogram("hEFRNNInput_Cluster_eta","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputCluster");
+                  //cloneHistogram("hEFRNNInput_Cluster_phi","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputCluster");
+                  cloneHistogram("hEFRNNInput_Cluster_et_log","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputCluster");
+                  cloneHistogram("hEFRNNInput_Cluster_pt_jetseed_log","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputCluster");
+                  cloneHistogram("hEFRNNInput_Cluster_dEta","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputCluster");
+                  cloneHistogram("hEFRNNInput_Cluster_dPhi","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputCluster");
+                  cloneHistogram("hEFRNNInput_Cluster_SECOND_R_log10","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputCluster");
+                  cloneHistogram("hEFRNNInput_Cluster_SECOND_LAMBDA_log10","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputCluster");
+                  cloneHistogram("hEFRNNInput_Cluster_CENTER_LAMBDA_log10","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputCluster");
+                  // RNN outputs
+                  cloneHistogram("hEFRNNJetScore","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/Output");
+                  cloneHistogram("hEFRNNJetScoreSigTrans","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/Output");
+            }
             
             setCurrentMonGroup("HLT/TauMon/Shifter/"+lowest_names.at(i)+"/L1VsOffline");
             cloneHistogram("hL1EtRatio","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/L1VsOffline");
diff --git a/Trigger/TrigValidation/TrigInDetValidation/share/TrigInDetValidation_RTT_Chains.py b/Trigger/TrigValidation/TrigInDetValidation/share/TrigInDetValidation_RTT_Chains.py
index c8de0b40a00ca3670c70057b4ca9cda966881e3f..5560e91983a08d29e08f2eb04e843c4b6522f3f5 100644
--- a/Trigger/TrigValidation/TrigInDetValidation/share/TrigInDetValidation_RTT_Chains.py
+++ b/Trigger/TrigValidation/TrigInDetValidation/share/TrigInDetValidation_RTT_Chains.py
@@ -25,19 +25,6 @@ def muonChains(doIDNewTracking, doFTK):
   if doIDNewTracking:
     tidaAnalysischains += ["Offline"]
   
-  idTrigChainlist.append(['mu24_L2Star_idperf', 'L1_MU20', [], ['Main'], ['RATE:SingleMuon','BW:Muon'],   1])
-  idTrigChainlist.append(['mu6_L2Star_idperf', 'L1_MU6', [], ['Main'], ['RATE:SingleMuon','BW:Muon'],   1])
-  tidaAnalysischains.append('HLT_mu24_L2Star_idperf:TrigL2SiTrackFinder_Muon:0')
-  tidaAnalysischains.append('HLT_mu24_L2Star_idperf:TrigL2SiTrackFinder_Muon:1')
-  tidaAnalysischains.append('HLT_mu24_L2Star_idperf:TrigL2SiTrackFinder_Muon:2')
-  tidaAnalysischains.append('HLT_mu24_L2Star_idperf:InDetTrigParticleCreation_Muon_EFID')
-  tidaAnalysischains.append('HLT_mu24_L2Star_idperf:InDetTrigTrackingxAODCnv_Muon_EFID')
-  tidaAnalysischains.append('HLT_mu6_L2Star_idperf:TrigL2SiTrackFinder_Muon:0')
-  tidaAnalysischains.append('HLT_mu6_L2Star_idperf:TrigL2SiTrackFinder_Muon:1')
-  tidaAnalysischains.append('HLT_mu6_L2Star_idperf:TrigL2SiTrackFinder_Muon:2')
-  tidaAnalysischains.append('HLT_mu6_L2Star_idperf:InDetTrigParticleCreation_Muon_EFID')
-  tidaAnalysischains.append('HLT_mu6_L2Star_idperf:InDetTrigTrackingxAODCnv_Muon_EFID')
-
   idTrigChainlist.append(['mu24_idperf',  'L1_MU20', [], ['Main'], ['RATE:SingleMuon','BW:Muon'],   1])
   idTrigChainlist.append(['mu6_idperf',   'L1_MU6', [], ['Main'], ['RATE:SingleMuon','BW:Muon'],   1])
   tidaAnalysischains.append('HLT_mu24_idperf:InDetTrigTrackingxAODCnv_Muon_FTF')
diff --git a/Trigger/TriggerCommon/TriggerMenu/python/menu/MC_pp_v7.py b/Trigger/TriggerCommon/TriggerMenu/python/menu/MC_pp_v7.py
index c70551a280025c8152ee04fe675bea1d4c1f8c14..802005b70a5375d658e4df3a6387284b4684f405 100644
--- a/Trigger/TriggerCommon/TriggerMenu/python/menu/MC_pp_v7.py
+++ b/Trigger/TriggerCommon/TriggerMenu/python/menu/MC_pp_v7.py
@@ -904,14 +904,6 @@ def setupMenu():
         ['tau25_perf_tracktwo2015',                        'L1_TAU12IM', [], [PhysicsStream], ['RATE:SingleTau', 'BW:Tau'], -1],
         ['tau25_medium1_tracktwo2015',                        'L1_TAU12IM', [], [PhysicsStream], ['RATE:SingleTau', 'BW:Tau'], -1],
 
-        # Run-I comparison
-        ['tau20_r1medium1',                        'L1_TAU12', [], [PhysicsStream], ['RATE:SingleTau', 'BW:Tau'], -1],
-        ['tau20_r1perf',                           'L1_TAU12', [], [PhysicsStream], ['RATE:SingleTau', 'BW:Tau'], -1],
-        ['tau25_r1perf',                           'L1_TAU12', [], [PhysicsStream], ['RATE:SingleTau', 'BW:Tau'], -1],
-        ['tau29_r1medium1',                        'L1_TAU20', [], [PhysicsStream], ['RATE:SingleTau', 'BW:Tau'], -1],
-        ['tau29_r1perf',                           'L1_TAU20', [], [PhysicsStream], ['RATE:SingleTau', 'BW:Tau'], -1],
-        ['tau125_r1medium1',                       'L1_TAU60', [], [PhysicsStream], ['RATE:SingleTau', 'BW:Tau'], -1],
-        ['tau125_r1perf',                          'L1_TAU60', [], [PhysicsStream], ['RATE:SingleTau', 'BW:Tau'], -1],
         # Run-II - No BDT: variations
         ['tau25_perf_calo',                        'L1_TAU12IM', [], [PhysicsStream], ['RATE:SingleTau', 'BW:Tau'], -1],
         ['tau25_perf_calo_L1TAU12',                'L1_TAU12', [], [PhysicsStream], ['RATE:SingleTau', 'BW:Tau'], -1],
@@ -959,8 +951,6 @@ def setupMenu():
         # Energy calibration chain
         ['tau5_perf_ptonly_L1TAU8',                'L1_TAU8', [], [PhysicsStream], ['RATE:SingleTau', 'BW:Tau'], -1],
         # Run-I comparison
-        ['tau20_r1_idperf',                        'L1_TAU12', [], [PhysicsStream], ['RATE:IDMonitoring', 'BW:Tau', 'BW:ID'], -1],
-        ['tau25_r1_idperf',                        'L1_TAU12', [], [PhysicsStream], ['RATE:IDMonitoring', 'BW:Tau', 'BW:ID'], -1],
         ['tau25_perf_track_L1TAU12',               'L1_TAU12', [], [PhysicsStream], ['RATE:SingleTau', 'BW:Tau'], -1],
         # Run-II - With BDT: no pre-selection
         ['tau25_medium1_mvonly',                   'L1_TAU12IM', [], [PhysicsStream], ['RATE:SingleTau', 'BW:Tau'], -1],
@@ -3150,13 +3140,8 @@ ps_perform_list = [
     'tau125_medium1_calo',
     'tau125_medium1_track',
     'tau125_perf_ptonly',
-    'tau125_r1medium1',
-    'tau125_r1perf',
     'tau160_idperf_track',
     'tau160_perf_track',
-    'tau20_r1_idperf',
-    'tau20_r1medium1',
-    'tau20_r1perf',
     'tau25_idperf_track',
     'tau25_idperf_tracktwo2015',
     'tau25_loose1_ptonly',
@@ -3177,11 +3162,7 @@ ps_perform_list = [
     'tau25_perf_tracktwo2015',
     'tau25_perf_tracktwo_L1TAU12',
     'tau25_perf_tracktwocalo',
-    'tau25_r1_idperf',
-    'tau25_r1perf',
     'tau25_tight1_ptonly',
-    'tau29_r1medium1',
-    'tau29_r1perf',
     'tau35_loose1_ptonly',
     'tau35_medium1_calo',
     'tau35_medium1_ptonly',