diff --git a/InnerDetector/InDetExample/InDetTrigRecExample/python/TrigInDetConfiguredVtxCuts.py b/InnerDetector/InDetExample/InDetTrigRecExample/python/TrigInDetConfiguredVtxCuts.py
new file mode 100644
index 0000000000000000000000000000000000000000..e1d891932927d63777bd129f6df1807e0a1ca457
--- /dev/null
+++ b/InnerDetector/InDetExample/InDetTrigRecExample/python/TrigInDetConfiguredVtxCuts.py
@@ -0,0 +1,178 @@
+#
+# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
+#
+
+from __future__ import print_function
+
+import AthenaCommon.SystemOfUnits as Units
+
+
+
+class ConfiguredTrigVtxCuts():
+#	"""docstring for ConfiguredTrigVtxCuts"""
+    def __init__(self, mode = ""):
+        self.__mode = mode
+
+        # Cut level for the track selection tool.
+        self.__TrackCutLevel             = "NoCut"
+
+        # this is cutLevel = 1
+        self.__minPT               = 400. * Units.MeV
+        self.__IPd0Max             = 4. # = 4. for useBeamConstraint()==true, = 10. for useBeamConstraint()==false
+        self.__IPz0Max             = 1000.
+        self.__z0Max               = 1000.
+        self.__sigIPd0Max          = 5.
+        self.__sigIPz0Max          = 10.
+        self.__d0significanceMax   = -1.
+        self.__z0significanceMax   = -1.
+        self.__etaMax		       = 9999.
+   
+        #cluster and track quality cuts   
+        self.__useTrackSummaryInfo       = True
+        self.__nHitInnermostLayer        = 0
+        self.__nHitPix                   = 1
+        self.__nHolesPix                 = 1
+        self.__nHitSct                   = 4
+        self.__nHitSi                    = 6
+        self.__nHitTrt                   = 0
+        self.__nHitTrtHighEFractionMax   = 1
+        self.__nHitTrtHighEFractionWithOutliersMax = 1
+        self.__useSharedHitInfo          = False
+        self.__useTrackQualityInfo       = False 
+        self.__fitChi2OnNdfMax           = 3.5
+        self.__TrtMaxEtaAcceptance       = 1.9
+   
+         #cuts ONLY relevant to InDetPriVxFinder + Full or Fast or similar
+        self.__chi2CutMethod             = 2
+        self.__enableMultipleVertices    = True  
+
+        self.__doMaxTracksCut            = True
+        self.__MaxTracks                 = 3000  #Not applied  anyway if above false
+
+#        self.__indetflags = InDetFlags  #TODO: implement or find InDetJobProperties
+
+    def mode( self ) :
+        return self.__mode
+  
+    def TrackCutLevel( self ) :
+        return self.__TrackCutLevel
+  
+    def minPT( self ) :
+        return self.__minPT
+      
+    def IPd0Max( self ) :  
+        return self.__IPd0Max
+      
+    def IPz0Max( self ) : 
+        return self.__IPz0Max
+      
+    def  z0Max( self ) :
+        return self.__z0Max
+      
+    def  sigIPd0Max( self ) :  			
+        return self.__sigIPd0Max
+     
+    def  sigIPz0Max( self ) : 
+        return self.__sigIPz0Max
+     
+    def d0significanceMax( self ) : 
+        return self.__d0significanceMax
+     
+    def z0significanceMax( self ) : 
+        return self.__z0significanceMax
+   
+    def etaMax( self ) :  
+        return self.__etaMax
+  
+    def useTrackSummaryInfo( self ) :  
+        return self.__useTrackSummaryInfo
+     
+    def nHitInnermostLayer( self ) :  
+        return self.__nHitInnermostLayer
+     
+    def nHitPix( self ):
+        return self.__nHitPix
+     
+    def nHitSct( self ):
+        return self.__nHitSct
+     
+    def nHitSi( self ):
+        return self.__nHitSi
+     
+    def nHitTrt( self ):
+        return self.__nHitTrt
+     
+    def nHitTrtHighEFractionMax(self): 
+        return self.__nHitTrtHighEFractionMax
+     
+    def nHitTrtHighEFractionWithOutliersMax(self):
+        return self.__nHitTrtHighEFractionWithOutliersMax
+     
+    def useSharedHitInfo(self):
+        return self.__useSharedHitInfo
+     
+    def useTrackQualityInfo(self):
+        return self.__useTrackQualityInfo
+     
+    def fitChi2OnNdfMax(self):
+        return self.__fitChi2OnNdfMax
+     
+    def TrtMaxEtaAcceptance(self):
+        return self.__TrtMaxEtaAcceptance
+  
+    def MaxChi2PerTrack(self):
+        return self.__maxChi2PerTrack 
+  
+    def nHolesPix(self):
+        return self.__nHolesPix
+  
+    def chi2CutMethod(self): 
+        return self.__chi2CutMethod
+  
+    def enableMultipleVertices(self): 
+        return self.__enableMultipleVertices
+  
+    def doMaxTracksCut(self):
+        return self.__doMaxTracksCut
+
+    def MaxTracks(self):
+        return self.__MaxTracks
+
+    def printInfo( self ) :
+        print('****** Inner Detector Primary Vertex Reconstruction Cuts ****************************')
+        print('*')
+        print('* mode is                                           : ' + self.__mode)
+        #print('* cut level for primary vertexing is                : ' + self.__indetflags.priVtxCutLevel())
+        print('*')
+        print('* Track Cut Level                                   : ' + self.__TrackCutLevel)
+        print('*')
+        print('* min pT                                            : ' + str(self.__minPT) + ' MeV')
+        print('* Max IP d0                                         : ' + str(self.__IPd0Max))
+        print('* Max IP Z0                                         : ' + str(self.__IPz0Max))
+        print('* Max z0                                            : ' + str(self.__z0Max))
+        print('* Max Sig IP d0                                     : ' + str(self.__sigIPd0Max))
+        print('* Max Sig IP z0                                     : ' + str(self.__sigIPz0Max))
+        print('* Max Sig d0                                        : ' + str(self.__d0significanceMax))
+        print('* Max Sig z0                                        : ' + str(self.__z0significanceMax))
+        print('* Max eta                                           : ' + str(self.__etaMax))
+   
+#cluster and track quality cuts  
+        print('* Use TrackSummary                                  : ' + str(self.__useTrackSummaryInfo))
+        print('* Min N Innermost Layer Hits                        : ' + str(self.__nHitInnermostLayer))
+        print('* Min N Pix Hit                                     : ' + str(self.__nHitPix))
+        print('* Max N Pix Holes                                   : ' + str(self.__nHolesPix))
+        print('* Min N SCT Hits                                    : ' + str(self.__nHitSct))
+        print('* Min N Si Hits                                     : ' + str(self.__nHitSi))
+        print('* Min N TRT Hits                                    : ' + str(self.__nHitTrt))
+        print('* Min N high threshold hits TRT                     : ' + str(self.__nHitTrtHighEFractionMax))
+        print('* Min N high threshold hits TRT  (incl. outliers)   : ' + str(self.__nHitTrtHighEFractionWithOutliersMax))
+        print('* Use shared hit info                               : ' + str(self.__useSharedHitInfo))
+        print('* Use Track Quality info                            : ' + str(self.__useTrackQualityInfo))
+        print('* Chi2/ndf of the fit                               : ' + str(self.__fitChi2OnNdfMax))
+        print('* TRT Max  eta                                      : ' + str(self.__TrtMaxEtaAcceptance))
+        print('*')
+        print('* Chi2 cut method                                   : ' + str(self.__chi2CutMethod ))
+        print('* Enable Multiple Vertices                          : ' + str(self.__enableMultipleVertices) )
+        print('*')
+        print('***********************************************************************************')
+
diff --git a/InnerDetector/InDetRecAlgs/InDetPriVxFinder/python/InDetPriVxFinderMonitoring.py b/InnerDetector/InDetRecAlgs/InDetPriVxFinder/python/InDetPriVxFinderMonitoring.py
index b77583df96d60d823188415bd36f5cd9ed1b8519..0828c432589ff2756b17b3e05d64aaaa2dc45fb1 100644
--- a/InnerDetector/InDetRecAlgs/InDetPriVxFinder/python/InDetPriVxFinderMonitoring.py
+++ b/InnerDetector/InDetRecAlgs/InDetPriVxFinder/python/InDetPriVxFinderMonitoring.py
@@ -2,8 +2,12 @@ from AthenaMonitoringKernel.GenericMonitoringTool import GenericMonitoringTool
 
 def InDetPriVxFinderMonitoringTool():
     newMonTool = GenericMonitoringTool("PriVxMonTool")
-    newMonTool.defineHistogram('numTracks'  , type='TH1F',path='EXPERT',title="Number of Input Tracks", xbins=200, xmin=0., xmax=200)
-    newMonTool.defineHistogram('numVertices', type='TH1F',path='EXPERT',title="Number of Vertices    ", xbins=100, xmin=0., xmax=100)
+
+    newMonTool.defineHistogram('allVertexNTracks'   , type='TH1I',path='EXPERT',title="N of Input Tracks of all vertices"    , xbins=50, xmin=0., xmax=50)
+    newMonTool.defineHistogram('primVertexNTracks'  , type='TH1I',path='EXPERT',title="N of Input Tracks of primary vertices", xbins=50, xmin=0., xmax=50)
+    
+    newMonTool.defineHistogram('NVertices', type='TH1I',path='EXPERT',title="N of Vertices    ", xbins=50, xmin=0., xmax=50)
+
 
    #All vertices X vs Y position 
     newMonTool.defineHistogram('allVertexZ', type='TH1F',path='EXPERT',title="All Vertex Z position", xbins=400, xmin=-50., xmax=50)
@@ -17,9 +21,9 @@ def InDetPriVxFinderMonitoringTool():
 
 
    #Just primary vertex
-    newMonTool.defineHistogram('primVertexZ', type='TH1F',path='EXPERT',title="All Vertex Z position", xbins=400, xmin=-50., xmax=50)
-    newMonTool.defineHistogram('primVertexChi2', type='TH1F',path='EXPERT',title="All Vertex Chi2 of the fit", xbins=100, xmin=0., xmax=10)
-    newMonTool.defineHistogram('primVertexnDoF', type='TH1F',path='EXPERT',title="All Vertex nDoF of the fit", xbins=100, xmin=0., xmax=10)
+    newMonTool.defineHistogram('primVertexZ', type='TH1F',path='EXPERT',title="Primary Vertex Z position", xbins=400, xmin=-50., xmax=50)
+    newMonTool.defineHistogram('primVertexChi2', type='TH1F',path='EXPERT',title="Primary Vertex Chi2 of the fit", xbins=100, xmin=0., xmax=10)
+    newMonTool.defineHistogram('primVertexnDoF', type='TH1F',path='EXPERT',title="Primary Vertex nDoF of the fit", xbins=100, xmin=0., xmax=10)
 
     newMonTool.defineHistogram('primVertexX, primVertexY',path='EXPERT', type='TH2F',
                                                  title="Primary Vertex Y vs X; Vertex X [mm]; Vertex Y [mm]",
diff --git a/InnerDetector/InDetRecAlgs/InDetPriVxFinder/src/InDetPriVxFinder.cxx b/InnerDetector/InDetRecAlgs/InDetPriVxFinder/src/InDetPriVxFinder.cxx
index 3ce6d6ba6899b8c2c9b11de3eaec97c59cf24622..d508a6f4099afdb025b674bafbd1dedfa94ec4cf 100755
--- a/InnerDetector/InDetRecAlgs/InDetPriVxFinder/src/InDetPriVxFinder.cxx
+++ b/InnerDetector/InDetRecAlgs/InDetPriVxFinder/src/InDetPriVxFinder.cxx
@@ -109,104 +109,88 @@ namespace InDet
   {
     m_numEventsProcessed++;
 
-    auto numOfTracks   = Monitored::Scalar<int>( "numTracks"   , 0 );
-    auto numOfVertices = Monitored::Scalar<int>( "numVertices" , 0 );
-
     SG::WriteHandle<xAOD::VertexContainer> outputVertices (m_vxCandidatesOutputName);
 
-    xAOD::VertexContainer* theXAODContainer = 0;
-    xAOD::VertexAuxContainer* theXAODAuxContainer = 0;
-    std::pair<xAOD::VertexContainer*,xAOD::VertexAuxContainer*> theXAODContainers
-	= std::make_pair( theXAODContainer, theXAODAuxContainer );
+    xAOD::VertexContainer*    vertexContainer = 0;
+    xAOD::VertexAuxContainer* vertexAuxContainer = 0;
+    std::pair< xAOD::VertexContainer*, xAOD::VertexAuxContainer* > vertexContainerPair
+	= std::make_pair( vertexContainer, vertexAuxContainer );
 
     if(m_useTrackParticles){
       SG::ReadHandle<xAOD::TrackParticleContainer> trackParticleCollection(m_tracksName);
       if(trackParticleCollection.isValid()){
-	theXAODContainers = m_VertexFinderTool->findVertex ( trackParticleCollection.cptr() );
-        numOfTracks = trackParticleCollection->size();
+	vertexContainerPair = m_VertexFinderTool->findVertex ( trackParticleCollection.cptr() );
       }
       else{
-	ATH_MSG_DEBUG("No TrackParticle Collection with key "<<m_tracksName.key()<<" exists in StoreGate. No Vertexing Possible");
-	return StatusCode::SUCCESS;
+	ATH_MSG_ERROR("No TrackParticle Collection with key "<<m_tracksName.key()<<" exists in StoreGate. No Vertexing Possible");
+	return StatusCode::FAILURE;
       }
     }
     else{
       SG::ReadHandle<TrackCollection> trackCollection(m_trkTracksName);
       if(trackCollection.isValid()){
-	theXAODContainers = m_VertexFinderTool->findVertex ( trackCollection.cptr() );
-        numOfTracks = trackCollection->size();
+	vertexContainerPair = m_VertexFinderTool->findVertex ( trackCollection.cptr() );
       }
       else{
-	ATH_MSG_DEBUG("No Trk::Track Collection with key "<<m_trkTracksName.key()<<" exists in StoreGate. No Vertexing Possible");
-	return StatusCode::SUCCESS;
+	ATH_MSG_ERROR("No Trk::Track Collection with key "<<m_trkTracksName.key()<<" exists in StoreGate. No Vertexing Possible");
+	return StatusCode::FAILURE;
       }
 
     }
 
-
-
-
     // now  re-merge and resort the vertex container and store to SG
     xAOD::VertexContainer* myVertexContainer = 0;
     xAOD::VertexAuxContainer* myVertexAuxContainer = 0;
-    std::pair<xAOD::VertexContainer*, xAOD::VertexAuxContainer*> myVxContainers
+    std::pair<xAOD::VertexContainer*, xAOD::VertexAuxContainer*  > myVertexContainerPair
       = std::make_pair( myVertexContainer, myVertexAuxContainer );
-    
-    
-    if (theXAODContainers.first) {
+        
+    if (vertexContainerPair.first) {
       //sort xAOD::Vertex container
       
-      if(m_doVertexMerging && theXAODContainers.first->size() > 1) {
-        myVxContainers = m_VertexMergingTool->mergeVertexContainer( *theXAODContainers.first );
-        delete theXAODContainers.first; //also cleans up the aux store
-        delete theXAODContainers.second; 
-       	theXAODContainers = myVxContainers;
+      if(m_doVertexMerging && vertexContainerPair.first->size() > 1) {
+        myVertexContainerPair = m_VertexMergingTool->mergeVertexContainer( *vertexContainerPair.first );
+        delete vertexContainerPair.first; //also cleans up the aux store
+        delete vertexContainerPair.second; 
+       	vertexContainerPair = myVertexContainerPair;
       }
       
-      if (m_doVertexSorting && theXAODContainers.first->size() > 1) {	
-	myVxContainers = m_VertexCollectionSortingTool->sortVertexContainer(*theXAODContainers.first);
-	delete theXAODContainers.first; //also cleans up the aux store
-        delete theXAODContainers.second; 
+      if (m_doVertexSorting && vertexContainerPair.first->size() > 1) {	
+	myVertexContainerPair = m_VertexCollectionSortingTool->sortVertexContainer(*vertexContainerPair.first);
+	delete vertexContainerPair.first; //also cleans up the aux store
+        delete vertexContainerPair.second; 
       } else {
-	myVxContainers.first = theXAODContainers.first;
-	myVxContainers.second = theXAODContainers.second;
+	myVertexContainerPair.first = vertexContainerPair.first;
+	myVertexContainerPair.second = vertexContainerPair.second;
       }
       
-      if (myVxContainers.first == 0) {
-	ATH_MSG_WARNING("Vertex container has no associated store.");
-	return StatusCode::SUCCESS;
+      if (myVertexContainerPair.first == 0) {
+	ATH_MSG_ERROR("Vertex container has no associated store.");
+	return StatusCode::FAILURE;
       }
       
-      if (not myVxContainers.first->hasStore()) {
-	ATH_MSG_WARNING("Vertex container has no associated store.");
-	return StatusCode::SUCCESS;
+      if (not myVertexContainerPair.first->hasStore()) {
+	ATH_MSG_ERROR("Vertex container has no associated store.");
+	return StatusCode::FAILURE;
       }
       
-      ATH_MSG_DEBUG("Successfully reconstructed " << myVxContainers.first->size()-1 << " vertices (excluding dummy)");
-      m_totalNumVerticesWithoutDummy += (myVxContainers.first->size()-1); 
-      numOfVertices = m_totalNumVerticesWithoutDummy;
+      ATH_MSG_DEBUG("Successfully reconstructed " << myVertexContainerPair.first->size()-1 << " vertices (excluding dummy)");
+      m_totalNumVerticesWithoutDummy += (myVertexContainerPair.first->size()-1); 
     }
 
-
-    //Loop over vertex container and monitor vertex parameters
-    for ( xAOD::VertexContainer::iterator vertexIter = myVxContainers.first->begin();
-          vertexIter != myVxContainers.first->end(); ++vertexIter ) { 
-
-       monitor_vertex( "allVertex", **vertexIter); 
-
-       //This expects that vertices are already sorted by SumpT(or different criteria)!!!
-       if( vertexIter == myVxContainers.first->begin() ) monitor_vertex( "primVertex", **vertexIter); 
+    ATH_CHECK(outputVertices.record(std::unique_ptr<xAOD::VertexContainer>(myVertexContainerPair.first),std::unique_ptr<xAOD::VertexAuxContainer>(myVertexContainerPair.second)));
+
+    auto NVertices = Monitored::Scalar<int>( "NVertices" , 0 );
+    for ( xAOD::VertexContainer::iterator vertexIter = myVertexContainerPair.first->begin();
+          vertexIter != myVertexContainerPair.first->end(); ++vertexIter ) {
+        if((*vertexIter)->nTrackParticles() > 0 and (*vertexIter)->vertexType() != 0 ){
+            NVertices++;
+            monitor_vertex( "allVertex", **vertexIter);
+            //This expects that vertices are already sorted by SumpT(or different criteria)!!!
+            if( vertexIter == myVertexContainerPair.first->begin() ) monitor_vertex( "primVertex", **vertexIter);
+        }
     }
+    auto mon = Monitored::Group( m_monTool, NVertices);
 
-
-    
-    ATH_CHECK(outputVertices.record(std::unique_ptr<xAOD::VertexContainer>(myVxContainers.first),std::unique_ptr<xAOD::VertexAuxContainer>(myVxContainers.second)));
-    
-    
-    ATH_MSG_DEBUG( "Recorded Vertices with key: " << m_vxCandidatesOutputName.key() );
-
-    auto mon = Monitored::Group( m_monTool, numOfTracks, numOfVertices );  
-  
     return StatusCode::SUCCESS;
   }
   
@@ -222,12 +206,26 @@ namespace InDet
   }
 
   void InDetPriVxFinder::monitor_vertex( const std::string &prefix, xAOD::Vertex vertex ){
-     auto x        = Monitored::Scalar<double>( prefix + "X",    vertex.x() ); 
-     auto y        = Monitored::Scalar<double>( prefix + "Y",    vertex.y() ); 
-     auto z        = Monitored::Scalar<double>( prefix + "Z",    vertex.z() ); 
-     auto chi2     = Monitored::Scalar<double>( prefix + "Chi2", vertex.chiSquared() ); 
-     auto nDoF     = Monitored::Scalar<double>( prefix + "nDoF",    vertex.numberDoF() ); 
-     auto mon = Monitored::Group(m_monTool,  x, y, z, chi2, nDoF  );
+     if (prefix == "allVertex"){
+         auto x        = Monitored::Scalar<double>( "allVertexX",       vertex.x()               ); 
+         auto y        = Monitored::Scalar<double>( "allVertexY",       vertex.y()               ); 
+         auto z        = Monitored::Scalar<double>( "allVertexZ",       vertex.z()               ); 
+         auto chi2     = Monitored::Scalar<double>( "allVertexChi2",    vertex.chiSquared()      ); 
+         auto nDoF     = Monitored::Scalar<double>( "allVertexnDoF",    vertex.numberDoF()       ); 
+         auto NTracks  = Monitored::Scalar<int>   ( "allVertexNTracks", vertex.nTrackParticles() );
+         auto mon = Monitored::Group(m_monTool,  x, y, z, chi2, nDoF, NTracks );
+     }
+     else if (prefix == "primVertex"){
+         auto x        = Monitored::Scalar<double>( "primVertexX",       vertex.x()               );
+         auto y        = Monitored::Scalar<double>( "primVertexY",       vertex.y()               );
+         auto z        = Monitored::Scalar<double>( "primVertexZ",       vertex.z()               );
+         auto chi2     = Monitored::Scalar<double>( "primVertexChi2",    vertex.chiSquared()      );
+         auto nDoF     = Monitored::Scalar<double>( "primVertexnDoF",    vertex.numberDoF()       );
+         auto NTracks  = Monitored::Scalar<int>   ( "primVertexNTracks", vertex.nTrackParticles() );
+         auto mon = Monitored::Group(m_monTool,  x, y, z, chi2, nDoF, NTracks );
+     }
   }
+
+
   
 } // end namespace InDet
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysis/TrigInDetAnalysis/TIDAChain.h b/Trigger/TrigAnalysis/TrigInDetAnalysis/TrigInDetAnalysis/TIDAChain.h
index fefd19330f313841885dfe95e3e9a7db1ecf876b..f29a7dd742c75dcf1abb3d0ddfebc1175187de74 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysis/TrigInDetAnalysis/TIDAChain.h
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysis/TrigInDetAnalysis/TIDAChain.h
@@ -60,6 +60,10 @@ public:
   TIDA::Roi& back() { return m_roi.back(); }
 
   TIDA::Roi& operator[](int i) { return m_roi.at(i); }
+  TIDA::Roi&         at(int i) { return m_roi.at(i); }
+
+  const TIDA::Roi& operator[](int i) const { return m_roi.at(i); }
+  const TIDA::Roi&         at(int i) const { return m_roi.at(i); }
 
 private:
 
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysis/TrigInDetAnalysis/TIDAEvent.h b/Trigger/TrigAnalysis/TrigInDetAnalysis/TrigInDetAnalysis/TIDAEvent.h
index 508676633ecfdb37911c5d5ecab67893b538816f..1eeed988937db6c37bf2799418ed016440193a3e 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysis/TrigInDetAnalysis/TIDAEvent.h
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysis/TrigInDetAnalysis/TIDAEvent.h
@@ -76,6 +76,8 @@ public:
   const std::vector<TIDA::Chain>& chains() const { return m_chains; };
   std::vector<TIDA::Chain>&       chains()       { return m_chains; };
   
+  const TIDA::Chain* chain( const std::string& s ) const;
+
   //void setTruthMap(TrigInDetTrackTruthMap truthmap) {
   //	m_truthmap = truthmap;
   //}
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysis/TrigInDetAnalysis/TIDARoi.h b/Trigger/TrigAnalysis/TrigInDetAnalysis/TrigInDetAnalysis/TIDARoi.h
index 834893c81db605ebff019113ac27c9ccd2890d40..361fb79edb5dd612c14af22e8687ca0312231c8e 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysis/TrigInDetAnalysis/TIDARoi.h
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysis/TrigInDetAnalysis/TIDARoi.h
@@ -101,6 +101,7 @@ inline std::ostream& operator<<( std::ostream& s, const TIDA::Roi& r ) {
   for ( unsigned i=0 ; i<r.tracks().size() ; i++ )   s << "\n\t\t\t" << r.tracks()[i];
   for ( unsigned i=0 ; i<r.user().size() ; i++ )     s << "\n\t\t\t" << r.user()[i];
   for ( unsigned i=0 ; i<r.objects().size() ; i++ )  s << "\n\t\t\t" << r.objects()[i];
+  s << "\tvertices: " << r.vertices().size();
   for ( unsigned i=0 ; i<r.vertices().size() ; i++ ) s << "\n\t\t\t" << r.vertices()[i];
   return s;
 }
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysis/src/TIDAEvent.cxx b/Trigger/TrigAnalysis/TrigInDetAnalysis/src/TIDAEvent.cxx
index e9576e66016ce3ec8428ebd27d8bdd799c8d0bc9..3be6edf04531629c5d5cd60104e23d94d73b36bb 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysis/src/TIDAEvent.cxx
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysis/src/TIDAEvent.cxx
@@ -52,3 +52,9 @@ void TIDA::Event::erase( const std::string& name ) {
 
 
 
+
+const TIDA::Chain* TIDA::Event::chain( const std::string& s ) const {
+  /// could use std::find(), but would need to define an equality operator or lambda
+  for( size_t i=m_chains.size() ; i-- ;  ) if ( m_chains[i].name()==s ) return &m_chains[i]; 
+  return 0;
+}
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysis/src/TIDARoi.cxx b/Trigger/TrigAnalysis/TrigInDetAnalysis/src/TIDARoi.cxx
index 8e3f0990c76ce59fe4e31a7ec58b17fdded9f8db..ee8159d8816416878cf1ada2ca4a2bdf448e5266 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysis/src/TIDARoi.cxx
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysis/src/TIDARoi.cxx
@@ -21,7 +21,7 @@ TIDA::Roi::~Roi() { }
 
 
 void TIDA::Roi::addTracks( const std::vector<TIDA::Track*>& trackp) { 
-   clear();
+   m_tracks.clear();
    m_tracks.reserve(trackp.size());
    for ( unsigned i=0 ; i<trackp.size() ; i++ )  m_tracks.push_back(*trackp[i]);
 }
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/T_AnalysisConfigMT_Tier0.h b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/T_AnalysisConfigMT_Tier0.h
index 938129828f10bb17d7366bb0dce7604a94283a32..0c8268a234e4c12970fa50cf1f5e880360d87638 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/T_AnalysisConfigMT_Tier0.h
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/T_AnalysisConfigMT_Tier0.h
@@ -250,9 +250,8 @@ protected:
 
       m_first = false;
       
-      m_provider->msg(MSG::VERBOSE) << " using beam position\tx=" << xbeam << "\ty=" << ybeam << endmsg;
-
-      if (m_provider->msg().level() <= MSG::VERBOSE) {
+      if ( m_provider->msg().level() <= MSG::VERBOSE ) {
+	m_provider->msg(MSG::VERBOSE) << " using beam position\tx=" << xbeam << "\ty=" << ybeam << endmsg;
 	
 	std::vector<std::string> configuredChains  = (*(m_tdt))->getListOfTriggers("L2_.*, EF_.*, HLT_.*");
 	
@@ -278,8 +277,10 @@ protected:
         /// get chain
         ChainString& chainName = (*chainitr);
 
-        m_provider->msg(MSG::INFO) << "process chain " << chainName << endmsg;
-	
+	if (m_provider->msg().level() <= MSG::VERBOSE) {
+	  m_provider->msg(MSG::VERBOSE) << "process chain " << chainName << endmsg;
+	}	
+
 	if ( chainName.head() == "" ) { 
 	  
 	  std::string selectChain;
@@ -338,10 +339,10 @@ protected:
       // m_chainNames.insert( m_chainNames.end(), chains.begin(), chains.end() );
       m_chainNames = chains;
       
-      for ( unsigned ic=0 ; ic<m_chainNames.size() ; ic++ ) m_provider->msg(MSG::VERBOSE) << "Analyse chain " << m_chainNames[ic] << endmsg;
-      
-      //      for ( unsigned ic=0 ; ic<m_chainNames.size() ; ic++ ) std::cout << "loop():: Analyse chain " << m_chainNames[ic] << std::endl;
-      
+      if(m_provider->msg().level() <= MSG::VERBOSE) {
+	for ( size_t ic=m_chainNames.size() ; ic-- ;  ) m_provider->msg(MSG::VERBOSE) << "Analyse chain " << m_chainNames[ic] << endmsg;
+      }      
+
     } /// end of first event setup
     
    
@@ -514,38 +515,12 @@ protected:
     std::vector<double> refbeamspot;
     std::vector<double> testbeamspot;
 
+    /// fetch offline vertices ...
 
-
-    //std::vector<TIDA::Vertex> vertices;
-    
     m_provider->msg(MSG::VERBOSE) << "fetching AOD Primary vertex container" << endmsg;
 
-    const xAOD::VertexContainer* xaodVtxCollection = 0;
-
-    if ( m_provider->evtStore()->retrieve( xaodVtxCollection, "PrimaryVertices" ).isFailure()) {
-      m_provider->msg(MSG::WARNING) << "xAOD Primary vertex container not found with key " << "PrimaryVertices" <<  endmsg;
-    }
-    
-    if ( xaodVtxCollection!=0 ) { 
-        
-      m_provider->msg(MSG::VERBOSE) << "xAOD Primary vertex container " << xaodVtxCollection->size() <<  " entries" << endmsg;
-
-      xAOD::VertexContainer::const_iterator vtxitr = xaodVtxCollection->begin();
-      for ( ; vtxitr != xaodVtxCollection->end(); vtxitr++ ) {
-	if ( (*vtxitr)->nTrackParticles()>0 && (*vtxitr)->vertexType()!=0 ) {
-	  vertices.push_back( TIDA::Vertex( (*vtxitr)->x(),
-					    (*vtxitr)->y(),
-					    (*vtxitr)->z(),
-					    /// variances
-					    (*vtxitr)->covariancePosition()(Trk::x,Trk::x),
-					    (*vtxitr)->covariancePosition()(Trk::y,Trk::y),
-					    (*vtxitr)->covariancePosition()(Trk::z,Trk::z),
-					    (*vtxitr)->nTrackParticles(),
-					    /// quality
-					    (*vtxitr)->chiSquared(),
-					    (*vtxitr)->numberDoF() ) );
-	}
-      }
+    if ( !this->select( vertices, "PrimaryVertices" ) ) { 
+      m_provider->msg(MSG::VERBOSE) << "could not retrieve vertex collection " "PrimaryVertices" << std::endl;
     }
 
     /// add the truth particles if needed
@@ -680,6 +655,18 @@ protected:
 
         chain.back().addTracks(testtracks);
 	
+	if ( vtx_name!="" ) { 
+	  
+	  /// MT Vertex access
+
+	  m_provider->msg(MSG::VERBOSE) << "\tFetch xAOD::VertexContainer with key " << vtx_name << endmsg;
+
+	  std::vector<TIDA::Vertex> tidavertices;
+
+	  if ( this->select( tidavertices, vtx_name ) ) chain.back().addVertices( tidavertices );	 
+	}
+	
+
         if ( roiInfo ) delete roiInfo;
 
       }
@@ -757,50 +744,16 @@ protected:
 	  /// now get the vertices 
 	  
 	  if ( vtx_name!="" ) { 
-	    
-	    m_provider->msg(MSG::VERBOSE) << "\tFetch xAOD::VertexContainer for chain " << chainConfig << " with key " << vtx_name << endmsg;
 
-	    
-	    std::pair< xAOD::VertexContainer::const_iterator, 
-		       xAOD::VertexContainer::const_iterator > vtx_itrpair = this->template getCollection<xAOD::VertexContainer>( roi_link, vtx_name );
-	    
-	    if ( vtx_itrpair.first == vtx_itrpair.second ) { 
-	      m_provider->msg(MSG::WARNING) << "\tNo xAOD::Vertex for chain " << chainName << " for key " << vtx_name << endmsg;
-	    }
-	    else {
-	      
-	      m_provider->msg(MSG::INFO) << "\txAOD::VertexContainer found with size  " << (vtx_itrpair.second - vtx_itrpair.first) 
-					 << "\t" << vtx_name << endmsg;
-	            
-	      xAOD::VertexContainer::const_iterator vtxitr = vtx_itrpair.first; 
-	            
-	      for (  ; vtxitr!=vtx_itrpair.second  ;  vtxitr++ ) {
-		
-		/// leave this code commented so that we have a record of the change - as soon as we can 
-		/// fix the missing track multiplicity from the vertex this will need to go back  
-		//  if ( ( (*vtxitr)->nTrackParticles()>0 && (*vtxitr)->vertexType()!=0 ) || vtx_name=="EFHistoPrmVtx" ) {
-		if ( (*vtxitr)->vertexType()!=0  || vtx_name=="EFHistoPrmVtx" ) {
- 
-		  m_provider->msg(MSG::VERBOSE) << "\tvertex " << chainConfig << " " << (*vtxitr) << "\t name" << vtx_name << endmsg;
-		
-		  chain.back().addVertex( TIDA::Vertex( (*vtxitr)->x(),
-							(*vtxitr)->y(),
-							(*vtxitr)->z(),
-							/// variances
-							(*vtxitr)->covariancePosition()(Trk::x,Trk::x),
-							(*vtxitr)->covariancePosition()(Trk::y,Trk::y),
-							(*vtxitr)->covariancePosition()(Trk::z,Trk::z),
-							(*vtxitr)->nTrackParticles(),
-							/// quality
-							(*vtxitr)->chiSquared(),
-							(*vtxitr)->numberDoF() ) );
-		  
-		}
-	      }
-	    }
+	    std::vector<TIDA::Vertex> tidavertices;
+
+	    this->select( vertices, roi_link, vtx_name );
+
+	    chain.back().addVertices( tidavertices );
 	    
 	  } /// retrieve online vertices
 	  
+
 #if 0
 	  if ( dbg ) { 
 	    std::cout << "\tTIDA analysis for chain: " << chainname << "\t key: " << key << "\t" << **roiptr << std::endl;
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/AnalysisConfigMT_Ntuple.cxx b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/AnalysisConfigMT_Ntuple.cxx
index 149b90f237e2ad3de5dd5aaeb21250a1a97e5707..183061cf891c625d86067ee49aa894f95912d41a 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/AnalysisConfigMT_Ntuple.cxx
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/AnalysisConfigMT_Ntuple.cxx
@@ -102,9 +102,9 @@ void AnalysisConfigMT_Ntuple::loop() {
 
 		std::vector<std::string> configuredChains  = (*m_tdt)->getListOfTriggers("L2_.*, EF_.*, HLT_.*");
 
-		//		m_provider->msg(MSG::INFO) << "" << configuredChains.size() << " Configured Chains" << "" << endmsg;
+		m_provider->msg(MSG::VERBOSE) << "" << configuredChains.size() << " Configured Chains" << "" << endmsg;
 		for ( unsigned i=0 ; i<configuredChains.size() ; i++ ) { 
-		  //  m_provider->msg(MSG::INFO) << "" << "Chain " << configuredChains[i] << "   (ACN)" << endmsg;
+		  //  m_provider->msg(MSG::VERBOSE) << "" << "Chain " << configuredChains[i] << "   (ACN)" << endmsg;
 		  configuredHLTChains.insert( configuredChains[i] );
 		  
 		}
@@ -528,6 +528,7 @@ void AnalysisConfigMT_Ntuple::loop() {
 	  m_provider->msg(MSG::INFO) << "xAOD Primary vertex container " << xaodVtxCollection->size() <<  " entries" << endmsg;
 
 	  xAOD::VertexContainer::const_iterator vtxitr = xaodVtxCollection->begin();
+
 	  for ( ; vtxitr != xaodVtxCollection->end(); vtxitr++ ) {
 
 	    /// useful debug information - leave in 
@@ -568,11 +569,13 @@ void AnalysisConfigMT_Ntuple::loop() {
 	/// useful debug information - leave in  
 	//	std::cout << "SUTT Nvertices " << vertices.size() << "\ttype 101 " << vertices_full.size() << std::endl;
 
+#if 0
+	/// don;t add them to the event - since now we store them in the Vertex chain ...
 	for ( unsigned i=0 ; i<vertices.size() ; i++ )  { 
 	  m_provider->msg(MSG::DEBUG) << "vertex " << i << " " << vertices[i] << endmsg;
 	  m_event->addVertex(vertices[i]);
 	}
-	
+#endif	
 
 	/// offline object counters 
 
@@ -628,12 +631,17 @@ void AnalysisConfigMT_Ntuple::loop() {
 
 	  /// get the chain, collection and TE names and track index 
 
-	  const std::string& chainname      = m_chainNames[ichain].head();
-	  const std::string& collectionname = m_chainNames[ichain].tail();
+	  std::string chainname      = m_chainNames[ichain].head();
+	  std::string collectionname = m_chainNames[ichain].tail();
+	  std::string vtx_name       = m_chainNames[ichain].vtx();
+
 
 	  if ( chainname!="" )      continue;
 	  if ( collectionname=="" ) continue;
 
+	  chainname = collectionname;
+	  if ( vtx_name!="" ) chainname += ":" + vtx_name; 
+
 	  /// useful debug information - leave this here
 
 	  //	  const std::string& index          = m_chainNames[ichain].extra();
@@ -668,12 +676,72 @@ void AnalysisConfigMT_Ntuple::loop() {
 	    m_provider->msg(MSG::WARNING) << "\tcollection " << collectionname << " not found" << endmsg;
 	  }
 	  
+
+	  /// now retrieve any verttices for the analysis
+
+	  std::vector<TIDA::Vertex> tidavertices;
+
+	  m_provider->msg(MSG::INFO) << "\tFetch xAOD::VertexContainer with key " << vtx_name << endmsg;
+	    
+	  if ( vtx_name!="" ) { 
+	        
+	    m_provider->msg(MSG::INFO) << "\tFetch xAOD::VertexContainer with key " << vtx_name << endmsg;
+	        
+	    /// MT Vertex access
+	        
+	    const xAOD::VertexContainer* xaodVtxCollection = 0;
+	    
+	    if ( m_provider->evtStore()->retrieve( xaodVtxCollection, vtx_name ).isFailure() ) {
+	      m_provider->msg(MSG::WARNING) << "xAOD vertex container not found with key " << vtx_name <<  endmsg;
+	    }
+	    
+	    if ( xaodVtxCollection!=0 ) { 
+	            
+	      m_provider->msg(MSG::INFO) << "\txAOD::VertexContainer found with size  " << xaodVtxCollection->size()
+					 << "\t" << vtx_name << endmsg;
+	            
+	      xAOD::VertexContainer::const_iterator vtxitr = xaodVtxCollection->begin(); 
+	            
+	      for (  ; vtxitr!=xaodVtxCollection->end()  ;  vtxitr++ ) {
+		
+		/// leave this code commented so that we have a record of the change - as soon as we can 
+		/// fix the missing track multiplicity from the vertex this will need to go back  
+		//  if ( ( (*vtxitr)->nTrackParticles()>0 && (*vtxitr)->vertexType()!=0 ) || vtx_name=="EFHistoPrmVtx" ) {
+
+		// useful debug comment, left for debugging purposes ...
+		//		std::cout << "SUTT  xAOD::Vertex::type() " << (*vtxitr)->type() 
+		//			  << "\tvtxtype " << (*vtxitr)->vertexType() 
+		//			  << "\tntrax "   << (*vtxitr)->nTrackParticles() 
+		//			  << "\tz "       << (*vtxitr)->z() << std::endl; 
+
+		if ( (*vtxitr)->vertexType()!=0  || vtx_name=="EFHistoPrmVtx" ) {
+		  tidavertices.push_back( TIDA::Vertex( (*vtxitr)->x(),
+							(*vtxitr)->y(),
+							(*vtxitr)->z(),
+							/// variances
+							(*vtxitr)->covariancePosition()(Trk::x,Trk::x),
+							(*vtxitr)->covariancePosition()(Trk::y,Trk::y),
+							(*vtxitr)->covariancePosition()(Trk::z,Trk::z),
+							(*vtxitr)->nTrackParticles(),
+							/// quality
+							(*vtxitr)->chiSquared(),
+							(*vtxitr)->numberDoF() ) );
+		}
+	      }
+	            
+	    }
+	        
+	  }
+
+
+
 	  if ( found ) { 
 	    
-	    m_event->addChain( collectionname );
+	    m_event->addChain( chainname );
 	    m_event->back().addRoi(TIDARoiDescriptor(true));
+	    if ( vtx_name!="" ) m_event->back().back().addVertices( tidavertices );
 	    m_event->back().back().addTracks(selectorTest.tracks());
-	    
+
 	    if ( selectorTest.getBeamX()!=0 || selectorTest.getBeamY()!=0 || selectorTest.getBeamZ()!=0 ) { 
 	      std::vector<double> beamline_;
 	      beamline_.push_back( selectorTest.getBeamX() );
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisUser/Analysis/src/ConfAnalysis.cxx b/Trigger/TrigAnalysis/TrigInDetAnalysisUser/Analysis/src/ConfAnalysis.cxx
index ed8eb1fd28b0600bbca5cb49727dd800955f1c16..b0855525ee2b106e6b7d0f082c17d2c895aba886 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysisUser/Analysis/src/ConfAnalysis.cxx
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysisUser/Analysis/src/ConfAnalysis.cxx
@@ -649,7 +649,7 @@ void ConfAnalysis::initialiseInternal() {
   // hit occupancies
 
   int   NHits = 40;
-  int Ntracks = 1000;
+  int Ntracks = 10000;
 
   addHistogram( new TH1F( "nsct",     "nsct",     NHits, -0.5, float(NHits-0.5) ) );
   addHistogram( new TH1F( "nsct_rec", "nsct_rec", NHits, -0.5, float(NHits-0.5) ) );
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisUser/Analysis/src/comparitor.cxx b/Trigger/TrigAnalysis/TrigInDetAnalysisUser/Analysis/src/comparitor.cxx
index 176d7de22728a327c66321cebe573599c5517844..03924a3b0dff113e2aeaea3b058be473a95be3f7 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysisUser/Analysis/src/comparitor.cxx
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysisUser/Analysis/src/comparitor.cxx
@@ -1781,11 +1781,23 @@ int main(int argc, char** argv) {
 
 #if 1
 	if ( contains(histo.name(),"ntracks") ) {
-	  htest->Rebin(2);
-	  htest->Sumw2();
-	  if ( !noreftmp ) { 
-	    href->Rebin(2);
-	    href->Sumw2();
+
+	  double xm  = htest->GetMean();
+
+	  if ( xm>=10 ) { 
+	    double lxm = std::log10(xm);
+	    int newbins = int(0.5+xm/std::pow(10,int(lxm)))*pow(10,int(lxm));
+	    int nrebin   = int( (newbins+5)/10 );
+	    
+	    if ( nrebin>1 ) { 
+	      std::cout << "rebin: " << htest->GetName() << "\tbins: " << nrebin << std::endl;
+	      htest->Rebin(nrebin);
+	      htest->Sumw2();
+	      if ( !noreftmp ) { 
+		href->Rebin(nrebin);
+	      href->Sumw2();
+	      }
+	    }
 	  }
 	}
 #endif
@@ -1853,16 +1865,21 @@ int main(int argc, char** argv) {
 	std::cout << "actual chain:     " << actual_chain << std::endl;
 
 
-
+	if ( actual_chain.find("HLT_IDTrack_")!=std::string::npos )    actual_chain.erase( actual_chain.find("HLT_IDTrack_"), 12 );
 	if ( actual_chain.find("_idperf")!=std::string::npos )    actual_chain.erase( actual_chain.find("_idperf"), 7 );
 	if ( actual_chain.find("_bperf")!=std::string::npos )     actual_chain.erase( actual_chain.find("_bperf"), 6 );
 	if ( actual_chain.find("_boffperf")!=std::string::npos )  actual_chain.erase( actual_chain.find("_boffperf"), 9 );
+	if ( actual_chain.find("_HLT_")!=std::string::npos )      actual_chain.replace( actual_chain.find("_HLT_"), 5, " " );
+	if ( actual_chain.find("HLT_")!=std::string::npos )       actual_chain.erase( actual_chain.find("HLT_"), 4 );
 	if ( collection.find("_IDTrkNoCut")!=std::string::npos )  collection.erase( collection.find("_IDTrkNoCut"), 11 );
 	if ( collection.find("xAODCnv")!=std::string::npos )      collection.erase( collection.find("xAODCnv"), 7 );
+	if ( collection.find("HLT_IDTrack_")!=std::string::npos ) collection.erase( collection.find("HLT_IDTrack_"), 12 );
 	if ( collection.find("HLT_IDTrack")!=std::string::npos )  collection.erase( collection.find("HLT_IDTrack"), 11 );
 	if ( collection.find("Tracking")!=std::string::npos )     collection.replace( collection.find("Tracking"), 8, "Trk" );    
 	if ( collection.find("InDetTrigTrk_")!=std::string::npos ) collection.erase( collection.find("InDetTrigTrk_"), 13 );    
 	if ( collection.find("HLT_xAODTracks_")!=std::string::npos ) collection.erase( collection.find("HLT_xAODTracks_"), 15 );    
+	if ( collection.find("_HLT_")!=std::string::npos ) collection.replace( collection.find("_HLT_"), 5, " " );    
+	if ( collection.find("HLT_")!=std::string::npos )  collection.erase( collection.find("HLT_"), 4 );    
 
 	std::string c = actual_chain + " : " + collection;
 
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisUser/Analysis/src/rmain.cxx b/Trigger/TrigAnalysis/TrigInDetAnalysisUser/Analysis/src/rmain.cxx
index a2fb73f028aa0c07f21d4d3faf0b3a61eafbe865..f32b4b4e31f4626684cf077fa1efe186ee5edb67 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysisUser/Analysis/src/rmain.cxx
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysisUser/Analysis/src/rmain.cxx
@@ -342,7 +342,6 @@ int usage(const std::string& name, int status) {
   //  s << "\nSee " << PACKAGE_URL << " for more details\n"; 
   s << "\nReport bugs to sutt@cern.ch";
   s << std::endl;
-
   
   return status;
 }
@@ -781,7 +780,8 @@ int main(int argc, char** argv)
     else vtxind_rec = atoi_check( vertexSelection_rec ); 
   }
   
-  
+  std::cout << "vertexSelection:     " << vertexSelection << std::endl; 
+  std::cout << "vertexSelection_rec: " << vertexSelection_rec << std::endl; 
 
 
 #if 0
@@ -1390,7 +1390,10 @@ int main(int argc, char** argv)
   std::cout << "starting event loop " << time_str() << std::endl;
     
 
-  for ( unsigned ifile=0 ; run && ifile<filenames.size() && ( nfiles==0 || ifile<nfiles ) ; ifile++ ) { 
+  size_t max_files = filenames.size();
+  if ( nfiles!=0 && nfiles<max_files ) max_files = nfiles;
+
+  for ( size_t ifile=0 ; run && ifile<max_files; ifile++ ) { 
 
     bool newfile = true;
 
@@ -1453,6 +1456,8 @@ int main(int argc, char** argv)
       //    Nentries++;
 
      data->GetEntry(i);
+
+
      //    if (i==0) {
      //      std::cout << "TrkNtuple generated with: " << *releaseMetaData << std::endl;//Only necessary for first event
      //    }
@@ -1503,25 +1508,23 @@ int main(int argc, char** argv)
 
     hevent->Fill( event );
 
- 
-
     if ( filenames.size()<2 ) { 
-      if ( (Nentries<10) || i%(Nentries/10)==0 || i%1000==0 || debugPrintout )  { 
+      if ( (cNentries<10) || i%(cNentries/10)==0 || i%1000==0 || debugPrintout )  { 
         std::cout << "run "      << track_ev->run_number() 
                   << "\tevent "  << track_ev->event_number() 
                   << "\tlb "     << track_ev->lumi_block() 
                   << "\tchains " << track_ev->chains().size()
                   << "\ttime "   << track_ev->time_stamp();
-        std::cout << "\t : processed " << i << " events so far (" << int((1000*i)/Nentries)*0.1 << "%)\t" << time_str() << std::endl;
+        std::cout << "\t : processed " << i << " events so far (" << int((1000*i)/cNentries)*0.1 << "%)\t" << time_str() << std::endl;
         //   std::cerr << "\tprocessed " << i << " events so far \t" << time_str() << std::endl;
       }
     }  
-
-    if ( newfile ) { 
+    else if ( newfile ) { 
 
       int pfiles = filenames.size();
       if ( nfiles>0 ) pfiles = nfiles; 
 
+
       std::cout << "file entries=" << data->GetEntries();
 
       if ( data->GetEntries()<100 )   std::cout << " ";
@@ -1566,7 +1569,7 @@ int main(int argc, char** argv)
     if ( truthMatch ) { 
       for (unsigned int ic=0 ; ic<chains.size() ; ic++ ) {
         if ( chains[ic].name()=="Truth" ) {
-          truthTracks.selectTracks( chains[ic].rois()[0].tracks() );
+          truthTracks.selectTracks( chains[ic][0].tracks() );
           break;
         }
       }
@@ -1575,9 +1578,9 @@ int main(int argc, char** argv)
     //// get the reference tracks
     for (unsigned int ic=0 ; ic<chains.size() ; ic++ ) {
       if ( chains[ic].name()==refChain ) {
-        offTracks.selectTracks( chains[ic].rois()[0].tracks() );
+        offTracks.selectTracks( chains[ic][0].tracks() );
         //extract beamline position values from rois
-        beamline_ref = chains[ic].rois()[0].user();
+        beamline_ref = chains[ic][0].user();
         // std::cout << "beamline: " << chains[ic].name() << "  " << beamline_ref << std::endl;
         break;
       }
@@ -1587,56 +1590,63 @@ int main(int argc, char** argv)
     /// select the reference offline vertices
     
     std::vector<TIDA::Vertex> vertices;
-    
-    const std::vector<TIDA::Vertex>& mv = track_ev->vertices();
 
-    int     selectvtx = -1;
-    double  selection = 0;
+    //    const std::vector<TIDA::Vertex>& mv = track_ev->vertices();
     
-    //    std::vector<TIDA::Vertex>& vertices = vertices;
-     
-    if ( bestPTVtx || bestPT2Vtx )  {  
-      for ( unsigned iv=0 ; iv<mv.size() ; iv++ ) {
-        if ( mv[iv].Ntracks()==0 ) continue;
-        double selection_ = 0.0;
-        for (unsigned itr=0; itr<offTracks.tracks().size(); itr++){
+    const TIDA::Chain* vtxchain = track_ev->chain("Vertex");
+
+    if ( vtxchain && vtxchain->size()>0 ) { 
+ 
+      const std::vector<TIDA::Vertex>& mv = vtxchain->at(0).vertices();
+
+      int     selectvtx = -1;
+      double  selection = 0;
+      
+      //  std::vector<TIDA::Vertex>& vertices = vertices;
+      if ( debugPrintout ) std::cout << "vertices:\n" << mv << std::endl;      
+      
+      if ( bestPTVtx || bestPT2Vtx )  {  
+	for ( size_t iv=0 ; iv<mv.size() ; iv++ ) {
+	  if ( mv[iv].Ntracks()==0 ) continue;
+	  double selection_ = 0.0;
+	  for (unsigned itr=0; itr<offTracks.tracks().size(); itr++){
           TIDA::Track* tr = offTracks.tracks().at(itr);
           if( std::fabs(mv[iv].z()-tr->z0()) < 1.5 ) { 
             if      ( bestPTVtx  ) selection_ += std::fabs(tr->pT());
             else if ( bestPT2Vtx ) selection_ += std::fabs(tr->pT())*std::fabs(tr->pT()); 
           }
         }
-        if( selection_>selection){
-          selection = selection_;
-          selectvtx = iv;
-        }
+	  if( selection_>selection){
+	    selection = selection_;
+	    selectvtx = iv;
+	  }
+	}
+	if ( selectvtx!=-1 ) vertices.push_back( mv[selectvtx] );
       }
-      if ( selectvtx!=-1 ) vertices.push_back( mv[selectvtx] );
-    }
-    else if ( vtxind>=0 ) {
-      if ( unsigned(vtxind)<mv.size() ) vertices.push_back( mv[vtxind] );
-    }
-    else { 
-      for ( unsigned iv=0 ; iv<mv.size() ; iv++ ) vertices.push_back( mv[iv] );
-    }
-    
-    
-    //    if ( vertices.size()>0 ) std::cout << "vertex " << vertices[0] << std::endl;
-    //    else                     std::cout << "NO vertex !!!" << std::endl;
-
-    /// always push back the vector - if required there will be only one vertex on it
-    filter_vertex.setVertex( vertices );
-
-    /// calculate number of "vertex tracks"
-
-    NvtxCount = 0;
-
-    for ( unsigned iv=0 ; iv<mv.size() ; iv++ ) {
-      int Ntracks = mv[iv].Ntracks();
-      if ( Ntracks>NVtxTrackCut ) { /// do we really want this cut ???
-        Nvtxtracks += Ntracks;
-        //      vertices.push_back( mv[iv] );
-        NvtxCount++;
+      else if ( vtxind>=0 ) {
+	if ( size_t(vtxind)<mv.size() ) vertices.push_back( mv[vtxind] );
+      }
+      else { 
+	for ( size_t iv=0 ; iv<mv.size() ; iv++ ) vertices.push_back( mv[iv] );
+      }
+      
+      //      if ( vertices.size()>0 ) std::cout << "vertex " << vertices[0] << std::endl;
+      //      else                     std::cout << "NO vertex !!!" << std::endl;
+      
+      /// always push back the vector - if required there will be only one vertex on it
+      filter_vertex.setVertex( vertices );
+      
+      /// calculate number of "vertex tracks"
+      
+      NvtxCount = 0;
+      
+      for ( unsigned iv=0 ; iv<mv.size() ; iv++ ) {
+	int Ntracks = mv[iv].Ntracks();
+	if ( Ntracks>NVtxTrackCut ) { /// do we really want this cut ???
+	  Nvtxtracks += Ntracks;
+	  //      vertices.push_back( mv[iv] );
+	  NvtxCount++;
+	}
       }
     }
 
@@ -1682,7 +1692,6 @@ int main(int argc, char** argv)
     if ( !foundReference ) continue;
     
     if ( debugPrintout ) { 
-      std::cout << "vertices:\n" << mv << std::endl;
       std::cout << "reference chain:\n" << *refchain << std::endl;
     }
     
diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisUtils/TrigInDetAnalysisUtils/T_AnalysisConfig.h b/Trigger/TrigAnalysis/TrigInDetAnalysisUtils/TrigInDetAnalysisUtils/T_AnalysisConfig.h
index 69ec81e65114b3626acbd8e130f5e4ab9d6364b5..d4b82488aa9f2e6306ebd469f15daac4042c6466 100644
--- a/Trigger/TrigAnalysis/TrigInDetAnalysisUtils/TrigInDetAnalysisUtils/T_AnalysisConfig.h
+++ b/Trigger/TrigAnalysis/TrigInDetAnalysisUtils/TrigInDetAnalysisUtils/T_AnalysisConfig.h
@@ -327,8 +327,116 @@ protected:
     return itrpair;
   }
 
+ 
 
 
+
+
+
+
+
+
+
+
+  
+  bool select( std::vector<TIDA::Vertex>& vertices, 
+	       xAOD::VertexContainer::const_iterator vtx_start, 
+	       xAOD::VertexContainer::const_iterator vtx_end ) { 
+    
+    xAOD::VertexContainer::const_iterator vtxitr = vtx_start;
+ 
+    for (  ; vtxitr!=vtx_end  ;  vtxitr++ ) {
+      if ( (*vtxitr)->vertexType()!=0 ) {
+	m_provider->msg(MSG::VERBOSE) << "\tvertex " << (*vtxitr)->z() << endmsg;
+
+	vertices.push_back( TIDA::Vertex( (*vtxitr)->x(),
+					  (*vtxitr)->y(),
+					  (*vtxitr)->z(),
+					  /// variances                                                                                                                                                  
+					  (*vtxitr)->covariancePosition()(Trk::x,Trk::x),
+					  (*vtxitr)->covariancePosition()(Trk::y,Trk::y),
+					  (*vtxitr)->covariancePosition()(Trk::z,Trk::z),
+					  (*vtxitr)->nTrackParticles(),
+					  /// quality                                                                                                                                                    
+					  (*vtxitr)->chiSquared(),
+					  (*vtxitr)->numberDoF() ) );
+	
+      }
+    }
+    
+    return true;
+  }
+
+
+  bool select( std::vector<TIDA::Vertex>& vertices,
+	       const ElementLink<TrigRoiDescriptorCollection>& roi_link,  
+	       const std::string& key="" ) {
+    
+    m_provider->msg(MSG::VERBOSE) << "\tFetch xAOD::VertexContainer for key: " << key << endmsg;
+
+    std::pair< xAOD::VertexContainer::const_iterator,
+	       xAOD::VertexContainer::const_iterator > vtx_itrpair = this->template getCollection<xAOD::VertexContainer>( roi_link, key );
+    
+    if ( vtx_itrpair.first == vtx_itrpair.second ) {
+      m_provider->msg(MSG::WARNING) << "\tNo xAOD::Vertex collection for key " << key << endmsg;
+      return false;
+    }
+
+    m_provider->msg(MSG::INFO) << "\txAOD::VertexContainer found with size  " << (vtx_itrpair.second - vtx_itrpair.first)
+			       << "\t:" << key << endmsg;
+
+    return select( vertices, vtx_itrpair.first, vtx_itrpair.second );
+  }
+  
+
+
+ 
+  bool select( std::vector<TIDA::Vertex>& vertices, const std::string& key="" ) {
+
+    m_provider->msg(MSG::VERBOSE) << "fetching AOD vertex container" << endmsg;
+    
+    const xAOD::VertexContainer* xaodVtxCollection = 0;
+
+    if ( m_provider->evtStore()->retrieve( xaodVtxCollection, key ).isFailure()) {
+      m_provider->msg(MSG::WARNING) << "xAOD vertex container not found with key " << key <<  endmsg;
+      return false;
+    }
+    
+    if ( xaodVtxCollection!=0 ) {
+      
+      m_provider->msg(MSG::VERBOSE) << "xAOD vertex container " << xaodVtxCollection->size() <<  " entries" << endmsg;
+      
+      return select( vertices, xaodVtxCollection->begin(), xaodVtxCollection->end() ); 
+
+#if 0
+
+      xAOD::VertexContainer::const_iterator vtxitr = xaodVtxCollection->begin();
+  
+      for ( ; vtxitr != xaodVtxCollection->end(); vtxitr++ ) {
+	if ( (*vtxitr)->nTrackParticles()>0 && (*vtxitr)->vertexType()!=0 ) {
+          vertices.push_back( TIDA::Vertex( (*vtxitr)->x(),
+                                            (*vtxitr)->y(),
+                                            (*vtxitr)->z(),
+                                            /// variances                                                                                                     
+                                            (*vtxitr)->covariancePosition()(Trk::x,Trk::x),
+                                            (*vtxitr)->covariancePosition()(Trk::y,Trk::y),
+                                            (*vtxitr)->covariancePosition()(Trk::z,Trk::z),
+                                            (*vtxitr)->nTrackParticles(),
+                                            /// quality                                                                                                       
+                                            (*vtxitr)->chiSquared(),
+                                            (*vtxitr)->numberDoF() ) );
+        }
+      }
+
+#endif
+ 
+    }
+
+    return true;
+  }
+
+ 
+
   template<class Collection>
   bool selectTracks( TrigTrackSelector* selector,
 		     //		     const TrigCompositeUtils::LinkInfo<TrigRoiDescriptorCollection> roi_link,
diff --git a/Trigger/TrigMonitoring/TrigIDtrkMonitoring/python/TrigIDtrkMonitoringConfig.py b/Trigger/TrigMonitoring/TrigIDtrkMonitoring/python/TrigIDtrkMonitoringConfig.py
index b6e3d58fd04059c91ae1a71ef956910adf07979a..d431c4aa426518290ce2603501468edc5bdd8084 100644
--- a/Trigger/TrigMonitoring/TrigIDtrkMonitoring/python/TrigIDtrkMonitoringConfig.py
+++ b/Trigger/TrigMonitoring/TrigIDtrkMonitoring/python/TrigIDtrkMonitoringConfig.py
@@ -332,7 +332,7 @@ def TrigIDtrkMonitoringTool( legacy_monitoring=False ):
                 if mt_chains:
                         tidabjet.ntupleChainNames += [
                                 "Offline",
-                                ":key=HLT_IDTrack_FS_FTF",
+                                ":HLT_IDTrack_FS_FTF:vtx=HLT_IDVertex_FS",
                                 "HLT_j.*.*boffperf.*:key=HLT_IDTrack_Bjet_FTF",
                                 "HLT_j.*.*boffperf.*:key=HLT_IDTrack_Bjet_IDTrig"
                         ]
diff --git a/Trigger/TrigTools/TrigInDetConfig/python/TrigInDetPriVtxConfig.py b/Trigger/TrigTools/TrigInDetConfig/python/TrigInDetPriVtxConfig.py
index 85b8bec6df85deca48f5387b073d5bce3ea0430c..b4a71aa9f30ad93e6840dee6ca629acaf20f023f 100644
--- a/Trigger/TrigTools/TrigInDetConfig/python/TrigInDetPriVtxConfig.py
+++ b/Trigger/TrigTools/TrigInDetConfig/python/TrigInDetPriVtxConfig.py
@@ -68,7 +68,7 @@ def  impactEstimator_builder( signature, extrapolator ) :
 
 
 
-def  trackSelectorTool_builder( signature, trackSummaryTool, extrapolator ) :
+def  trackSelectorTool_builder( signature, trackSummaryTool, extrapolator, cuts ) :
 
     from AthenaCommon.AppMgr import ToolSvc
     
@@ -77,26 +77,24 @@ def  trackSelectorTool_builder( signature, trackSummaryTool, extrapolator ) :
     from InDetTrackSelectionTool.InDetTrackSelectionToolConf import InDet__InDetTrackSelectionTool
    
     trackSelectorTool = InDet__InDetTrackSelectionTool( name     = "InDetTrigDetailedTrackSelectionTool" + signature,
-                                                       Extrapolator     = extrapolator ) 
-
-# these changes need to go in next ...
-#                                                        TrackSummaryTool = trackSummaryTool,
-#                                                        CutLevel = configuredTrigVtxCuts.TrackCutLevel(),
-#                                                        # maybe have all these cuts passed in just by passing in the configuredVtsCuts object 
-#                                                        minPt    = configuredTrigVtxCuts.minPT(),
-#                                                        maxD0    = configuredTrigVtxCuts.IPd0Max(),
-#                                                        maxZ0    = configuredTrigVtxCuts.z0Max(),
-#                                                        maxZ0SinTheta = configuredTrigVtxCuts.IPz0Max(),
-#                                                        maxSigmaD0    = configuredTrigVtxCuts.sigIPd0Max(),
-#                                                        maxSigmaZ0SinTheta = configuredTrigVtxCuts.sigIPz0Max(),
-#                                                        maxChiSqperNdf     = configuredTrigVtxCuts.fitChi2OnNdfMax(), # Seems not to be implemented?
-#                                                        maxAbsEta          = configuredTrigVtxCuts.etaMax(),
-#                                                        minNInnermostLayerHits = configuredTrigVtxCuts.nHitInnermostLayer(),
-#                                                        minNPixelHits    = configuredTrigVtxCuts.nHitPix(),
-#                                                        maxNPixelHoles   = configuredTrigVtxCuts.nHolesPix(),
-#                                                        minNSctHits      = configuredTrigVtxCuts.nHitSct(),
-#                                                        minNTrtHits      = configuredTrigVtxCuts.nHitTrt(),
-#                                                        minNSiHits       = configuredTrigVtxCuts.nHitSi() )
+                                                        Extrapolator     = extrapolator, 
+                                                        TrackSummaryTool = trackSummaryTool,
+                                                        CutLevel      = cuts.TrackCutLevel(),
+                                                        # maybe have all these cuts passed in just by passing in the configuredVtsCuts object 
+                                                        minPt         = cuts.minPT(),
+                                                        maxD0         = cuts.IPd0Max(),
+                                                        maxZ0         = cuts.z0Max(),
+                                                        maxZ0SinTheta = cuts.IPz0Max(),
+                                                        maxSigmaD0    = cuts.sigIPd0Max(),
+                                                        maxSigmaZ0SinTheta = cuts.sigIPz0Max(),
+                                                        maxChiSqperNdf     = cuts.fitChi2OnNdfMax(), # Seems not to be implemented?
+                                                        maxAbsEta          = cuts.etaMax(),
+                                                        minNInnermostLayerHits = cuts.nHitInnermostLayer(),
+                                                        minNPixelHits    = cuts.nHitPix(),
+                                                        maxNPixelHoles   = cuts.nHolesPix(),
+                                                        minNSctHits      = cuts.nHitSct(),
+                                                        minNTrtHits      = cuts.nHitTrt(),
+                                                        minNSiHits       = cuts.nHitSi() )
 
     ToolSvc += trackSelectorTool
    
@@ -147,12 +145,10 @@ def vertexFinderTool_builder( signature ) :
     trackSummaryTool = TrackingCommon.getInDetTrackSummaryTool()
     extrapolator     = TrackingCommon.getInDetExtrapolator()
 
-    # NB: not yet ready to go in, but we have the code here in readiness ...
     # get the selection cuts use to select the actual tracks in the tool ...
-    #   from InDetTrigRecExample.TrigInDetConfiguredVtxCuts import ConfiguredTrigVertexingCuts 
-    #   configuredTrigVtxCuts = ConfiguredTrigVertexingCuts() 
-    #   configuredTrigVtxCuts.printInfo()
-
+    from InDetTrigRecExample.TrigInDetConfiguredVtxCuts import ConfiguredTrigVtxCuts 
+    vtxcuts = ConfiguredTrigVtxCuts() 
+    vtxcuts.printInfo()
 
     
     # now create the five sub tools needed ...
@@ -160,7 +156,7 @@ def vertexFinderTool_builder( signature ) :
     linearTrackFactory     =     linearTrackFactory_builder( signature, extrapolator )
     vertexFitterTool       =       vertexFitterTool_builder( signature, linearTrackFactory, extrapolator )
     impactEstimator        =        impactEstimator_builder( signature, extrapolator )
-    trackSelectorTool      =      trackSelectorTool_builder( signature, trackSummaryTool, extrapolator )
+    trackSelectorTool      =      trackSelectorTool_builder( signature, trackSummaryTool, extrapolator, vtxcuts )
     trackDensitySeedFinder = trackDensitySeedFinder_builder( signature )
     
     # now create the actual vertex finder tool ...
@@ -177,14 +173,13 @@ def vertexFinderTool_builder( signature ) :
                                                              SeedFinder               = trackDensitySeedFinder,
                                                              ImpactPoint3dEstimator   = impactEstimator,
                                                              LinearizedTrackFactory   = linearTrackFactory,
-                                                             useBeamConstraint        = False,
+                                                             useBeamConstraint        = True,
                                                              significanceCutSeeding   = 12,
                                                              maximumChi2cutForSeeding = 49,
                                                              maxVertices              = 200,
-                                                             createSplitVertices      = False )
-# these too should go in next ...
-#                                                            doMaxTracksCut           = configuredTrigVtxCuts.doMaxTracksCut(),
-#                                                            MaxTracks                = configuredTrigVtxCuts.MaxTracks() )
+                                                             createSplitVertices      = False,
+                                                             doMaxTracksCut           = vtxcuts.doMaxTracksCut(),
+                                                             MaxTracks                = vtxcuts.MaxTracks() )
                                                            
     
  # InDetAdaptiveMultiPriVxFinderTool job options for later 
diff --git a/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_mt1_build.ref b/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_mt1_build.ref
index 4ceb03769136600fd83b4e79e1c9de55a96170fc..14ae6a3342a95da54f9115f65b628ff761ce9f12 100644
--- a/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_mt1_build.ref
+++ b/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_mt1_build.ref
@@ -250,41 +250,41 @@ TrigSignatureMoniMT                                 INFO HLT_j45_ftf_L1J15 #8684
 TrigSignatureMoniMT                                 INFO -- #868405538 Events          20         20         0          0          0          0          0          0          0          0          0          0          19         -          19
 TrigSignatureMoniMT                                 INFO -- #868405538 Features                              0          0          0          0          0          0          0          0          0          0          50         -
 TrigSignatureMoniMT                                 INFO HLT_j45_ftf_csskpf_nojcalib_L1J20 #3533281867
-TrigSignatureMoniMT                                 INFO -- #3533281867 Events         19         19         0          0          0          0          0          0          0          0          0          0          15         -          15
-TrigSignatureMoniMT                                 INFO -- #3533281867 Features                             0          0          0          0          0          0          0          0          0          0          25         -
+TrigSignatureMoniMT                                 INFO -- #3533281867 Events         19         19         0          0          0          0          0          0          0          0          0          0          16         -          16
+TrigSignatureMoniMT                                 INFO -- #3533281867 Features                             0          0          0          0          0          0          0          0          0          0          30         -
 TrigSignatureMoniMT                                 INFO HLT_j45_ftf_pf_L1J20 #1335156103
-TrigSignatureMoniMT                                 INFO -- #1335156103 Events         19         19         0          0          0          0          0          0          0          0          0          0          16         -          16
-TrigSignatureMoniMT                                 INFO -- #1335156103 Features                             0          0          0          0          0          0          0          0          0          0          31         -
+TrigSignatureMoniMT                                 INFO -- #1335156103 Events         19         19         0          0          0          0          0          0          0          0          0          0          18         -          18
+TrigSignatureMoniMT                                 INFO -- #1335156103 Features                             0          0          0          0          0          0          0          0          0          0          39         -
 TrigSignatureMoniMT                                 INFO HLT_j45_ftf_pf_nojcalib_L1J20 #3658890913
-TrigSignatureMoniMT                                 INFO -- #3658890913 Events         19         19         0          0          0          0          0          0          0          0          0          0          15         -          15
-TrigSignatureMoniMT                                 INFO -- #3658890913 Features                             0          0          0          0          0          0          0          0          0          0          29         -
+TrigSignatureMoniMT                                 INFO -- #3658890913 Events         19         19         0          0          0          0          0          0          0          0          0          0          17         -          17
+TrigSignatureMoniMT                                 INFO -- #3658890913 Features                             0          0          0          0          0          0          0          0          0          0          37         -
 TrigSignatureMoniMT                                 INFO HLT_j45_ftf_subjesgscIS_011jvt_L1J15 #2857031468
-TrigSignatureMoniMT                                 INFO -- #2857031468 Events         20         20         0          0          0          0          0          0          0          0          0          0          12         -          12
-TrigSignatureMoniMT                                 INFO -- #2857031468 Features                             0          0          0          0          0          0          0          0          0          0          20         -
+TrigSignatureMoniMT                                 INFO -- #2857031468 Events         20         20         0          0          0          0          0          0          0          0          0          0          16         -          16
+TrigSignatureMoniMT                                 INFO -- #2857031468 Features                             0          0          0          0          0          0          0          0          0          0          33         -
 TrigSignatureMoniMT                                 INFO HLT_j45_ftf_subjesgscIS_015jvt_L1J15 #2938374624
-TrigSignatureMoniMT                                 INFO -- #2938374624 Events         20         20         0          0          0          0          0          0          0          0          0          0          12         -          12
-TrigSignatureMoniMT                                 INFO -- #2938374624 Features                             0          0          0          0          0          0          0          0          0          0          19         -
+TrigSignatureMoniMT                                 INFO -- #2938374624 Events         20         20         0          0          0          0          0          0          0          0          0          0          16         -          16
+TrigSignatureMoniMT                                 INFO -- #2938374624 Features                             0          0          0          0          0          0          0          0          0          0          33         -
 TrigSignatureMoniMT                                 INFO HLT_j45_ftf_subjesgscIS_059jvt_L1J15 #1593009344
-TrigSignatureMoniMT                                 INFO -- #1593009344 Events         20         20         0          0          0          0          0          0          0          0          0          0          12         -          12
-TrigSignatureMoniMT                                 INFO -- #1593009344 Features                             0          0          0          0          0          0          0          0          0          0          19         -
+TrigSignatureMoniMT                                 INFO -- #1593009344 Events         20         20         0          0          0          0          0          0          0          0          0          0          16         -          16
+TrigSignatureMoniMT                                 INFO -- #1593009344 Features                             0          0          0          0          0          0          0          0          0          0          33         -
 TrigSignatureMoniMT                                 INFO HLT_j45_ftf_subjesgscIS_L1J15 #3341539267
 TrigSignatureMoniMT                                 INFO -- #3341539267 Events         20         20         0          0          0          0          0          0          0          0          0          0          19         -          19
-TrigSignatureMoniMT                                 INFO -- #3341539267 Features                             0          0          0          0          0          0          0          0          0          0          51         -
+TrigSignatureMoniMT                                 INFO -- #3341539267 Features                             0          0          0          0          0          0          0          0          0          0          50         -
 TrigSignatureMoniMT                                 INFO HLT_j45_ftf_subjesgscIS_bmv2c1070_split_L1J20 #991419339
-TrigSignatureMoniMT                                 INFO -- #991419339 Events          19         19         0          0          0          0          0          0          0          0          0          0          19         4          4
-TrigSignatureMoniMT                                 INFO -- #991419339 Features                              0          0          0          0          0          0          0          0          0          0          50         8
+TrigSignatureMoniMT                                 INFO -- #991419339 Events          19         19         0          0          0          0          0          0          0          0          0          0          19         11         11
+TrigSignatureMoniMT                                 INFO -- #991419339 Features                              0          0          0          0          0          0          0          0          0          0          49         21
 TrigSignatureMoniMT                                 INFO HLT_j45_ftf_subjesgscIS_boffperf_split_L1J20 #1961149049
 TrigSignatureMoniMT                                 INFO -- #1961149049 Events         19         19         0          0          0          0          0          0          0          0          0          0          19         19         19
-TrigSignatureMoniMT                                 INFO -- #1961149049 Features                             0          0          0          0          0          0          0          0          0          0          50         50
+TrigSignatureMoniMT                                 INFO -- #1961149049 Features                             0          0          0          0          0          0          0          0          0          0          49         49
 TrigSignatureMoniMT                                 INFO HLT_j45_ftf_subjesgscIS_pf_L1J20 #761060030
-TrigSignatureMoniMT                                 INFO -- #761060030 Events          19         19         0          0          0          0          0          0          0          0          0          0          16         -          16
-TrigSignatureMoniMT                                 INFO -- #761060030 Features                              0          0          0          0          0          0          0          0          0          0          31         -
+TrigSignatureMoniMT                                 INFO -- #761060030 Events          19         19         0          0          0          0          0          0          0          0          0          0          18         -          18
+TrigSignatureMoniMT                                 INFO -- #761060030 Features                              0          0          0          0          0          0          0          0          0          0          39         -
 TrigSignatureMoniMT                                 INFO HLT_j45_ftf_subresjesgscIS_L1J15 #1509925407
-TrigSignatureMoniMT                                 INFO -- #1509925407 Events         20         20         0          0          0          0          0          0          0          0          0          0          18         -          18
-TrigSignatureMoniMT                                 INFO -- #1509925407 Features                             0          0          0          0          0          0          0          0          0          0          44         -
+TrigSignatureMoniMT                                 INFO -- #1509925407 Events         20         20         0          0          0          0          0          0          0          0          0          0          19         -          19
+TrigSignatureMoniMT                                 INFO -- #1509925407 Features                             0          0          0          0          0          0          0          0          0          0          45         -
 TrigSignatureMoniMT                                 INFO HLT_j45_ftf_subresjesgscIS_pf_L1J20 #4012311417
-TrigSignatureMoniMT                                 INFO -- #4012311417 Events         19         19         0          0          0          0          0          0          0          0          0          0          16         -          16
-TrigSignatureMoniMT                                 INFO -- #4012311417 Features                             0          0          0          0          0          0          0          0          0          0          31         -
+TrigSignatureMoniMT                                 INFO -- #4012311417 Events         19         19         0          0          0          0          0          0          0          0          0          0          18         -          18
+TrigSignatureMoniMT                                 INFO -- #4012311417 Features                             0          0          0          0          0          0          0          0          0          0          39         -
 TrigSignatureMoniMT                                 INFO HLT_j45_nojcalib_L1J20 #2042444294
 TrigSignatureMoniMT                                 INFO -- #2042444294 Events         19         19         0          0          0          0          0          0          0          0          0          0          17         -          17
 TrigSignatureMoniMT                                 INFO -- #2042444294 Features                             0          0          0          0          0          0          0          0          0          0          39         -
@@ -325,8 +325,8 @@ TrigSignatureMoniMT                                 INFO HLT_j85_ftf_L1J20 #8770
 TrigSignatureMoniMT                                 INFO -- #877042532 Events          19         19         0          0          0          0          0          0          0          0          0          0          13         -          13
 TrigSignatureMoniMT                                 INFO -- #877042532 Features                              0          0          0          0          0          0          0          0          0          0          21         -
 TrigSignatureMoniMT                                 INFO HLT_j85_ftf_pf_L1J20 #1538535401
-TrigSignatureMoniMT                                 INFO -- #1538535401 Events         19         19         0          0          0          0          0          0          0          0          0          0          8          -          8
-TrigSignatureMoniMT                                 INFO -- #1538535401 Features                             0          0          0          0          0          0          0          0          0          0          13         -
+TrigSignatureMoniMT                                 INFO -- #1538535401 Events         19         19         0          0          0          0          0          0          0          0          0          0          11         -          11
+TrigSignatureMoniMT                                 INFO -- #1538535401 Features                             0          0          0          0          0          0          0          0          0          0          16         -
 TrigSignatureMoniMT                                 INFO HLT_mb_sptrk_L1RD0_FILLED #4097312640
 TrigSignatureMoniMT                                 INFO -- #4097312640 Events         20         20         20         20         -          -          -          -          -          -          -          -          -          -          20
 TrigSignatureMoniMT                                 INFO -- #4097312640 Features                             20         20         -          -          -          -          -          -          -          -          -          -
@@ -724,14 +724,14 @@ TrigSignatureMoniMT                                 INFO HLT_xe100_mht_L1XE50 #5
 TrigSignatureMoniMT                                 INFO -- #532175988 Events          10         10         0          0          0          0          0          0          0          0          0          0          6          -          6
 TrigSignatureMoniMT                                 INFO -- #532175988 Features                              0          0          0          0          0          0          0          0          0          0          6          -
 TrigSignatureMoniMT                                 INFO HLT_xe100_pfsum_L1XE50 #1890237897
-TrigSignatureMoniMT                                 INFO -- #1890237897 Events         10         10         0          0          0          0          0          0          0          0          0          0          2          -          2
-TrigSignatureMoniMT                                 INFO -- #1890237897 Features                             0          0          0          0          0          0          0          0          0          0          2          -
+TrigSignatureMoniMT                                 INFO -- #1890237897 Events         10         10         0          0          0          0          0          0          0          0          0          0          4          -          4
+TrigSignatureMoniMT                                 INFO -- #1890237897 Features                             0          0          0          0          0          0          0          0          0          0          4          -
 TrigSignatureMoniMT                                 INFO HLT_xe100_tcpufit_L1XE50 #2803198799
 TrigSignatureMoniMT                                 INFO -- #2803198799 Events         10         10         0          0          0          0          0          0          0          0          0          0          6          -          6
 TrigSignatureMoniMT                                 INFO -- #2803198799 Features                             0          0          0          0          0          0          0          0          0          0          6          -
 TrigSignatureMoniMT                                 INFO HLT_xe100_trkmht_L1XE50 #1055916731
-TrigSignatureMoniMT                                 INFO -- #1055916731 Events         10         10         0          0          0          0          0          0          0          0          0          0          4          -          4
-TrigSignatureMoniMT                                 INFO -- #1055916731 Features                             0          0          0          0          0          0          0          0          0          0          4          -
+TrigSignatureMoniMT                                 INFO -- #1055916731 Events         10         10         0          0          0          0          0          0          0          0          0          0          7          -          7
+TrigSignatureMoniMT                                 INFO -- #1055916731 Features                             0          0          0          0          0          0          0          0          0          0          7          -
 TrigSignatureMoniMT                                 INFO HLT_xe110_mht_L1XE50 #3030733259
 TrigSignatureMoniMT                                 INFO -- #3030733259 Events         10         10         0          0          0          0          0          0          0          0          0          0          6          -          6
 TrigSignatureMoniMT                                 INFO -- #3030733259 Features                             0          0          0          0          0          0          0          0          0          0          6          -
@@ -751,8 +751,8 @@ TrigSignatureMoniMT                                 INFO HLT_xe30_mht_L1XE10 #36
 TrigSignatureMoniMT                                 INFO -- #3626903018 Events         19         19         0          0          0          0          0          0          0          0          0          0          19         -          19
 TrigSignatureMoniMT                                 INFO -- #3626903018 Features                             0          0          0          0          0          0          0          0          0          0          19         -
 TrigSignatureMoniMT                                 INFO HLT_xe30_pfsum_L1XE10 #998713382
-TrigSignatureMoniMT                                 INFO -- #998713382 Events          19         19         0          0          0          0          0          0          0          0          0          0          14         -          14
-TrigSignatureMoniMT                                 INFO -- #998713382 Features                              0          0          0          0          0          0          0          0          0          0          14         -
+TrigSignatureMoniMT                                 INFO -- #998713382 Events          19         19         0          0          0          0          0          0          0          0          0          0          16         -          16
+TrigSignatureMoniMT                                 INFO -- #998713382 Features                              0          0          0          0          0          0          0          0          0          0          16         -
 TrigSignatureMoniMT                                 INFO HLT_xe30_tcpufit_L1XE10 #1583719916
 TrigSignatureMoniMT                                 INFO -- #1583719916 Events         19         19         0          0          0          0          0          0          0          0          0          0          14         -          14
 TrigSignatureMoniMT                                 INFO -- #1583719916 Features                             0          0          0          0          0          0          0          0          0          0          14         -
diff --git a/Trigger/TrigValidation/TriggerTest/share/ref_data_v1Dev_build.ref b/Trigger/TrigValidation/TriggerTest/share/ref_data_v1Dev_build.ref
index eaabbf36b5a0c2e595247af7e89ef07311962ed7..127d6bc21d33f5b464c754d0adb7d5c742607376 100644
--- a/Trigger/TrigValidation/TriggerTest/share/ref_data_v1Dev_build.ref
+++ b/Trigger/TrigValidation/TriggerTest/share/ref_data_v1Dev_build.ref
@@ -253,38 +253,38 @@ TrigSignatureMoniMT                                 INFO HLT_j45_ftf_csskpf_nojc
 TrigSignatureMoniMT                                 INFO -- #3533281867 Events         20         20         0          0          0          0          0          0          0          0          0          0          3          -          3          
 TrigSignatureMoniMT                                 INFO -- #3533281867 Features                             0          0          0          0          0          0          0          0          0          0          3          -          
 TrigSignatureMoniMT                                 INFO HLT_j45_ftf_pf_L1J20 #1335156103
-TrigSignatureMoniMT                                 INFO -- #1335156103 Events         20         20         0          0          0          0          0          0          0          0          0          0          5          -          5          
-TrigSignatureMoniMT                                 INFO -- #1335156103 Features                             0          0          0          0          0          0          0          0          0          0          5          -          
+TrigSignatureMoniMT                                 INFO -- #1335156103 Events         20         20         0          0          0          0          0          0          0          0          0          0          3          -          3          
+TrigSignatureMoniMT                                 INFO -- #1335156103 Features                             0          0          0          0          0          0          0          0          0          0          3          -          
 TrigSignatureMoniMT                                 INFO HLT_j45_ftf_pf_nojcalib_L1J20 #3658890913
 TrigSignatureMoniMT                                 INFO -- #3658890913 Events         20         20         0          0          0          0          0          0          0          0          0          0          3          -          3          
 TrigSignatureMoniMT                                 INFO -- #3658890913 Features                             0          0          0          0          0          0          0          0          0          0          3          -          
 TrigSignatureMoniMT                                 INFO HLT_j45_ftf_subjesgscIS_011jvt_L1J15 #2857031468
-TrigSignatureMoniMT                                 INFO -- #2857031468 Events         20         20         0          0          0          0          0          0          0          0          0          0          5          -          5          
-TrigSignatureMoniMT                                 INFO -- #2857031468 Features                             0          0          0          0          0          0          0          0          0          0          5          -          
+TrigSignatureMoniMT                                 INFO -- #2857031468 Events         20         20         0          0          0          0          0          0          0          0          0          0          4          -          4          
+TrigSignatureMoniMT                                 INFO -- #2857031468 Features                             0          0          0          0          0          0          0          0          0          0          4          -          
 TrigSignatureMoniMT                                 INFO HLT_j45_ftf_subjesgscIS_015jvt_L1J15 #2938374624
-TrigSignatureMoniMT                                 INFO -- #2938374624 Events         20         20         0          0          0          0          0          0          0          0          0          0          5          -          5          
-TrigSignatureMoniMT                                 INFO -- #2938374624 Features                             0          0          0          0          0          0          0          0          0          0          5          -          
+TrigSignatureMoniMT                                 INFO -- #2938374624 Events         20         20         0          0          0          0          0          0          0          0          0          0          4          -          4          
+TrigSignatureMoniMT                                 INFO -- #2938374624 Features                             0          0          0          0          0          0          0          0          0          0          4          -          
 TrigSignatureMoniMT                                 INFO HLT_j45_ftf_subjesgscIS_059jvt_L1J15 #1593009344
-TrigSignatureMoniMT                                 INFO -- #1593009344 Events         20         20         0          0          0          0          0          0          0          0          0          0          5          -          5          
-TrigSignatureMoniMT                                 INFO -- #1593009344 Features                             0          0          0          0          0          0          0          0          0          0          5          -          
+TrigSignatureMoniMT                                 INFO -- #1593009344 Events         20         20         0          0          0          0          0          0          0          0          0          0          4          -          4          
+TrigSignatureMoniMT                                 INFO -- #1593009344 Features                             0          0          0          0          0          0          0          0          0          0          4          -          
 TrigSignatureMoniMT                                 INFO HLT_j45_ftf_subjesgscIS_L1J15 #3341539267
-TrigSignatureMoniMT                                 INFO -- #3341539267 Events         20         20         0          0          0          0          0          0          0          0          0          0          6          -          6          
-TrigSignatureMoniMT                                 INFO -- #3341539267 Features                             0          0          0          0          0          0          0          0          0          0          6          -          
+TrigSignatureMoniMT                                 INFO -- #3341539267 Events         20         20         0          0          0          0          0          0          0          0          0          0          7          -          7          
+TrigSignatureMoniMT                                 INFO -- #3341539267 Features                             0          0          0          0          0          0          0          0          0          0          7          -          
 TrigSignatureMoniMT                                 INFO HLT_j45_ftf_subjesgscIS_bmv2c1070_split_L1J20 #991419339
-TrigSignatureMoniMT                                 INFO -- #991419339 Events          20         20         0          0          0          0          0          0          0          0          0          0          5          2          2          
-TrigSignatureMoniMT                                 INFO -- #991419339 Features                              0          0          0          0          0          0          0          0          0          0          5          2          
+TrigSignatureMoniMT                                 INFO -- #991419339 Events          20         20         0          0          0          0          0          0          0          0          0          0          5          1          1          
+TrigSignatureMoniMT                                 INFO -- #991419339 Features                              0          0          0          0          0          0          0          0          0          0          5          1          
 TrigSignatureMoniMT                                 INFO HLT_j45_ftf_subjesgscIS_boffperf_split_L1J20 #1961149049
 TrigSignatureMoniMT                                 INFO -- #1961149049 Events         20         20         0          0          0          0          0          0          0          0          0          0          5          5          5          
 TrigSignatureMoniMT                                 INFO -- #1961149049 Features                             0          0          0          0          0          0          0          0          0          0          5          5          
 TrigSignatureMoniMT                                 INFO HLT_j45_ftf_subjesgscIS_pf_L1J20 #761060030
-TrigSignatureMoniMT                                 INFO -- #761060030 Events          20         20         0          0          0          0          0          0          0          0          0          0          5          -          5          
-TrigSignatureMoniMT                                 INFO -- #761060030 Features                              0          0          0          0          0          0          0          0          0          0          5          -          
+TrigSignatureMoniMT                                 INFO -- #761060030 Events          20         20         0          0          0          0          0          0          0          0          0          0          3          -          3          
+TrigSignatureMoniMT                                 INFO -- #761060030 Features                              0          0          0          0          0          0          0          0          0          0          3          -          
 TrigSignatureMoniMT                                 INFO HLT_j45_ftf_subresjesgscIS_L1J15 #1509925407
-TrigSignatureMoniMT                                 INFO -- #1509925407 Events         20         20         0          0          0          0          0          0          0          0          0          0          6          -          6          
+TrigSignatureMoniMT                                 INFO -- #1509925407 Events         20         20         0          0          0          0          0          0          0          0          0          0          7          -          7          
 TrigSignatureMoniMT                                 INFO -- #1509925407 Features                             0          0          0          0          0          0          0          0          0          0          7          -          
 TrigSignatureMoniMT                                 INFO HLT_j45_ftf_subresjesgscIS_pf_L1J20 #4012311417
-TrigSignatureMoniMT                                 INFO -- #4012311417 Events         20         20         0          0          0          0          0          0          0          0          0          0          5          -          5          
-TrigSignatureMoniMT                                 INFO -- #4012311417 Features                             0          0          0          0          0          0          0          0          0          0          5          -          
+TrigSignatureMoniMT                                 INFO -- #4012311417 Events         20         20         0          0          0          0          0          0          0          0          0          0          3          -          3          
+TrigSignatureMoniMT                                 INFO -- #4012311417 Features                             0          0          0          0          0          0          0          0          0          0          3          -          
 TrigSignatureMoniMT                                 INFO HLT_j45_nojcalib_L1J20 #2042444294
 TrigSignatureMoniMT                                 INFO -- #2042444294 Events         20         20         0          0          0          0          0          0          0          0          0          0          3          -          3          
 TrigSignatureMoniMT                                 INFO -- #2042444294 Features                             0          0          0          0          0          0          0          0          0          0          3          -          
@@ -724,8 +724,8 @@ TrigSignatureMoniMT                                 INFO HLT_xe100_mht_L1XE50 #5
 TrigSignatureMoniMT                                 INFO -- #532175988 Events          20         20         0          0          0          0          0          0          0          0          0          0          2          -          2          
 TrigSignatureMoniMT                                 INFO -- #532175988 Features                              0          0          0          0          0          0          0          0          0          0          2          -          
 TrigSignatureMoniMT                                 INFO HLT_xe100_pfsum_L1XE50 #1890237897
-TrigSignatureMoniMT                                 INFO -- #1890237897 Events         20         20         0          0          0          0          0          0          0          0          0          0          0          -          0          
-TrigSignatureMoniMT                                 INFO -- #1890237897 Features                             0          0          0          0          0          0          0          0          0          0          0          -          
+TrigSignatureMoniMT                                 INFO -- #1890237897 Events         20         20         0          0          0          0          0          0          0          0          0          0          1          -          1          
+TrigSignatureMoniMT                                 INFO -- #1890237897 Features                             0          0          0          0          0          0          0          0          0          0          1          -          
 TrigSignatureMoniMT                                 INFO HLT_xe100_tcpufit_L1XE50 #2803198799
 TrigSignatureMoniMT                                 INFO -- #2803198799 Events         20         20         0          0          0          0          0          0          0          0          0          0          0          -          0          
 TrigSignatureMoniMT                                 INFO -- #2803198799 Features                             0          0          0          0          0          0          0          0          0          0          0          -          
@@ -751,14 +751,14 @@ TrigSignatureMoniMT                                 INFO HLT_xe30_mht_L1XE10 #36
 TrigSignatureMoniMT                                 INFO -- #3626903018 Events         20         20         0          0          0          0          0          0          0          0          0          0          16         -          16         
 TrigSignatureMoniMT                                 INFO -- #3626903018 Features                             0          0          0          0          0          0          0          0          0          0          16         -          
 TrigSignatureMoniMT                                 INFO HLT_xe30_pfsum_L1XE10 #998713382
-TrigSignatureMoniMT                                 INFO -- #998713382 Events          20         20         0          0          0          0          0          0          0          0          0          0          3          -          3          
-TrigSignatureMoniMT                                 INFO -- #998713382 Features                              0          0          0          0          0          0          0          0          0          0          3          -          
+TrigSignatureMoniMT                                 INFO -- #998713382 Events          20         20         0          0          0          0          0          0          0          0          0          0          5          -          5          
+TrigSignatureMoniMT                                 INFO -- #998713382 Features                              0          0          0          0          0          0          0          0          0          0          5          -          
 TrigSignatureMoniMT                                 INFO HLT_xe30_tcpufit_L1XE10 #1583719916
 TrigSignatureMoniMT                                 INFO -- #1583719916 Events         20         20         0          0          0          0          0          0          0          0          0          0          6          -          6          
 TrigSignatureMoniMT                                 INFO -- #1583719916 Features                             0          0          0          0          0          0          0          0          0          0          6          -          
 TrigSignatureMoniMT                                 INFO HLT_xe30_trkmht_L1XE10 #2468872349
-TrigSignatureMoniMT                                 INFO -- #2468872349 Events         20         20         0          0          0          0          0          0          0          0          0          0          5          -          5          
-TrigSignatureMoniMT                                 INFO -- #2468872349 Features                             0          0          0          0          0          0          0          0          0          0          5          -          
+TrigSignatureMoniMT                                 INFO -- #2468872349 Events         20         20         0          0          0          0          0          0          0          0          0          0          4          -          4          
+TrigSignatureMoniMT                                 INFO -- #2468872349 Features                             0          0          0          0          0          0          0          0          0          0          4          -          
 TrigSignatureMoniMT                                 INFO HLT_xe65_cell_L1XE50 #531141817
 TrigSignatureMoniMT                                 INFO -- #531141817 Events          20         20         0          0          0          0          0          0          0          0          0          0          0          -          0          
 TrigSignatureMoniMT                                 INFO -- #531141817 Features                              0          0          0          0          0          0          0          0          0          0          0          -