diff --git a/Trigger/TrigHypothesis/TrigTauHypo/TrigTauHypo/HLTTauTrackRoiUpdater.h b/Trigger/TrigHypothesis/TrigTauHypo/TrigTauHypo/HLTTauTrackRoiUpdater.h
index 983bee9f3c22c28975299302b9728e990f9ae1cc..6e1b8db0207b3c340c0dd072ac9d90751d133af6 100644
--- a/Trigger/TrigHypothesis/TrigTauHypo/TrigTauHypo/HLTTauTrackRoiUpdater.h
+++ b/Trigger/TrigHypothesis/TrigTauHypo/TrigTauHypo/HLTTauTrackRoiUpdater.h
@@ -22,6 +22,10 @@ class HLTTauTrackRoiUpdater : public HLT::FexAlgo
 
   float m_z0HalfWidth;
   std::string m_InputTrackColl;
-  
+
+  int m_nHitPix;      //<! at least n hits in pixels on lead track
+  int m_nSiHoles;     //<! maximum number of Si holes on lead track
+
+
 };
 #endif
diff --git a/Trigger/TrigHypothesis/TrigTauHypo/cmt/requirements b/Trigger/TrigHypothesis/TrigTauHypo/cmt/requirements
index 2e1f3f74117fe6477d1f60b05ddc2c954623a2ed..c50a0493702e44d659e7f1c93097f7b16fc3c16d 100755
--- a/Trigger/TrigHypothesis/TrigTauHypo/cmt/requirements
+++ b/Trigger/TrigHypothesis/TrigTauHypo/cmt/requirements
@@ -2,11 +2,11 @@ package TrigTauHypo
 
 use     AtlasPolicy             AtlasPolicy-*
 use     GaudiInterface          GaudiInterface-*     	External
-use     TrigCaloEvent     		TrigCaloEvent-*      	Trigger/TrigEvent
-use     TrigInDetEvent     		TrigInDetEvent-*     	Trigger/TrigEvent
-use     TrigParticle     		TrigParticle-*       	Trigger/TrigEvent
+use     TrigCaloEvent           TrigCaloEvent-*      	Trigger/TrigEvent
+use     TrigInDetEvent          TrigInDetEvent-*     	Trigger/TrigEvent
+use     TrigParticle            TrigParticle-*       	Trigger/TrigEvent
 use     TrigSteeringEvent     	TrigSteeringEvent-*     Trigger/TrigEvent
-use     TrigInterfaces    		TrigInterfaces-*        Trigger/TrigSteer
+use     TrigInterfaces          TrigInterfaces-*        Trigger/TrigSteer
 use     AtlasROOT               AtlasROOT-*             External
 use     StoreGate               StoreGate-*             Control
 
@@ -31,10 +31,11 @@ use     EventInfo               EventInfo-*             Event
 use     PathResolver            PathResolver-*          Tools
 use     TrigCaloEvent           TrigCaloEvent-*         Trigger/TrigEvent
 use     TrkTrack                TrkTrack-*              Tracking/TrkEvent
-use		xAODJet                 xAODJet-*               Event/xAOD
-use		xAODCaloEvent           xAODCaloEvent-*         Event/xAOD
-use		xAODTau					xAODTau-*				Event/xAOD
-use 	xAODTracking			xAODTracking-*			Event/xAOD
-use     CaloEvent				CaloEvent-*				Calorimeter
+use     TrkTrackSummary         TrkTrackSummary-*       Tracking/TrkEvent
+use	xAODJet                 xAODJet-*               Event/xAOD
+use	xAODCaloEvent           xAODCaloEvent-*         Event/xAOD
+use	xAODTau                 xAODTau-*		Event/xAOD
+use 	xAODTracking            xAODTracking-*          Event/xAOD
+use     CaloEvent               CaloEvent-*             Calorimeter
 
 end_private
diff --git a/Trigger/TrigHypothesis/TrigTauHypo/src/EFTauMVHypo.cxx b/Trigger/TrigHypothesis/TrigTauHypo/src/EFTauMVHypo.cxx
index 3b52ee32ac05199aa69d2f7fad75b1ff99d5fb42..a753ebc8c57c9e3e56dd1eb58c10763605a0988b 100644
--- a/Trigger/TrigHypothesis/TrigTauHypo/src/EFTauMVHypo.cxx
+++ b/Trigger/TrigHypothesis/TrigTauHypo/src/EFTauMVHypo.cxx
@@ -75,7 +75,7 @@ HLT::ErrorCode EFTauMVHypo::hltInitialize()
   msg() << MSG::INFO << " REGTEST: EFTauMVHypo will cut on "<<endreq;
   msg() << MSG::INFO << " REGTEST: param NTrackMin " << m_numTrackMin <<endreq;
   msg() << MSG::INFO << " REGTEST: param NTrackMax " << m_numTrackMax <<endreq;
-  msg() << MSG::INFO << " REGTEST: param NTrackMax " << m_numWideTrackMax <<endreq;
+  msg() << MSG::INFO << " REGTEST: param NWideTrackMax " << m_numWideTrackMax <<endreq;
   msg() << MSG::INFO << " REGTEST: param EtCalib " << m_EtCalibMin <<endreq;
   msg() << MSG::INFO << " REGTEST: param Level " << m_level <<endreq;
   msg() << MSG::INFO << " REGTEST: param Method " << m_method <<endreq;
diff --git a/Trigger/TrigHypothesis/TrigTauHypo/src/HLTTauTrackRoiUpdater.cxx b/Trigger/TrigHypothesis/TrigTauHypo/src/HLTTauTrackRoiUpdater.cxx
index f6d57762babdf2a4c7db31dfa32b3411ddeabc2e..dd7c845514dc0925ce4d05392940987bd50bf979 100644
--- a/Trigger/TrigHypothesis/TrigTauHypo/src/HLTTauTrackRoiUpdater.cxx
+++ b/Trigger/TrigHypothesis/TrigTauHypo/src/HLTTauTrackRoiUpdater.cxx
@@ -13,13 +13,16 @@
 
 #include "TrkTrack/Track.h"
 #include "TrkTrack/TrackCollection.h"
-
+#include "TrkTrackSummary/TrackSummary.h"
 
 HLTTauTrackRoiUpdater::HLTTauTrackRoiUpdater(const std::string & name, ISvcLocator* pSvcLocator) 
   : HLT::FexAlgo(name, pSvcLocator)
 {
   declareProperty("InputTrackCollection", m_InputTrackColl = "TrigFastTrackFinder_TauCore");
   declareProperty("z0HalfWidth",          m_z0HalfWidth = 0.4);
+  declareProperty("nHitPix",              m_nHitPix = 2);
+  declareProperty("nSiHoles",             m_nSiHoles = 2);
+
 }
 
 HLTTauTrackRoiUpdater::~HLTTauTrackRoiUpdater()
@@ -90,6 +93,7 @@ HLT::ErrorCode HLTTauTrackRoiUpdater::hltExecute(const HLT::TriggerElement*, HLT
 
     const Trk::Track *leadTrack = 0;
     const Trk::Perigee *trackPer = 0;
+    const Trk::TrackSummary* summary = 0;
     float trkPtMax = 0;
     
     TrackCollection::const_iterator it = foundTracks->begin();
@@ -97,34 +101,80 @@ HLT::ErrorCode HLTTauTrackRoiUpdater::hltExecute(const HLT::TriggerElement*, HLT
 
     // Find leading track
 
+ 
+
     for (;it!=itEnd;it++){
+
+      const Trk::Track* track = *it;
+
+      trackPer = track->perigeeParameters();
+      summary = track->trackSummary();
+
  
-     const Trk::Track* track = *it;
-     trackPer = track->perigeeParameters();
+      if(summary==0){
+        msg() << MSG::DEBUG << " track summary not available in RoI updater " << trkPtMax << endreq;
+      }
 
-     if(trackPer){
-	
-       float trackPt = trackPer->pT()*1e-3;
-       if ( trackPt > trkPtMax ) {
-	 leadTrack = (*it);
-	 trkPtMax = trackPt;
-       }
+ 
+
+      if(trackPer && summary){
 
-     }
+ 	float trackPt = trackPer->pT();
+
+
+	if ( trackPt > trkPtMax ) {
+
+
+	  int nPix  = summary->get(Trk::numberOfPixelHits);
+	  if(nPix<0) nPix=0;
+
+	  if(nPix < m_nHitPix) {
+
+	    msg() << MSG::DEBUG << "Track rejected because of nHitPix " << nPix << " < " << m_nHitPix << endreq;
+
+	    continue;
+
+	  }
+
+ 
+	  int nPixHole = summary->get(Trk::numberOfPixelHoles);
+	  if (nPixHole < 0) nPixHole = 0;
+	
+	  int nSCTHole = summary->get(Trk::numberOfSCTHoles);
+	  if (nSCTHole < 0) nSCTHole = 0;
+	
+	  if((nPixHole + nSCTHole) > m_nSiHoles) {
+	    
+	    msg() << MSG::DEBUG << "Track rejected because of nSiHoles " << nPixHole + nSCTHole << " > " << m_nSiHoles << endreq;
+	    
+	    continue;
+	  
+	  }
+	
+		  
+	  leadTrack = (*it);
+	  trkPtMax = trackPt;
+	  
+	}
+	
+	
+	
+      }
 
     }
 
+
     if(leadTrack) {
       msg() << MSG::DEBUG << " leading track pT " << trkPtMax << endreq;
     }
     else msg() << MSG::DEBUG << " no leading track pT found " << endreq;
-        
+    
     if(leadTrack){
       leadTrkZ0 = leadTrack->perigeeParameters()->parameters()[Trk::z0];
     }
-
+    
   }
-
+  
   float z0Min = leadTrkZ0 - m_z0HalfWidth;
   float z0Max = leadTrkZ0 + m_z0HalfWidth;
 
@@ -141,13 +191,13 @@ HLT::ErrorCode HLTTauTrackRoiUpdater::hltExecute(const HLT::TriggerElement*, HLT
   
   if ( HLT::OK !=  attachFeature(outputTE, outRoi, roiName) ) {
     ATH_MSG_ERROR("Could not attach feature to the TE");
-       return HLT::NAV_ERROR;
+    return HLT::NAV_ERROR;
   }
   else {
     ATH_MSG_DEBUG("REGTEST: attached RoI " << roiName << *outRoi);
   }
   
-
+  
   return HLT::OK;
-
+  
 }