diff --git a/InnerDetector/InDetExample/InDetRecExample/python/ConfiguredNewTrackingCuts.py b/InnerDetector/InDetExample/InDetRecExample/python/ConfiguredNewTrackingCuts.py
index f79ea6bfb50ce8d5a79cc2f3f7a691b923afde84..4b9299c2858907a33584c6e060eb89c09bda3df6 100755
--- a/InnerDetector/InDetExample/InDetRecExample/python/ConfiguredNewTrackingCuts.py
+++ b/InnerDetector/InDetExample/InDetRecExample/python/ConfiguredNewTrackingCuts.py
@@ -78,6 +78,7 @@ class ConfiguredNewTrackingCuts :
     self.__phiWidthBrem            = 0.3 # default is 0.3
     self.__etaWidthBrem            = 0.2 # default is 0.3
 
+
     # --- Z Boundary Seeding
     self.__doZBoundary             = False
     
@@ -229,6 +230,13 @@ class ConfiguredNewTrackingCuts :
       self.__maxSecondarySCTHoles    = 5
       self.__maxSecondaryDoubleHoles = 2
 
+    if self.__indetflags.doInnerDetectorCommissioning():
+      self.__minClusters             = 6
+      self.__nWeightedClustersMin    = 6
+      self.__minSiNotShared   = 5
+      self.__rejectShortExtensions = False
+
+
 #    if rec.Commissioning():
 #      self.__minClusters             = 7                # Igor 6, was 7
 #      self.__maxHoles                = 5                # was 5
@@ -405,6 +413,7 @@ class ConfiguredNewTrackingCuts :
       self.__maxPrimaryImpact = 1000. * Units.mm 
       self.__maxZImpact       = 10000. * Units.mm 
       self.__minClusters      = 4
+      self.__minSiNotShared   = 4
       self.__maxHoles         = 3
       self.__maxPixelHoles    = 3
       self.__maxSctHoles      = 3
@@ -496,6 +505,25 @@ class ConfiguredNewTrackingCuts :
         self.__Xi2maxNoAdd      = 100.0
         self.__nWeightedClustersMin = 6
 
+
+    if mode == "PixelPrdAssociation":
+      self.__extension        = "PixelPrdAssociation" # this runs after NewTracking
+      self.__minPT            = 5.0 * Units.GeV
+      self.__minClusters      = 4
+      self.__maxHoles         = 0
+      self.__maxPixelHoles    = 0
+      self.__maxSctHoles      = 0
+      self.__maxDoubleHoles   = 0
+      self.__minSiNotShared   = 3
+      self.__maxShared        = 0
+      self.__seedFilterLevel  = 2
+      self.__nHolesMax        = self.__maxHoles
+      self.__nHolesGapMax     = self.__maxHoles      
+      self.__useSCT           = False
+      self.__useTRT           = False 
+      self.__maxEta           = 2.2
+
+
     # --- changes for SCT segments
     if mode == "SCT":
       self.__extension        = "SCT" # this runs parallel to NewTracking
@@ -531,7 +559,12 @@ class ConfiguredNewTrackingCuts :
         self.__Xi2max           = 60.0
         self.__Xi2maxNoAdd      = 100.0
         self.__nWeightedClustersMin = 6
-        
+
+        if self.__indetflags.doInnerDetectorCommissioning():
+          self.__minClusters      = 4
+          self.__minSiNotShared   = 4
+          self.__nWeightedClustersMin = 4
+
     # --- TRT subdetector tracklet cuts
     if mode == "TRT":
       self.__minPT                   = 0.4 * Units.GeV
@@ -570,8 +603,14 @@ class ConfiguredNewTrackingCuts :
         self.__Xi2max           = 60.0
         self.__Xi2maxNoAdd      = 100.0
         self.__nWeightedClustersMin = 6
+
+        if self.__indetflags.doInnerDetectorCommissioning():
+          self.__minClusters      = 4
+          self.__nWeightedClustersMin = 4
+          self.__minSiNotShared   = 4
+          self.__rejectShortExtensions     = False
         
-#      elif rec.Commissioning():
+#        elif rec.Commissioning():
 #        self.__minClusters             = 7               # Igor 6, was 7
 #        self.__maxHoles                = 5               # was 5
 #        self.__maxSctHoles             = 5               # was 5
diff --git a/InnerDetector/InDetExample/InDetRecExample/python/ConfiguredVertexingCuts.py b/InnerDetector/InDetExample/InDetRecExample/python/ConfiguredVertexingCuts.py
index 39a8841b454afb6375ccaec2453bea4d7a7db898..52d8958cd216a242a0a3100a2751046612bdac9f 100644
--- a/InnerDetector/InDetExample/InDetRecExample/python/ConfiguredVertexingCuts.py
+++ b/InnerDetector/InDetExample/InDetRecExample/python/ConfiguredVertexingCuts.py
@@ -41,6 +41,9 @@ class ConfiguredVertexingCuts :
 # of tracks for the vertex reconstruction.
 #
 
+# Cut level for the track selection tool.
+   self.__TrackCutLevel             = "NoCut"
+
 # this is cutLevel = 1
    self.__minPT                     = 400. * Units.MeV
    self.__IPd0Max                   = 10.
@@ -54,10 +57,9 @@ class ConfiguredVertexingCuts :
    
 #cluster and track quality cuts   
    self.__useTrackSummaryInfo       = True
-   self.__nHitBLayer		    = 0
+   self.__nHitInnermostLayer	    = 0
    self.__nHitPix		    = 1
    self.__nHolesPix                 = 1
-   self.__nHitBLayerPlusPix	    = 0
    self.__nHitSct		    = 4
    self.__nHitSi		    = 6
    self.__nHitTrt		    = 0
@@ -131,6 +133,13 @@ class ConfiguredVertexingCuts :
      self.__nHolesPix  = 0
 
 
+#-------------- RUN2 TightPrimary Options---------------------
+#  Additional TrackSelectionTool options for RUN2
+#
+   if self.__indetflags.priVtxCutLevel() == 3 :
+     self.__TrackCutLevel = "TightPrimary"
+
+
 #-------------"MinBias running mode"-----------------------------------
 # Looser pT cut on input tracks; tighter cut on sigma IP d0
    if mode == "LowPt":
@@ -195,6 +204,9 @@ class ConfiguredVertexingCuts :
   def extension( self ) :
     return self.__extension
 
+  def TrackCutLevel( self ) :
+    return self.__TrackCutLevel
+
   def minPT( self ) :
     return self.__minPT
     
@@ -225,15 +237,12 @@ class ConfiguredVertexingCuts :
   def  useTrackSummaryInfo( self ) :  
    return self.__useTrackSummaryInfo
    
-  def  nHitBLayer( self ) :  
-   return self.__nHitBLayer
+  def  nHitInnermostLayer( self ) :  
+   return self.__nHitInnermostLayer
    
   def  nHitPix( self ):
    return self.__nHitPix
    
-  def  nHitBLayerPlusPix( self ): 
-   return self.__nHitBLayerPlusPix
-   
   def  nHitSct( self ):
    return self.__nHitSct
    
@@ -281,7 +290,9 @@ class ConfiguredVertexingCuts :
     print '****** Inner Detector Primary Vertex Reconstruction Cuts ****************************'
     print '*'
     print '* mode is                                           : ', self.__mode
-    print '* cut level for primary vertexig is                 : ', self.__indetflags.priVtxCutLevel()
+    print '* cut level for primary vertexing is                : ', self.__indetflags.priVtxCutLevel()
+    print '*'
+    print '* Track Cut Level                                   : ', self.__TrackCutLevel
     print '*'
     print '* min pT                                            : ', self.__minPT, ' MeV'
     print '* Max IP d0                                         : ', self.__IPd0Max
@@ -295,10 +306,9 @@ class ConfiguredVertexingCuts :
    
 #cluster and track quality cuts  
     print '* Use TrackSummary                                  : ', self.__useTrackSummaryInfo
-    print '* Min N B Layer Hits                                : ', self.__nHitBLayer
+    print '* Min N Innermost Layer Hits                        : ', self.__nHitInnermostLayer
     print '* Min N Pix Hit                                     : ', self.__nHitPix
     print '* Max N Pix Holes                                   : ', self.__nHolesPix
-    print '* Min N B Layer + Pix                               : ', self.__nHitBLayerPlusPix
     print '* Min N SCT Hits                                    : ', self.__nHitSct
     print '* Min N Si Hits                                     : ', self.__nHitSi
     print '* Min N TRT Hits                                    : ', self.__nHitTrt
diff --git a/InnerDetector/InDetExample/InDetRecExample/python/InDetJobProperties.py b/InnerDetector/InDetExample/InDetRecExample/python/InDetJobProperties.py
index 993680b3f2310e4d0e2638a3d1c2a41fb86d3066..c9b4439d69b1e5a725293b53ef22ab2fbbaf1b0d 100644
--- a/InnerDetector/InDetExample/InDetRecExample/python/InDetJobProperties.py
+++ b/InnerDetector/InDetExample/InDetRecExample/python/InDetJobProperties.py
@@ -266,7 +266,13 @@ class doCaloSeededBrem(InDetFlagsJobProperty):
     statusOn     = True
     allowedTypes = ['bool']
     StoredValue  = True
-                  
+
+class doHadCaloSeededSSS(InDetFlagsJobProperty):
+    """Use Recover SSS to Calo ROIs"""
+    statusOn     = True
+    allowedTypes = ['bool']
+    StoredValue  = False
+
 class doBeamGas(InDetFlagsJobProperty):
     """Turn running of BeamGas second pass on and off"""
     statusOn     = True
@@ -521,8 +527,8 @@ class priVtxCutLevel(InDetFlagsJobProperty):
     """
     statusOn     = True
     allowedTypes = ['int']
-    allowedValues= [1,2]
-    StoredValue  = 2 
+    allowedValues= [1,2,3]
+    StoredValue  = 3 
 
 class vertexSeedFinder(InDetFlagsJobProperty):
     """ string to store the type of seed finder, possible types: 'SlidingWindowMultiSeedFinder', 'HistogrammingMultiSeedFinder', 'DivisiveMultiSeedFinder' """
@@ -618,6 +624,12 @@ class doStandardPlots(InDetFlagsJobProperty):
     allowedTypes = ['bool']
     StoredValue  = False
     
+class doPhysValMon(InDetFlagsJobProperty):
+    """ Use to turn on Physics Validation Monitoring """
+    statusOn     = True
+    allowedTypes = ['bool']
+    StoredValue  = False
+    
 class materialInteractions(InDetFlagsJobProperty):
     """  """
     statusOn     = True
@@ -842,13 +854,43 @@ class pixelClusterSplittingType(InDetFlagsJobProperty):
    allowedTypes = ['str']
    allowedValues= ['NeuralNet','AnalogClus']
    StoredValue  = 'NeuralNet'
-	    
+
+class pixelClusterSplitProb1 (InDetFlagsJobProperty):
+   """ Cut value for splitting clusters into two parts """
+   statusOn = True
+   allowedTypes = ['float']
+   StoredValue = 0.35
+
+class pixelClusterSplitProb2 (InDetFlagsJobProperty):
+   """ Cut value for splitting clusters into three parts """
+   statusOn = True
+   allowedTypes = ['float']
+   StoredValue = 0.4
+
+class pixelClusterSplitMinPt (InDetFlagsJobProperty):
+   """ Min pt for tracks to try and split hits """
+   statusOn = True
+   allowedTypes = ['float']
+   StoredValue = 1000
+
 class useBroadClusterErrors(InDetFlagsJobProperty):
     """ Use broad cluster errors for Pixel/SCT """
     statusOn     = True
     allowedTypes = ['bool']
     StoredValue  = False
 
+class useBroadPixClusterErrors(InDetFlagsJobProperty):
+    """ Use broad cluster errors for Pixel"""
+    statusOn     = True
+    allowedTypes = ['NoneType','bool']
+    StoredValue  = None
+
+class useBroadSCTClusterErrors(InDetFlagsJobProperty):
+    """ Use broad cluster errors for SCT"""
+    statusOn     = True
+    allowedTypes = ['NoneType','bool']
+    StoredValue  = None
+
 class writeRDOs(InDetFlagsJobProperty):
     """ Write RDOs into ESD """
     statusOn     = True
@@ -909,6 +951,42 @@ class doCaloSeededTRTSegments(InDetFlagsJobProperty):
     allowedTypes = ['bool']
     StoredValue  = False
 
+class doInnerDetectorCommissioning(InDetFlagsJobProperty):
+  """ Switch for running looser settings in ID for commissioning """
+  statusOn     = True
+  allowedTypes = ['bool']
+  StoredValue  = False
+
+class doTIDE_Ambi(InDetFlagsJobProperty):
+  """ Switch for running TIDE Ambi """
+  statusOn     = True
+  allowedTypes = ['bool']
+  StoredValue  = True
+
+class doSSSfilter(InDetFlagsJobProperty):
+  """ Switch for running SSS filter"""
+  statusOn     = True
+  allowedTypes = ['bool']
+  StoredValue  = True
+
+class pT_SSScut(InDetFlagsJobProperty):
+  """ Pt cut for SSS filter [GeV]"""
+  statusOn     = True
+  allowedTypes = ['float']
+  StoredValue  = -1
+
+class ForceCoraCool(InDetFlagsJobProperty):
+  """ Use old (non CoolVectorPayload) SCT Conditions """
+  statusOn     = True
+  allowedTypes = ['bool']
+  StoredValue  = False
+
+class doTrackSegmentsPixelPrdAssociation(InDetFlagsJobProperty):
+    """Turn running of track segment creation in pixel after NewTracking, and with PRD association, on and off"""
+    statusOn     = True
+    allowedTypes = ['bool']
+    StoredValue  = False
+
 ##-----------------------------------------------------------------------------
 ## 2nd step
 ## Definition of the InDet flag container
@@ -945,7 +1023,7 @@ class InDetJobProperties(JobPropertyContainer):
     from AthenaCommon.BeamFlags import jobproperties
     print "InDetJobProperties::setupDefaults():  jobproperties.Beam.beamType() is "+jobproperties.Beam.beamType()+" bunch spacing is "+str(jobproperties.Beam.bunchSpacing()) 
 
-    if (jobproperties.Beam.beamType()=="collisions" and jobproperties.Beam.bunchSpacing()==25): 
+    if ( jobproperties.Beam.beamType()=="collisions" and not rec.Commissioning() ): 
        self.checkThenSet(self.InDet25nsec            , True)     
 
     if (jobproperties.Beam.beamType()=="singlebeam"):
@@ -990,9 +1068,9 @@ class InDetJobProperties(JobPropertyContainer):
        self.checkThenSet(self.doSimpleV0Finder       , False)
        self.checkThenSet(self.doSecVertexFinder      , False )
        self.checkThenSet(self.doConversions          , False )
-       self.checkThenSet(self.doTrackSegmentsPixel   , False)
-       self.checkThenSet(self.doTrackSegmentsSCT     , False)
-       self.checkThenSet(self.doTrackSegmentsTRT     , False)
+       #self.checkThenSet(self.doTrackSegmentsPixel   , False)
+       #self.checkThenSet(self.doTrackSegmentsSCT     , False)
+       #self.checkThenSet(self.doTrackSegmentsTRT     , False)
        self.checkThenSet(self.doLowBetaFinder        , False)
        self.checkThenSet(self.doCosmics              , True )
        self.checkThenSet(self.preProcessing          , True )
@@ -1063,6 +1141,7 @@ class InDetJobProperties(JobPropertyContainer):
        self.checkThenSet(self.doSGDeletion           , True )
        # TEMPORARY FIX TO STOP SEG FAULT
        self.checkThenSet(self.doPixelClusterSplitting, False)
+       self.checkThenSet(self.doTIDE_Ambi, False)
 
     elif (self.doIBL()):
        print "----> InDetJobProperties for IBL"
@@ -1149,6 +1228,7 @@ class InDetJobProperties(JobPropertyContainer):
        # --- turn off brem
        self.checkThenSet(self.doBremRecovery         , False)
        self.checkThenSet(self.doCaloSeededBrem       , False)
+       self.checkThenSet(self.doHadCaloSeededSSS     , False)
        # --- turn off TRT
        DetFlags.makeRIO.TRT_setOff()
        DetFlags.TRT_setOff()
@@ -1192,6 +1272,8 @@ class InDetJobProperties(JobPropertyContainer):
        self.checkThenSet(self.doMonitoringAlignment  , False )
        self.checkThenSet(self.doBremRecovery         , False)
        self.checkThenSet(self.doCaloSeededBrem       , False)
+       self.checkThenSet(self.doHadCaloSeededSSS     , False)
+
 
     # --- collisions, this is the main one !
     elif (jobproperties.Beam.beamType()=="collisions"):
@@ -1215,6 +1297,8 @@ class InDetJobProperties(JobPropertyContainer):
           # --- turn off brem
           self.checkThenSet(self.doBremRecovery  , False)
           self.checkThenSet(self.doCaloSeededBrem, False)
+          self.checkThenSet(self.doHadCaloSeededSSS     , False)
+
           # --- primary vertex setup
           self.checkThenSet(self.primaryVertexSetup      , "IterativeFinding")
           self.checkThenSet(self.primaryVertexCutSetup   , "Offline")          
@@ -1236,6 +1320,8 @@ class InDetJobProperties(JobPropertyContainer):
           # --- turn off brem
           self.checkThenSet(self.doBremRecovery  , False)
           self.checkThenSet(self.doCaloSeededBrem, False)
+          self.checkThenSet(self.doHadCaloSeededSSS     , False)
+
           # --- primary vertex setup
           self.checkThenSet(self.primaryVertexSetup   , "IterativeFinding")
           self.checkThenSet(self.primaryVertexCutSetup, "LowPt")
@@ -1254,12 +1340,20 @@ class InDetJobProperties(JobPropertyContainer):
     if not jobproperties.Beam.beamType()=="collisions":
        self.checkThenSet(self.doBremRecovery  , False)
        self.checkThenSet(self.doCaloSeededBrem, False)
+       self.checkThenSet(self.doHadCaloSeededSSS     , False)
 
-    # --- omissioning steering independent of cosmics/collisions/...
-    # if (rec.Commissioning()):
-       # self.checkThenSet(self.useBroadClusterErrors  , True)
-       # self.checkThenSet(self.doSlimming             , False)
+    # --- comissioning steering independent of cosmics/collisions/...
+    #if (rec.Commissioning()):
+    #    self.checkThenSet(self.doInnerDetectorCommissioning, True)
 
+    if (self.doInnerDetectorCommissioning()):
+        self.checkThenSet(self.useBroadClusterErrors  , True)
+        self.checkThenSet(self.doSlimming             , False)
+        self.checkThenSet(self.doTrackSegmentsPixel, True )
+        self.checkThenSet(self.doTrackSegmentsSCT  , True )
+        self.checkThenSet(self.doTrackSegmentsTRT  , True )
+        self.checkThenSet(self.doPixelClusterSplitting, False)
+        self.checkThenSet(self.doTIDE_Ambi, False)
 
   def init(self):
     #Method to do the final setup of the flags according to user input before.
@@ -1397,6 +1491,8 @@ class InDetJobProperties(JobPropertyContainer):
       self.doStatistics            = self.postProcessing() and self.doStatistics()
       # control to run Standard Plots
       self.doStandardPlots         = self.postProcessing() and self.doStandardPlots()
+      # control to run Standard Plots
+      self.doPhysValMon            = self.postProcessing() and self.doPhysValMon()
       #
       # --------------------------------------------------------------------
       # ---- ntuple creation
@@ -1598,6 +1694,7 @@ class InDetJobProperties(JobPropertyContainer):
        self.doLowPt                   = False  
        self.doVeryLowPt               = False  
        self.doForwardTracks           = False 
+       self.doHadCaloSeededSSS        = False
 
        self.doxKalman                 = False
        self.doiPatRec                 = False
@@ -1617,6 +1714,7 @@ class InDetJobProperties(JobPropertyContainer):
     if self.disableInDetReco():
        self.doCaloSeededBrem          = False # disables ROI creation
        self.preProcessing             = False
+       self.doHadCaloSeededSSS        = False
        #self.doPRDFormation            = False
        #self.doSpacePointFormation     = False
        self.disableTracking           = True
@@ -1701,6 +1799,11 @@ class InDetJobProperties(JobPropertyContainer):
        print '*'
        print '* --------------------> Single collision vertex reco'
        print '*'   
+    if self.doInnerDetectorCommissioning:
+       print '*'
+       print '* --------------------> Loose setting for Commissioning'
+       print '*'   
+
     
     # -----------------------------------------
     print '*'
@@ -1715,8 +1818,15 @@ class InDetJobProperties(JobPropertyContainer):
     if self.doPRDFormation() :
        print '* run PrepRawDataFormation'
        if self.doPixelClusterSplitting():
-          print '* - run new Pixel clustering with splitting using analog information'
-          print '*   splitting technique: ', self.pixelClusterSplittingType()   
+          if self.doTIDE_Ambi(): 
+            print '* - run TIDE ambi with pixel cluster splitting' 
+            print '*   splitting technique: ', self.pixelClusterSplittingType()
+            print '*   split prob1 cut:     ', self.pixelClusterSplitProb1()
+            print '*   split prob2 cut:     ', self.pixelClusterSplitProb2()
+            print '*   Min split   pt: [MeV]', self.pixelClusterSplitMinPt() 
+          else:
+            print '* - run new Pixel clustering with splitting using analog information'
+            print '*   splitting technique: ', self.pixelClusterSplittingType()   
        if self.selectSCTIntimeHits():
            if self.InDet25nsec(): 
                print '* - use 01X masking for SCT readout in reconstruction' 
@@ -1873,6 +1983,8 @@ class InDetJobProperties(JobPropertyContainer):
        print '* run statistics packages'
     if self.doStandardPlots() :
        print '* run Standard Plots package'
+    if self.doPhysValMon() :
+       print '* run Physics Validation Monitoring'
     if self.doNtupleCreation():
        ntupleString = '* Ntuple cluster/drift circle trees activated:'
        if self.doPixelClusterNtuple():
@@ -2058,8 +2170,8 @@ jobproperties.add_Container(InDetJobProperties)
 _list_InDetJobProperties = [Enabled,
                             doPrintConfigurables,
                             doNewTracking,
-							doPseudoTracking,
-							doSplitReco,
+                            doPseudoTracking,
+                            doSplitReco,
                             doxKalman,
                             doiPatRec,
                             preProcessing,
@@ -2084,6 +2196,7 @@ _list_InDetJobProperties = [Enabled,
                             priVtxCutLevel,
                             doBremRecovery,
                             doCaloSeededBrem,
+                            doHadCaloSeededSSS,
                             doBeamGas,
                             doBeamHalo,
                             doVtxLumi,
@@ -2140,6 +2253,7 @@ _list_InDetJobProperties = [Enabled,
                             doConversions,
                             doStatistics,
                             doStandardPlots,
+                            doPhysValMon,
                             materialInteractions,
                             materialInteractionsType,
                             doPixelClusterNtuple,
@@ -2176,17 +2290,28 @@ _list_InDetJobProperties = [Enabled,
                             disableInDetReco,
                             doPixelClusterSplitting,
                             pixelClusterSplittingType,
+                            pixelClusterSplitProb1,
+                            pixelClusterSplitProb2,
+                            pixelClusterSplitMinPt,
                             useBroadClusterErrors,
+                            useBroadPixClusterErrors,
+                            useBroadSCTClusterErrors,
                             writeRDOs,
                             writePRDs,
                             doMinBias,
                             doLowMuRunSetup,
                             doRobustReco,
-			                doSingleCollisionVertexReco,
+                            doSingleCollisionVertexReco,
                             useMBTSTimeDiff,
                             useNewSiSPSeededTF,
                             doxAOD,
-                            doCaloSeededTRTSegments
+                            doCaloSeededTRTSegments,
+                            doInnerDetectorCommissioning,
+                            doTIDE_Ambi,
+                            doSSSfilter,
+                            pT_SSScut,
+                            ForceCoraCool,
+                            doTrackSegmentsPixelPrdAssociation
                            ]
 for j in _list_InDetJobProperties: 
     jobproperties.InDetJobProperties.add_JobProperty(j)
diff --git a/InnerDetector/InDetExample/InDetRecExample/python/InDetKeys.py b/InnerDetector/InDetExample/InDetRecExample/python/InDetKeys.py
index 20eeef6d0a868b9e09fec1bf08ae7a35e3698e75..18ae46427e40a04d3f63e72df5836a84d5afd565 100644
--- a/InnerDetector/InDetExample/InDetRecExample/python/InDetKeys.py
+++ b/InnerDetector/InDetExample/InDetRecExample/python/InDetKeys.py
@@ -369,6 +369,12 @@ class SiSpSeededPixelTracks(JobProperty):
     allowedTypes = ['str']
     StoredValue  = 'SiSPSeededPixelTracks'
 
+class SiSpSeededPixelPrdAssociationTracks(JobProperty):
+    """StoreGate key for SP seeded pixel tracks run after new tracking on remaining PRDs"""
+    statusOn     = True
+    allowedTypes = ['str']
+    StoredValue  = 'SiSPSeededPixelPrdAssociationTracks'
+
 class SiSpSeededSCTTracks(JobProperty):
     """StoreGate key for SP seeded SCT standalone tracks """
     statusOn     = True
@@ -381,6 +387,12 @@ class PixelTracks(JobProperty):
     allowedTypes = ['str']
     StoredValue  = 'ResolvedPixelTracks'
 
+class PixelPrdAssociationTracks(JobProperty):
+    """StoreGate key for resolved pixel tracks run after New Tracking on remaining PRDs"""
+    statusOn     = True
+    allowedTypes = ['str']
+    StoredValue  = 'ResolvedPixelPrdAssociationTracks'
+
 class SCTTracks(JobProperty):
     """StoreGate key for resolved SCT standalone tracks """
     statusOn     = True
@@ -682,6 +694,12 @@ class StandardPlotHistName(JobProperty):
     allowedTypes = ['str']
     StoredValue  = "InDetStandardPlots.root"
 
+class PhysValMonHistName(JobProperty):
+    """Name of Histogram file for the Physics Validation Monitoring"""
+    statusOn     = True
+    allowedTypes = ['str']
+    StoredValue  = "InDetPhysValMonitoringPlots.root"
+
 class OutputRDOFileName(JobProperty):
     """Name of output RDO file"""
     statusOn     = True
@@ -725,6 +743,24 @@ class CaloClusterROIContainer(JobProperty):
     allowedTypes = ['str']
     StoredValue  = 'InDetCaloClusterROIs'
 
+class HadCaloClusterContainer(JobProperty):
+    """Brem Reco: Container of EM clusters"""
+    statusOn     = True
+    allowedTypes = ['str']
+    StoredValue  = 'CaloCalTopoCluster'
+
+class HadCaloCellContainer(JobProperty):
+    """Brem Reco: Container of calo cell"""
+    statusOn     = True
+    allowedTypes = ['str']
+    StoredValue  = 'AllCalo'
+
+class HadCaloClusterROIContainer(JobProperty):
+    """Brem Reco: Container of calo cluster ROIs"""
+    statusOn     = True
+    allowedTypes = ['str']
+    StoredValue  = 'InDetHadCaloClusterROIs'
+
 class xAODTrackParticleContainer(JobProperty):
     """xAOD TrackParticle"""
     statusOn = True
@@ -737,17 +773,71 @@ class xAODVertexContainer(JobProperty):
     allowedTypes = ['str']
     StoredValue = "PrimaryVertices"
 
+class xAODV0VertexContainer(JobProperty):
+    """xAOD Vertex V0"""
+    statusOn = True
+    allowedTypes = ['str']
+    StoredValue = "V0UnconstrVertices"
+
+class xAODKshortVertexContainer(JobProperty):
+    """xAOD Vertex Kshort"""
+    statusOn = True
+    allowedTypes = ['str']
+    StoredValue = "V0KshortVertices"
+
+class xAODLambdaVertexContainer(JobProperty):
+    """xAOD Vertex Lambda"""
+    statusOn = True
+    allowedTypes = ['str']
+    StoredValue = "V0LambdaVertices"
+
+class xAODLambdabarVertexContainer(JobProperty):
+    """xAOD Vertex Lambdabar"""
+    statusOn = True
+    allowedTypes = ['str']
+    StoredValue = "V0LambdabarVertices"
+
 class xAODForwardTrackParticleContainer(JobProperty):
     """xAOD TrackParticle from Forward Tracking"""
     statusOn = True
     allowedTypes = ['str']
-    StoredValue = "InDetTrackParticlesForward"
+    StoredValue = "InDetForwardTrackParticles"
 
 class xAODLowBetaTrackParticleContainer(JobProperty):
     """xAOD TrackParticle from Low Beta Finder"""
     statusOn = True
     allowedTypes = ['str']
-    StoredValue = "InDetTrackParticlesLowBeta"
+    StoredValue = "InDetLowBetaTrackParticles"
+
+class xAODPseudoTrackParticleContainer(JobProperty):
+    """xAOD Pseduo TrackParticle"""
+    statusOn = True
+    allowedTypes = ['str']
+    StoredValue = "InDetPseudoTrackParticles"
+
+class xAODPixelTrackParticleContainer(JobProperty):
+    """xAOD PixelTrackParticle"""
+    statusOn = True
+    allowedTypes = ['str']
+    StoredValue = "InDetPixelTrackParticles"
+
+class xAODSCTTrackParticleContainer(JobProperty):
+    """xAOD SCTTrackParticle"""
+    statusOn = True
+    allowedTypes = ['str']
+    StoredValue = "InDetSCTTrackParticles"
+
+class xAODTRTTrackParticleContainer(JobProperty):
+    """xAOD TRTTrackParticle"""
+    statusOn = True
+    allowedTypes = ['str']
+    StoredValue = "InDetTRTTrackParticles"
+
+class xAODPixelPrdAssociationTrackParticleContainer(JobProperty):
+    """xAOD PixelTrackParticle with PRD association"""
+    statusOn = True
+    allowedTypes = ['str']
+    StoredValue = "InDetPixelPrdAssociationTrackParticles"
 
 ##-----------------------------------------------------------------------------
 ## 2nd step
@@ -833,8 +923,10 @@ jobproperties.InDetContainerKeys.add_JobProperty(PseudoTracks)
 jobproperties.InDetContainerKeys.add_JobProperty(PseudoDetailedTracksTruth)
 jobproperties.InDetContainerKeys.add_JobProperty(PseudoTracksTruth)
 jobproperties.InDetContainerKeys.add_JobProperty(SiSpSeededPixelTracks)
+jobproperties.InDetContainerKeys.add_JobProperty(SiSpSeededPixelPrdAssociationTracks)
 jobproperties.InDetContainerKeys.add_JobProperty(SiSpSeededSCTTracks)
 jobproperties.InDetContainerKeys.add_JobProperty(PixelTracks)
+jobproperties.InDetContainerKeys.add_JobProperty(PixelPrdAssociationTracks)
 jobproperties.InDetContainerKeys.add_JobProperty(SCTTracks)
 jobproperties.InDetContainerKeys.add_JobProperty(TRTTracks)
 jobproperties.InDetContainerKeys.add_JobProperty(TRTTracks_NewT)
@@ -858,6 +950,10 @@ jobproperties.InDetContainerKeys.add_JobProperty(ExtendedHaloTracks)
 jobproperties.InDetContainerKeys.add_JobProperty(ResolvedSiCosmicTracks)
 jobproperties.InDetContainerKeys.add_JobProperty(CombinedCosmicTracks)
 jobproperties.InDetContainerKeys.add_JobProperty(PrimaryVertices)
+jobproperties.InDetContainerKeys.add_JobProperty(xAODV0VertexContainer)
+jobproperties.InDetContainerKeys.add_JobProperty(xAODKshortVertexContainer)
+jobproperties.InDetContainerKeys.add_JobProperty(xAODLambdaVertexContainer)
+jobproperties.InDetContainerKeys.add_JobProperty(xAODLambdabarVertexContainer)
 jobproperties.InDetContainerKeys.add_JobProperty(PrimaryVerticesWithoutBeamConstraint)
 jobproperties.InDetContainerKeys.add_JobProperty(PrimaryVerticesSplitStream)
 jobproperties.InDetContainerKeys.add_JobProperty(TrackParticles)
@@ -882,6 +978,7 @@ jobproperties.InDetContainerKeys.add_JobProperty(LowBetaCandidates)
 jobproperties.InDetContainerKeys.add_JobProperty(trkValidationNtupleName)
 jobproperties.InDetContainerKeys.add_JobProperty(trkD3PDFileName)
 jobproperties.InDetContainerKeys.add_JobProperty(StandardPlotHistName)
+jobproperties.InDetContainerKeys.add_JobProperty(PhysValMonHistName)
 jobproperties.InDetContainerKeys.add_JobProperty(OutputRDOFileName)
 jobproperties.InDetContainerKeys.add_JobProperty(OutputESDFileName)
 jobproperties.InDetContainerKeys.add_JobProperty(OutputAODFileName)
@@ -889,10 +986,22 @@ jobproperties.InDetContainerKeys.add_JobProperty(McEventCollection)
 jobproperties.InDetContainerKeys.add_JobProperty(CaloClusterContainer)
 jobproperties.InDetContainerKeys.add_JobProperty(CaloCellContainer)
 jobproperties.InDetContainerKeys.add_JobProperty(CaloClusterROIContainer)
+jobproperties.InDetContainerKeys.add_JobProperty(HadCaloClusterContainer)
+jobproperties.InDetContainerKeys.add_JobProperty(HadCaloCellContainer)
+jobproperties.InDetContainerKeys.add_JobProperty(HadCaloClusterROIContainer)
 jobproperties.InDetContainerKeys.add_JobProperty(xAODTrackParticleContainer)
 jobproperties.InDetContainerKeys.add_JobProperty(xAODVertexContainer)
+jobproperties.InDetContainerKeys.add_JobProperty(xAODV0VertexContainer)
+jobproperties.InDetContainerKeys.add_JobProperty(xAODKshortVertexContainer)
+jobproperties.InDetContainerKeys.add_JobProperty(xAODLambdaVertexContainer)
+jobproperties.InDetContainerKeys.add_JobProperty(xAODLambdabarVertexContainer)
 jobproperties.InDetContainerKeys.add_JobProperty(xAODForwardTrackParticleContainer)
 jobproperties.InDetContainerKeys.add_JobProperty(xAODLowBetaTrackParticleContainer)
+jobproperties.InDetContainerKeys.add_JobProperty(xAODPseudoTrackParticleContainer)
+jobproperties.InDetContainerKeys.add_JobProperty(xAODPixelTrackParticleContainer)
+jobproperties.InDetContainerKeys.add_JobProperty(xAODSCTTrackParticleContainer)
+jobproperties.InDetContainerKeys.add_JobProperty(xAODTRTTrackParticleContainer)
+jobproperties.InDetContainerKeys.add_JobProperty(xAODPixelPrdAssociationTrackParticleContainer)
 ##-----------------------------------------------------------------------------
 ## 5th step
 ## short-cut for lazy people
diff --git a/InnerDetector/InDetExample/InDetRecExample/share/ConfiguredInDetPreProcessingTRT.py b/InnerDetector/InDetExample/InDetRecExample/share/ConfiguredInDetPreProcessingTRT.py
index a0da9ba5dd2c437ad72fb6bc49ad2906eac606ff..28077f2a73715ba612e55443d9300750fb37ed29 100644
--- a/InnerDetector/InDetExample/InDetRecExample/share/ConfiguredInDetPreProcessingTRT.py
+++ b/InnerDetector/InDetExample/InDetRecExample/share/ConfiguredInDetPreProcessingTRT.py
@@ -64,13 +64,19 @@ class ConfiguredInDetPreProcessingTRT:
          # for now, no values for argon. This is OK (?) for 50 ns. What about 25ns?
          MinTrailingEdge = 17.0*ns
          MaxDriftTime    = 66.0*ns
-         LowGate         = 19.0*ns
-         HighGate        = 44.0*ns
+         LowGate         = 26.0*ns
+         HighGate        = 54.125*ns
+         if InDetFlags.doCosmics():
+            LowGate         = 19.0*ns
+            HighGate        = 44.0*ns
          if globalflags.DataSource == 'data':
             MinTrailingEdge = 11.0*ns
             MaxDriftTime    = 60.0*ns
-            LowGate         = 19.0*ns
-            HighGate        = 44.0*ns
+            LowGate         = 18.0*ns
+            HighGate        = 46.125*ns
+            if InDetFlags.doCosmics():
+               LowGate         = 19.0*ns
+               HighGate        = 44.0*ns
 
          InDetTRT_DriftCircleTool = InDet__TRT_DriftCircleTool(name                            = prefix+"DriftCircleTool",
                                                                TRTDriftFunctionTool            = InDetTRT_DriftFunctionTool,
@@ -79,11 +85,11 @@ class ConfiguredInDetPreProcessingTRT:
                                                                #used to be InDetTRTConditionsSummaryService,
                                                                UseConditionsStatus             = True,
                                                                UseConditionsHTStatus           = True,
-                                                               SimpleOutOfTimePileupSupression = True,
+                                                               SimpleOutOfTimePileupSupression = InDetFlags.doCosmics(),
                                                                RejectIfFirstBit                = False, # fixes 50 nsec issue 
                                                                MinTrailingEdge                 = MinTrailingEdge,
                                                                MaxDriftTime                    = MaxDriftTime,
-                                                               ValidityGateSuppression         = False,
+                                                               ValidityGateSuppression         = not InDetFlags.doCosmics(),
                                                                LowGate                         = LowGate,
                                                                HighGate                        = HighGate,
                                                                MaskFirstHTBit                  = False,
diff --git a/InnerDetector/InDetExample/InDetRecExample/share/ConfiguredNewTrackingSiPattern.py b/InnerDetector/InDetExample/InDetRecExample/share/ConfiguredNewTrackingSiPattern.py
index 94a92945190a0b56537346e0b9d4aab5644dfadd..979c3cc437f8cd3e30d4ecc9b6670b51ae325741 100644
--- a/InnerDetector/InDetExample/InDetRecExample/share/ConfiguredNewTrackingSiPattern.py
+++ b/InnerDetector/InDetExample/InDetRecExample/share/ConfiguredNewTrackingSiPattern.py
@@ -23,7 +23,7 @@ class  ConfiguredNewTrackingSiPattern:
       #
       # --- decide if use the association tool
       #
-      if (len(InputCollections) > 0) and (NewTrackingCuts.mode() == "LowPt" or NewTrackingCuts.mode() == "VeryLowPt" or NewTrackingCuts.mode() == "BeamGas" or NewTrackingCuts.mode() == "ForwardTracks" or NewTrackingCuts.mode() == "ForwardSLHCTracks"):
+      if (len(InputCollections) > 0) and (NewTrackingCuts.mode() == "LowPt" or NewTrackingCuts.mode() == "VeryLowPt" or NewTrackingCuts.mode() == "BeamGas" or NewTrackingCuts.mode() == "ForwardTracks" or NewTrackingCuts.mode() == "ForwardSLHCTracks"  or NewTrackingCuts.mode() == "PixelPrdAssociation"):
          usePrdAssociationTool = True
       else:
          usePrdAssociationTool = False
@@ -139,14 +139,15 @@ class  ConfiguredNewTrackingSiPattern:
                                                                         usePixel           = NewTrackingCuts.usePixel(),
                                                                         PixManagerLocation = InDetKeys.PixelManager(),
                                                                         useSCT             = NewTrackingCuts.useSCT(), 
-                                                                        SCTManagerLocation = InDetKeys.SCT_Manager(),
+                                                                        SCTManagerLocation = InDetKeys.SCT_Manager(),         
                                                                         RoadWidth          = NewTrackingCuts.RoadWidth())
+         #InDetSiDetElementsRoadMaker.OutputLevel = VERBOSE
          ToolSvc += InDetSiDetElementsRoadMaker
          if (InDetFlags.doPrintConfigurables()):
             print      InDetSiDetElementsRoadMaker
 
          #
-         # --- Local track finding using space point seed
+         # --- Local track finding using sdCaloSeededSSSpace point seed
          #
 
          useBremMode = NewTrackingCuts.mode() == "Offline" or NewTrackingCuts.mode() == "SLHC"
@@ -156,6 +157,7 @@ class  ConfiguredNewTrackingSiPattern:
                                           CombinatorialTrackFinder  = InDetSiComTrackFinder,
                                           pTmin                     = NewTrackingCuts.minPT(),
                                           pTminBrem                 = NewTrackingCuts.minPTBrem(),
+                                          pTminSSS                  = InDetFlags.pT_SSScut(),
                                           nClustersMin              = NewTrackingCuts.minClusters(),
                                           nHolesMax                 = NewTrackingCuts.nHolesMax(),
                                           nHolesGapMax              = NewTrackingCuts.nHolesGapMax(),
@@ -165,12 +167,15 @@ class  ConfiguredNewTrackingSiPattern:
                                           nWeightedClustersMin      = NewTrackingCuts.nWeightedClustersMin(),
                                           CosmicTrack               = InDetFlags.doCosmics(),
                                           Xi2maxMultiTracks         = NewTrackingCuts.Xi2max(), # was 3.
+                                          useSSSseedsFilter         = InDetFlags.doSSSfilter(), 
                                           doMultiTracksProd         = True,
                                           useBremModel              = InDetFlags.doBremRecovery() and useBremMode, # only for NewTracking the brem is debugged !!!
                                           doCaloSeededBrem          = InDetFlags.doCaloSeededBrem(),
+                                          doHadCaloSeedSSS          = InDetFlags.doHadCaloSeededSSS(),
                                           phiWidth                  = NewTrackingCuts.phiWidthBrem(),
                                           etaWidth                  = NewTrackingCuts.etaWidthBrem(),
                                           InputClusterContainerName = InDetKeys.CaloClusterROIContainer(), # "InDetCaloClusterROIs" 
+                                          InputHadClusterContainerName = InDetKeys.HadCaloClusterROIContainer(), # "InDetCaloClusterROIs" 
                                           UseAssociationTool        = usePrdAssociationTool)
 					  
 					
@@ -237,7 +242,7 @@ class  ConfiguredNewTrackingSiPattern:
                                                                     useZBoundFinding = NewTrackingCuts.doZBoundary())   
 
         
-
+         #InDetSiSPSeededTrackFinder.OutputLevel =VERBOSE 
          topSequence += InDetSiSPSeededTrackFinder
          if (InDetFlags.doPrintConfigurables()):
             print InDetSiSPSeededTrackFinder
@@ -269,18 +274,36 @@ class  ConfiguredNewTrackingSiPattern:
          #
          # --- load InnerDetector TrackSelectionTool
          #
-         from InDetAmbiTrackSelectionTool.InDetAmbiTrackSelectionToolConf import InDet__InDetAmbiTrackSelectionTool
-         InDetAmbiTrackSelectionTool = InDet__InDetAmbiTrackSelectionTool(name                = 'InDetAmbiTrackSelectionTool'+NewTrackingCuts.extension(),
-                                                                          AssociationTool     = InDetPrdAssociationTool,
-                                                                          DriftCircleCutTool  = InDetTRTDriftCircleCut,
-                                                                          minHits             = NewTrackingCuts.minClusters(),
-                                                                          minNotShared        = NewTrackingCuts.minSiNotShared(),
-                                                                          maxShared           = NewTrackingCuts.maxShared(),
-                                                                          minTRTHits          = 0, # used for Si only tracking !!!
-                                                                          sharedProbCut       = 0.10,
-                                                                          UseParameterization = False,
-                                                                          Cosmics             = InDetFlags.doCosmics(),
-                                                                          doPixelSplitting    = InDetFlags.doPixelClusterSplitting())
+
+
+         if InDetFlags.doTIDE_Ambi() and not (NewTrackingCuts.mode() == "ForwardSLHCTracks" or NewTrackingCuts.mode() == "ForwardTracks" or NewTrackingCuts.mode() == "PixelPrdAssociation"):
+           from InDetAmbiTrackSelectionTool.InDetAmbiTrackSelectionToolConf import InDet__InDetDenseEnvAmbiTrackSelectionTool as AmbiTrackSelectionTool
+         else:
+           from InDetAmbiTrackSelectionTool.InDetAmbiTrackSelectionToolConf import InDet__InDetAmbiTrackSelectionTool as AmbiTrackSelectionTool
+         InDetAmbiTrackSelectionTool = AmbiTrackSelectionTool(name                = 'InDetAmbiTrackSelectionTool'+NewTrackingCuts.extension(),
+                                                              AssociationTool     = InDetPrdAssociationTool,
+                                                              DriftCircleCutTool  = InDetTRTDriftCircleCut,
+                                                              minHits             = NewTrackingCuts.minClusters(),
+                                                              minNotShared        = NewTrackingCuts.minSiNotShared(),
+                                                              maxShared           = NewTrackingCuts.maxShared(),
+                                                              minTRTHits          = 0, # used for Si only tracking !!!
+                                                              sharedProbCut       = 0.10,
+                                                              UseParameterization = False,
+                                                              Cosmics             = InDetFlags.doCosmics(),
+                                                              doPixelSplitting    = InDetFlags.doPixelClusterSplitting())
+
+         if InDetFlags.doTIDE_Ambi() and not (NewTrackingCuts.mode() == "ForwardSLHCTracks" or NewTrackingCuts.mode() == "ForwardTracks" or NewTrackingCuts.mode() == "PixelPrdAssociation"):
+           InDetAmbiTrackSelectionTool.sharedProbCut             = InDetFlags.pixelClusterSplitProb1()
+           InDetAmbiTrackSelectionTool.sharedProbCut2            = InDetFlags.pixelClusterSplitProb2()
+           InDetAmbiTrackSelectionTool.minSiHitsToAllowSplitting = 9       #For run 1 layouts this should 8 hits not 9
+           InDetAmbiTrackSelectionTool.minUniqueSCTHits          = 4
+           InDetAmbiTrackSelectionTool.minTrackChi2ForSharedHits = 3
+           InDetAmbiTrackSelectionTool.InputHadClusterContainerName = InDetKeys.HadCaloClusterROIContainer()
+           InDetAmbiTrackSelectionTool.doHadCaloSeed             = False   #Only split in cluster in region of interest
+           InDetAmbiTrackSelectionTool.minPtSplit                = InDetFlags.pixelClusterSplitMinPt()       #Only allow split clusters on track withe pt greater than this MeV
+           InDetAmbiTrackSelectionTool.phiWidth                  = 0.2     #Split cluster ROI size
+           InDetAmbiTrackSelectionTool.etaWidth                  = 0.2     #Split cluster ROI size
+
         
          # if NewTrackingCuts.mode() == "ForwardTracks":
          #    InDetAmbiTrackSelectionTool.OutputLevel = VERBOSE
@@ -333,16 +356,25 @@ class  ConfiguredNewTrackingSiPattern:
          # --- load Ambiguity Processor
          #
          useBremMode = NewTrackingCuts.mode() == "Offline" or NewTrackingCuts.mode() == "SLHC"
-         from TrkAmbiguityProcessor.TrkAmbiguityProcessorConf import Trk__SimpleAmbiguityProcessorTool
-         InDetAmbiguityProcessor = Trk__SimpleAmbiguityProcessorTool(name               = 'InDetAmbiguityProcessor'+NewTrackingCuts.extension(),
-                                                                     Fitter             = InDetTrackFitter,
-                                                                     ScoringTool        = InDetAmbiScoringTool,
-                                                                     SelectionTool      = InDetAmbiTrackSelectionTool,
-                                                                     SuppressHoleSearch = False,
-                                                                     tryBremFit         = InDetFlags.doBremRecovery() and useBremMode, # only for NewTracking the brem is debugged !!!
-                                                                     caloSeededBrem     = InDetFlags.doCaloSeededBrem(),
-                                                                     pTminBrem          = NewTrackingCuts.minPTBrem(),
-                                                                     RefitPrds          = not InDetFlags.refitROT())
+
+         if InDetFlags.doTIDE_Ambi() and not (NewTrackingCuts.mode() == "ForwardSLHCTracks" or NewTrackingCuts.mode() == "ForwardTracks" or NewTrackingCuts.mode() == "PixelPrdAssociation"):
+           from TrkAmbiguityProcessor.TrkAmbiguityProcessorConf import Trk__DenseEnvironmentsAmbiguityProcessorTool as ProcessorTool
+         else:
+           from TrkAmbiguityProcessor.TrkAmbiguityProcessorConf import Trk__SimpleAmbiguityProcessorTool as ProcessorTool
+         InDetAmbiguityProcessor = ProcessorTool(name               = 'InDetAmbiguityProcessor'+NewTrackingCuts.extension(),
+                                                 Fitter             = InDetTrackFitter,
+                                                 ScoringTool        = InDetAmbiScoringTool,
+                                                 SelectionTool      = InDetAmbiTrackSelectionTool,
+                                                 SuppressHoleSearch = False,
+                                                 tryBremFit         = InDetFlags.doBremRecovery() and useBremMode, # only for NewTracking the brem is debugged !!!
+                                                 caloSeededBrem     = InDetFlags.doCaloSeededBrem(),
+                                                 pTminBrem          = NewTrackingCuts.minPTBrem(),
+                                                 RefitPrds          = not InDetFlags.refitROT())
+         if InDetFlags.doTIDE_Ambi() and not (NewTrackingCuts.mode() == "ForwardSLHCTracks" or NewTrackingCuts.mode() == "ForwardTracks" or NewTrackingCuts.mode() == "PixelPrdAssociation"):
+           InDetAmbiguityProcessor.sharedProbCut             = InDetFlags.pixelClusterSplitProb1()
+           InDetAmbiguityProcessor.sharedProbCut2            = InDetFlags.pixelClusterSplitProb2()
+           InDetAmbiguityProcessor.SplitClusterAmbiguityMap  = InDetKeys.SplitClusterAmbiguityMap()
+
          if NewTrackingCuts.mode() == "Pixel":
             InDetAmbiguityProcessor.SuppressHoleSearch = True
          if NewTrackingCuts.mode() == "LowPt" or NewTrackingCuts.mode() == "VeryLowPt" or (NewTrackingCuts.mode() == "Pixel" and InDetFlags.doMinBias()):
diff --git a/InnerDetector/InDetExample/InDetRecExample/share/InDetRecCabling.py b/InnerDetector/InDetExample/InDetRecExample/share/InDetRecCabling.py
index 57bc15c5b63515f0d2865aeeacd8cddfaf7e02cb..460d4d3cdec6214337aeb8fd288d66ddecf9bb27 100755
--- a/InnerDetector/InDetExample/InDetRecExample/share/InDetRecCabling.py
+++ b/InnerDetector/InDetExample/InDetRecExample/share/InDetRecCabling.py
@@ -28,6 +28,18 @@ if DetFlags.detdescr.pixel_on() and not 'PixelCabling' in dir():
 # --- SCT cabling
 #
 if DetFlags.detdescr.SCT_on() and not 'SCT_CablingSvc' in dir():
+  SCTCablingDataSource='CORACOOL'
+  SCTConfigurationFolderPath='/SCT/DAQ/Configuration/'
+  #if its CONDBR2, use new folders...
+  if (conddb.dbdata == "CONDBR2"):
+      SCTConfigurationFolderPath='/SCT/DAQ/Config/'
+  #...but now check if we want to override that decision with explicit flag (if there is one)
+  try:
+      if InDetFlags.ForceCoraCool():
+          SCTConfigurationFolderPath='/SCT/DAQ/Configuration/'
+  except:
+      pass
+        
   #to read SCT cabling from db 
   from SCT_Cabling.SCT_CablingConf import SCT_CablingSvc
   SCT_CablingSvc = SCT_CablingSvc(DataSource = "CORACOOL") 
@@ -35,15 +47,19 @@ if DetFlags.detdescr.SCT_on() and not 'SCT_CablingSvc' in dir():
   ServiceMgr += SCT_CablingSvc
   if (InDetFlags.doPrintConfigurables()):
     print  SCT_CablingSvc
-
-  if not conddb.folderRequested('/SCT/DAQ/Configuration/ROD'):
-    conddb.addFolderSplitMC("SCT","/SCT/DAQ/Configuration/ROD","/SCT/DAQ/Configuration/ROD")
-  if not conddb.folderRequested('/SCT/DAQ/Configuration/MUR'):
-    conddb.addFolderSplitMC("SCT","/SCT/DAQ/Configuration/MUR","/SCT/DAQ/Configuration/MUR")
-  if not conddb.folderRequested('/SCT/DAQ/Configuration/RODMUR'):
-    conddb.addFolderSplitMC("SCT","/SCT/DAQ/Configuration/RODMUR","/SCT/DAQ/Configuration/RODMUR")
-  if not conddb.folderRequested('/SCT/DAQ/Configuration/Geog'):
-    conddb.addFolderSplitMC("SCT","/SCT/DAQ/Configuration/Geog","/SCT/DAQ/Configuration/Geog")
+  SCTRodConfigPath=SCTConfigurationFolderPath+'ROD'
+  SCTMurConfigPath=SCTConfigurationFolderPath+'MUR'
+  SCTRodMurConfigPath=SCTConfigurationFolderPath+'RODMUR'
+  SCTGeogConfigPath=SCTConfigurationFolderPath+'Geog'
+  #
+  if not conddb.folderRequested(SCTRodConfigPath):
+    conddb.addFolderSplitMC("SCT",SCTRodConfigPath,SCTRodConfigPath)
+  if not conddb.folderRequested(SCTMurConfigPath):
+    conddb.addFolderSplitMC("SCT",SCTMurConfigPath,SCTMurConfigPath)
+  if not conddb.folderRequested(SCTRodMurConfigPath):
+    conddb.addFolderSplitMC("SCT",SCTRodMurConfigPath,SCTRodMurConfigPath)
+  if not conddb.folderRequested(SCTGeogConfigPath):
+    conddb.addFolderSplitMC("SCT",SCTGeogConfigPath,SCTGeogConfigPath)
   
 #
 # --- TRT cabling
diff --git a/InnerDetector/InDetExample/InDetRecExample/share/InDetRecCaloSeededROISelection.py b/InnerDetector/InDetExample/InDetRecExample/share/InDetRecCaloSeededROISelection.py
index dc91e285d583522113705d675ba38f36b1074875..5b4881527da77ccc350009c98c89fc282a42773d 100644
--- a/InnerDetector/InDetExample/InDetRecExample/share/InDetRecCaloSeededROISelection.py
+++ b/InnerDetector/InDetExample/InDetRecExample/share/InDetRecCaloSeededROISelection.py
@@ -4,19 +4,11 @@
 #
 # ------------------------------------------------------------
 
-#
-# --- load the CaloNoiseTool
-#
-from CaloTools.CaloNoiseToolDefault import CaloNoiseToolDefault
-InDetCaloNoiseTool = CaloNoiseToolDefault()
-ToolSvc += InDetCaloNoiseTool
-
 #
 # --- load the isolation tool
 #
 from egammaCaloTools.egammaCaloToolsConf import egammaIso
-InDetROIegammaIsoTool = egammaIso(name          = "InDetROIegammaIso",
-                                  CaloNoiseTool = InDetCaloNoiseTool)
+InDetROIegammaIsoTool = egammaIso(name          = "InDetROIegammaIso")
 
 ToolSvc+=InDetROIegammaIsoTool
 if (InDetFlags.doPrintConfigurables()):
diff --git a/InnerDetector/InDetExample/InDetRecExample/share/InDetRecConditionsAccess.py b/InnerDetector/InDetExample/InDetRecExample/share/InDetRecConditionsAccess.py
index c574602dc515047d410d018a30595790d482d5b1..3ae45d064a9edaf02c38999f5a66d079a0f25f82 100644
--- a/InnerDetector/InDetExample/InDetRecExample/share/InDetRecConditionsAccess.py
+++ b/InnerDetector/InDetExample/InDetRecExample/share/InDetRecConditionsAccess.py
@@ -144,15 +144,27 @@ if DetFlags.haveRIO.pixel_on():
 # --- Load SCT Conditions Services
 #
 if DetFlags.haveRIO.SCT_on():
-    
+    SCTConfigurationFolderPath='/SCT/DAQ/Configuration/'
+    #if its CONDBR2, use new folders...
+    if (conddb.dbdata == "CONDBR2"):
+        SCTConfigurationFolderPath='/SCT/DAQ/Config/'
+    #...but now check if we want to override that decision with explicit flag (if there is one)
+    try:
+        if InDetFlags.ForceCoraCool():
+            SCTConfigurationFolderPath='/SCT/DAQ/Configuration/'
+    except:
+        pass
     # Load folders that have to exist for both MC and Data
-    if not conddb.folderRequested('/SCT/DAQ/Configuration/Chip'):
-        conddb.addFolderSplitMC("SCT","/SCT/DAQ/Configuration/Chip","/SCT/DAQ/Configuration/Chip")
-    if not conddb.folderRequested('/SCT/DAQ/Configuration/Module'):
-        conddb.addFolderSplitMC("SCT","/SCT/DAQ/Configuration/Module","/SCT/DAQ/Configuration/Module")
+    SCTChipConfigurationPath=SCTConfigurationFolderPath+'Chip'
+    SCTModuleConfigurationPath=SCTConfigurationFolderPath+'Module'
+    SCTMurConfigurationPath=SCTConfigurationFolderPath+'MUR'
+    if not conddb.folderRequested(SCTChipConfigurationPath):
+        conddb.addFolderSplitMC("SCT",SCTChipConfigurationPath,SCTChipConfigurationPath)
+    if not conddb.folderRequested(SCTModuleConfigurationPath):
+        conddb.addFolderSplitMC("SCT",SCTModuleConfigurationPath,SCTModuleConfigurationPath)
 
-    if not conddb.folderRequested('/SCT/DAQ/Configuration/MUR'):
-        conddb.addFolderSplitMC("SCT","/SCT/DAQ/Configuration/MUR","/SCT/DAQ/Configuration/MUR")
+    if not conddb.folderRequested(SCTMurConfigurationPath):
+        conddb.addFolderSplitMC("SCT",SCTMurConfigurationPath,SCTMurConfigurationPath)
 
     if not conddb.folderRequested('/SCT/DAQ/Calibration/NPtGainDefects'):
         conddb.addFolderSplitMC("SCT","/SCT/DAQ/Calibration/NPtGainDefects","/SCT/DAQ/Calibration/NPtGainDefects")
@@ -345,8 +357,11 @@ if DetFlags.haveRIO.TRT_on():
     #
     InDetTRT_DAQ_ConditionsSvc = None
     if (InDetFlags.doMonitoringTRT() and globalflags.DataSource() == 'data'):
+        tdaqFolder = '/TDAQ/EnabledResources/ATLAS/TRT/Robins'
+        if (conddb.dbdata == "CONDBR2"):
+            tdaqFolder = '/TDAQ/Resources/ATLAS/TRT/Robins'
         # TDAQ Enabled Service (only for monitoring on data)
-        conddb.addFolder('TDAQ_ONL',"/TDAQ/EnabledResources/ATLAS/TRT/Robins")
+        conddb.addFolder('TDAQ_ONL',tdaqFolder)
         from TRT_ConditionsServices.TRT_ConditionsServicesConf import TRT_DAQ_ConditionsSvc
         InDetTRT_DAQ_ConditionsSvc = TRT_DAQ_ConditionsSvc( name = "InDetTRT_DAQ_ConditionsSvc" )
         ServiceMgr += InDetTRT_DAQ_ConditionsSvc
diff --git a/InnerDetector/InDetExample/InDetRecExample/share/InDetRecHadCaloSeededROISelection.py b/InnerDetector/InDetExample/InDetRecExample/share/InDetRecHadCaloSeededROISelection.py
new file mode 100644
index 0000000000000000000000000000000000000000..d6f750a9f434e8797d4a3f37c02f9708107aad88
--- /dev/null
+++ b/InnerDetector/InDetExample/InDetRecExample/share/InDetRecHadCaloSeededROISelection.py
@@ -0,0 +1,60 @@
+# ------------------------------------------------------------
+#
+# ----------- loading the selection tools for Calo Seeded Brem
+#
+# ------------------------------------------------------------
+
+
+#
+# --- load the isolation tool
+#
+from egammaCaloTools.egammaCaloToolsConf import egammaIso
+InDetHadROIegammaIsoTool = egammaIso(name          = "InDetHadROIegammaIso")
+
+ToolSvc+=InDetHadROIegammaIsoTool
+if (InDetFlags.doPrintConfigurables()):
+    print InDetHadROIegammaIsoTool
+
+#
+# --- load the tool to check the energy deposits
+#
+from egammaTools.egammaToolsConf import egammaCheckEnergyDepositTool
+InDetHadROICheckEnergyDepositTool = egammaCheckEnergyDepositTool(name       = "InDetHadROICheckEnergyDepositTool",
+                                                              UseThrFmax = True,
+                                                              ThrF0max   = 0.9,
+                                                              ThrF1max   = 0.8,
+                                                              ThrF2max   = 0.98,
+                                                              ThrF3max   = 0.8)
+ToolSvc+=InDetHadROICheckEnergyDepositTool
+if (InDetFlags.doPrintConfigurables()):
+    print InDetHadROICheckEnergyDepositTool
+
+#
+# --- get the builder tool
+#
+from InDetCaloClusterROIBuilder.InDetCaloClusterROIBuilderConf import InDet__CaloClusterROI_Builder
+InDetCaloClusterROIBuilder = InDet__CaloClusterROI_Builder(name = "InDetCaloClusterROIBuilder")
+
+ToolSvc+=InDetCaloClusterROIBuilder
+if (InDetFlags.doPrintConfigurables()):
+    print InDetCaloClusterROIBuilder
+
+#
+# --- now load the algorithm
+#
+from InDetCaloClusterROISelector.InDetCaloClusterROISelectorConf import InDet__CaloClusterROI_Selector
+InDetHadCaloClusterROISelector = InDet__CaloClusterROI_Selector (name                         = "InDetHadCaloClusterROISelector",
+                                                              InputClusterContainerName    = InDetKeys.HadCaloClusterContainer(),    # "LArClusterEM"
+                                                              CellsName                    = InDetKeys.HadCaloCellContainer(),       # "AllCalo"
+                                                              OutputClusterContainerName   = InDetKeys.HadCaloClusterROIContainer(), # "InDetCaloClusterROIs"
+                                                              CheckHadronicEnergy          = False,
+                                                              CheckReta                    = False,
+                                                              CheckEMSamples               = False, 
+                                                              ClusterEtCut                 = 25000,
+                                                              CaloClusterROIBuilder        = InDetCaloClusterROIBuilder, 
+                                                              egammaCheckEnergyDepositTool = InDetHadROICheckEnergyDepositTool,
+                                                              EMCaloIsolationTool          = InDetHadROIegammaIsoTool)
+topSequence += InDetHadCaloClusterROISelector
+if (InDetFlags.doPrintConfigurables()):
+    print InDetHadCaloClusterROISelector
+
diff --git a/InnerDetector/InDetExample/InDetRecExample/share/InDetRecLoadTools.py b/InnerDetector/InDetExample/InDetRecExample/share/InDetRecLoadTools.py
index 9271a3afa7b798238890acdc80b3c3ed9c188be8..71db10bcd44f0d78c8e5df0ea9c97380c8028682 100755
--- a/InnerDetector/InDetExample/InDetRecExample/share/InDetRecLoadTools.py
+++ b/InnerDetector/InDetExample/InDetRecExample/share/InDetRecLoadTools.py
@@ -4,8 +4,20 @@
 #
 # ------------------------------------------------------------
 
+use_broad_cluster_any = InDetFlags.useBroadClusterErrors()
+use_broad_cluster_pix = InDetFlags.useBroadPixClusterErrors()
+use_broad_cluster_sct = InDetFlags.useBroadSCTClusterErrors()
+if use_broad_cluster_pix == None :
+    use_broad_cluster_pix = use_broad_cluster_any
+if use_broad_cluster_sct == None :
+    use_broad_cluster_sct = use_broad_cluster_any
+
+# detector specific settings will override the global setting:
+use_broad_cluster_any = use_broad_cluster_pix or use_broad_cluster_sct
+
 #load common NN tools for clustering and ROT creation
 if InDetFlags.doPixelClusterSplitting():
+
     #
     # --- Neutral Network version ?
     #
@@ -65,6 +77,7 @@ if InDetFlags.doPixelClusterSplitting():
                                                                       LoadWithTrackNetwork = True)
                
         ToolSvc += NnClusterizationFactory
+        print NnClusterizationFactory  
         if (InDetFlags.doPrintConfigurables()):
             print NnClusterizationFactory
 
@@ -101,11 +114,17 @@ if InDetFlags.loadRotCreator():
                                                                                        InDetFlags.pixelClusterSplittingType() == 'NeuralNet'),
                                                                  NNIBLcorrection = ( InDetFlags.doPixelClusterSplitting() and
                                                                                        InDetFlags.pixelClusterSplittingType() == 'NeuralNet'),
-                                                                 SplitClusterAmbiguityMap = InDetKeys.SplitClusterAmbiguityMap())
+                                                                 SplitClusterAmbiguityMap = InDetKeys.SplitClusterAmbiguityMap(),
+                                                                 RunningTIDE_Ambi = InDetFlags.doTIDE_Ambi()
+                                                                 )
 
         if InDetFlags.doPixelClusterSplitting() and InDetFlags.pixelClusterSplittingType() == 'NeuralNet':
             PixelClusterOnTrackTool.NnClusterizationFactory  = NnClusterizationFactory
 
+        if InDetFlags.doCosmics():
+          PixelClusterOnTrackTool.ErrorStrategy = 0   
+          PixelClusterOnTrackTool.PositionStrategy = 0 
+
         ToolSvc += PixelClusterOnTrackTool
         if (InDetFlags.doPrintConfigurables()):
             print  PixelClusterOnTrackTool
@@ -148,7 +167,9 @@ if InDetFlags.loadRotCreator():
                                                                                             InDetFlags.pixelClusterSplittingType() == 'NeuralNet'),
                                                                       NNIBLcorrection = ( InDetFlags.doPixelClusterSplitting() and
                                                                                        InDetFlags.pixelClusterSplittingType() == 'NeuralNet'),
-                                                                      SplitClusterAmbiguityMap = InDetKeys.SplitClusterAmbiguityMap())
+                                                                      SplitClusterAmbiguityMap = InDetKeys.SplitClusterAmbiguityMap(),
+                                                                      RunningTIDE_Ambi = InDetFlags.doTIDE_Ambi()
+                                                                     )
 
         if InDetFlags.doPixelClusterSplitting() and InDetFlags.pixelClusterSplittingType() == 'NeuralNet':
             BroadPixelClusterOnTrackTool.NnClusterizationFactory  = NnClusterizationFactory
@@ -197,8 +218,10 @@ if InDetFlags.loadRotCreator():
     #
     # use broad clusters everywhere ?
     #
-    if InDetFlags.useBroadClusterErrors():
+    if use_broad_cluster_pix == True :
       InDetRotCreator.ToolPixelCluster = BroadPixelClusterOnTrackTool
+
+    if use_broad_cluster_sct == True :
       InDetRotCreator.ToolSCT_Cluster  = BroadSCT_ClusterOnTrackTool
 
     if (InDetFlags.doPrintConfigurables()):
@@ -240,8 +263,9 @@ if InDetFlags.loadRotCreator():
                                                        ToolSCT_Cluster     = SCT_ClusterOnTrackTool,
                                                        ToolTRT_DriftCircle = TRT_RefitRotCreator,
                                                        Mode                = 'indet')
-        if InDetFlags.useBroadClusterErrors():
+        if use_broad_cluster_pix == True :
             InDetRefitRotCreator.ToolPixelCluster=BroadPixelClusterOnTrackTool
+        if use_broad_cluster_sct == True :
             InDetRefitRotCreator.ToolSCT_Cluster=BroadSCT_ClusterOnTrackTool
 
         ToolSvc += InDetRefitRotCreator
@@ -535,7 +559,7 @@ if InDetFlags.loadFitter():
                                                  RecalculateDerivatives= InDetFlags.doCosmics() or InDetFlags.doBeamHalo(),
                                                  TRTExtensionCuts      = True,
                                                  TrackChi2PerNDFCut    = 7)
-        if InDetFlags.doRefit() or InDetFlags.useBroadClusterErrors():
+        if InDetFlags.doRefit() or use_broad_cluster_any == True: 
             InDetTrackFitter.RecalibrateSilicon = False
         if InDetFlags.doRefit():
             InDetTrackFitter.BroadRotCreatorTool = None
@@ -726,12 +750,19 @@ if InDetFlags.loadSummaryTool():
     InDetTRT_ElectronPidTool = None
     if DetFlags.haveRIO.TRT_on() and not InDetFlags.doSLHC() and not InDetFlags.doHighPileup() :
 
-        from TRT_ElectronPidTools.TRT_ElectronPidToolsConf import InDet__TRT_ElectronPidTool
-        InDetTRT_ElectronPidTool = InDet__TRT_ElectronPidTool(name   = "InDetTRT_ElectronPidTool",
-                                                              isData = (globalflags.DataSource == 'data') )
+        from TRT_ElectronPidTools.TRT_ElectronPidToolsConf import InDet__TRT_LocalOccupancy
+        InDetTRT_LocalOccupancy = InDet__TRT_LocalOccupancy(name ="InDet_TRT_LocalOccupancy")
+        ToolSvc += InDetTRT_LocalOccupancy
+        print InDetTRT_LocalOccupancy
+
+        from TRT_ElectronPidTools.TRT_ElectronPidToolsConf import InDet__TRT_ElectronPidToolRun2
+        InDetTRT_ElectronPidTool = InDet__TRT_ElectronPidToolRun2(name   = "InDetTRT_ElectronPidTool",
+                                                                   TRT_LocalOccupancyTool = InDetTRT_LocalOccupancy,
+                                                                   isData = (globalflags.DataSource == 'data') )
+
         ToolSvc += InDetTRT_ElectronPidTool
         if (InDetFlags.doPrintConfigurables()):
-            print InDetTRT_ElectronPidTool
+         print InDetTRT_ElectronPidTool
 
     #
     # Configurable version of PixelToTPIDTOol
@@ -763,6 +794,7 @@ if InDetFlags.loadSummaryTool():
                                                                          TestBLayerTool  = None,         # we don't want to use those tools during pattern
                                                                          #PixelToTPIDTool = InDetPixelToTPIDTool,
                                                                          #TestBLayerTool  = InDetRecTestBLayerTool,
+                                                                         RunningTIDE_Ambi = InDetFlags.doTIDE_Ambi(),
                                                                          DoSharedHits    = False,
                                                                          HoleSearch      = InDetHoleSearchTool,
                                                                          usePixel        = DetFlags.haveRIO.pixel_on(),
@@ -775,6 +807,7 @@ if InDetFlags.loadSummaryTool():
                                                                          TestBLayerTool  = None,         # we don't want to use those tools during pattern
                                                                          #PixelToTPIDTool = InDetPixelToTPIDTool,
                                                                          #TestBLayerTool  = InDetRecTestBLayerTool,
+                                                                         RunningTIDE_Ambi = InDetFlags.doTIDE_Ambi(),
                                                                          DoSharedHits    = False,
                                                                          HoleSearch      = InDetHoleSearchTool,
                                                                          usePixel        = DetFlags.haveRIO.pixel_on(),
@@ -814,6 +847,7 @@ if InDetFlags.loadSummaryTool():
                                                                                    PixelToTPIDTool = InDetPixelToTPIDTool,
                                                                                    TestBLayerTool  = InDetRecTestBLayerTool,
                                                                                    DoSharedHits    = InDetFlags.doSharedHits(),
+                                                                                   RunningTIDE_Ambi = InDetFlags.doTIDE_Ambi(),
                                                                                    HoleSearch      = InDetHoleSearchTool,
                                                                                    usePixel        = DetFlags.haveRIO.pixel_on(),
                                                                                    useSCT          = DetFlags.haveRIO.SCT_on(),
@@ -824,6 +858,7 @@ if InDetFlags.loadSummaryTool():
                                                                                    PixelToTPIDTool = InDetPixelToTPIDTool,
                                                                                    TestBLayerTool  = InDetRecTestBLayerTool,
                                                                                    DoSharedHits    = InDetFlags.doSharedHits(),
+                                                                                   RunningTIDE_Ambi = InDetFlags.doTIDE_Ambi(),
                                                                                    HoleSearch      = InDetHoleSearchTool,
                                                                                    usePixel        = DetFlags.haveRIO.pixel_on(),
                                                                                    useSCT          = DetFlags.haveRIO.SCT_on(),
@@ -1074,7 +1109,7 @@ if InDetFlags.doPattern() and InDetFlags.doCosmics():
 # ------------------------------------------------------------
 
 # id rec stat processing and trk+pixel ntuple creation need this tool if truth is on
-if InDetFlags.doTruth() and (InDetFlags.doStatistics() or InDetFlags.doStandardPlots() or InDetFlags.doNtupleCreation()):
+if InDetFlags.doTruth() and (InDetFlags.doStatistics() or InDetFlags.doStandardPlots() or InDetFlags.doPhysValMon() or InDetFlags.doNtupleCreation()):
     #
     # --- load truth to track tool
     #
@@ -1101,40 +1136,26 @@ if InDetFlags.doTruth() and (InDetFlags.doStatistics() or InDetFlags.doStandardP
 # ------ load track selector for vertexing, needs to be done here because is also needed for vertex ntuple creation
 #
 if InDetFlags.doVertexFinding() or InDetFlags.doVertexFindingForMonitoring() or InDetFlags.doSplitVertexFindingForMonitoring() or InDetFlags.doVtxNtuple():
+    from InDetTrackSelectionTool.InDetTrackSelectionToolConf import InDet__InDetTrackSelectionTool
+    InDetTrackSelectorTool = InDet__InDetTrackSelectionTool(name = "InDetDetailedTrackSelectionTool",
+                                                            CutLevel = InDetPrimaryVertexingCuts.TrackCutLevel(),
+                                                            minPt = InDetPrimaryVertexingCuts.minPT(),
+                                                            maxD0 = InDetPrimaryVertexingCuts.IPd0Max(),
+                                                            maxZ0 = InDetPrimaryVertexingCuts.z0Max(),
+                                                            maxZ0SinTheta = InDetPrimaryVertexingCuts.IPz0Max(),
+                                                            maxSigmaD0 = InDetPrimaryVertexingCuts.sigIPd0Max(),
+                                                            maxSigmaZ0SinTheta = InDetPrimaryVertexingCuts.sigIPz0Max(),
+                                                            # maxChiSqperNdf = InDetPrimaryVertexingCuts.fitChi2OnNdfMax(), # Seems not to be implemented?
+                                                            maxAbsEta = InDetPrimaryVertexingCuts.etaMax(),
+                                                            minNInnermostLayerHits = InDetPrimaryVertexingCuts.nHitInnermostLayer(),
+                                                            minNPixelHits = InDetPrimaryVertexingCuts.nHitPix(),
+                                                            maxNPixelHoles = InDetPrimaryVertexingCuts.nHolesPix(),
+                                                            minNSctHits = InDetPrimaryVertexingCuts.nHitSct(),
+                                                            minNTrtHits = InDetPrimaryVertexingCuts.nHitTrt(),
+                                                            minNSiHits = InDetPrimaryVertexingCuts.nHitSi(),
+                                                            TrackSummaryTool = InDetTrackSummaryTool,
+                                                            Extrapolator = InDetExtrapolator)
 
-    #
-    # ------ load new track selector (common for all vertexing algorithms, except for the moment VKalVrt)
-    #
-    from InDetTrackSelectorTool.InDetTrackSelectorToolConf import InDet__InDetDetailedTrackSelectorTool
-    InDetTrackSelectorTool = InDet__InDetDetailedTrackSelectorTool(name                                = "InDetDetailedTrackSelectorTool",
-                                                                   pTMin                               = InDetPrimaryVertexingCuts.minPT(),
-                                                                   IPd0Max                             = InDetPrimaryVertexingCuts.IPd0Max(),
-                                                                   IPz0Max                             = InDetPrimaryVertexingCuts.IPz0Max(),
-                                                                   z0Max                               = InDetPrimaryVertexingCuts.z0Max(),
-                                                                   sigIPd0Max                          = InDetPrimaryVertexingCuts.sigIPd0Max(),
-                                                                   sigIPz0Max                          = InDetPrimaryVertexingCuts.sigIPz0Max(),
-                                                                   d0significanceMax                   = InDetPrimaryVertexingCuts.d0significanceMax(),
-                                                                   z0significanceMax                   = InDetPrimaryVertexingCuts.z0significanceMax(),
-                                                                   etaMax                              = InDetPrimaryVertexingCuts.etaMax(),
-                                                                   useTrackSummaryInfo                 = InDetPrimaryVertexingCuts.useTrackSummaryInfo(),
-                                                                   nHitBLayer                          = InDetPrimaryVertexingCuts.nHitBLayer(),
-                                                                   nHitPix                             = InDetPrimaryVertexingCuts.nHitPix(),
-                                                                   nHolesPixel                         = InDetPrimaryVertexingCuts.nHolesPix(),
-                                                                   nHitBLayerPlusPix                   = InDetPrimaryVertexingCuts.nHitBLayerPlusPix(),
-                                                                   nHitSct                             = InDetPrimaryVertexingCuts.nHitSct(),
-                                                                   nHitSi                              = InDetPrimaryVertexingCuts.nHitSi(),
-                                                                   nHitTrt                             = InDetPrimaryVertexingCuts.nHitTrt(),
-                                                                   nHitTrtHighEFractionMax             = InDetPrimaryVertexingCuts.nHitTrtHighEFractionMax(),
-                                                                   nHitTrtHighEFractionWithOutliersMax = InDetPrimaryVertexingCuts.nHitTrtHighEFractionWithOutliersMax(),
-                                                                   useSharedHitInfo                    = InDetPrimaryVertexingCuts.useSharedHitInfo(),
-                                                                   useTrackQualityInfo                 = InDetPrimaryVertexingCuts.useTrackQualityInfo(),
-                                                                   fitChi2OnNdfMax                     = InDetPrimaryVertexingCuts.fitChi2OnNdfMax(),
-                                                                   TrtMaxEtaAcceptance                 = InDetPrimaryVertexingCuts.TrtMaxEtaAcceptance(),
-                                                                   # InDetTestBLayerTool                 = InDetRecTestBLayerTool,
-                                                                   TrackSummaryTool                    = InDetTrackSummaryTool,
-                                                                   Extrapolator                        = InDetExtrapolator)
-    
-            
     ToolSvc += InDetTrackSelectorTool
     if (InDetFlags.doPrintConfigurables()):
         print InDetTrackSelectorTool
diff --git a/InnerDetector/InDetExample/InDetRecExample/share/InDetRecNtupleCreation.py b/InnerDetector/InDetExample/InDetRecExample/share/InDetRecNtupleCreation.py
index 6f260d4f81f524da6e9adaa2668698429c6f00f3..d3376f51befbb84ffba89d4391b534164a3ba477 100644
--- a/InnerDetector/InDetExample/InDetRecExample/share/InDetRecNtupleCreation.py
+++ b/InnerDetector/InDetExample/InDetRecExample/share/InDetRecNtupleCreation.py
@@ -453,3 +453,42 @@ if InDetFlags.doStandardPlots():
         print    InDetStandardPerformanceGoodIPatRec
     
       InDetTrackPerfMonManager.AthenaMonTools += [ InDetStandardPerformanceGoodIPatRec ]
+
+
+
+
+# --------------------------------------------
+#
+# --- Physics Validation Monitoring
+#
+# --------------------------------------------
+
+if InDetFlags.doPhysValMon():
+
+  from AthenaMonitoring.AthenaMonitoringConf import AthenaMonManager
+  InDetPhysValMonManager = AthenaMonManager (name                = "InDetPhysValMonManager",
+                                             FileKey             = "PhysValMon",
+                                             ManualDataTypeSetup = True,
+                                             DataType            = "userDefined", # use this for collision data for now
+                                             Environment         = "user",
+                                             ManualRunLBSetup    = True,
+                                             Run                 = 1,
+                                             LumiBlock           = 1)
+  topSequence += InDetPhysValMonManager
+  if (InDetFlags.doPrintConfigurables()):
+    print InDetPhysValMonManager
+
+  from InDetPhysValMonitoring.InDetPhysValMonitoringConf import InDetPhysValMonitoringTool
+  InDetPhysValMonTool = InDetPhysValMonitoringTool (useTrackSelection   = True,
+                                                    TrackSelectorTool   = InDetTrackSelectorTool)
+  ToolSvc += InDetPhysValMonTool
+  InDetPhysValMonManager.AthenaMonTools += [InDetPhysValMonTool]
+  if (InDetFlags.doPrintConfigurables()):
+    print InDetPhysValMonTool
+
+  # --- Setup the output histogram file(s)
+  if not hasattr(ServiceMgr, 'THistSvc'):
+    from GaudiSvc.GaudiSvcConf import THistSvc
+    ServiceMgr += THistSvc()
+  THistSvc = Service( "THistSvc" )
+  THistSvc.Output += ["PhysValMon DATAFILE='"+InDetKeys.PhysValMonHistName()+"' OPT='RECREATE'"]
diff --git a/InnerDetector/InDetExample/InDetRecExample/share/InDetRecPostProcessing.py b/InnerDetector/InDetExample/InDetRecExample/share/InDetRecPostProcessing.py
index e54de5c60afc7626126e9cec1df33a0d1b5660bb..2c0f00ac7dff8eb8c71e4a8929c852ddd98a437f 100755
--- a/InnerDetector/InDetExample/InDetRecExample/share/InDetRecPostProcessing.py
+++ b/InnerDetector/InDetExample/InDetRecExample/share/InDetRecPostProcessing.py
@@ -171,13 +171,14 @@ if InDetFlags.doLowBetaFinder():
 # -------------------------------------------------------------------------
 
 if InDetFlags.doV0Finder() or InDetFlags.doSimpleV0Finder():
+  import MagFieldServices.SetupField
   #
   if InDetFlags.useV0Fitter():
     from TrkV0Fitter.TrkV0FitterConf import Trk__TrkV0VertexFitter
     InDetV0Fitter = Trk__TrkV0VertexFitter(name              = 'InDetV0Fitter',
                                            MaxIterations     = 10,
                                            Use_deltaR        = False,
-                                           Extrapolator      = InDetExtrapolator)
+                                           Extrapolator      = "Trk::Extrapolator/InDetExtrapolator")
     ToolSvc += InDetV0Fitter
     #InDetV0Fitter.OutputLevel = DEBUG
     if (InDetFlags.doPrintConfigurables()):
@@ -192,20 +193,18 @@ if InDetFlags.doV0Finder() or InDetFlags.doSimpleV0Finder():
     #    
     from TrkVKalVrtFitter.TrkVKalVrtFitterConf import Trk__TrkVKalVrtFitter
     InDetVKVertexFitter = Trk__TrkVKalVrtFitter(name                = "InDetVKVFitter",
-                                                Extrapolator        = InDetExtrapolator,
+                                                Extrapolator        = "Trk::Extrapolator/InDetExtrapolator",
                                                 IterationNumber     = 30,
-                                                FirstMeasuredPoint  = True,
-                                                MakeExtendedVertex  = True)
+                                                FirstMeasuredPoint  = True)
     ToolSvc += InDetVKVertexFitter
     if (InDetFlags.doPrintConfigurables()):
       print InDetVKVertexFitter
       #
     from TrkVKalVrtFitter.TrkVKalVrtFitterConf import Trk__TrkVKalVrtFitter
     InDetKshortFitter = Trk__TrkVKalVrtFitter(name                = "InDetVKKVFitter",
-                                              Extrapolator        = InDetExtrapolator,
+                                              Extrapolator        = "Trk::Extrapolator/InDetExtrapolator",
                                               IterationNumber     = 30,
                                               FirstMeasuredPoint  = True,
-                                              MakeExtendedVertex  = True,
                                               InputParticleMasses = [139.57,139.57],
                                               MassForConstraint   = 497.672)
     ToolSvc += InDetKshortFitter
@@ -214,10 +213,9 @@ if InDetFlags.doV0Finder() or InDetFlags.doSimpleV0Finder():
     #
     from TrkVKalVrtFitter.TrkVKalVrtFitterConf import Trk__TrkVKalVrtFitter
     InDetLambdaFitter = Trk__TrkVKalVrtFitter(name                = "InDetVKLFitter",
-                                              Extrapolator        = InDetExtrapolator,
+                                              Extrapolator        = "Trk::Extrapolator/InDetExtrapolator",
                                               IterationNumber     = 30,
                                               FirstMeasuredPoint  = True,
-                                              MakeExtendedVertex  = True,
                                               InputParticleMasses = [938.272,139.57],
                                               MassForConstraint   = 1115.68)
     ToolSvc += InDetLambdaFitter
@@ -226,10 +224,9 @@ if InDetFlags.doV0Finder() or InDetFlags.doSimpleV0Finder():
     #
     from TrkVKalVrtFitter.TrkVKalVrtFitterConf import Trk__TrkVKalVrtFitter
     InDetLambdabarFitter = Trk__TrkVKalVrtFitter(name                = "InDetVKLbFitter",
-                                                 Extrapolator        = InDetExtrapolator,
+                                                 Extrapolator        = "Trk::Extrapolator/InDetExtrapolator",
                                                  IterationNumber     = 30,
                                                  FirstMeasuredPoint  = True,
-                                                 MakeExtendedVertex  = True,
                                                  InputParticleMasses = [139.57,938.272],
                                                  MassForConstraint   = 1115.68)
     ToolSvc += InDetLambdabarFitter
@@ -240,11 +237,10 @@ if InDetFlags.doV0Finder() or InDetFlags.doSimpleV0Finder():
   #
   from TrkVKalVrtFitter.TrkVKalVrtFitterConf import Trk__TrkVKalVrtFitter
   InDetGammaFitter = Trk__TrkVKalVrtFitter(name                = "InDetVKGFitter",
-                                           Extrapolator        = InDetExtrapolator,
+                                           Extrapolator        = "Trk::Extrapolator/InDetExtrapolator",
                                            IterationNumber     = 30,
                                            Robustness          = 6,
                                            FirstMeasuredPoint  = True,
-                                           MakeExtendedVertex  = True,
                                            usePhiCnst          = True,
                                            useThetaCnst        = True,
                                            InputParticleMasses = [0.511,0.511])
@@ -258,7 +254,7 @@ if InDetFlags.doV0Finder() or InDetFlags.doSimpleV0Finder():
     from InDetTrackSelectorTool.InDetTrackSelectorToolConf import InDet__InDetConversionTrackSelectorTool
     InDetV0VxTrackSelector = InDet__InDetConversionTrackSelectorTool(name                = "InDetV0VxTrackSelector",
                                                                      TrackSummaryTool    = InDetTrackSummaryTool,
-                                                                     Extrapolator        = InDetExtrapolator,
+                                                                     Extrapolator        = "Trk::Extrapolator/InDetExtrapolator",
                                                                      maxTrtD0            = 20.,
                                                                      maxSiZ0             = 250.,
                                                                      significanceD0_Si   = 1.,
@@ -276,7 +272,7 @@ if InDetFlags.doV0Finder() or InDetFlags.doSimpleV0Finder():
     from InDetTrackSelectorTool.InDetTrackSelectorToolConf import InDet__InDetConversionTrackSelectorTool
     InDetSimpleV0VxTrackSelector = InDet__InDetConversionTrackSelectorTool(name                = "InDetSimpleV0VxTrackSelector",
                                                                            TrackSummaryTool    = InDetTrackSummaryTool,
-                                                                           Extrapolator        = InDetExtrapolator,
+                                                                           Extrapolator        = "Trk::Extrapolator/InDetExtrapolator",
                                                                            maxSiD0             = 100.,
                                                                            maxTrtD0            = 100.,
                                                                            maxSiZ0             = 450.,
@@ -311,25 +307,38 @@ if InDetFlags.doV0Finder() or InDetFlags.doSimpleV0Finder():
   if (InDetFlags.doPrintConfigurables()):
     print InDetV0VtxPointEstimator
 
+  #
+  # InDetV0FinderTool
+  #
+  from InDetV0Finder.InDetV0FinderConf import InDet__InDetV0FinderTool
+  V0FinderTool = InDet__InDetV0FinderTool(name                    = 'InDetV0FinderTool',
+                                          TrackParticleCollection = InDetKeys.xAODTrackParticleContainer(),
+                                          useV0Fitter             = InDetFlags.useV0Fitter(),
+                                          VertexFitterTool        = InDetV0Fitter,
+                                          VKVertexFitterTool      = InDetVKVertexFitter,
+                                          KshortFitterTool        = InDetKshortFitter,
+                                          LambdaFitterTool        = InDetLambdaFitter,
+                                          LambdabarFitterTool     = InDetLambdabarFitter,
+                                          GammaFitterTool         = InDetGammaFitter,
+                                          TrackSelectorTool       = InDetV0VxTrackSelector,
+                                          VertexPointEstimator    = InDetV0VtxPointEstimator,
+                                          Extrapolator            = "Trk::Extrapolator/InDetExtrapolator")
+  ToolSvc += V0FinderTool
+  if (InDetFlags.doPrintConfigurables()):
+    print V0FinderTool
+
+
   #
   # --- now configure the algorithm 
   # 
   if InDetFlags.doV0Finder() :  
     from InDetV0Finder.InDetV0FinderConf import InDet__InDetV0Finder
     InDetV0Finder = InDet__InDetV0Finder(name                    = 'InDetV0Finder',
-                                         TrackParticleCollection = InDetKeys.TrackParticles(),
-                                         V0CandidatesOutputName  = InDetKeys.V0Candidates(),
-                                         useV0Fitter             = InDetFlags.useV0Fitter(),
-                                         VertexFitterTool        = InDetV0Fitter,
-                                         VKVertexFitterTool      = InDetVKVertexFitter,
-                                         KshortFitterTool        = InDetKshortFitter,
-                                         LambdaFitterTool        = InDetLambdaFitter,
-                                         LambdabarFitterTool     = InDetLambdabarFitter,
-                                         GammaFitterTool         = InDetGammaFitter,
-                                         TrackSelectorTool       = InDetV0VxTrackSelector,
-                                         #TrackSelectorTool       = InDetSimpleV0VxTrackSelector,
-                                         VertexPointEstimator    = InDetV0VtxPointEstimator,
-                                         Extrapolator            = InDetExtrapolator)
+                                         InDetV0FinderToolName   = V0FinderTool,
+                                         V0ContainerName         = InDetKeys.xAODV0VertexContainer(),
+                                         KshortContainerName     = InDetKeys.xAODKshortVertexContainer(),
+                                         LambdaContainerName     = InDetKeys.xAODLambdaVertexContainer(),
+                                         LambdabarContainerName  = InDetKeys.xAODLambdabarVertexContainer())
     
     topSequence += InDetV0Finder
     if (InDetFlags.doPrintConfigurables()):
@@ -347,7 +356,7 @@ if InDetFlags.doV0Finder() or InDetFlags.doSimpleV0Finder():
                                                      VKVertexFitterTool      = InDetVKVertexFitter,
                                                      TrackSelectorTool       = InDetSimpleV0VxTrackSelector,
                                                      VertexPointEstimator    = InDetV0VtxPointEstimator,
-                                                     Extrapolator            = InDetExtrapolator)
+                                                     Extrapolator            = "Trk::Extrapolator/InDetExtrapolator")
     
     topSequence += InDetSimpleV0Finder
     if (InDetFlags.doPrintConfigurables()):
diff --git a/InnerDetector/InDetExample/InDetRecExample/share/InDetRecPreProcessingSilicon.py b/InnerDetector/InDetExample/InDetRecExample/share/InDetRecPreProcessingSilicon.py
index 1f62749d25cfff3b352504d0d490c801ec942bd5..e71ddee33f94f1bf35f0a136e957dd6e61498643 100644
--- a/InnerDetector/InDetExample/InDetRecExample/share/InDetRecPreProcessingSilicon.py
+++ b/InnerDetector/InDetExample/InDetRecExample/share/InDetRecPreProcessingSilicon.py
@@ -121,9 +121,8 @@ if InDetFlags.doPRDFormation():
                                                       MinimalSplitProbability = 0,
                                                       SplitClusterAmbiguityMap= InDetKeys.SplitClusterAmbiguityMap())
       # assign the tools if there are any                                                
-      if clusterSplitProbTool is not None : InDetMergedPixelsTool.SplitProbTool   = clusterSplitProbTool
-      if clusterSplitterTool is not None  : InDetMergedPixelsTool.ClusterSplitter = clusterSplitterTool
-
+      if not InDetFlags.doTIDE_Ambi() and clusterSplitProbTool is not None : InDetMergedPixelsTool.SplitProbTool   = clusterSplitProbTool
+      if not InDetFlags.doTIDE_Ambi() and clusterSplitterTool is not None  : InDetMergedPixelsTool.ClusterSplitter = clusterSplitterTool
 
       
       ToolSvc += InDetMergedPixelsTool
diff --git a/InnerDetector/InDetExample/InDetRecExample/share/InDetRec_all.py b/InnerDetector/InDetExample/InDetRecExample/share/InDetRec_all.py
index 3b5d7ae0dc8a83d0a1a23d652ff5b82264322ef3..06ef06912009cec0c46970d2008f85e1c5a5161a 100755
--- a/InnerDetector/InDetExample/InDetRecExample/share/InDetRec_all.py
+++ b/InnerDetector/InDetExample/InDetRecExample/share/InDetRec_all.py
@@ -18,6 +18,7 @@ topSequence = AlgSequence()
 #
 from AthenaCommon.AppMgr import ToolSvc
 
+import MagFieldServices.SetupField
 #--------------------------------------------------------------
 # Abort on ERROR if set by RecFlags
 #--------------------------------------------------------------
diff --git a/InnerDetector/InDetExample/InDetRecExample/share/InDetRec_jobOptions.py b/InnerDetector/InDetExample/InDetRecExample/share/InDetRec_jobOptions.py
index db638e8d711a19f8866369d8317760aee2e3fa8f..20bdea2055bdeb4b23d6f9872fc6b7fa61812ce3 100755
--- a/InnerDetector/InDetExample/InDetRecExample/share/InDetRec_jobOptions.py
+++ b/InnerDetector/InDetExample/InDetRecExample/share/InDetRec_jobOptions.py
@@ -121,7 +121,16 @@ else:
     # ------------------------------------------------------------
     if InDetFlags.doBremRecovery() and InDetFlags.doCaloSeededBrem() and DetFlags.detdescr.Calo_allOn():
       include ("InDetRecExample/InDetRecCaloSeededROISelection.py")
-    
+
+    # ------------------------------------------------------------
+    # 
+    # -----------ROI seeding for SSS seeds
+    #
+    # ------------------------------------------------------------
+    #
+    if InDetFlags.doHadCaloSeededSSS() and DetFlags.detdescr.Calo_allOn():
+      include ("InDetRecExample/InDetRecHadCaloSeededROISelection.py")
+
     # ------------------------------------------------------------
     # 
     # ----------- Configuring the conditions access
@@ -163,7 +172,48 @@ else:
 
     # NewTracking collection keys
     InputCombinedInDetTracks = []
-    
+ 
+    # ------------------------------------------------------------
+    #
+    # ----------- Subdetector pattern from New Tracking
+    #
+    # ------------------------------------------------------------
+    #
+    # --- Pixel track segment finding
+    #
+    if InDetFlags.doTrackSegmentsPixel():
+      # --- load cuts for pixel segment finding
+      if (not 'InDetNewTrackingCutsPixel' in dir()):
+        print "InDetRec_jobOptions: InDetNewTrackingCutsPixel not set before - import them now"
+        from InDetRecExample.ConfiguredNewTrackingCuts import ConfiguredNewTrackingCuts
+        InDetNewTrackingCutsPixel = ConfiguredNewTrackingCuts("Pixel")
+      InDetNewTrackingCutsPixel.printInfo()
+      # --- configure pixel segment finding
+      include ("InDetRecExample/ConfiguredNewTrackingSiPattern.py")
+      InDetNewTrackingSiPattern = ConfiguredNewTrackingSiPattern([],InDetKeys.PixelTracks(),
+                                                                 InDetKeys.SiSpSeededPixelTracks(),
+                                                                 InDetNewTrackingCutsPixel,
+                                                                 TrackCollectionKeys,
+                                                                 TrackCollectionTruthKeys)
+    #
+    # --- SCT track segment finding
+    #
+    if InDetFlags.doTrackSegmentsSCT():
+      # --- load cuts for SCT segment finding
+      if (not 'InDetNewTrackingCutsSCT' in dir()):
+        print "InDetRec_jobOptions: InDetNewTrackingCutsSCT not set before - import them now"
+        from InDetRecExample.ConfiguredNewTrackingCuts import ConfiguredNewTrackingCuts
+        InDetNewTrackingCutsSCT = ConfiguredNewTrackingCuts("SCT")
+      InDetNewTrackingCutsSCT.printInfo()
+      # --- configure pixel segment finding
+      include ("InDetRecExample/ConfiguredNewTrackingSiPattern.py")
+      InDetNewTrackingSiPattern = ConfiguredNewTrackingSiPattern([],InDetKeys.SCTTracks(),
+                                                                 InDetKeys.SiSpSeededSCTTracks(),
+                                                                 InDetNewTrackingCutsSCT,
+                                                                 TrackCollectionKeys,
+                                                                 TrackCollectionTruthKeys)
+
+   
     # ------------------------------------------------------------
     #
     # ----------- Cosmics Si pattern before we do the TRT phase
@@ -269,45 +319,6 @@ else:
     if InDetFlags.doxKalman() or InDetFlags.doiPatRec():
       include ("InDetRecExample/InDetRecXKalIPat.py")
     
-    # ------------------------------------------------------------
-    #
-    # ----------- Subdetector pattern from New Tracking
-    #
-    # ------------------------------------------------------------
-    #
-    # --- Pixel track segment finding
-    #
-    if InDetFlags.doTrackSegmentsPixel():
-      # --- load cuts for pixel segment finding
-      if (not 'InDetNewTrackingCutsPixel' in dir()):
-        print "InDetRec_jobOptions: InDetNewTrackingCutsPixel not set before - import them now"
-        from InDetRecExample.ConfiguredNewTrackingCuts import ConfiguredNewTrackingCuts
-        InDetNewTrackingCutsPixel = ConfiguredNewTrackingCuts("Pixel")
-      InDetNewTrackingCutsPixel.printInfo()
-      # --- configure pixel segment finding
-      include ("InDetRecExample/ConfiguredNewTrackingSiPattern.py")
-      InDetNewTrackingSiPattern = ConfiguredNewTrackingSiPattern([],InDetKeys.PixelTracks(),
-                                                                 InDetKeys.SiSpSeededPixelTracks(),
-                                                                 InDetNewTrackingCutsPixel,
-                                                                 TrackCollectionKeys,
-                                                                 TrackCollectionTruthKeys)
-    #
-    # --- SCT track segment finding
-    #
-    if InDetFlags.doTrackSegmentsSCT():
-      # --- load cuts for SCT segment finding
-      if (not 'InDetNewTrackingCutsSCT' in dir()):
-        print "InDetRec_jobOptions: InDetNewTrackingCutsSCT not set before - import them now"
-        from InDetRecExample.ConfiguredNewTrackingCuts import ConfiguredNewTrackingCuts
-        InDetNewTrackingCutsSCT = ConfiguredNewTrackingCuts("SCT")
-      InDetNewTrackingCutsSCT.printInfo()
-      # --- configure pixel segment finding
-      include ("InDetRecExample/ConfiguredNewTrackingSiPattern.py")
-      InDetNewTrackingSiPattern = ConfiguredNewTrackingSiPattern([],InDetKeys.SCTTracks(),
-                                                                 InDetKeys.SiSpSeededSCTTracks(),
-                                                                 InDetNewTrackingCutsSCT,
-                                                                 TrackCollectionKeys,
-                                                                 TrackCollectionTruthKeys)
     #
     # --- TRT track segment finding
     #
@@ -531,6 +542,32 @@ else:
                                                                    TrackCollectionTruthKeys)  
       # --- do not add into list for combination YET
       # InputCombinedInDetTracks += [ InDetVeryLowPtSiPattern.SiTrackCollection() ]
+    
+
+    # ------------------------------------------------------------
+    #
+    # --- Pixel Tracklets on unassociated PRDs (after standard reconstruction + forward tracking)
+    #
+    # ------------------------------------------------------------
+    
+    if InDetFlags.doTrackSegmentsPixelPrdAssociation():
+      InputPixelInDetTracks = []
+      InputPixelInDetTracks += InputCombinedInDetTracks
+      if InDetFlags.doForwardTracks(): 
+        InputPixelInDetTracks +=[ InDetForwardTracksSiPattern.SiTrackCollection()]
+      # --- load cuts for pixel segment finding
+      if (not 'InDetNewTrackingCutsPixelPrdAssociation' in dir()):
+        print "InDetRec_jobOptions: InDetNewTrackingCutsPixelPrdAssociation not set before - import them now"
+        from InDetRecExample.ConfiguredNewTrackingCuts import ConfiguredNewTrackingCuts
+        InDetNewTrackingCutsPixelPrdAssociation = ConfiguredNewTrackingCuts("PixelPrdAssociation")
+      InDetNewTrackingCutsPixelPrdAssociation.printInfo()
+      # --- configure pixel segment finding
+      include ("InDetRecExample/ConfiguredNewTrackingSiPattern.py")
+      InDetPixelTrackingSiPattern = ConfiguredNewTrackingSiPattern(InputPixelInDetTracks,InDetKeys.PixelPrdAssociationTracks(),
+                                                                 InDetKeys.SiSpSeededPixelTracks(),
+                                                                 InDetNewTrackingCutsPixelPrdAssociation,
+                                                                 TrackCollectionKeys,
+                                                                 TrackCollectionTruthKeys)
       
     # ------------------------------------------------------------
     #
@@ -642,6 +679,11 @@ else:
         ToolSvc += InDetTruthTrajectoryManipulator
 #        InDetTruthTrajectoryManipulator.OutputLevel = VERBOSE
 
+        # --- the trajectory shared cluster hits fixer
+#        from InDetTruthTools.InDetTruthToolsConf import InDet__PRD_TruthTrajectorySharedFixerID
+#        InDetTruthTrajectorySharedFixer = InDet__PRD_TruthTrajectorySharedFixerID(name = 'InDetTruthTrajectorySharedFixer' )                       
+#        ToolSvc += InDetTruthTrajectorySharedFixer
+
         # --- the truth PRD trajectory builder
         
         # 
@@ -661,6 +703,7 @@ else:
                                          MinimumPt                       =  InDetNewTrackingCuts.minPT(),
                                  #        Geantinos                       =  True,
                                          PRD_TruthTrajectoryManipulators = [ InDetTruthTrajectorySorter, InDetTruthTrajectoryManipulator  ])
+#                                        PRD_TruthTrajectoryManipulators = [ InDetTruthTrajectorySorter, InDetTruthTrajectorySharedFixer  ])
         ToolSvc+=InDetPRD_TruthTrajectoryBuilder
 #        InDetPRD_TruthTrajectoryBuilder.OutputLevel = VERBOSE
 
@@ -726,6 +769,8 @@ else:
                                                             TracksLocation          = InputCombinedInDetTracks,
                                                             OutputTracksLocation    = InDetKeys.UnslimmedTracks(),
                                                             AssoTool                = InDetPrdAssociationTool,
+                                                            UpdateSharedHitsOnly    = False,
+                                                            UpdateAdditionalInfo    = True,
                                                             SummaryTool             = InDetTrackSummaryToolSharedHits)
       topSequence += TrkTrackCollectionMerger
       if (InDetFlags.doPrintConfigurables()):
@@ -929,7 +974,7 @@ else:
       InDetValidation = ConfiguredInDetValidation("",True,InDetFlags.doTruth(),cuts,TrackCollectionKeys,TrackCollectionTruthKeys)
 
     # ntuple creation for validation purposes    
-    if (InDetFlags.doNtupleCreation() or InDetFlags.doStandardPlots()):
+    if (InDetFlags.doNtupleCreation() or InDetFlags.doStandardPlots()) or InDetFlags.doPhysValMon():
       include("InDetRecExample/InDetRecNtupleCreation.py")
 
     # D3PD Creation
diff --git a/InnerDetector/InDetExample/InDetRecExample/share/InDetxAODCreator.py b/InnerDetector/InDetExample/InDetRecExample/share/InDetxAODCreator.py
index 8e4b2e89d85b33c184b848edc1f4021e7c66b8e2..a35272e2cd2360b415b4635ddfc164442826b35d 100644
--- a/InnerDetector/InDetExample/InDetRecExample/share/InDetxAODCreator.py
+++ b/InnerDetector/InDetExample/InDetRecExample/share/InDetxAODCreator.py
@@ -63,3 +63,72 @@ if (InDetFlags.doForwardTracks() and InDetFlags.doParticleCreation()) or doConve
  xAODForwardTrackParticleCnvAlg.PrintIDSummaryInfo = True
  #xAODForwardTrackParticleCnvAlg.OutputLevel = VERBOSE
  topSequence += xAODForwardTrackParticleCnvAlg
+
+if InDetFlags.doPseudoTracking():
+ from xAODTrackingCnv.xAODTrackingCnvConf import xAODMaker__TrackParticleCnvAlg
+ xAODPseudoTrackParticleCnvAlg = xAODMaker__TrackParticleCnvAlg(InDetKeys.xAODPseudoTrackParticleContainer())
+ xAODPseudoTrackParticleCnvAlg.xAODContainerName = InDetKeys.xAODPseudoTrackParticleContainer()
+ xAODPseudoTrackParticleCnvAlg.xAODTrackParticlesFromTracksContainerName = InDetKeys.xAODPseudoTrackParticleContainer()
+ xAODPseudoTrackParticleCnvAlg.TrackContainerName = InDetKeys.PseudoTracks()
+ xAODPseudoTrackParticleCnvAlg.TrackParticleCreator = InDetxAODParticleCreatorTool
+ xAODPseudoTrackParticleCnvAlg.AODContainerName = InDetKeys.PseudoTracks()
+ xAODPseudoTrackParticleCnvAlg.AODTruthContainerName = InDetKeys.TrackParticlesTruth()
+ xAODPseudoTrackParticleCnvAlg.ConvertTrackParticles = doConversion
+ xAODPseudoTrackParticleCnvAlg.ConvertTracks = doCreation
+ xAODPseudoTrackParticleCnvAlg.AddTruthLink = InDetFlags.doTruth()
+ xAODPseudoTrackParticleCnvAlg.TrackTruthContainerName = InDetKeys.PseudoTracksTruth()
+ xAODPseudoTrackParticleCnvAlg.PrintIDSummaryInfo = True
+ topSequence += xAODPseudoTrackParticleCnvAlg
+
+ 
+if InDetFlags.doTrackSegmentsPixel() and InDetFlags.doParticleCreation():
+ xAODPixelTrackParticleCnvAlg = xAODMaker__TrackParticleCnvAlg(InDetKeys.xAODPixelTrackParticleContainer())
+ xAODPixelTrackParticleCnvAlg.xAODContainerName = InDetKeys.xAODPixelTrackParticleContainer()
+ xAODPixelTrackParticleCnvAlg.xAODTrackParticlesFromTracksContainerName = InDetKeys.xAODPixelTrackParticleContainer()
+ xAODPixelTrackParticleCnvAlg.TrackParticleCreator = InDetxAODParticleCreatorTool
+ xAODPixelTrackParticleCnvAlg.TrackContainerName = InDetKeys.PixelTracks()
+ xAODPixelTrackParticleCnvAlg.ConvertTrackParticles = False
+ xAODPixelTrackParticleCnvAlg.ConvertTracks = True
+ xAODPixelTrackParticleCnvAlg.AddTruthLink = False
+ xAODPixelTrackParticleCnvAlg.PrintIDSummaryInfo = True
+ #xAODPixelTrackParticleCnvAlg.OutputLevel = VERBOSE
+ topSequence += xAODPixelTrackParticleCnvAlg
+
+if InDetFlags.doTrackSegmentsPixelPrdAssociation() and InDetFlags.doParticleCreation():
+ xAODPixelPrdAssociationTrackParticleCnvAlg = xAODMaker__TrackParticleCnvAlg(InDetKeys.xAODPixelPrdAssociationTrackParticleContainer())
+ xAODPixelPrdAssociationTrackParticleCnvAlg.xAODContainerName = InDetKeys.xAODPixelPrdAssociationTrackParticleContainer()
+ xAODPixelPrdAssociationTrackParticleCnvAlg.xAODTrackParticlesFromTracksContainerName = InDetKeys.xAODPixelPrdAssociationTrackParticleContainer()
+ xAODPixelPrdAssociationTrackParticleCnvAlg.TrackParticleCreator = InDetxAODParticleCreatorTool
+ xAODPixelPrdAssociationTrackParticleCnvAlg.TrackContainerName = InDetKeys.PixelPrdAssociationTracks()
+ xAODPixelPrdAssociationTrackParticleCnvAlg.ConvertTrackParticles = False
+ xAODPixelPrdAssociationTrackParticleCnvAlg.ConvertTracks = True
+ xAODPixelPrdAssociationTrackParticleCnvAlg.AddTruthLink = False
+ xAODPixelPrdAssociationTrackParticleCnvAlg.PrintIDSummaryInfo = True
+ #xAODPixelTrackParticleCnvAlg.OutputLevel = VERBOSE
+ topSequence += xAODPixelPrdAssociationTrackParticleCnvAlg
+
+if InDetFlags.doTrackSegmentsSCT() and InDetFlags.doParticleCreation():
+ xAODSCTTrackParticleCnvAlg = xAODMaker__TrackParticleCnvAlg(InDetKeys.xAODSCTTrackParticleContainer())
+ xAODSCTTrackParticleCnvAlg.xAODContainerName = InDetKeys.xAODSCTTrackParticleContainer()
+ xAODSCTTrackParticleCnvAlg.xAODTrackParticlesFromTracksContainerName = InDetKeys.xAODSCTTrackParticleContainer()
+ xAODSCTTrackParticleCnvAlg.TrackParticleCreator = InDetxAODParticleCreatorTool
+ xAODSCTTrackParticleCnvAlg.TrackContainerName = InDetKeys.SCTTracks()
+ xAODSCTTrackParticleCnvAlg.ConvertTrackParticles = False
+ xAODSCTTrackParticleCnvAlg.ConvertTracks = True
+ xAODSCTTrackParticleCnvAlg.AddTruthLink = False
+ xAODSCTTrackParticleCnvAlg.PrintIDSummaryInfo = True
+ #xAODSCTTrackParticleCnvAlg.OutputLevel = VERBOSE
+ topSequence += xAODSCTTrackParticleCnvAlg
+
+if InDetFlags.doTrackSegmentsTRT() and InDetFlags.doParticleCreation():
+ xAODTRTTrackParticleCnvAlg = xAODMaker__TrackParticleCnvAlg(InDetKeys.xAODTRTTrackParticleContainer())
+ xAODTRTTrackParticleCnvAlg.xAODContainerName = InDetKeys.xAODTRTTrackParticleContainer()
+ xAODTRTTrackParticleCnvAlg.xAODTrackParticlesFromTracksContainerName = InDetKeys.xAODTRTTrackParticleContainer()
+ xAODTRTTrackParticleCnvAlg.TrackParticleCreator = InDetxAODParticleCreatorTool
+ xAODTRTTrackParticleCnvAlg.TrackContainerName = InDetKeys.TRTTracks()
+ xAODTRTTrackParticleCnvAlg.ConvertTrackParticles = False
+ xAODTRTTrackParticleCnvAlg.ConvertTracks = True
+ xAODTRTTrackParticleCnvAlg.AddTruthLink = False
+ xAODTRTTrackParticleCnvAlg.PrintIDSummaryInfo = True
+ #xAODTRTTrackParticleCnvAlg.OutputLevel = VERBOSE
+ topSequence += xAODTRTTrackParticleCnvAlg
diff --git a/InnerDetector/InDetExample/InDetRecExample/share/ReadInDet_jobOptions.py b/InnerDetector/InDetExample/InDetRecExample/share/ReadInDet_jobOptions.py
index 8ca0c6c999a7e78e9a3ac2068aaf2f8bfc46f887..d1af3806468e656843e63900cc78d9c0d58bacd9 100755
--- a/InnerDetector/InDetExample/InDetRecExample/share/ReadInDet_jobOptions.py
+++ b/InnerDetector/InDetExample/InDetRecExample/share/ReadInDet_jobOptions.py
@@ -132,6 +132,7 @@ DetFlags.Print()
 #--------------------------------------------------------------
 # Load InDet configuration
 #--------------------------------------------------------------
+import MagFieldServices.SetupField
 
 from AthenaCommon.GlobalFlags import globalflags
 
diff --git a/InnerDetector/InDetExample/InDetRecExample/share/WriteInDetAOD.py b/InnerDetector/InDetExample/InDetRecExample/share/WriteInDetAOD.py
index 33eb1a2b35701ea897e038fa878a0b991bfb58c2..93454c6ebdf7d288a071d4a857b70dc0559cc65d 100755
--- a/InnerDetector/InDetExample/InDetRecExample/share/WriteInDetAOD.py
+++ b/InnerDetector/InDetExample/InDetRecExample/share/WriteInDetAOD.py
@@ -36,14 +36,34 @@ InDetAODList = []
 #   InDetAODList+=['TRT_BSIdErrContainer#'+InDetKeys.TRT_ByteStreamIdErrs()]
 
 if InDetFlags.doxAOD():
-  InDetAODList+=['xAOD::TrackParticleContainer_v1#'+InDetKeys.xAODTrackParticleContainer()]
-  InDetAODList+=['xAOD::TrackParticleAuxContainer_v1#'+InDetKeys.xAODTrackParticleContainer()+'Aux.']
-  InDetAODList+=['xAOD::TrackParticleAuxContainer_v1#'+InDetKeys.xAODTrackParticleContainer()+'Aux.-caloExtension']
-  InDetAODList+=['xAOD::TrackParticleContainer_v1#'+InDetKeys.xAODForwardTrackParticleContainer()]
-  InDetAODList+=['xAOD::TrackParticleAuxContainer_v1#'+InDetKeys.xAODForwardTrackParticleContainer()+'Aux.']
-  InDetAODList+=['xAOD::TrackParticleAuxContainer_v1#'+InDetKeys.xAODForwardTrackParticleContainer()+'Aux.-caloExtension']
-  InDetAODList+=['xAOD::VertexContainer_v1#'+InDetKeys.xAODVertexContainer()]
-  InDetAODList+=['xAOD::VertexAuxContainer_v1#'+InDetKeys.xAODVertexContainer()+'Aux.-vxTrackAtVertex']
+  excludedAuxData = "-caloExtension.-cellAssociation.-clusterAssociation.-trackParameterCovarianceMatrices.-parameterX.-parameterY.-parameterZ.-parameterPX.-parameterPY.-parameterPZ.-parameterPosition"
+  InDetAODList+=['xAOD::TrackParticleContainer#'+InDetKeys.xAODTrackParticleContainer()]
+  InDetAODList+=['xAOD::TrackParticleAuxContainer#'+InDetKeys.xAODTrackParticleContainer()+'Aux.' + excludedAuxData]
+  InDetAODList+=['xAOD::TrackParticleContainer#'+InDetKeys.xAODForwardTrackParticleContainer()]
+  InDetAODList+=['xAOD::TrackParticleAuxContainer#'+InDetKeys.xAODForwardTrackParticleContainer()+'Aux.' + excludedAuxData]
+  InDetAODList+=['xAOD::VertexContainer#'+InDetKeys.xAODVertexContainer()]
+  InDetAODList+=['xAOD::VertexAuxContainer#'+InDetKeys.xAODVertexContainer()+'Aux.-vxTrackAtVertex']
+  InDetAODList+=['xAOD::VertexContainer#'+InDetKeys.xAODV0VertexContainer()]
+  InDetAODList+=['xAOD::VertexAuxContainer#'+InDetKeys.xAODV0VertexContainer()+'Aux.-vxTrackAtVertex']
+  InDetAODList+=['xAOD::VertexContainer#'+InDetKeys.xAODKshortVertexContainer()]
+  InDetAODList+=['xAOD::VertexAuxContainer#'+InDetKeys.xAODKshortVertexContainer()+'Aux.-vxTrackAtVertex']
+  InDetAODList+=['xAOD::VertexContainer#'+InDetKeys.xAODLambdaVertexContainer()]
+  InDetAODList+=['xAOD::VertexAuxContainer#'+InDetKeys.xAODLambdaVertexContainer()+'Aux.-vxTrackAtVertex']
+  InDetAODList+=['xAOD::VertexContainer#'+InDetKeys.xAODLambdabarVertexContainer()]
+  InDetAODList+=['xAOD::VertexAuxContainer#'+InDetKeys.xAODLambdabarVertexContainer()+'Aux.-vxTrackAtVertex']
+  if InDetFlags.doTrackSegmentsPixel():
+    InDetAODList+=['xAOD::TrackParticleContainer#'+InDetKeys.xAODPixelTrackParticleContainer()]
+    InDetAODList+=['xAOD::TrackParticleAuxContainer#'+InDetKeys.xAODPixelTrackParticleContainer()+'Aux.' + excludedAuxData]
+  if InDetFlags.doTrackSegmentsPixelPrdAssociation():
+    InDetAODList+=['xAOD::TrackParticleContainer#'+InDetKeys.xAODPixelPrdAssociationTrackParticleContainer()]
+    InDetAODList+=['xAOD::TrackParticleAuxContainer#'+InDetKeys.xAODPixelPrdAssociationTrackParticleContainer()+'Aux.' + excludedAuxData]
+  if InDetFlags.doTrackSegmentsSCT():
+    InDetAODList+=['xAOD::TrackParticleContainer#'+InDetKeys.xAODSCTTrackParticleContainer()]
+    InDetAODList+=['xAOD::TrackParticleAuxContainer#'+InDetKeys.xAODSCTTrackParticleContainer()+'Aux.' + excludedAuxData]
+  if InDetFlags.doTrackSegmentsTRT():
+    InDetAODList+=['xAOD::TrackParticleContainer#'+InDetKeys.xAODTRTTrackParticleContainer()]
+    InDetAODList+=['xAOD::TrackParticleAuxContainer#'+InDetKeys.xAODTRTTrackParticleContainer()+'Aux.' + excludedAuxData]
+
 
 # next is only for InDetRecExample stand alone! RecExCommon uses InDetAODList directly
 StreamAOD.ItemList += InDetAODList 
diff --git a/InnerDetector/InDetExample/InDetRecExample/share/WriteInDetESD.py b/InnerDetector/InDetExample/InDetRecExample/share/WriteInDetESD.py
index 3c8e3ce115edb2d2a17212a63578e79647d5b27a..26c885867f7dc6fd653f6c2fbdf126bfe5f3d8a2 100755
--- a/InnerDetector/InDetExample/InDetRecExample/share/WriteInDetESD.py
+++ b/InnerDetector/InDetExample/InDetRecExample/share/WriteInDetESD.py
@@ -98,15 +98,25 @@ if globalflags.InputFormat()=='bytestream':
    InDetESDList+=['TRT_BSIdErrContainer#'+InDetKeys.TRT_ByteStreamIdErrs()]
 
 if InDetFlags.doxAOD():
-  InDetESDList+=['xAOD::TrackParticleContainer_v1#'+InDetKeys.xAODTrackParticleContainer()]
-  InDetESDList+=['xAOD::TrackParticleAuxContainer_v1#'+InDetKeys.xAODTrackParticleContainer()+'Aux.']
-  InDetESDList+=['xAOD::TrackParticleAuxContainer_v1#'+InDetKeys.xAODTrackParticleContainer()+'Aux.-caloExtension']
-  InDetESDList+=['xAOD::TrackParticleContainer_v1#'+InDetKeys.xAODForwardTrackParticleContainer()]
-  InDetESDList+=['xAOD::TrackParticleAuxContainer_v1#'+InDetKeys.xAODForwardTrackParticleContainer()+'Aux.']
-  InDetESDList+=['xAOD::TrackParticleAuxContainer_v1#'+InDetKeys.xAODForwardTrackParticleContainer()+'Aux.-caloExtension']
-  InDetESDList+=['xAOD::VertexContainer_v1#'+InDetKeys.xAODVertexContainer()]
-  InDetESDList+=['xAOD::VertexAuxContainer_v1#'+InDetKeys.xAODVertexContainer()+'Aux.-vxTrackAtVertex']
-
+  excludedAuxData = "-caloExtension.-cellAssociation.-clusterAssociation.-trackParameterCovarianceMatrices.-parameterX.-parameterY.-parameterZ.-parameterPX.-parameterPY.-parameterPZ.-parameterPosition"
+  InDetESDList+=['xAOD::TrackParticleContainer#'+InDetKeys.xAODTrackParticleContainer()]
+  InDetESDList+=['xAOD::TrackParticleAuxContainer#'+InDetKeys.xAODTrackParticleContainer()+'Aux.' + excludedAuxData]
+  InDetESDList+=['xAOD::TrackParticleContainer#'+InDetKeys.xAODForwardTrackParticleContainer()]
+  InDetESDList+=['xAOD::TrackParticleAuxContainer#'+InDetKeys.xAODForwardTrackParticleContainer()+'Aux.' + excludedAuxData ]
+  InDetESDList+=['xAOD::VertexContainer#'+InDetKeys.xAODVertexContainer()]
+  InDetESDList+=['xAOD::VertexAuxContainer#'+InDetKeys.xAODVertexContainer()+'Aux.-vxTrackAtVertex']
+  if InDetFlags.doTrackSegmentsPixel():
+    InDetESDList+=['xAOD::TrackParticleContainer#'+InDetKeys.xAODPixelTrackParticleContainer()]
+    InDetESDList+=['xAOD::TrackParticleAuxContainer#'+InDetKeys.xAODPixelTrackParticleContainer()+'Aux.' + excludedAuxData]
+  if InDetFlags.doTrackSegmentsPixelPrdAssociation():
+    InDetESDList+=['xAOD::TrackParticleContainer#'+InDetKeys.xAODPixelPrdAssociationTrackParticleContainer()]
+    InDetESDList+=['xAOD::TrackParticleAuxContainer#'+InDetKeys.xAODPixelPrdAssociationTrackParticleContainer()+'Aux.' + excludedAuxData]
+  if InDetFlags.doTrackSegmentsSCT():
+    InDetESDList+=['xAOD::TrackParticleContainer#'+InDetKeys.xAODSCTTrackParticleContainer()]
+    InDetESDList+=['xAOD::TrackParticleAuxContainer#'+InDetKeys.xAODSCTTrackParticleContainer()+'Aux.' + excludedAuxData]
+  if InDetFlags.doTrackSegmentsTRT():
+    InDetESDList+=['xAOD::TrackParticleContainer#'+InDetKeys.xAODTRTTrackParticleContainer()]
+    InDetESDList+=['xAOD::TrackParticleAuxContainer#'+InDetKeys.xAODTRTTrackParticleContainer()+'Aux.' + excludedAuxData]
 # next is only for InDetRecExample stand alone! RecExCommon uses InDetESDList directly
 # added to InDetRec_all.py after include WriteInDetESD!
 #StreamESD.ItemList += InDetESDList
diff --git a/InnerDetector/InDetExample/InDetRecExample/share/jobOptions_RecExCommon.py b/InnerDetector/InDetExample/InDetRecExample/share/jobOptions_RecExCommon.py
index 67f9190cbbf355c69db9139fd8013e48bd32797c..9bf0edea6116d5261f49fabc82ba51099065cb48 100755
--- a/InnerDetector/InDetExample/InDetRecExample/share/jobOptions_RecExCommon.py
+++ b/InnerDetector/InDetExample/InDetRecExample/share/jobOptions_RecExCommon.py
@@ -105,7 +105,6 @@ rec.doJetMissingETTag.set_Value_and_Lock (False)
 
 # --- turn of calo stuff we don't need anyway
 from CaloRec.CaloRecFlags import jobproperties
-jobproperties.CaloRecFlags.doCaloTopoCluster.set_Value_and_Lock  (False)
 jobproperties.CaloRecFlags.doCaloEMTopoCluster.set_Value_and_Lock(False)
 jobproperties.CaloRecFlags.doCaloTopoTower.set_Value_and_Lock    (False)
 
@@ -134,6 +133,8 @@ recAlgs.doTileMuID.set_Value_and_Lock        (False)
 # --- trigger
 recAlgs.doTrigger.set_Value_and_Lock         (False)
 
+recAlgs.doTrackParticleCellAssociation.set_Value_and_Lock(False)
+
 #--------------------------------------------------------------
 # Printout config
 #--------------------------------------------------------------
@@ -162,7 +163,7 @@ InDetFlags.doTruth.set_Value_and_Lock (globalflags.DataSource == 'geant4' and gl
 # InDetFlags.doCaloSeededBrem.set_Value_and_Lock                     (doCaloSeededBrem)
 
 # --- cut level
-#InDetFlags.priVtxCutLevel.set_Value_and_Lock                       (2)
+#InDetFlags.priVtxCutLevel.set_Value_and_Lock                       (3)
 
 # --- enable forward tracks
 # InDetFlags.doForwardTracks.set_Value_and_Lock                      (True)
@@ -181,6 +182,9 @@ InDetFlags.doMonitoringAlignment.set_Value_and_Lock                (False)
 # activate the print InDetXYZAlgorithm statements
 InDetFlags.doPrintConfigurables.set_Value_and_Lock                 (True)
 
+# Activate TIDE Ambi
+#InDetFlags.doTIDE_Ambi.set_Value_and_Lock                          (True)
+
 # --- test new cut level
 # InDetFlags.cutLevel.set_Value_and_Lock                             (11)
 
diff --git a/InnerDetector/InDetExample/InDetRecExample/share/jobOptions_Standalone.py b/InnerDetector/InDetExample/InDetRecExample/share/jobOptions_Standalone.py
index 7b717d05ea17f8c4cc080d1c9f8702350909195b..b63fdbd88238a66f5c9502fddc476f1325e2c642 100755
--- a/InnerDetector/InDetExample/InDetRecExample/share/jobOptions_Standalone.py
+++ b/InnerDetector/InDetExample/InDetRecExample/share/jobOptions_Standalone.py
@@ -170,6 +170,8 @@ InDetFlags.doMonitoringAlignment = False
 #InDetFlags.doPerfMon        = True
 # --- activate creation of standard plots
 #InDetFlags.doStandardPlots  = True
+# --- activate physics validation monitoring
+#InDetFlags.doPhysValMon  = True
 # --- active storegate delection
 #InDetFlags.doSGDeletion  = True
 
diff --git a/InnerDetector/InDetExample/InDetRecExample/share/jobOptions_cosmic.py b/InnerDetector/InDetExample/InDetRecExample/share/jobOptions_cosmic.py
index 9e0c5cf381a8a110601df71670d3a84060f449b7..c438a34a7726efe0d183254ea8f1d3ef9df52366 100755
--- a/InnerDetector/InDetExample/InDetRecExample/share/jobOptions_cosmic.py
+++ b/InnerDetector/InDetExample/InDetRecExample/share/jobOptions_cosmic.py
@@ -27,6 +27,14 @@ if doReadBS:
     from IOVDbSvc.CondDB import conddb
     conddb.setGlobalTag(globalflags.ConditionsTag())
 
+# request TrackingGeo tag  AtlasLayerMat_v18_ATLAS-GEO-16
+# but there are only   AtlasLayerMat_v16_ATLAS-GEO-16
+#                   or AtlasLayerMat_v18_ATLAS-R1-2010-01
+# @TODO switch to more recent data file ?
+conddb.addOverride('/GLOBAL/TrackingGeo/LayerMaterialV2','AtlasLayerMat_v19s0_ATLAS-R1-2010-01')
+#conddb.addOverride('/GLOBAL/TrackingGeo/LayerMaterialV2','AtlasLayerMat_v16_ATLAS-GEO-16')
+import MagFieldServices.SetupField
+
 theApp.EvtMax = 50
 
 #--------------------------------------------------------------