diff --git a/Trigger/TrigMonitoring/TrigTauMonitoring/python/TrigTauMonitoringConfigMT.py b/Trigger/TrigMonitoring/TrigTauMonitoring/python/TrigTauMonitoringConfigMT.py
index 5fce086b71fecea1a6c33231bdbe5dd31e72d91d..c002129da1621023ff68f969427110d7547e2a7b 100644
--- a/Trigger/TrigMonitoring/TrigTauMonitoring/python/TrigTauMonitoringConfigMT.py
+++ b/Trigger/TrigMonitoring/TrigTauMonitoring/python/TrigTauMonitoringConfigMT.py
@@ -185,10 +185,7 @@ class TrigTauMonAlgBuilder:
       info = self.getTrigInfo(trigger)
 
 
-    self.bookbasicVars( monAlg, trigger, online=True )
-    self.bookbasicVars( monAlg, trigger, online=False )
-
-    if info.isRNN() is True:
+      if info.isRNN() is True:
         self.bookRNNInputVars( monAlg, trigger,nProng='1P', online=True )
         self.bookRNNInputVars( monAlg, trigger,nProng='MP', online=True )
         self.bookRNNInputVars( monAlg, trigger,nProng='1P', online=False )
@@ -197,6 +194,8 @@ class TrigTauMonAlgBuilder:
         self.bookRNNTrack( monAlg, trigger, online=False )
         self.bookRNNCluster( monAlg, trigger, online=True )
         self.bookRNNCluster( monAlg, trigger, online=False )
+        self.bookbasicVars( monAlg, trigger, online=True )
+        self.bookbasicVars( monAlg, trigger, online=False )
 
   #
   # Book RNN Variables
@@ -204,7 +203,7 @@ class TrigTauMonAlgBuilder:
   def bookRNNInputVars( self, monAlg, trigger,nProng, online ):
 
     monGroupName = trigger+'_RNN_'+('HLT' if online else 'Offline')+'_InputScalar_'+nProng
-    monGroupPath = trigger+'/RNN/'+('HLT' if online else 'Offline')+'/InputScalar_'+nProng
+    monGroupPath = 'RNN/InputScalar_'+nProng+'/'+trigger+('/HLT' if online else '/Offline')
 
     monGroup = self.helper.addGroup( monAlg, monGroupName, 
                               self.basePath+'/'+monGroupPath )
@@ -218,12 +217,13 @@ class TrigTauMonAlgBuilder:
     monGroup.defineHistogram('ptRatioEflowApprox', title='ptRatioEflowApprox ('+nProng+'); ptRatioEflowApprox; Events',xbins=50,xmin=0.0,xmax=2.0)
     monGroup.defineHistogram('mEflowApprox', title='mEflowApprox log ('+nProng+'); mEflowApprox_log; Events',xbins=50,xmin=0.,xmax=5.)
     monGroup.defineHistogram('ptDetectorAxis', title='ptDetectorAxis log ('+nProng+'); ptDetectorAxis_log; Events',xbins=50,xmin=0.,xmax=5.)
-    if nProng=='MP':  monGroup.defineHistogram('massTrkSys', title='massTrkSys log ('+nProng+'); massTrkSys_log; Events',xbins=50,xmin=0.,xmax=3.)
+    if nProng=='MP':  
+      monGroup.defineHistogram('massTrkSys', title='massTrkSys log ('+nProng+'); massTrkSys_log; Events',xbins=50,xmin=0.,xmax=3.)
 
   def bookRNNTrack( self, monAlg, trigger, online ):
 
     monGroupName = trigger+'_RNN_'+('HLT' if online else 'Offline')+'_InputTrack'
-    monGroupPath = trigger+'/RNN/'+('HLT' if online else 'Offline')+'/InputTrack'
+    monGroupPath = 'RNN/InputTrack/'+trigger+('/HLT' if online else '/Offline')
 
     monGroup = self.helper.addGroup( monAlg, monGroupName,
                               self.basePath+'/'+monGroupPath )
@@ -241,7 +241,7 @@ class TrigTauMonAlgBuilder:
   def bookRNNCluster( self, monAlg, trigger, online ):
 
     monGroupName = trigger+'_RNN_'+('HLT' if online else 'Offline')+'_InputCluster'
-    monGroupPath = trigger+'/RNN/'+('HLT' if online else 'Offline')+'/InputCluster'
+    monGroupPath = 'RNN/InputCluster/'+trigger+('/HLT' if online else '/Offline')
 
     monGroup = self.helper.addGroup( monAlg, monGroupName,
                               self.basePath+'/'+monGroupPath )
@@ -254,27 +254,29 @@ class TrigTauMonAlgBuilder:
     monGroup.defineHistogram('cluster_SECOND_LAMBDA_log10',title='cluster_SECOND_LAMBDA_log10; cluster_SECOND_LAMBDA_log10;Events',xbins=50,xmin=-3,xmax=7)
     monGroup.defineHistogram('cluster_CENTER_LAMBDA_log10',title='cluster_CENTER_LAMBDA_log10; cluster_CENTER_LAMBDA_log10;Events',xbins=50,xmin=-2,xmax=5)
     
-def bookbasicVars( self, monAlg, trigger, online ):
+  def bookbasicVars( self, monAlg, trigger, online ):
   
-    monGroupName = trigger+'/RNN/'+('HLT' if online else 'Offline')+'/basicVars'
+    monGroupName = trigger+('HLT' if online else 'Offline')+'_basicVars'
+    monGroupPath = 'basicVars/'+trigger+('/HLT' if online else '/Offline')
 
     monGroup = self.helper.addGroup( monAlg, monGroupName,
-                              self.basePath+'/'+monGroupName )
+                              self.basePath+'/'+monGroupPath )
     
     monGroup.defineHistogram('hEFEt', title='EF Et;E_{T}[GeV];Nevents',xbins=50,xmin=0,xmax=100)
     monGroup.defineHistogram('hEFEta', title='EF TrigCaloCluster Eta; #eta ; Nevents',xbins=26,xmin=-2.6,xmax=2.6)
     monGroup.defineHistogram('hEFPhi', title='EF TrigCaloCluster Phi; #phi ; Nevents',xbins=16,xmin=-3.2,xmax=3.2)
     monGroup.defineHistogram('hEFnTrack', title='EF number of tracks;number of tracks;Nevents',xbins=10,xmin=0,xmax=10)
-    monGroup.defineHistogram('hEFEta,Phi;hEFEta_Phi', type='TH2F', title='EF TrigCaloCluster Eta vs Phi; #eta ; #phi ; Nevents',
-                               path='Shifter/cell',
+
+    monGroup.defineHistogram('hEFEta;hEFPhi', type='TH2F', title='EF TrigCaloCluster Eta vs Phi; #eta ; #phi',
+                               path=monGroupPath,
                                xbins=26,xmin=-2.6,xmax=2.6,ybins=16,ymin=-3.2,ymax=3.2)
     #addHistogram(new TH2F("hEFEtaVsPhi","EF TrigCaloCluster Eta vs Phi; #eta ; #phi ; Nevents",26,-2.6,2.6,16,-3.2,3.2));
-    monGroup.defineHistogram('hEFEt,Phi;hEFEt_Phi', type='TH2F', title='Et from tau Jet vs #phi; #phi^{EF}; Raw E_{T} [GeV]',
-                               path='Shifter/cell',
+    monGroup.defineHistogram('hEFEt;hEFPhi', type='TH2F', title='Et from tau Jet vs #phi; #phi^{EF}; Raw E_{T} [GeV]',
+                               path=monGroupPath,
                                xbins=16,xmin=-3.2,xmax=3.2,ybins=50,ymin=0,ymax=100)
    
-    monGroup.defineHistogram('hEFEt,Eta;hEFEt_Eta', type='TH2F', title='Et from tau Jet vs #eta; #eta^{EF}; Raw E_{T}[GeV]',
-                               path='Shifter/cell',
+    monGroup.defineHistogram('hEFEta;hEFEt', type='TH2F', title='Et from tau Jet vs #eta; #eta^{EF}; Raw E_{T}[GeV]',
+                               path=monGroupPath,
                                xbins=26,xmin=-2.6,xmax=2.6,ybins=50,ymin=0,ymax=100)
    
     monGroup.defineHistogram('hEFEtRaw', title='EF Et Raw;Uncalibrated E_{T}[GeV];Nevents',xbins=50,xmin=0,xmax=100)
diff --git a/Trigger/TrigMonitoring/TrigTauMonitoring/src/TrigTauMonitorAlgorithm.cxx b/Trigger/TrigMonitoring/TrigTauMonitoring/src/TrigTauMonitorAlgorithm.cxx
index 6f623e5ec2ec5381a1987329e0c5947bd206107f..a9e7325c81a0d3f5ae1f7ff18a5752d53b4294eb 100644
--- a/Trigger/TrigMonitoring/TrigTauMonitoring/src/TrigTauMonitorAlgorithm.cxx
+++ b/Trigger/TrigMonitoring/TrigTauMonitoring/src/TrigTauMonitorAlgorithm.cxx
@@ -57,7 +57,7 @@ StatusCode TrigTauMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co
 
     const TrigInfo info = getTrigInfo(trigger);
 
-    if ( executeNavigation( ctx, info.trigName,info.HLTthr,info.trigWP, pairObjs).isFailure() )                
+    if ( executeNavigation( ctx, info.trigName,info.HLTthr,info.trigWP, pairObjs).isFailure() || pairObjs.size()==0)                
     {                                                                                                                                                       
        ATH_MSG_WARNING("executeNavigation failed");                                                                                                       
        return StatusCode::SUCCESS;                                                                                                                         
@@ -133,16 +133,14 @@ void TrigTauMonitorAlgorithm::fillDistributions(std::vector< std::pair< const xA
   {
     int nTracks=-1;
     pairObj.first->detail(xAOD::TauJetParameters::nChargedTracks, nTracks);
+    ATH_MSG_DEBUG("NTracks Offline: " << nTracks);
     if(nTracks==1){
        tau_vec_1p.push_back(pairObj.first);
     }else if(nTracks>1){
-       ATH_MSG_DEBUG("NTracks Offline: " << nTracks);
        tau_vec_np.push_back(pairObj.first);
     }
   }
     
-  fillbasicVars( trigger, tau_vec_1p, false);
-  fillbasicVars( trigger, tau_vec_np, false);
 
   // Offline
   if(info.isRNN){
@@ -152,6 +150,8 @@ void TrigTauMonitorAlgorithm::fillDistributions(std::vector< std::pair< const xA
     fillRNNTrack( trigger, tau_vec_np, false );
     fillRNNCluster( trigger, tau_vec_1p, false );
     fillRNNCluster( trigger, tau_vec_np, false );
+    fillbasicVars( trigger, tau_vec_1p, false);
+    fillbasicVars( trigger, tau_vec_np, false);
   }
 
   tau_vec_1p.clear();
@@ -164,17 +164,14 @@ void TrigTauMonitorAlgorithm::fillDistributions(std::vector< std::pair< const xA
     // If not pass, continue
     int nTracks=-1;
     feat->detail(xAOD::TauJetParameters::nChargedTracks, nTracks);
+    ATH_MSG_DEBUG("NTracks Online: " << nTracks);
     if(nTracks==1){
       tau_vec_1p.push_back(feat);
     }else if(nTracks>1){
-      ATH_MSG_DEBUG("NTracks Online: " << nTracks);
       tau_vec_np.push_back(feat);
     }
   }
 
-  fillbasicVars( trigger, tau_vec_1p, true);
-  fillbasicVars( trigger, tau_vec_np, true);
-
   if(info.isRNN){ 
     fillRNNInputVars( trigger, tau_vec_1p,"1P", true );
     fillRNNInputVars( trigger, tau_vec_np,"MP", true );
@@ -182,6 +179,8 @@ void TrigTauMonitorAlgorithm::fillDistributions(std::vector< std::pair< const xA
     fillRNNTrack( trigger, tau_vec_np, true );
     fillRNNCluster( trigger, tau_vec_1p, true );
     fillRNNCluster( trigger, tau_vec_np, true );
+    fillbasicVars( trigger, tau_vec_1p, true);
+    fillbasicVars( trigger, tau_vec_np, true);
   }
   
   
@@ -193,11 +192,14 @@ void TrigTauMonitorAlgorithm::fillRNNInputVars(const std::string trigger, std::v
 
   auto monGroup = getGroup(trigger+( online ? "_RNN_HLT_InputScalar_"+nProng : "_RNN_Offline_InputScalar_"+nProng));  
 
+  ATH_MSG_DEBUG("check00");
+
   auto centFrac           = Monitored::Collection("centFrac", tau_vec,  [] (const xAOD::TauJet* tau){
                                                     float detail = -999;
                                                     if (tau->detail(xAOD::TauJetParameters::centFrac, detail)){
                                                       detail = std::min(detail, 1.0f);    
                                                     } return detail;});
+  ATH_MSG_DEBUG("check03");
   auto etOverPtLeadTrk    = Monitored::Collection("etOverPtLeadTrk", tau_vec,  [] (const xAOD::TauJet* tau){
                                                     float detail = -999;
                                                     if (tau->detail(xAOD::TauJetParameters::etOverPtLeadTrk, detail)){
@@ -233,14 +235,17 @@ void TrigTauMonitorAlgorithm::fillRNNInputVars(const std::string trigger, std::v
                                                     }return detail;});
   auto ptDetectorAxis     = Monitored::Collection("ptDetectorAxis", tau_vec,  [] (const xAOD::TauJet* tau){
                                                     return TMath::Log10(std::min(tau->ptDetectorAxis() / 1000.0, 100.0));});
+  ATH_MSG_DEBUG("check01");
   auto massTrkSys         = Monitored::Collection("massTrkSys", tau_vec,  [&nProng] (const xAOD::TauJet* tau){
                                                 float detail = -999;
                                                 if ( tau->detail(xAOD::TauJetParameters::massTrkSys, detail) && nProng.find("MP") != std::string::npos ){
                                                   detail = TMath::Log10(std::max(detail, 140.0f));
                                                 }return detail;});
 
-    
+  ATH_MSG_DEBUG("check02");    
   fill(monGroup, centFrac,etOverPtLeadTrk,dRmax,absipSigLeadTrk,sumPtTrkFrac,emPOverTrkSysP,ptRatioEflowApprox,mEflowApprox,ptDetectorAxis,massTrkSys);     
+
+  ATH_MSG_DEBUG("After fill RNN input variables: " << trigger);
   
 }
 
@@ -250,6 +255,9 @@ void TrigTauMonitorAlgorithm::fillRNNTrack(const std::string trigger, std::vecto
   
 
   auto monGroup = getGroup(trigger+( online ? "_RNN_HLT_InputTrack" : "_RNN_Offline_InputTrack"));
+
+  auto track_pt_jetseed_log           = Monitored::Collection("track_pt_jetseed_log", tau_vec,  [] (const xAOD::TauJet* tau){ return TMath::Log10( tau->ptJetSeed());});
+  fill(monGroup,track_pt_jetseed_log);
   
     for(auto tau: tau_vec){
       // Don't call ->allTracks() unless the element links are valid
@@ -267,9 +275,6 @@ void TrigTauMonitorAlgorithm::fillRNNTrack(const std::string trigger, std::vecto
       }
 
       auto tracks = tau->allTracks();
- 
-      auto track_pt_jetseed_log           = Monitored::Collection("track_pt_jetseed_log", tau_vec,  [] (const xAOD::TauJet* tau){ return TMath::Log10( tau->ptJetSeed());});
-      fill(monGroup,track_pt_jetseed_log);
   
                                  
       auto cmp_pt = [](const xAOD::TauTrack *lhs, const xAOD::TauTrack *rhs) {
@@ -285,11 +290,11 @@ void TrigTauMonitorAlgorithm::fillRNNTrack(const std::string trigger, std::vecto
 
       auto track_pt_log = Monitored::Collection("track_pt_log", tracks, [](const xAOD::TauTrack *track){return TMath::Log10( track->pt()); }); 
   
-      auto track_dEta = Monitored::Collection("tracks_dEta", tracks, [&tau](const xAOD::TauTrack *track){auto ddeta=track->eta()- tau->eta();return ddeta; });
+      auto track_dEta = Monitored::Collection("tracks_dEta", tracks, [&tau](const xAOD::TauTrack *track){auto ddeta=track->eta()- tau->eta();std::cout << "ddeta: " << ddeta << std::endl;return ddeta; });
 
-      auto track_dPhi = Monitored::Collection("tracks_dPhi", tracks, [&tau](const xAOD::TauTrack *track){return track->p4().DeltaPhi(tau->p4()); }); 
+      auto track_dPhi = Monitored::Collection("tracks_dPhi", tracks, [&tau](const xAOD::TauTrack *track){std::cout << "ddphi: " << track->p4().DeltaPhi(tau->p4()) << std::endl;return track->p4().DeltaPhi(tau->p4());}); 
 
-      auto track_z0sinThetaTJVA_abs_log = Monitored::Collection("tracks_z0sinThetaTJVA_abs_log", tracks, [&tau](const xAOD::TauTrack *track){return track->z0sinThetaTJVA(*tau); }); 
+      auto track_z0sinThetaTJVA_abs_log = Monitored::Collection("tracks_z0sinThetaTJVA_abs_log", tracks, [&tau](const xAOD::TauTrack *track){std::cout <<"tracks_z0sinThetaTJVA_abs_log: "<<track->z0sinThetaTJVA(*tau) << std::endl;return track->z0sinThetaTJVA(*tau); }); 
 
       auto track_d0_abs_log = Monitored::Collection("tracks_d0_abs_log", tracks, [](const xAOD::TauTrack *track){return  TMath::Log10( TMath::Abs(track->track()->d0()) + 1e-6); }); 
 
@@ -406,7 +411,9 @@ void TrigTauMonitorAlgorithm::fillbasicVars(const std::string trigger, std::vect
 {
   ATH_MSG_DEBUG("Fill Basic Variables: " << trigger); 
 
-  auto monGroup = getGroup(trigger+( online ? "/basicVars/HLT" : "/basicVars/Offline"));  
+  auto monGroup = getGroup(trigger+( online ? "HLT_basicVars" : "Offline_basicVars"));  
+
+
 
   auto hEFEt           = Monitored::Collection("hEFEt", tau_vec,  [] (const xAOD::TauJet* tau){return tau->pt()/1000; });
   auto hEFEta          = Monitored::Collection("hEFEta", tau_vec,  [] (const xAOD::TauJet* tau){return tau->eta(); });                                                     
@@ -418,13 +425,11 @@ void TrigTauMonitorAlgorithm::fillbasicVars(const std::string trigger, std::vect
       return EFnTrack; }); 
   auto hEFnWideTrack   = Monitored::Collection("hEFnWideTrack", tau_vec,  [] (const xAOD::TauJet* tau){
       int EFWidenTrack(-1);
-      // XAODTAU_VERSIONS_TAUJET_V3_H 
       EFWidenTrack = tau->nTracksIsolation();
       return EFWidenTrack; }); 
-  //hist2("hEFEtaVsPhi")->Fill(aEFTau->eta(),aEFTau->phi());
-  //hist2("hEFEtVsPhi")->Fill(aEFTau->phi(),aEFTau->pt()/GeV);
-  //hist2("hEFEtVsEta")->Fill(aEFTau->eta(),aEFTau->pt()/GeV);
+
   fill(monGroup, hEFEt,hEFEta,hEFPhi,hEFnTrack,hEFnWideTrack);
+
 }
 
 TrigInfo TrigTauMonitorAlgorithm::getTrigInfo(const std::string trigger) const{