diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/CMakeLists.txt b/InnerDetector/InDetValidation/InDetPhysValMonitoring/CMakeLists.txt
index 1a91575ac1192e190c108be82d55d6e7fcef6a6f..94e561c79e044ecf70252fdc1d708b7152ecd639 100644
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/CMakeLists.txt
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/CMakeLists.txt
@@ -51,6 +51,6 @@ atlas_add_component( InDetPhysValMonitoring
 # Install files from the package:
 atlas_install_headers( InDetPhysValMonitoring )
 atlas_install_python_modules( python/*.py )
-atlas_install_runtime( share/*.hdef )
+atlas_install_runtime( share/*.hdef  share/*.xml  share/*.xsl} )
 atlas_install_runtime( test/InDetPhysValMonitoring_TestConfiguration.xml )
 
diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/InDetPhysValMonitoring/InDetPhysValLargeD0Tool.h b/InnerDetector/InDetValidation/InDetPhysValMonitoring/InDetPhysValMonitoring/InDetPhysValLargeD0Tool.h
index 84242ebb66bbd13459608b8dfac1eb3956b59673..a00f64682369f94b307caf70ef087e2d98774ede 100644
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/InDetPhysValMonitoring/InDetPhysValLargeD0Tool.h
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/InDetPhysValMonitoring/InDetPhysValLargeD0Tool.h
@@ -54,6 +54,7 @@ class InDetPhysValLargeD0Tool:public ManagedMonitorToolBase{
   // * @asogaard
   bool isSignal       (const xAOD::TruthParticle* p);
   bool isLargeD0Track (const xAOD::TrackParticle* p);
+  bool isPrimaryTrack (const xAOD::TruthParticle* p);
   bool MinTrackSelection (const xAOD::TrackParticle* p);
   // * Remove the following.
   bool isCameFromLLP(const xAOD::TruthParticle* p);
diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/cmt/requirements b/InnerDetector/InDetValidation/InDetPhysValMonitoring/cmt/requirements
index 40a224ccf0b016b14259ef2fd56e6b72a8141e8a..403d7277d4799f6fade50c67b9022beec70a1306 100644
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/cmt/requirements
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/cmt/requirements
@@ -57,7 +57,8 @@ branches src src/components doc
 #apply_pattern lcgdict dict=InDetPhysValMonitoring selectionfile=selection.xml\
 #headerfiles="../InDetPhysValMonitoring/InDetPhysValMonitoringDict.h"
 
-apply_pattern declare_runtime files="*.hdef"
+apply_pattern declare_runtime files="*.hdef *.xml *.xsl"
+
 apply_pattern declare_joboptions files="*.py"
 
 
diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/python/HistogramDefinitionSvc.py b/InnerDetector/InDetValidation/InDetPhysValMonitoring/python/HistogramDefinitionSvc.py
index 3f9073bd8e31185534c093295a1e86272b1a7f54..680c6ce73d63c47b404f2bec60d11e64fb12b36b 100644
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/python/HistogramDefinitionSvc.py
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/python/HistogramDefinitionSvc.py
@@ -26,4 +26,6 @@ class HistogramDefinitionSvc(object) :
                                            name = self.__class__.__name__))
 
           # special parameters of the default HistogramDefinitionSvc
-          self.DefinitionSource="inDetPhysValMonitoringPlotDefinitions.hdef"
+          self.DefinitionSource="InDetPhysValMonitoringPlotDefinitions.xml"
+          self.DefinitionFormat="text/xml"
+
diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/python/InDetPhysValDecoration.py b/InnerDetector/InDetValidation/InDetPhysValMonitoring/python/InDetPhysValDecoration.py
index 7a431ee7b432695ae66d988ca0c8622b242f6d0a..ae3347449a4d8794d165aac5c96d78f74874c071 100644
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/python/InDetPhysValDecoration.py
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/python/InDetPhysValDecoration.py
@@ -22,12 +22,19 @@ def findAlg(alg_name) :
      if no algorithm of the given name is found the index just before the AhtenaOutputStream is returned.
      if all that fails None is returned.
   '''
+  if not isinstance(alg_name, (list, tuple)) :
+      print >> sys.stderr,'ERROR logic error findAlg called with a non list argument %s / %s' %(alg_name,type(alg_name))
+      import sys
+      sys.exit(1)
+
   from AthenaCommon.AlgSequence import AlgSequence,AthSequencer 
   topSequence = AlgSequence()
   count=0
   mon_man_index=None
   for child in topSequence.getChildren() :
+     # if child.getName() in alg_name :
      if child.getName() in alg_name :
+         # print 'DEBUG findAlg %s =?=  %s ' %(child.getName(),alg_name)
          mon_man_index = count
          if len(alg_name) == 1 :
            break
@@ -35,10 +42,10 @@ def findAlg(alg_name) :
 
   if mon_man_index == None :
      count=0
-     exclude_streams=['StreamBS']     
+     exclude_streams=['StreamBS']
      for child in topSequence.getChildren() :
          if child.getType() == 'AthenaOutputStream' and child.getName() not in exclude_streams:
-             print 'DEBUG found %s at postion %i/%i' % (child.getFullName(),count,len(topSequence.getChildren() ) )
+             # print 'DEBUG found %s at postion %i/%i' % (child.getFullName(),count,len(topSequence.getChildren() ) )
              mon_man_index = count
              break
          count += 1
@@ -235,9 +242,16 @@ def _addDecorators(decorator_alg_list, add_after=None) :
   which is generally not available at later stages. The decorations added by this
   algorithm are used by InDetPhysValMonitoring tool.
   '''
+
+  if add_after != None and not isinstance(add_after, (list, tuple)) :
+      print >> sys.stderr,'ERROR logic error findAlg called with a non list argument %s / %s' %(alg_name,type(alg_name))
+      import sys
+      sys.exit(1)
+
   # Access the algorithm sequence:
   from AthenaCommon.AlgSequence import AlgSequence,AthSequencer 
   topSequence = AlgSequence()
+  # print 'DEBUG add _addDecorators add after %s ' % (add_after)
 
   # if there is a monitoring manager add decorator before
   mon_man_index=findMonMan()
@@ -246,10 +260,11 @@ def _addDecorators(decorator_alg_list, add_after=None) :
       if alg_index != None :
           # add after the found algorithm
           mon_man_index =alg_index + 1
+  # print 'DEBUG _addDecorators after this %s ' % (mon_man_index)
 
   if mon_man_index == None :
      for decorator_alg in decorator_alg_list :
-        if findAlg(decorator_alg.getName()) != None :
+        if findAlg([decorator_alg.getName()]) != None :
             print 'DEBUG decorator %s already in sequence. Not adding again.' % (decorator_alg.getFullName())
             continue
         print 'DEBUG add decorator %s at end of top sequence:' % (decorator_alg.getFullName())
@@ -257,8 +272,8 @@ def _addDecorators(decorator_alg_list, add_after=None) :
 
   else :
       for decorator_alg in decorator_alg_list :
-         if findAlg(decorator_alg.getName()) != None :
-            print 'DEBUG decorator %s already in sequence. Not adding again.' % (decorator_alg.getFullName())
+         if findAlg([decorator_alg.getName()]) != None :
+            print 'DEBUG decorator %s already in sequence. Not inserting again.' % (decorator_alg.getFullName())
             continue
          print 'DEBUG insert decorator %s at position %i' % (decorator_alg.getFullName(),mon_man_index)
          topSequence.insert(mon_man_index,decorator_alg)
@@ -274,6 +289,7 @@ def addGSFTrackDecoratorAlg() :
 
    from InDetPhysValMonitoring.InDetPhysValJobProperties import InDetPhysValFlags
    if InDetPhysValFlags.doValidateGSFTracks() :
+      # print 'DEBUG add addGSFTrackDecoratorAlg'
       decorators=[InDetPhysValDecoratorAlg.InDetPhysValDecoratorAlgGSF() ]
       # add the InDetPhysValDecoratorAlgGSF after the egamma algorithms ran
       # they build the GSF track particles.
@@ -287,7 +303,7 @@ def addGSFTrackDecoratorAlg() :
       # print ToolSvc
       # print 'DEBUG has EMBremCollectionBuilder %s' % hasattr(ToolSvc,'EMBremCollectionBuilder')
       if hasattr(ToolSvc,'EMBremCollectionBuilder') :
-          decor_index = findAlg(decorators[0].getName())
+          decor_index = findAlg([decorators[0].getName()])
           if decor_index != None :
               from TrkTrackSlimmer.TrkTrackSlimmerConf import Trk__TrackSlimmer as ConfigurableTrackSlimmer
               slimmer = ConfigurableTrackSlimmer(name                 = "RealGSFTrackSlimmer",
diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/python/InDetPhysValMonitoringTool.py b/InnerDetector/InDetValidation/InDetPhysValMonitoring/python/InDetPhysValMonitoringTool.py
index c36eea1866b3481f658dc4203e1abfb9cbf6f6e5..633e0c2329bcc8608d24a40afcbadbf042b5baca 100644
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/python/InDetPhysValMonitoringTool.py
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/python/InDetPhysValMonitoringTool.py
@@ -40,6 +40,9 @@ class InDetPhysValMonitoringTool(object) :
           if isMC() :
               self.TruthParticleContainerName = "TruthParticles"
               self.jetContainerName ='AntiKt4TruthJets'
+              from InDetPhysValMonitoring.addTruthJets import addTruthJetsIfNotExising
+              addTruthJetsIfNotExising(self.jetContainerName)
+
           else :
               # disable truth monitoring for data
               self.TruthParticleContainerName = ''
@@ -47,6 +50,26 @@ class InDetPhysValMonitoringTool(object) :
               self.jetContainerName =''
 
 
+          # hack to remove example phyval monitor
+          from RecExConfig.AutoConfiguration import IsInInputFile
+          if not IsInInputFile('xAOD::JetContainer','AntiKt4EMTopoJets') :
+            from InDetPhysValDecoration import findMonMan
+            mon_index = findMonMan()
+            if mon_index != None :
+              import re
+              pattern=re.compile('.*PhysValExample')
+
+              from AthenaCommon.AlgSequence import AlgSequence,AthSequencer 
+              topSequence = AlgSequence()
+              mon_manager = topSequence.getChildren()[mon_index]
+              del_idx=None
+              for tool in mon_manager.AthenaMonTools :
+                print 'DEBUG %s AthenaMonTools %s' % (mon_manager.getName(),tool.getName())
+                if pattern.match(tool.getName()) != None :
+                  mon_manager.AthenaMonTools.remove(tool)
+                  break
+
+
   class InDetPhysValMonitoringToolGSF(InDetPhysValMonitoringTool) :
       '''
       InDetPhysValMonitoringTool for GSF track particles
diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/python/addTruthJets.py b/InnerDetector/InDetValidation/InDetPhysValMonitoring/python/addTruthJets.py
new file mode 100644
index 0000000000000000000000000000000000000000..f4bf41ea47b535c9371ea13cf7f329895e3b14d4
--- /dev/null
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/python/addTruthJets.py
@@ -0,0 +1,113 @@
+# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+
+
+def addTruthJetsIfNotExising(truth_jets_name) :
+    '''
+    Add algorithm to create the truth jets collection unless the
+    collection exists already, or a truth jet finder is already running
+    '''
+    from RecExConfig.AutoConfiguration import IsInInputFile
+
+    # the jet collection name does not exist in the input file
+    # add a jet finder algorithm in front of the monitoring if the algorithm
+    # does not yet exist.
+    if not IsInInputFile('xAOD::JetContainer',truth_jets_name) :
+        try :
+            from RecExConfig.InputFilePeeker import inputFileSummary
+            print 'DEBUG addTruthJetsIfNotExising %s not in %s [file_type=%s]' % ( truth_jets_name, inputFileSummary['eventdata_itemsDic'], inputFileSummary['file_type']  )
+            if truth_jets_name in inputFileSummary['eventdata_itemsDic'] :
+                return
+        except :
+            pass
+
+        # Access the algorithm sequence:
+        from AthenaCommon.AlgSequence import AlgSequence,AthSequencer 
+        topSequence = AlgSequence()
+
+        # extract the jet finder type and main parameter
+        import re
+        extract_alg=re.search('^([^0-9]+)([0-9]+)TruthJets',truth_jets_name)
+        if extract_alg != None :
+            alg_type=extract_alg.group(1)
+            alg_param_str=extract_alg.group(2)
+        else :
+            alg_type='AntiKt'
+            alg_param_str=4
+
+        jet_finder_alg_name = "jetalg"+alg_type+alg_param_str+'TruthJets'
+
+        # add the jet finder unless it exists already in the alg sequence
+        from InDetPhysValDecoration import findAlg,findMonMan
+        alg_pos=findAlg([jet_finder_alg_name])
+        if alg_pos == None :
+            from JetRec.JetRecStandard import jtm
+            mon_man_index=findMonMan()
+
+            # configure truth jet finding ?
+            from JetRec.JetRecFlags import jetFlags
+            jetFlags.useTruth = True
+            jetFlags.useTracks = False
+            jetFlags.truthFlavorTags = ["BHadronsInitial", "BHadronsFinal", "BQuarksFinal",
+                                        "CHadronsInitial", "CHadronsFinal", "CQuarksFinal",
+                                        "TausFinal",
+                                        "Partons",
+                                        ]
+
+            # tool to create truth jet finding inputs
+            truth_part_copy_name='truthpartcopy'
+            dir(jtm)
+            create_truth_jet_input=None
+            if not hasattr(jtm,truth_part_copy_name) :
+
+                from MCTruthClassifier.MCTruthClassifierConf import MCTruthClassifier
+                truth_classifier_name='JetMCTruthClassifier'
+                if not hasattr(jtm,truth_classifier_name) :
+                    from AthenaCommon.AppMgr import ToolSvc
+                    if not hasattr(ToolSvc,truth_classifier_name) :
+                        truthClassifier = MCTruthClassifier(name = truth_classifier_name,
+                                                            ParticleCaloExtensionTool="")
+                    else :
+                        truthClassifier = getattr(ToolSvc,truth_classifier_name)
+                    jtm += truthClassifier
+                else :
+                    truthClassifier = getattr(jtm,truth_classifier_name)
+
+                from ParticleJetTools.ParticleJetToolsConf import CopyTruthJetParticles
+                create_truth_jet_input=CopyTruthJetParticles(truth_part_copy_name, OutputName="JetInputTruthParticles",
+                                             MCTruthClassifier=truthClassifier)
+                jtm +=create_truth_jet_input
+            else :
+                create_truth_jet_input=getattr(jtm,truth_part_copy_name)
+
+            jet_finder_tool = jtm.addJetFinder(truth_jets_name,
+                                               alg_type,
+                                               float(alg_param_str)/10.,
+                                               "truth",
+                                               ghostArea=0.0)
+
+
+            jet_tools=[]
+            from JetRec.JetFlavorAlgs import scheduleCopyTruthParticles
+            jet_tools += scheduleCopyTruthParticles()
+            jet_tools += [create_truth_jet_input]
+            jet_tools += jtm.jetrecs
+
+            # add the jet finder in front of the monitoring
+            from JetRec.JetRecConf import JetAlgorithm
+            from JetRec.JetRecConf import JetToolRunner
+            jtm += JetToolRunner("jetrun",
+                                 Tools=jet_tools,
+                                 EventShapeTools=[],
+                                 # OutputLevel = 1,
+                                 Timer=jetFlags.timeJetToolRunner()
+                                 )
+
+            # jet_finder_alg = JetAlgorithm(jet_finder_alg_name, jet_tools)
+            jet_finder_alg = JetAlgorithm(jet_finder_alg_name)
+            # jet_finder_alg.OutputLevel = 1
+            jet_finder_alg.Tools = [jtm.jetrun]
+
+            if mon_man_index != None :
+                topSequence.insert(mon_man_index,jet_finder_alg)
+            else  :
+                topSequence += jet_finder_alg
diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/run/PhysValITk_jobOptions.py b/InnerDetector/InDetValidation/InDetPhysValMonitoring/run/PhysValITk_jobOptions.py
index d029ad0c170ecc2b01f007dbc5bdf06bad16ec7d..b61b4c220426c0d786a2252def7fad71efb05521 100644
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/run/PhysValITk_jobOptions.py
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/run/PhysValITk_jobOptions.py
@@ -3,17 +3,17 @@
 # $Id: PhysVal_jobOptions.py 714189 2015-12-11 17:33:02Z sroe $
 
 # Set up the reading of the input xAOD:
+import AthenaPoolCnvSvc.ReadAthenaPool
 
-#"AOD.05522648._000044.pool.root.1" K-short dataset
-#"ESD.05108991._000060.pool.root.1" original ttbar dataset 
-#"ESD.05297574._000081.pool.root.1" new ttbar dataset (this one should enable residuals)
-#import getpass
-#FNAME="root://eosatlas//eos/atlas/atlascerngroupdisk/det-slhc/users/oda/xAODexample/mc12_14TeV.105200.McAtNloJimmy_CT10_ttbar_LeptonFilter.AOD.e1323_ATLAS-P2-ITK-01-00-00_19.2.3.1_20.1.3.2.pool.root"
-
+# read single file
 FNAME="AOD.pool.root"
-import AthenaPoolCnvSvc.ReadAthenaPool
+#FNAME="root://eosatlas//eos/atlas/atlascerngroupdisk/det-slhc/users/oda/xAODexample/mc12_14TeV.105200.McAtNloJimmy_CT10_ttbar_LeptonFilter.AOD.e1323_ATLAS-P2-ITK-01-00-00_19.2.3.1_20.1.3.2.pool.root"
 svcMgr.EventSelector.InputCollections = [ FNAME ] 
-#include( "AthenaPython/iread_file.py" )
+
+# read multiple files:
+#import glob
+#INFILES=glob.glob('indir/*pool.root*')
+#svcMgr.EventSelector.InputCollections = INFILES
 
 # Set global flags
 from AthenaCommon.AthenaCommonFlags import athenaCommonFlags
@@ -88,9 +88,8 @@ topSequence = AlgSequence()
 from InDetPhysValMonitoring.InDetPhysValMonitoringConf import HistogramDefinitionSvc
 ToolSvc = ServiceMgr.ToolSvc
 ServiceMgr+=HistogramDefinitionSvc()
-#ServiceMgr.HistogramDefinitionSvc.DefinitionSource="../share/inDetPhysValMonitoringPlotDefinitions.hdef"
-ServiceMgr.HistogramDefinitionSvc.DefinitionSource="../share/ITKHistDef.hdef"
-
+ServiceMgr.HistogramDefinitionSvc.DefinitionSource="../share/ITKHistDef.xml"
+ServiceMgr.HistogramDefinitionSvc.DefinitionFormat="text/xml"
 
 from InDetPhysValMonitoring.InDetPhysValMonitoringConf import InDetPhysValDecoratorAlg
 decorators = InDetPhysValDecoratorAlg()
@@ -165,7 +164,7 @@ svcMgr.THistSvc.Output += ["MyPhysVal DATAFILE='MyPhysVal.root' OPT='RECREATE'"]
 from AthenaCommon.AppMgr import theApp
 ServiceMgr.MessageSvc.OutputLevel = INFO
 ServiceMgr.MessageSvc.defaultLimit = 10000
-theApp.EvtMax = 50
+#theApp.EvtMax = 50
 
 # dump configuration
 from AthenaCommon.ConfigurationShelve import saveToAscii
diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/run/PhysVal_jobOptions.py b/InnerDetector/InDetValidation/InDetPhysValMonitoring/run/PhysVal_jobOptions.py
index b84aa117acc8035b78498e4071bfecb381f310d9..028e38c9763fee92aefec94ebc88271f2f00e40b 100644
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/run/PhysVal_jobOptions.py
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/run/PhysVal_jobOptions.py
@@ -1,6 +1,6 @@
 # Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 
-# $Id: PhysVal_jobOptions.py 747937 2016-05-18 10:37:38Z sroe $
+# $Id: PhysVal_jobOptions.py 757079 2016-06-22 18:56:37Z goetz $
 
 # Set up the reading of the input xAOD:
 
@@ -10,9 +10,9 @@
 import getpass
 FNAME = "AOD.pool.root"
 if (getpass.getuser())=="mbaugh":
-  #FNAME = "../rootfile_storage/ESD.large.pool.root"
+  FNAME = "../rootfile_storage/ESD.largeC.pool.root"
   #FNAME = "../rootfile_storage/AOD.05522648._000044.pool.root.1"
-  FNAME = "../rootfile_storage/ESD.05297574._000081.pool.root.1"
+  #FNAME = "../rootfile_storage/ESD.05297574._000081.pool.root.1"
   print " Hello, Max"
 
 #FNAME = "ESD.05297574._000081.pool.root.1"
@@ -27,7 +27,7 @@ topSequence = AlgSequence()
 from InDetPhysValMonitoring.InDetPhysValMonitoringConf import HistogramDefinitionSvc
 ToolSvc = ServiceMgr.ToolSvc
 ServiceMgr+=HistogramDefinitionSvc()
-ServiceMgr.HistogramDefinitionSvc.DefinitionSource="../share/hdef.xml"
+ServiceMgr.HistogramDefinitionSvc.DefinitionSource="../share/InDetPhysValMonitoringPlotDefinitions.xml"
 ServiceMgr.HistogramDefinitionSvc.DefinitionFormat="text/xml"
 
 from InDetPhysValMonitoring.InDetPhysValMonitoringConf import InDetPhysValDecoratorAlg
@@ -81,4 +81,4 @@ ServiceMgr.MessageSvc.OutputLevel = INFO
 ServiceMgr.MessageSvc.defaultLimit = 10000
 theApp.EvtMax = -1
 if (getpass.getuser())=="sroe":
-  theApp.EvtMax = 1
\ No newline at end of file
+  theApp.EvtMax = 1
diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/run/generateESD.py b/InnerDetector/InDetValidation/InDetPhysValMonitoring/run/generateESD.py
index 7ebb92d4f4db62396a19aa18cef4e2e8197382e0..6ff80c71d86dd3df2b63c6ee644ccd68137b5fd6 100644
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/run/generateESD.py
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/run/generateESD.py
@@ -19,8 +19,8 @@ AODFlags.TrackParticleLastHitAndPerigeeSlimmer=False
 from RecExConfig.RecFlags import rec
 rec.doTrigger=False
 
-#from InDetRecExample.InDetjobProperties import InDetFlags
-#InDetFlags.doSlimming.set_Value_and_Lock(False)
+from InDetRecExample.InDetJobProperties import InDetFlags
+InDetFlags.doSlimming.set_Value_and_Lock(False)
 
 #from JetRec.JetRecFlags import jetFlags
 #jetFlags.applyCalibration = False 
diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/share/ITKHistDef.hdef b/InnerDetector/InDetValidation/InDetPhysValMonitoring/share/ITKHistDef.hdef
deleted file mode 100644
index ead99bad9dfae3b4b35f09d7c87bc418e315068b..0000000000000000000000000000000000000000
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/share/ITKHistDef.hdef
+++ /dev/null
@@ -1,239 +0,0 @@
-TH1F num_truthmatch_match "num_truthmatch_match" 10 0 10 "Num. matching truth" "Entries" default
-TH1F nparticle "Number of Truth Particles" 200 0 2000 "Num. truth particles"  "Entries" default
-TH1F ntracksel "Number of Selected Tracks" 200 0 1000 "Num. tracks"  "Entries" default
-TH1F ntrack "Number of Tracks" 200 0 1000 "Num. tracks"  "Entries" default
-#
-#testing
-TH1F    002_Al_N_01     "Test Case: Visible E_{T} (SRoe)"  100       0     100     "Visible E_{T} (sroe)"  "Entries" default
-TH1F    test     "Test Case: Visible E_{T} (GeV)"  100       0     100     "Visible E_{T} (GeV)"  "Entries" default
-TProfile testProfile "Test of TProfile" 20 -50 50 0 200 "#eta" "Entries" default
-#
-#pT
-TH1F   recpT   "p_{T} of selected rec tracks (in GeV)"  200  0.  200 "p_{T} (GeV/c)" "Entries" default
-TH1F recpTlow  "p_{T} of selected rec tracks (in GeV)"  200  0.  20  "p_{T} (GeV/c)" "Entries" default
-#
-#basic plots
-TH1F basicd0 "d_{0} of selected tracks (in mm)" 200 -2 2 "d_{0}(mm)" "Entries" default
-TH1F basicz0 "z_{0} of selected tracks (in mm)" 120 -300 300 "z_{0}(mm)" "Entries" default
-TH1F basicphi "#phi of selected tracks" 100 -4 4 "#phi" "Entries" default
-TH1F basiceta "#eta of selected tracks" 100 -5 5 "#eta" "Entries" default
-TH1F basictheta "#theta of selected tracks" 100 0 3.1415926 "#theta" "Entries" default
-TH1F basicqOverP "q/p of selected tracks (in GeV)" 200 -0.01 0.01 "p_{T}(GeV/c)" "Entries" default
-TH1F truthd0 "d_{0} of selected truth (in mm)" 200 -2 2 "d_{0}(mm)" "Entries" default
-TH1F truthz0 "z_{0} of selected truth (in mm)" 120 -300 300 "z_{0}(mm)" "Entries" default
-TH1F truthphi "#phi of selected truth" 100 -4 4 "#phi" "Entries" default
-TH1F trutheta "#eta of selected truth" 100 -5 5 "#theta" "Entries" default
-TH1F truththeta "#theta of selected truth" 100 0 3.1415926 "#theta" "Entries" default
-TH1F truthqOverP "q/p of selected truth (in GeV)" 200 -0.005 0.005 "p_{T}(GeV/c)" "Entries" default
-TH1F truthz0st "z_{0} sin(#theta) of selected truth " 200 -300 300 "p_{T}(GeV/c)" "Entries" default
-TH1F truthprodR "Radial distance (r) of truth vtx parameter from origin" 100 0.0 2.0 "(mm)" "Entries" default
-TH1F truthprodZ "Longitudinal (z) distance of truth vtx parameter from origin" 100 0 300 "(mm)" "Entries" default
-
-#
-#fakes
-TH1F fakepT "p_{T} of selected fake tracks (in GeV)" 200 0. 200 "p_{T}(GeV/c)" "Entries" default
-TH1F fakepTlow "p_{T} of selected fake tracks (in GeV)" 200 0 20 "p_{T}(GeV/c)" "Entries" default
-TH1F fakephi "#phi of selected fake tracks" 100 -3.1415926 3.1415926 "#phi" "Entries" default
-TH1F fakeeta "#eta of selected fake tracks" 100 -5 5 "#eta" "Entries" default
-TH1F faked0  "d_{0} of selected fake tracks (in mm)" 200 -5 5 "d_{0}(mm)" "Entries" default
-TH1F fakez0 "z_{0} of selected fake tracks (in mm)" 120 -300 300 "z_{0}(mm)" "Entries" default
-TProfile track_fakerate_vs_eta "Fraction of tracks with <50% truth match probability" 20 -2.5 2.5 0 1 "#eta" "Fake Rate" default
-TProfile track_fakerate_vs_pt "Fraction of tracks with <50% truth match probability" 25 0 50 0 1 "p_{T}(GeV/c)" "Fake Rate" default
-TProfile track_fakerate_vs_phi "Fraction of tracks with <50% truth match probability" 24 -180 180 0 100 "#phi" "Fake Rate" default
-TProfile track_fakerate_vs_d0  "Fraction of tracks with <50% truth match probability"  20  -6  6  0  100  "d0"  "Fake Rate"   default
-TProfile  track_fakerate_vs_z0 "Fraction of tracks with <50% truth match probability" 20 -300 300 0 100 "z0"  "Fake Rate" default
-#
-
-#eff
-TH1F eff_pt_Numerator "p_{T} of reco-matched truth track (in GeV)" 200 0. 200 "p_{T}(GeV/c)" "Entries" default
-TH1F eff_pt_Denominator "p_{T} of truth track (in GeV)" 200 0. 200 "p_{T}(GeV/c)" "Entries" default
-TH1F eff_eta_Numerator "#eta of reco-matched truth track" 100 -5 5 "#eta" "Entries" default
-TH1F eff_eta_Denominator "#eta of truth track" 100 -5 5 "#eta" "Entries" default
-TH1F eff_phi_Numerator "#phi of reco-matched truth track" 100 -3.1415926 3.1415926 "#phi" "Entries" default
-TH1F eff_phi_Denominator "#phi of truth track" 100 -3.1415926 3.1415926 "#phi" "Entries" default
-TH1F eff_d0_Numerator "d_{0} of reco-matched truth track (in mm)" 150 -300 300 "d_{0}(mm)" "Entries" default
-TH1F eff_d0_Denominator "d_{0} of truth track (in mm)" 150 -300 300 "d_{0}(mm)" "Entries" default
-TH1F eff_z0_Numerator "z_{0} of reco-matched truth track (in mm)" 150 -1500 1500 "z_{0}(mm)" "Entries" default
-TH1F eff_z0_Denominator "z_{0} of truth track (in mm)" 150 -1500 1500 "z_{0}(mm)" "Entries" default
-TH1F eff_R_Numerator "R of reco-matched truth track (in mm)" 150 0 300 "R(mm)" "Entries" default
-TH1F eff_R_Denominator "R of truth track (in mm)" 150 0 300 "R(mm)" "Entries" default
-TH1F eff_Z_Numerator "Z of reco-matched truth track (in mm)" 150 -1500 1500 "Z(mm)" "Entries" default
-TH1F eff_Z_Denominator "Z of truth track (in mm)" 150 -1500 1500 "Z(mm)" "Entries" default
-TProfile eff_vs_pt "Fraction of reco-matched truth track" 40 0 200 0 1 "p_{T}(GeV/c)" "Efficiency" default
-TProfile eff_vs_eta "Fraction of reco-matched truth track" 40 -2.5 2.5 0 1 "#eta" "Efficiency" default
-TProfile eff_vs_phi "Fraction of reco-matched truth track" 40 -3.1415926 3.1415926 0 1 "#phi" "Efficiency" default
-TProfile eff_vs_d0 "Fraction of reco-matched truth track"  40  -300  300  0 1  "d0"  "Efficiency"   default
-TProfile eff_vs_z0 "Fraction of reco-matched truth track" 40 -1500 1500 0 1 "z0"  "Efficiency" default
-TProfile eff_vs_R "Fraction of reco-matched truth track"  40  0  300  0  1  "R"  "Efficiency"   default
-TProfile eff_vs_Z "Fraction of reco-matched truth track" 40 -1500 1500 0 1 "Z"  "Efficiency" default
-
-TH1F eff_pt_Numerator_st "p_{T} of reco-matched truth track (in GeV)" 200 0. 200 "p_{T}(GeV/c)" "Entries" default
-TH1F eff_eta_Numerator_st "#eta of reco-matched truth track" 100 -5 5 "#eta" "Entries" default
-TH1F eff_phi_Numerator_st "#phi of reco-matched truth track" 100 -3.1415926 3.1415926 "#phi" "Entries" default
-TH1F eff_d0_Numerator_st "d_{0} of reco-matched truth track (in mm)" 150 -300 300 "d_{0}(mm)" "Entries" default
-TH1F eff_z0_Numerator_st "z_{0} of reco-matched truth track (in mm)" 150 -1500 1500 "z_{0}(mm)" "Entries" default
-TH1F eff_R_Numerator_st "R of reco-matched truth track (in mm)" 150 0 300 "R(mm)" "Entries" default
-TH1F eff_Z_Numerator_st "Z of reco-matched truth track (in mm)" 150 -1500 1500 "Z(mm)" "Entries" default
-
-TProfile eff_vs_pt_st "Fraction of reco-matched truth track" 40 0 200 0 1 "p_{T}(GeV/c)" "Efficiency" default
-TProfile eff_vs_eta_st "Fraction of reco-matched truth track" 40 -2.5 2.5 0 1 "#eta" "Efficiency" default
-TProfile eff_vs_phi_st "Fraction of reco-matched truth track" 40 -3.1415926 3.1415926 0 1 "#phi" "Efficiency" default
-TProfile eff_vs_d0_st "Fraction of reco-matched truth track"  40  -300  300  0 1  "d0"  "Efficiency"   default
-TProfile eff_vs_z0_st "Fraction of reco-matched truth track" 40 -1500 1500 0 1 "z0"  "Efficiency" default
-TProfile eff_vs_R_st "Fraction of reco-matched truth track"  40  0  300  0  1  "R"  "Efficiency"   default
-TProfile eff_vs_Z_st "Fraction of reco-matched truth track" 40 -1500 1500 0 1 "Z"  "Efficiency" default
-
-
-#vertices
-TH1F vx_x "X position of vertex" 200  -1.0 1.0 "X (mm)" "Entries" default
-TH1F vx_y  "Y position of vertex" 200  -1.0 1.0 "Y (mm)" "Entries" default
-TH1F vx_z  "Z position of vertex" 100 -300.0  300.0  "Z (mm)" "Entries" default
-TH1F vx_err_x "X position error of vertex" 100 0.0 0.2 "#sigma(X) (mm)" "Entries" default
-TH1F vx_err_y "Y position error of vertex" 100 0.0 0.2 "#sigma(Y) (mm)" "Entries" default
-TH1F vx_err_z  "Z position error of vertex" 100 0.0 1.0 "#sigma(Z) (mm)" "Entries" default
-TH1F vx_chi2_over_ndf "vertex #chi^2 / ndf" 50 0 10. "#chi^{2}/ndf"  "Entries" default
-TH1F vx_type "Vertex type" 7 0 7 "Vertex type" "Entries" default
-TH1F vx_nTracks "Number of tracks at vertex" 150 0 150 "Number of Tracks" "Entries" default
-TH1F vx_track_weights "Weights of tracks at vertex" 100 0. 10.0 "Weight" "Entries" default
-TH1F vx_track_pt "Tracks at vertex p_{T}" 100 0 20. "p_{T} (GeV)" "Entries" default
-TH1F vx_track_eta  "Tracks at vertex #eta" 100 -2.7 2.7 "#eta" "Entries" default
-TH1F vx_track_nSiHits  "Tracks at vertex number of Silicon Hits" 15 5 20 "Num. Si Hits" "Entries" default
-TH1F vx_track_nSiHoles "Tracks at vertex number of Silicon Holes" 5 0 5 "Num. Si Holes" "Entries" default
-TH1F vx_track_d0 "Tracks at vertex d_{0}" 100 -2.0 2.0 "d_{0} (mm)" "Entries" default
-TH1F vx_track_err_d0  "Tracks at vertex d_{0} error" 50 0.0 1.0 "#sigma(d_{0}) (mm)" "Entries" default
-TH1F vx_track_z0 "Tracks at vertex z_{0} - z_{0}^{vertex}" 100 -5.0 5.0 "z_{0}-z_{0}^{vertex} (mm)" "Entries" default
-TH1F vx_track_err_z0 "Tracks at vertex z_{0} error" 50 0.0 5.0 "#sigma(z_{0}) (mm)" "Entries" default
-#
-
-#Bad Match Rate (BMR) plots
-TProfile BadMatchRate "Fraction of Tracks with < 80% Truth Matching Probability" 20 -2.5 2.5 0 2 "eta" "Bad Match Rate" default
-TProfile BadMatchRate_vs_logpt "Fraction of Tracks with < 80% TMP vs Log(Pt)" 10 -0.5 2 0 2 "eta" "Bad Match Rate vs Log(Pt)" default
-
-TProfile ReallyFakeRate "Fraction of Tracks with < 20% Truth Matching Probability" 20 -2.5 2.5 0 2 "eta" "Really Fake Rate" default
-#
-
-#hitResidual plots
-#x residuals
-TH1F residualx_pixel_barrel "Residual: Pixel Barrel X"  120 -3000 3000 "x residual(#mum)" "Entries" default
-TH1F residualx_pixel_barrel_1hit "Residual: Pixel Barrel X   1 hit" 120 -3000 3000 "x residual(#mum)" "Entries" default
-TH1F residualx_pixel_barrel_2ormorehits "Residual: Pixel Barrel X   >=2 hits" 120 -50 50 "x residual(#mum)" "Entries" default
-TH1F residualx_sct_barrel  "Residual: SCT Barrel X"  120  -50  50 "x residual(#mum)" "Entries" default
-TH1F residualx_sct_barrel_1hit  "Residual: SCT Barrel X   1 hit"  120  -3000  3000 "x residual(#mum)" "Entries" default
-TH1F residualx_sct_barrel_2ormorehits  "Residual: SCT Barrel X   >=2 hits"  120  -50  50 "x residual(#mum)" "Entries" default
-TH1F residualx_blayer_barrel  "Residual: B-Layer Barrel X"  120  -3000  3000 "x residual(#mum)" "Entries" default
-TH1F residualx_blayer_barrel_1hit  "Residual: B-Layer Barrel X   1 hit"  120  -50  50 "x residual(#mum)" "Entries" default
-TH1F residualx_blayer_barrel_2ormorehits  "Residual: B-Layer Barrel X   >=2 hits"  120  -50  50 "x residual(#mum)" "Entries" default
-TH1F residualx_trt_barrel  "Residual: TRT Barrel X"  120  -3000  3000 "x residual(#mum)" "Entries" default
-#endcaps
-TH1F residualx_pixel_endcap  "Residual: Pixel Endcap X"  120  -3000  3000 "x residual(#mum)" "Entries" default
-TH1F residualx_pixel_endcap_1hit  "Residual: Pixel Endcap X   1 hit"  120  -3000  3000 "x residual(#mum)" "Entries" default
-TH1F residualx_pixel_endcap_2ormorehits  "Residual: Pixel Endcap X   >=2 hits"  120  -50  50 "x residual(#mum)" "Entries" default
-TH1F residualx_sct_endcap  "Residual: SCT Endcap X"  120  -3000  3000 "x residual(#mum)" "Entries" default
-TH1F residualx_sct_endcap_1hit  "Residual: SCT Endcap X   1 hit"  120  -3000  3000 "x residual(#mum)" "Entries" default
-TH1F residualx_sct_endcap_2ormorehits  "Residual: SCT Endcap X   >=2 hits"  120  -3000  3000 "x residual(#mum)" "Entries" default
-TH1F residualx_blayer_endcap  "Residual: B-Layer Endcap X"  120  -3000  3000 "x residual(#mum)" "Entries" default
-TH1F residualx_blayer_endcap_1hit  "Residual: B-Layer Endcap X   1 hit"  120  -3000  3000 "x residual(#mum)" "Entries" default
-TH1F residualx_blayer_endcap_2ormorehits  "Residual: B-Layer Endcap X   >=2 hits"  120  -3000  3000 "x residual(#mum)" "Entries" default
-TH1F residualx_trt_endcap  "Residual: TRT Endcap X"  120  -50  50 "x residual(#mum)" "Entries" default
-TH1F residualx_dbm_neg  "Residual: DBM -side X"  120  -3000  3000 "x residual(#mum)" "Entries" default
-TH1F residualx_dbm_pos  "Residual: DBM +side X"  120  -3000  3000 "x residual(#mum)" "Entries" default
-#y residuals
-TH1F residualy_pixel_barrel  "Residual: Pixel Barrel Y"  120  -50  50 "y residual(#mum)" "Entries" default
-TH1F residualy_pixel_barrel_1hit  "Residual: Pixel Barrel Y   1 hit"  120  -50  50 "y residual(#mum)" "Entries" default
-TH1F residualy_pixel_barrel_2ormorehits  "Residual: Pixel Barrel Y   >=2 hits"  120  -50  50 "x residual(#mum)" "Entries" default
-TH1F residualy_sct_barrel  "Residual: SCT Barrel Y"  120  -50  50 "y residual(#mum)" "Entries" default
-TH1F residualy_sct_barrel_1hit  "Residual: SCT Barrel Y   1 hit"  120  -50  50 "y residual(#mum)" "Entries" default
-TH1F residualy_sct_barrel_2ormorehits  "Residual: SCT Barrel Y   >=2 hits"  120  -50  50 "y residual(#mum)" "Entries" default
-TH1F residualy_blayer_barrel  "Residual: B-Layer Barrel Y"  120  -50  50 "y residual(#mum)" "Entries" default
-TH1F residualy_blayer_barrel_1hit  "Residual: B-Layer Barrel Y   1 hit"  120  -50  50 "y residual(#mum)" "Entries" default
-TH1F residualy_blayer_barrel_2ormorehits  "Residual: B-Layer Barrel Y   >=2 hits"  120  -50  50 "y residual(#mum)" "Entries" default
-TH1F residualy_trt_barrel  "Residual: TRT Barrel Y"  120  0  2500 "y residual(#mum)" "Entries" default
-#endcaps
-TH1F residualy_pixel_endcap  "Residual: Pixel Endcap Y"  120  -50  50 "y residual(#mum)" "Entries" default
-TH1F residualy_pixel_endcap_1hit  "Residual: Pixel Endcap Y   1 hit"  120  -50  50 "y residual(#mum)" "Entries" default
-TH1F residualy_pixel_endcap_2ormorehits  "Residual: Pixel Endcap Y   >=2 hits"  120  -50  50 "y residual(#mum)" "Entries" default
-TH1F residualy_sct_endcap  "Residual: SCT Endcap Y"  120  -50  50 "y residual(#mum)" "Entries" default
-TH1F residualy_sct_endcap_1hit  "Residual: SCT Endcap Y   1 hit"  120  -50  50 "y residual(#mum)" "Entries" default
-TH1F residualy_sct_endcap_2ormorehits  "Residual: SCT Endcap Y   >=2 hits"  120  -50  50 "y residual(#mum)" "Entries" default
-TH1F residualy_blayer_endcap  "Residual: B-Layer Endcap Y"  120  -50  50 "y residual(#mum)" "Entries" default
-TH1F residualy_blayer_endcap_1hit  "Residual: B-Layer Endcap Y   1 hit"  120  -50  50 "y residual(#mum)" "Entries" default
-TH1F residualy_blayer_endcap_2ormorehits  "Residual: B-Layer Endcap Y   >=2 hits"  120  -50  50 "y residual(#mum)" "Entries" default
-TH1F residualy_trt_endcap  "Residual: TRT Endcap Y"  120  -50  50  "y residual(#mum)" "Entries" default
-TH1F residualy_dbm_neg  "Residual: DBM -side Y"  10  -5  5 "y residual(#mum)" "Entries" default
-TH1F residualy_dbm_pos  "Residual: DBM +side Y"  10  -5  5 "y residual(#mum)" "Entries" default
-#pulls
-#barrel, x
-TH1F residualpullx_blayer_barrel  "Residualpull: B-Layer Barrel X"  10  -5  5 "x residual(#mum)" "Entries" default
-TH1F residualpullx_pixel_barrel  "Residualpull: Pixel Barrel X"  10  -5  5 "x residual(#mum)" "Entries" default
-TH1F residualpullx_sct_barrel  "Residualpull: SCT Barrel X"  10  -5  5 "x residual(#mum)" "Entries" default
-TH1F residualpullx_trt_barrel  "Residualpull: TRT Barrel X"  10  -5  5 "x residual(#mum)" "Entries" default
-TH1F residualpullx_dbm_barrel  "Residualpull: DBM -side X"  10  -5  5 "x residual(#mum)" "Entries" default
-#endcap, x
-TH1F residualpullx_blayer_endcap  "Residualpull: B-Layer Endcap X"  10  -5  5 "x residual(#mum)" "Entries" default
-TH1F residualpullx_pixel_endcap  "Residualpull: Pixel Endcap X"  10  -5  5 "x residual(#mum)" "Entries" default
-TH1F residualpullx_sct_endcap  "Residualpull: SCT Endcap X"  10  -5  5 "x residual(#mum)" "Entries" default
-TH1F residualpullx_trt_endcap  "Residualpull: TRT Endcap X"  10  -5  5 "x residual(#mum)" "Entries" default
-TH1F residualpullx_dbm_endcap  "Residualpull: DBM +side X"  10  -5  5 "x residual(#mum)" "Entries" default
-#barrel, y
-TH1F residualpully_blayer_barrel  "Residualpull: B-Layer Barrel Y"  10  -5  5 "y residual(#mum)" "Entries" default
-TH1F residualpully_pixel_barrel  "Residualpull: Pixel Barrel Y"  10  -5  5 "y residual(#mum)" "Entries" default
-TH1F residualpully_sct_barrel  "Residualpull: SCT Barrel Y"  10  -5  5 "y residual(#mum)" "Entries" default
-TH1F residualpully_trt_barrel  "Residualpull: TRT Barrel Y"  10  -5  5 "y residual(#mum)" "Entries" default
-TH1F residualpully_dbm_barrel  "Residualpull: DBM -side Y"  10  -5  5 "y residual(#mum)" "Entries" default
-#endcap,y
-TH1F residualpully_blayer_endcap  "Residualpull: B-Layer Endcap Y"  10  -5  5 "y residual(#mum)" "Entries" default
-TH1F residualpully_pixel_endcap  "Residualpull: Pixel Endcap Y"  10  -5  5 "y residual(#mum)" "Entries" default
-TH1F residualpully_sct_endcap  "Residualpull: SCT Endcap Y"  10  -5  5 "y residual(#mum)" "Entries" default
-TH1F residualpully_trt_endcap  "Residualpull: TRT Endcap Y"  10  -5  5 "y residual(#mum)" "Entries" default
-TH1F residualpully_dbm_endcap   "Residualpull: DBM +side Y"  10  -5  5 "y residual(#mum)" "Entries" default
-#
-#TrackInJets
-TH1F recInJetpT "p_{T} of selected rec tracks in jets(in GeV)" 200 0. 200 "p_{T}(GeV/c)" "Entries" default
-TH1F nTrackInJet "Number of Tracks in Jet" 50 0. 50  "N Tracks" "Entries" "default"
-TH1F sumPtinJet "Sum p_{T} of Tracks in Jet"  25 0 500 "sum p_{T}(GeV/c)" "Entries" default
-TH1F fracPtInJet "Sum p_{T} of Tracks over jet p_{T}" 60  0 3 "sum Track p_{T}/jet p_{T}" "Entries" default
-
-#spectrum plots
-TH1F nSCTHits "# SCT hits" 20 0. 20 "# SCT Hits" "Entries" default
-TH1F nPixHits "# Pix hits" 20 0. 20 "# Pix Hits" "Entries" default
-TH1F nTotHits "# Total hits" 20 0. 20 "# Totat Hits" "Entries" default
-TH1F nSCTDeadSensors "# SCT DeadSensors" 20 0. 20 "# SCT DeadSensors" "Entries" default
-TH1F nPixDeadSensors "# Pix DeadSensors" 20 0. 20 "# Pix DeadSensors" "Entries" default
-TH1F nTotDeadSensors "# Total DeadSensors" 20 0. 20 "# Total DeadSensors" "Entries" default
-TProfile nSCTHits_vs_eta "# SCT hits vs Eta" 80 -4 4 0 20 "#eta" "# SCT Hits" default
-TProfile nPixHits_vs_eta "# Pix hits vs Eta" 80 -4 4 0 20 "#eta" "# Pix Hits" default
-TProfile nTotHits_vs_eta "# total hits vs Eta" 80 -4 4 0 20 "#eta" "# total Hits" default
-TProfile nSCTDeadSensors_vs_eta "# SCT deadsensors vs Eta" 80 -4 4 0 20 "#eta" "# SCT deadsensors" default
-TProfile nPixDeadSensors_vs_eta "# pix deadsensors vs Eta" 80 -4 4 0 20 "#eta" "# pix deadsensors" default
-TProfile nTotDeadSensors_vs_eta "# total deadsensors vs Eta" 80 -4 4 0 20 "#eta" "# total deadsensors" default
-TH1F recoMatchProbabilitySpectrum "truth match probability spectrum" 40 0. 1 "truth match probability" "Entries" default
-TH1F recoEtaSpectrum "reco eta spectrum" 80 -4 4 "#eta" "Entries" default
-TH1F recoPhiSpectrum "reco phi spectrum" 60 -3 3 "#phi" "Entries" default
-TH1F recoPtSpectrum "reco pt spectrum" 100 0. 100 "pt (GeV/c)" "Entries" default
-TH1F truthEtaSpectrum "truth eta spectrum" 80 -4 4 "#eta" "Entries" default
-TH1F truthPhiSpectrum "truth phi spectrum" 60 -3 3 "#phi" "Entries" default
-TH1F truthPtSpectrum "truth pt spectrum" 100 0. 100 "pt (GeV/c)" "Entries" default
-
-#HitContent plots
-TProfile HitContent_vs_eta_NBlayerHits "Number of B-Layer clusters" 80 -4 4 0 100 "#eta" "<Number of B-layer clusters>" default
-TProfile HitContent_vs_eta_NPixelHits "Number of Pixel clusters" 80 -4 4 0 100 "#eta" "<Number of Pixel clusters>" default
-TProfile HitContent_vs_eta_DBMHitsNeg "Number of DBM Clusters" 20 -3.8 -2.5 0 100 "#eta" "<Number of DBM clusters, - side>" default
-TProfile HitContent_vs_eta_DBMHitsPos "Number of DBM Clusters" 20 2.5 3.8 0 100 "#eta" "<Number of DBM Clusters, + side>" default
-TProfile HitContent_vs_eta_NPixelHoles "Number of Pixel Holes" 80 -4 4 0 100 "#eta" "<Number of Pixel Holes>" default
-TProfile HitContent_vs_eta_NSCTHits "Number of SCT Clusters" 80 -4 4 0 100 "#eta" "<Number of SCT Clusters>" default
-TProfile HitContent_vs_eta_NSCTHoles "Number of SCT Holes" 80 -4 4 0 100 "#eta" "<Number of SCT Holes>" default
-TProfile HitContent_vs_eta_NTRTHits "Number of TRT Clusters" 80 -4 4 0 100 "#eta" "<Number of TRT Hits>" default
-TProfile HitContent_vs_eta_NTRTHighThresholdHits "Number of TRT high threshold clusters" 80 -4 4 0 100 "#eta" "<Number of High Thresh TRT Hits>" default
-TProfile HitContent_vs_eta_NBlayerOutliers "Number of B-layer outliers"  80 -4 4 0 100 "#eta" "<Number of B-layer Outliers>" default
-TProfile HitContent_vs_eta_NBlayerSharedHits "Number of shared B-layer clusters" 80 -4 4 0 100 "#eta" "<Number of B-layer Shared Hits>" default
-TProfile HitContent_vs_eta_NBLayerSplitHits "Number of split B-layer clusters" 80 -4 4 0 100 "#eta" "<Number of B-layer Split Hits>" default
-TProfile HitContent_vs_eta_NPixelOutliers "Number of Pixel outliers" 80 -4 4 0 100 "#eta" "<Number of Pixel Outliers>" default
-TProfile HitContent_vs_eta_NPixelContribLayers "Number of contributed Pixel layers" 80 -4 4 0 100 "#eta" "<Number of Pixel Layers>" default
-TProfile HitContent_vs_eta_NPixelSharedHits "Number of shared Pixel clusters" 80 -4 4 0 100 "#eta" "<Number of Pixel Shared Hits>" default
-TProfile HitContent_vs_eta_NPixelSplitHits "Number of split Pixel clusters" 80 -4 4 0 100 "#eta" "<Number of Pixel Split Hits>" default
-TProfile HitContent_vs_eta_NPixelGangedHits "Number of ganged Pixel clusters" 80 -4 4 0 100 "#eta" "<Number of Pixel Ganged Hits>" default
-TProfile HitContent_vs_eta_NSCTOutliers "Number of SCT Outliers" 80 -4 4 0 100 "#eta" "<Number of SCT Outliers>" default
-TProfile HitContent_vs_eta_NSCTDoubleHoles "Number of SCT double holes" 80 -4 4 0 100 "#eta" "<Number of SCT Double Holes>" default
-TProfile HitContent_vs_eta_NSCTSharedHits "Number of SCT Shared clusters" 80 -4 4 0 100 "#eta" "<Number of SCT Shared Hits>" default
-TProfile HitContent_vs_eta_NTRTOutliers "Number of TRT outliers" 80 -4 4 0 100 "#eta" "<Number of TRT Outliers>" default
-TProfile HitContent_vs_eta_NTRTHighThresholdOutliers "Number of TRT High Threshold outliers" 80 -4 4 0 100 "#eta" "<Number of TRT High Thresh Outliers>" default
diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/share/ITKHistDef.xml b/InnerDetector/InDetValidation/InDetPhysValMonitoring/share/ITKHistDef.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e615a9b50da028f39bf394db7aed3a94216e487e
--- /dev/null
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/share/ITKHistDef.xml
@@ -0,0 +1,929 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet type="text/xsl" media="screen" href="hdefhtml.xsl"?>
+<?xml-stylesheet type="text/xsl" media="tty" href="hdeftty.xsl" alternate="yes"?>
+<!DOCTYPE  hdef [
+<!ENTITY PI "3.1415926">
+<!ENTITY ETA "4.0">
+]>
+<hdef>
+<h id="num_truthmatch_match" type="TH1F" title="num_truthmatch_match">
+  <x title="Num. matching truth" n="10" lo="0" hi="10"/>
+  <y title="Entries"/>
+</h>
+<h id="nparticle" type="TH1F" title="Number of Truth Particles">
+  <x title="Num. truth particles" n="200" lo="0" hi="2000"/>
+  <y title="Entries"/>
+</h>
+<h id="ntracksel" type="TH1F" title="Number of Selected Tracks">
+  <x title="Num. tracks" n="200" lo="0" hi="1000"/>
+  <y title="Entries"/>
+</h>
+<h id="ntrack" type="TH1F" title="Number of Tracks">
+  <x title="Num. tracks" n="200" lo="0" hi="1000"/>
+  <y title="Entries"/>
+</h>
+<!--  -->
+<!-- pT -->
+<h id="recpT" type="TH1F" title="p_{T} of selected rec tracks (in GeV)">
+  <x title="p_{T} (GeV/c)" n="200" lo="0." hi="200"/>
+  <y title="Entries"/>
+</h>
+<h id="recPtLow" type="TH1F" title="p_{T} of selected rec tracks (in GeV)">
+  <x title="p_{T} (GeV/c)" n="200" lo="0." hi="20"/>
+  <y title="Entries"/>
+</h>
+<!--  -->
+<!-- basic plots -->
+<h id="basicd0" type="TH1F" title="d_{0} of selected tracks (in mm)">
+  <x title="d_{0}(mm)" n="200" lo="-2" hi="2"/>
+  <y title="Entries"/>
+</h>
+<h id="basicz0" type="TH1F" title="z_{0} of selected tracks (in mm)">
+  <x title="z_{0}(mm)" n="120" lo="-300" hi="300"/>
+  <y title="Entries"/>
+</h>
+<h id="basicphi" type="TH1F" title="#phi of selected tracks">
+  <x title="#phi" n="100" lo="-4" hi="4"/>
+  <y title="Entries"/>
+</h>
+<h id="basiceta" type="TH1F" title="#eta of selected tracks">
+  <x title="#eta" n="100" lo="-5" hi="5"/>
+  <y title="Entries"/>
+</h>
+<h id="basictheta" type="TH1F" title="#theta of selected tracks">
+  <x title="#theta" n="100" lo="0" hi="&PI;"/>
+  <y title="Entries"/>
+</h>
+<h id="basicqOverP" type="TH1F" title="q/p of selected tracks (in GeV)">
+  <x title="p_{T}(GeV/c)" n="200" lo="-0.01" hi="0.01"/>
+  <y title="Entries"/>
+</h>
+<h id="truthd0" type="TH1F" title="d_{0} of selected truth (in mm)">
+  <x title="d_{0}(mm)" n="200" lo="-2" hi="2"/>
+  <y title="Entries"/>
+</h>
+<h id="truthz0" type="TH1F" title="z_{0} of selected truth (in mm)">
+  <x title="z_{0}(mm)" n="120" lo="-300" hi="300"/>
+  <y title="Entries"/>
+</h>
+<h id="truthphi" type="TH1F" title="#phi of selected truth">
+  <x title="#phi" n="100" lo="-4" hi="4"/>
+  <y title="Entries"/>
+</h>
+<h id="trutheta" type="TH1F" title="#eta of selected truth">
+  <x title="#theta" n="100" lo="-5" hi="5"/>
+  <y title="Entries"/>
+</h>
+<h id="truththeta" type="TH1F" title="#theta of selected truth">
+  <x title="#theta" n="100" lo="0" hi="&PI;"/>
+  <y title="Entries"/>
+</h>
+<h id="truthqOverP" type="TH1F" title="q/p of selected truth (in GeV)">
+  <x title="p_{T}(GeV/c)" n="200" lo="-0.005" hi="0.005"/>
+  <y title="Entries"/>
+</h>
+<h id="truthz0st" type="TH1F" title="z_{0} sin(#theta) of selected truth ">
+  <x title="p_{T}(GeV/c)" n="200" lo="-300" hi="300"/>
+  <y title="Entries"/>
+</h>
+<h id="truthprodR" type="TH1F" title="Radial distance (r) of truth vtx parameter from origin">
+  <x title="(mm)" n="100" lo="0.0" hi="2.0"/>
+  <y title="Entries"/>
+</h>
+<h id="truthprodZ" type="TH1F" title="Longitudinal (z) distance of truth vtx parameter from origin">
+  <x title="(mm)" n="100" lo="0" hi="300"/>
+  <y title="Entries"/>
+</h>
+<!--  -->
+<!-- fakes -->
+<h id="fakepT" type="TH1F" title="p_{T} of selected fake tracks (in GeV)">
+  <x title="p_{T}(GeV/c)" n="200" lo="0." hi="200"/>
+  <y title="Entries"/>
+</h>
+<h id="fakepTlow" type="TH1F" title="p_{T} of selected fake tracks (in GeV)">
+  <x title="p_{T}(GeV/c)" n="200" lo="0" hi="20"/>
+  <y title="Entries"/>
+</h>
+<h id="fakephi" type="TH1F" title="#phi of selected fake tracks">
+  <x title="#phi" n="100" lo="-&PI;" hi="&PI;"/>
+  <y title="Entries"/>
+</h>
+<h id="fakeeta" type="TH1F" title="#eta of selected fake tracks">
+  <x title="#eta" n="100" lo="-5" hi="5"/>
+  <y title="Entries"/>
+</h>
+<h id="faked0" type="TH1F" title="d_{0} of selected fake tracks (in mm)">
+  <x title="d_{0}(mm)" n="200" lo="-5" hi="5"/>
+  <y title="Entries"/>
+</h>
+<h id="fakez0" type="TH1F" title="z_{0} of selected fake tracks (in mm)">
+  <x title="z_{0}(mm)" n="120" lo="-300" hi="300"/>
+  <y title="Entries"/>
+</h>
+<h id="track_fakerate_vs_eta" type="TProfile" title="Fraction of tracks with &lt;50% truth match probability">
+  <x title="#eta" n="20" lo="-&ETA;" hi="&ETA;"/>
+  <y title="Fake Rate" lo="0" hi="1"/>
+</h>
+<h id="track_fakerate_vs_pt" type="TProfile" title="Fraction of tracks with &lt;50% truth match probability">
+  <x title="p_{T}(GeV/c)" n="25" lo="0" hi="50"/>
+  <y title="Fake Rate" lo="0" hi="1"/>
+</h>
+<h id="track_fakerate_vs_phi" type="TProfile" title="Fraction of tracks with &lt;50% truth match probability">
+  <x title="#phi" n="24" lo="-180" hi="180"/>
+  <y title="Fake Rate" lo="0" hi="100"/>
+</h>
+<h id="track_fakerate_vs_d0" type="TProfile" title="Fraction of tracks with &lt;50% truth match probability">
+  <x title="d0" n="20" lo="-6" hi="6"/>
+  <y title="Fake Rate" lo="0" hi="100"/>
+</h>
+<h id="track_fakerate_vs_z0" type="TProfile" title="Fraction of tracks with &lt;50% truth match probability">
+  <x title="z0" n="20" lo="-300" hi="300"/>
+  <y title="Fake Rate" lo="0" hi="100"/>
+</h>
+<!--  -->
+<!-- efficiency plots -->
+<h id="eff_pt_Numerator" type="TH1F" title="p_{T} of reco-matched truth track (in GeV)">
+  <x title="p_{T}(GeV/c)" n="200" lo="0." hi="200"/>
+  <y title="Entries"/>
+</h>
+<h id="eff_pt_Denominator" type="TH1F" title="p_{T} of truth track (in GeV)">
+  <x title="p_{T}(GeV/c)" n="200" lo="0." hi="200"/>
+  <y title="Entries"/>
+</h>
+<h id="eff_eta_Numerator" type="TH1F" title="#eta of reco-matched truth track">
+  <x title="#eta" n="100" lo="-5" hi="5"/>
+  <y title="Entries"/>
+</h>
+<h id="eff_eta_Denominator" type="TH1F" title="#eta of truth track">
+  <x title="#eta" n="100" lo="-5" hi="5"/>
+  <y title="Entries"/>
+</h>
+<h id="eff_phi_Numerator" type="TH1F" title="#phi of reco-matched truth track">
+  <x title="#phi" n="100" lo="-&PI;" hi="&PI;"/>
+  <y title="Entries"/>
+</h>
+<h id="eff_phi_Denominator" type="TH1F" title="#phi of truth track">
+  <x title="#phi" n="100" lo="-&PI;" hi="&PI;"/>
+  <y title="Entries"/>
+</h>
+<h id="eff_d0_Numerator" type="TH1F" title="d_{0} of reco-matched truth track (in mm)">
+  <x title="d_{0}(mm)" n="150" lo="-300" hi="300"/>
+  <y title="Entries"/>
+</h>
+<h id="eff_d0_Denominator" type="TH1F" title="d_{0} of truth track (in mm)">
+  <x title="d_{0}(mm)" n="150" lo="-300" hi="300"/>
+  <y title="Entries"/>
+</h>
+<h id="eff_z0_Numerator" type="TH1F" title="z_{0} of reco-matched truth track (in mm)">
+  <x title="z_{0}(mm)" n="150" lo="-1500" hi="1500"/>
+  <y title="Entries"/>
+</h>
+<h id="eff_z0_Denominator" type="TH1F" title="z_{0} of truth track (in mm)">
+  <x title="z_{0}(mm)" n="150" lo="-1500" hi="1500"/>
+  <y title="Entries"/>
+</h>
+<h id="eff_R_Numerator" type="TH1F" title="R of reco-matched truth track (in mm)">
+  <x title="R(mm)" n="150" lo="0" hi="300"/>
+  <y title="Entries"/>
+</h>
+<h id="eff_R_Denominator" type="TH1F" title="R of truth track (in mm)">
+  <x title="R(mm)" n="150" lo="0" hi="300"/>
+  <y title="Entries"/>
+</h>
+<h id="eff_Z_Numerator" type="TH1F" title="Z of reco-matched truth track (in mm)">
+  <x title="Z(mm)" n="150" lo="-1500" hi="1500"/>
+  <y title="Entries"/>
+</h>
+<h id="eff_Z_Denominator" type="TH1F" title="Z of truth track (in mm)">
+  <x title="Z(mm)" n="150" lo="-1500" hi="1500"/>
+  <y title="Entries"/>
+</h>
+<h id="eff_vs_pt" type="TProfile" title="Fraction of reco-matched truth track">
+  <x title="p_{T}(GeV/c)" n="40" lo="0" hi="200"/>
+  <y title="Efficiency" lo="0" hi="1"/>
+</h>
+<h id="eff_vs_eta" type="TProfile" title="Fraction of reco-matched truth track">
+  <x title="#eta" n="40" lo="-&ETA;" hi="&ETA;"/>
+  <y title="Efficiency" lo="0" hi="1"/>
+</h>
+<h id="eff_vs_phi" type="TProfile" title="Fraction of reco-matched truth track">
+  <x title="#phi" n="40" lo="-&PI;" hi="&PI;"/>
+  <y title="Efficiency" lo="0" hi="1"/>
+</h>
+<h id="eff_vs_d0" type="TProfile" title="Fraction of reco-matched truth track">
+  <x title="d0" n="40" lo="-300" hi="300"/>
+  <y title="Efficiency" lo="0" hi="1"/>
+</h>
+<h id="eff_vs_z0" type="TProfile" title="Fraction of reco-matched truth track">
+  <x title="z0" n="40" lo="-1500" hi="1500"/>
+  <y title="Efficiency" lo="0" hi="1"/>
+</h>
+<h id="eff_vs_R" type="TProfile" title="Fraction of reco-matched truth track">
+  <x title="R" n="40" lo="0" hi="300"/>
+  <y title="Efficiency" lo="0" hi="1"/>
+</h>
+<h id="eff_vs_Z" type="TProfile" title="Fraction of reco-matched truth track">
+  <x title="Z" n="40" lo="-1500" hi="1500"/>
+  <y title="Efficiency" lo="0" hi="1"/>
+</h>
+<h id="eff_pt_Numerator_st" type="TH1F" title="p_{T} of reco-matched truth track (in GeV)">
+  <x title="p_{T}(GeV/c)" n="200" lo="0." hi="200"/>
+  <y title="Entries"/>
+</h>
+<h id="eff_eta_Numerator_st" type="TH1F" title="#eta of reco-matched truth track">
+  <x title="#eta" n="100" lo="-5" hi="5"/>
+  <y title="Entries"/>
+</h>
+<h id="eff_phi_Numerator_st" type="TH1F" title="#phi of reco-matched truth track">
+  <x title="#phi" n="100" lo="-&PI;" hi="&PI;"/>
+  <y title="Entries"/>
+</h>
+<h id="eff_d0_Numerator_st" type="TH1F" title="d_{0} of reco-matched truth track (in mm)">
+  <x title="d_{0}(mm)" n="150" lo="-300" hi="300"/>
+  <y title="Entries"/>
+</h>
+<h id="eff_z0_Numerator_st" type="TH1F" title="z_{0} of reco-matched truth track (in mm)">
+  <x title="z_{0}(mm)" n="150" lo="-1500" hi="1500"/>
+  <y title="Entries"/>
+</h>
+<h id="eff_R_Numerator_st" type="TH1F" title="R of reco-matched truth track (in mm)">
+  <x title="R(mm)" n="150" lo="0" hi="300"/>
+  <y title="Entries"/>
+</h>
+<h id="eff_Z_Numerator_st" type="TH1F" title="Z of reco-matched truth track (in mm)">
+  <x title="Z(mm)" n="150" lo="-1500" hi="1500"/>
+  <y title="Entries"/>
+</h>
+<h id="eff_vs_pt_st" type="TProfile" title="Fraction of reco-matched truth track">
+  <x title="p_{T}(GeV/c)" n="40" lo="0" hi="200"/>
+  <y title="Efficiency" lo="0" hi="1"/>
+</h>
+<h id="eff_vs_eta_st" type="TProfile" title="Fraction of reco-matched truth track">
+  <x title="#eta" n="40" lo="-&ETA;" hi="&ETA;"/>
+  <y title="Efficiency" lo="0" hi="1"/>
+</h>
+<h id="eff_vs_phi_st" type="TProfile" title="Fraction of reco-matched truth track">
+  <x title="#phi" n="40" lo="-&PI;" hi="&PI;"/>
+  <y title="Efficiency" lo="0" hi="1"/>
+</h>
+<h id="eff_vs_d0_st" type="TProfile" title="Fraction of reco-matched truth track">
+  <x title="d0" n="40" lo="-300" hi="300"/>
+  <y title="Efficiency" lo="0" hi="1"/>
+</h>
+<h id="eff_vs_z0_st" type="TProfile" title="Fraction of reco-matched truth track">
+  <x title="z0" n="40" lo="-1500" hi="1500"/>
+  <y title="Efficiency" lo="0" hi="1"/>
+</h>
+<h id="eff_vs_R_st" type="TProfile" title="Fraction of reco-matched truth track">
+  <x title="R" n="40" lo="0" hi="300"/>
+  <y title="Efficiency" lo="0" hi="1"/>
+</h>
+<h id="eff_vs_Z_st" type="TProfile" title="Fraction of reco-matched truth track">
+  <x title="Z" n="40" lo="-1500" hi="1500"/>
+  <y title="Efficiency" lo="0" hi="1"/>
+</h>
+<!--  -->
+<!-- vertices -->
+<h id="vx_x" type="TH1F" title="X position of vertex">
+  <x title="X (mm)" n="200" lo="-1.0" hi="1.0"/>
+  <y title="Entries"/>
+</h>
+<h id="vx_y" type="TH1F" title="Y position of vertex">
+  <x title="Y (mm)" n="200" lo="-1.0" hi="1.0"/>
+  <y title="Entries"/>
+</h>
+<h id="vx_z" type="TH1F" title="Z position of vertex">
+  <x title="Z (mm)" n="100" lo="-300.0" hi="300.0"/>
+  <y title="Entries"/>
+</h>
+<h id="vx_err_x" type="TH1F" title="X position error of vertex">
+  <x title="#sigma(X) (mm)" n="100" lo="0.0" hi="0.2"/>
+  <y title="Entries"/>
+</h>
+<h id="vx_err_y" type="TH1F" title="Y position error of vertex">
+  <x title="#sigma(Y) (mm)" n="100" lo="0.0" hi="0.2"/>
+  <y title="Entries"/>
+</h>
+<h id="vx_err_z" type="TH1F" title="Z position error of vertex">
+  <x title="#sigma(Z) (mm)" n="100" lo="0.0" hi="1.0"/>
+  <y title="Entries"/>
+</h>
+<h id="vx_chi2_over_ndf" type="TH1F" title="vertex #chi^2 / ndf">
+  <x title="#chi^{2}/ndf" n="50" lo="0" hi="10."/>
+  <y title="Entries"/>
+</h>
+<h id="vx_type" type="TH1F" title="Vertex type">
+  <x title="Vertex type" n="7" lo="0" hi="7"/>
+  <y title="Entries"/>
+</h>
+<h id="vx_nTracks" type="TH1F" title="Number of tracks at vertex">
+  <x title="Number of Tracks" n="150" lo="0" hi="150"/>
+  <y title="Entries"/>
+</h>
+<h id="vx_track_weights" type="TH1F" title="Weights of tracks at vertex">
+  <x title="Weight" n="100" lo="0." hi="10.0"/>
+  <y title="Entries"/>
+</h>
+<h id="vx_track_pt" type="TH1F" title="Tracks at vertex p_{T}">
+  <x title="p_{T} (GeV)" n="100" lo="0" hi="20."/>
+  <y title="Entries"/>
+</h>
+<h id="vx_track_eta" type="TH1F" title="Tracks at vertex #eta">
+  <x title="#eta" n="100" lo="-2.7" hi="2.7"/>
+  <y title="Entries"/>
+</h>
+<h id="vx_track_nSiHits" type="TH1F" title="Tracks at vertex number of Silicon Hits">
+  <x title="Num. Si Hits" n="15" lo="5" hi="20"/>
+  <y title="Entries"/>
+</h>
+<h id="vx_track_nSiHoles" type="TH1F" title="Tracks at vertex number of Silicon Holes">
+  <x title="Num. Si Holes" n="5" lo="0" hi="5"/>
+  <y title="Entries"/>
+</h>
+<h id="vx_track_d0" type="TH1F" title="Tracks at vertex d_{0}">
+  <x title="d_{0} (mm)" n="100" lo="-2.0" hi="2.0"/>
+  <y title="Entries"/>
+</h>
+<h id="vx_track_err_d0" type="TH1F" title="Tracks at vertex d_{0} error">
+  <x title="#sigma(d_{0}) (mm)" n="50" lo="0.0" hi="1.0"/>
+  <y title="Entries"/>
+</h>
+<h id="vx_track_z0" type="TH1F" title="Tracks at vertex z_{0} - z_{0}^{vertex}">
+  <x title="z_{0}-z_{0}^{vertex} (mm)" n="100" lo="-5.0" hi="5.0"/>
+  <y title="Entries"/>
+</h>
+<h id="vx_track_err_z0" type="TH1F" title="Tracks at vertex z_{0} error">
+  <x title="#sigma(z_{0}) (mm)" n="50" lo="0.0" hi="5.0"/>
+  <y title="Entries"/>
+</h>
+<!--  -->
+<!-- Bad Match Rate (BMR) -->
+<h id="BadMatchRate" type="TProfile" title="Fraction of Tracks with &lt; 80% Truth Matching Probability">
+  <x title="eta" n="20" lo="-&ETA;" hi="&ETA;"/>
+  <y title="Bad Match Rate" lo="0" hi="2"/>
+</h>
+<h id="BadMatchRate_vs_logpt" type="TProfile" title="Fraction of Tracks with &lt; 80% TMP vs Log(Pt)">
+  <x title="eta" n="10" lo="-0.5" hi="2"/>
+  <y title="Bad Match Rate vs Log(Pt)" lo="0" hi="2"/>
+</h>
+<h id="ReallyFakeRate" type="TProfile" title="Fraction of Tracks with &lt; 20% Truth Matching Probability">
+  <x title="eta" n="20" lo="-&ETA;" hi="&ETA;"/>
+  <y title="Really Fake Rate" lo="0" hi="2"/>
+</h>
+<!--  -->
+<!-- hit residual plots -->
+<!-- x residuals -->
+<h id="residualx_pixel_barrel" type="TH1F" title="Residual: Pixel Barrel X">
+  <x title="x residual(#mum)" n="120" lo="-3000" hi="3000"/>
+  <y title="Entries"/>
+</h>
+<h id="residualx_pixel_barrel_1hit" type="TH1F" title="Residual: Pixel Barrel X 1 hit">
+  <x title="x residual(#mum)" n="120" lo="-3000" hi="3000"/>
+  <y title="Entries"/>
+</h>
+<h id="residualx_pixel_barrel_2ormorehits" type="TH1F" title="Residual: Pixel Barrel X >=2 hits">
+  <x title="x residual(#mum)" n="120" lo="-50" hi="50"/>
+  <y title="Entries"/>
+</h>
+<h id="residualx_sct_barrel" type="TH1F" title="Residual: SCT Barrel X">
+  <x title="x residual(#mum)" n="120" lo="-50" hi="50"/>
+  <y title="Entries"/>
+</h>
+<h id="residualx_sct_barrel_1hit" type="TH1F" title="Residual: SCT Barrel X 1 hit">
+  <x title="x residual(#mum)" n="120" lo="-3000" hi="3000"/>
+  <y title="Entries"/>
+</h>
+<h id="residualx_sct_barrel_2ormorehits" type="TH1F" title="Residual: SCT Barrel X >=2 hits">
+  <x title="x residual(#mum)" n="120" lo="-50" hi="50"/>
+  <y title="Entries"/>
+</h>
+<h id="residualx_blayer_barrel" type="TH1F" title="Residual: B-Layer Barrel X">
+  <x title="x residual(#mum)" n="120" lo="-3000" hi="3000"/>
+  <y title="Entries"/>
+</h>
+<h id="residualx_blayer_barrel_1hit" type="TH1F" title="Residual: B-Layer Barrel X 1 hit">
+  <x title="x residual(#mum)" n="120" lo="-50" hi="50"/>
+  <y title="Entries"/>
+</h>
+<h id="residualx_blayer_barrel_2ormorehits" type="TH1F" title="Residual: B-Layer Barrel X >=2 hits">
+  <x title="x residual(#mum)" n="120" lo="-50" hi="50"/>
+  <y title="Entries"/>
+</h>
+<h id="residualx_trt_barrel" type="TH1F" title="Residual: TRT Barrel X">
+  <x title="x residual(#mum)" n="120" lo="-3000" hi="3000"/>
+  <y title="Entries"/>
+</h>
+<!-- endcaps -->
+<h id="residualx_pixel_endcap" type="TH1F" title="Residual: Pixel Endcap X">
+  <x title="x residual(#mum)" n="120" lo="-3000" hi="3000"/>
+  <y title="Entries"/>
+</h>
+<h id="residualx_pixel_endcap_1hit" type="TH1F" title="Residual: Pixel Endcap X 1 hit">
+  <x title="x residual(#mum)" n="120" lo="-3000" hi="3000"/>
+  <y title="Entries"/>
+</h>
+<h id="residualx_pixel_endcap_2ormorehits" type="TH1F" title="Residual: Pixel Endcap X >=2 hits">
+  <x title="x residual(#mum)" n="120" lo="-50" hi="50"/>
+  <y title="Entries"/>
+</h>
+<h id="residualx_sct_endcap" type="TH1F" title="Residual: SCT Endcap X">
+  <x title="x residual(#mum)" n="120" lo="-3000" hi="3000"/>
+  <y title="Entries"/>
+</h>
+<h id="residualx_sct_endcap_1hit" type="TH1F" title="Residual: SCT Endcap X 1 hit">
+  <x title="x residual(#mum)" n="120" lo="-3000" hi="3000"/>
+  <y title="Entries"/>
+</h>
+<h id="residualx_sct_endcap_2ormorehits" type="TH1F" title="Residual: SCT Endcap X >=2 hits">
+  <x title="x residual(#mum)" n="120" lo="-3000" hi="3000"/>
+  <y title="Entries"/>
+</h>
+<h id="residualx_blayer_endcap" type="TH1F" title="Residual: B-Layer Endcap X">
+  <x title="x residual(#mum)" n="120" lo="-3000" hi="3000"/>
+  <y title="Entries"/>
+</h>
+<h id="residualx_blayer_endcap_1hit" type="TH1F" title="Residual: B-Layer Endcap X 1 hit">
+  <x title="x residual(#mum)" n="120" lo="-3000" hi="3000"/>
+  <y title="Entries"/>
+</h>
+<h id="residualx_blayer_endcap_2ormorehits" type="TH1F" title="Residual: B-Layer Endcap X >=2 hits">
+  <x title="x residual(#mum)" n="120" lo="-3000" hi="3000"/>
+  <y title="Entries"/>
+</h>
+<h id="residualx_trt_endcap" type="TH1F" title="Residual: TRT Endcap X">
+  <x title="x residual(#mum)" n="120" lo="-50" hi="50"/>
+  <y title="Entries"/>
+</h>
+<h id="residualx_dbm_neg" type="TH1F" title="Residual: DBM -side X">
+  <x title="x residual(#mum)" n="120" lo="-3000" hi="3000"/>
+  <y title="Entries"/>
+</h>
+<h id="residualx_dbm_pos" type="TH1F" title="Residual: DBM +side X">
+  <x title="x residual(#mum)" n="120" lo="-3000" hi="3000"/>
+  <y title="Entries"/>
+</h>
+<!-- y residuals -->
+<h id="residualy_pixel_barrel" type="TH1F" title="Residual: Pixel Barrel Y">
+  <x title="y residual(#mum)" n="120" lo="-50" hi="50"/>
+  <y title="Entries"/>
+</h>
+<h id="residualy_pixel_barrel_1hit" type="TH1F" title="Residual: Pixel Barrel Y 1 hit">
+  <x title="y residual(#mum)" n="120" lo="-50" hi="50"/>
+  <y title="Entries"/>
+</h>
+<h id="residualy_pixel_barrel_2ormorehits" type="TH1F" title="Residual: Pixel Barrel Y >=2 hits">
+  <x title="x residual(#mum)" n="120" lo="-50" hi="50"/>
+  <y title="Entries"/>
+</h>
+<h id="residualy_sct_barrel" type="TH1F" title="Residual: SCT Barrel Y">
+  <x title="y residual(#mum)" n="120" lo="-50" hi="50"/>
+  <y title="Entries"/>
+</h>
+<h id="residualy_sct_barrel_1hit" type="TH1F" title="Residual: SCT Barrel Y 1 hit">
+  <x title="y residual(#mum)" n="120" lo="-50" hi="50"/>
+  <y title="Entries"/>
+</h>
+<h id="residualy_sct_barrel_2ormorehits" type="TH1F" title="Residual: SCT Barrel Y >=2 hits">
+  <x title="y residual(#mum)" n="120" lo="-50" hi="50"/>
+  <y title="Entries"/>
+</h>
+<h id="residualy_blayer_barrel" type="TH1F" title="Residual: B-Layer Barrel Y">
+  <x title="y residual(#mum)" n="120" lo="-50" hi="50"/>
+  <y title="Entries"/>
+</h>
+<h id="residualy_blayer_barrel_1hit" type="TH1F" title="Residual: B-Layer Barrel Y 1 hit">
+  <x title="y residual(#mum)" n="120" lo="-50" hi="50"/>
+  <y title="Entries"/>
+</h>
+<h id="residualy_blayer_barrel_2ormorehits" type="TH1F" title="Residual: B-Layer Barrel Y >=2 hits">
+  <x title="y residual(#mum)" n="120" lo="-50" hi="50"/>
+  <y title="Entries"/>
+</h>
+<h id="residualy_trt_barrel" type="TH1F" title="Residual: TRT Barrel Y">
+  <x title="y residual(#mum)" n="120" lo="0" hi="2500"/>
+  <y title="Entries"/>
+</h>
+<!-- endcaps -->
+<h id="residualy_pixel_endcap" type="TH1F" title="Residual: Pixel Endcap Y">
+  <x title="y residual(#mum)" n="120" lo="-50" hi="50"/>
+  <y title="Entries"/>
+</h>
+<h id="residualy_pixel_endcap_1hit" type="TH1F" title="Residual: Pixel Endcap Y 1 hit">
+  <x title="y residual(#mum)" n="120" lo="-50" hi="50"/>
+  <y title="Entries"/>
+</h>
+<h id="residualy_pixel_endcap_2ormorehits" type="TH1F" title="Residual: Pixel Endcap Y >=2 hits">
+  <x title="y residual(#mum)" n="120" lo="-50" hi="50"/>
+  <y title="Entries"/>
+</h>
+<h id="residualy_sct_endcap" type="TH1F" title="Residual: SCT Endcap Y">
+  <x title="y residual(#mum)" n="120" lo="-50" hi="50"/>
+  <y title="Entries"/>
+</h>
+<h id="residualy_sct_endcap_1hit" type="TH1F" title="Residual: SCT Endcap Y 1 hit">
+  <x title="y residual(#mum)" n="120" lo="-50" hi="50"/>
+  <y title="Entries"/>
+</h>
+<h id="residualy_sct_endcap_2ormorehits" type="TH1F" title="Residual: SCT Endcap Y >=2 hits">
+  <x title="y residual(#mum)" n="120" lo="-50" hi="50"/>
+  <y title="Entries"/>
+</h>
+<h id="residualy_blayer_endcap" type="TH1F" title="Residual: B-Layer Endcap Y">
+  <x title="y residual(#mum)" n="120" lo="-50" hi="50"/>
+  <y title="Entries"/>
+</h>
+<h id="residualy_blayer_endcap_1hit" type="TH1F" title="Residual: B-Layer Endcap Y 1 hit">
+  <x title="y residual(#mum)" n="120" lo="-50" hi="50"/>
+  <y title="Entries"/>
+</h>
+<h id="residualy_blayer_endcap_2ormorehits" type="TH1F" title="Residual: B-Layer Endcap Y >=2 hits">
+  <x title="y residual(#mum)" n="120" lo="-50" hi="50"/>
+  <y title="Entries"/>
+</h>
+<h id="residualy_trt_endcap" type="TH1F" title="Residual: TRT Endcap Y">
+  <x title="y residual(#mum)" n="120" lo="-50" hi="50"/>
+  <y title="Entries"/>
+</h>
+<h id="residualy_dbm_neg" type="TH1F" title="Residual: DBM -side Y">
+  <x title="y residual(#mum)" n="10" lo="-5" hi="5"/>
+  <y title="Entries"/>
+</h>
+<h id="residualy_dbm_pos" type="TH1F" title="Residual: DBM +side Y">
+  <x title="y residual(#mum)" n="10" lo="-5" hi="5"/>
+  <y title="Entries"/>
+</h>
+<!--  -->
+<!-- pulls -->
+<!-- barrel, x -->
+<h id="residualpullx_blayer_barrel" type="TH1F" title="Residualpull: B-Layer Barrel X">
+  <x title="x residual(#mum)" n="10" lo="-5" hi="5"/>
+  <y title="Entries"/>
+</h>
+<h id="residualpullx_pixel_barrel" type="TH1F" title="Residualpull: Pixel Barrel X">
+  <x title="x residual(#mum)" n="10" lo="-5" hi="5"/>
+  <y title="Entries"/>
+</h>
+<h id="residualpullx_sct_barrel" type="TH1F" title="Residualpull: SCT Barrel X">
+  <x title="x residual(#mum)" n="10" lo="-5" hi="5"/>
+  <y title="Entries"/>
+</h>
+<h id="residualpullx_trt_barrel" type="TH1F" title="Residualpull: TRT Barrel X">
+  <x title="x residual(#mum)" n="10" lo="-5" hi="5"/>
+  <y title="Entries"/>
+</h>
+<h id="residualpullx_dbm_barrel" type="TH1F" title="Residualpull: DBM -side X">
+  <x title="x residual(#mum)" n="10" lo="-5" hi="5"/>
+  <y title="Entries"/>
+</h>
+<!-- endcap, x -->
+<h id="residualpullx_blayer_endcap" type="TH1F" title="Residualpull: B-Layer Endcap X">
+  <x title="x residual(#mum)" n="10" lo="-5" hi="5"/>
+  <y title="Entries"/>
+</h>
+<h id="residualpullx_pixel_endcap" type="TH1F" title="Residualpull: Pixel Endcap X">
+  <x title="x residual(#mum)" n="10" lo="-5" hi="5"/>
+  <y title="Entries"/>
+</h>
+<h id="residualpullx_sct_endcap" type="TH1F" title="Residualpull: SCT Endcap X">
+  <x title="x residual(#mum)" n="10" lo="-5" hi="5"/>
+  <y title="Entries"/>
+</h>
+<h id="residualpullx_trt_endcap" type="TH1F" title="Residualpull: TRT Endcap X">
+  <x title="x residual(#mum)" n="10" lo="-5" hi="5"/>
+  <y title="Entries"/>
+</h>
+<h id="residualpullx_dbm_endcap" type="TH1F" title="Residualpull: DBM +side X">
+  <x title="x residual(#mum)" n="10" lo="-5" hi="5"/>
+  <y title="Entries"/>
+</h>
+<!-- barrel, y -->
+<h id="residualpully_blayer_barrel" type="TH1F" title="Residualpull: B-Layer Barrel Y">
+  <x title="y residual(#mum)" n="10" lo="-5" hi="5"/>
+  <y title="Entries"/>
+</h>
+<h id="residualpully_pixel_barrel" type="TH1F" title="Residualpull: Pixel Barrel Y">
+  <x title="y residual(#mum)" n="10" lo="-5" hi="5"/>
+  <y title="Entries"/>
+</h>
+<h id="residualpully_sct_barrel" type="TH1F" title="Residualpull: SCT Barrel Y">
+  <x title="y residual(#mum)" n="10" lo="-5" hi="5"/>
+  <y title="Entries"/>
+</h>
+<h id="residualpully_trt_barrel" type="TH1F" title="Residualpull: TRT Barrel Y">
+  <x title="y residual(#mum)" n="10" lo="-5" hi="5"/>
+  <y title="Entries"/>
+</h>
+<h id="residualpully_dbm_barrel" type="TH1F" title="Residualpull: DBM -side Y">
+  <x title="y residual(#mum)" n="10" lo="-5" hi="5"/>
+  <y title="Entries"/>
+</h>
+<!-- endcap, y -->
+<h id="residualpully_blayer_endcap" type="TH1F" title="Residualpull: B-Layer Endcap Y">
+  <x title="y residual(#mum)" n="10" lo="-5" hi="5"/>
+  <y title="Entries"/>
+</h>
+<h id="residualpully_pixel_endcap" type="TH1F" title="Residualpull: Pixel Endcap Y">
+  <x title="y residual(#mum)" n="10" lo="-5" hi="5"/>
+  <y title="Entries"/>
+</h>
+<h id="residualpully_sct_endcap" type="TH1F" title="Residualpull: SCT Endcap Y">
+  <x title="y residual(#mum)" n="10" lo="-5" hi="5"/>
+  <y title="Entries"/>
+</h>
+<h id="residualpully_trt_endcap" type="TH1F" title="Residualpull: TRT Endcap Y">
+  <x title="y residual(#mum)" n="10" lo="-5" hi="5"/>
+  <y title="Entries"/>
+</h>
+<h id="residualpully_dbm_endcap" type="TH1F" title="Residualpull: DBM +side Y">
+  <x title="y residual(#mum)" n="10" lo="-5" hi="5"/>
+  <y title="Entries"/>
+</h>
+<!--  -->
+<!-- TrackInJets -->
+<h id="recInJetpT" type="TH1F" title="p_{T} of selected rec tracks in jets(in GeV)">
+  <x title="p_{T}(GeV/c)" n="200" lo="0." hi="200"/>
+  <y title="Entries"/>
+</h>
+<h id="nTrackInJet" type="TH1F" title="Number of Tracks in Jet">
+  <x title="N Tracks" n="50" lo="0." hi="50"/>
+  <y title="Entries"/>
+</h>
+<h id="sumPtinJet" type="TH1F" title="Sum p_{T} of Tracks in Jet">
+  <x title="sum p_{T}(GeV/c)" n="25" lo="0" hi="500"/>
+  <y title="Entries"/>
+</h>
+<h id="fracPtInJet" type="TH1F" title="Sum p_{T} of Tracks over jet p_{T}">
+  <x title="sum Track p_{T}/jet p_{T}" n="60" lo="0" hi="3"/>
+  <y title="Entries"/>
+</h>
+<!--  -->
+<!-- spectrum plots -->
+<h id="nPixDeadSensors_vs_eta" type="TProfile" title="# pix deadsensors vs Eta">
+  <x title="#eta" n="80" lo="-&ETA;" hi="&ETA;"/>
+  <y title="# pix deadsensors" lo="0" hi="20"/>
+</h>
+<h id="nTotDeadSensors_vs_eta" type="TProfile" title="# total deadsensors vs Eta">
+  <x title="#eta" n="80" lo="-&ETA;" hi="&ETA;"/>
+  <y title="# total deadsensors" lo="0" hi="20"/>
+</h>
+<h id="recoMatchProbabilitySpectrum" type="TH1F" title="truth match probability spectrum">
+  <x title="truth match probability" n="40" lo="0." hi="1"/>
+  <y title="Entries"/>
+</h>
+<h id="recoEtaSpectrum" type="TH1F" title="reco eta spectrum">
+  <x title="#eta" n="80" lo="-&ETA;" hi="&ETA;"/>
+  <y title="Entries"/>
+</h>
+<h id="recoPhiSpectrum" type="TH1F" title="reco phi spectrum">
+  <x title="#phi" n="60" lo="-3" hi="3"/>
+  <y title="Entries"/>
+</h>
+<h id="recoPtSpectrum" type="TH1F" title="reco pt spectrum">
+  <x title="pt (GeV/c)" n="100" lo="0." hi="100"/>
+  <y title="Entries"/>
+</h>
+<h id="truthEtaSpectrum" type="TH1F" title="truth eta spectrum">
+  <x title="#eta" n="80" lo="-&ETA;" hi="&ETA;"/>
+  <y title="Entries"/>
+</h>
+<h id="truthPhiSpectrum" type="TH1F" title="truth phi spectrum">
+  <x title="#phi" n="60" lo="-3" hi="3"/>
+  <y title="Entries"/>
+</h>
+<h id="truthPtSpectrum" type="TH1F" title="truth pt spectrum">
+  <x title="pt (GeV/c)" n="100" lo="0." hi="100"/>
+  <y title="Entries"/>
+</h>
+<!--  -->
+<!-- HitContent plots -->
+<h id="HitContent_vs_eta_NBlayerHits" type="TProfile" title="Number of B-Layer clusters">
+  <x title="#eta" n="80" lo="-&ETA;" hi="&ETA;"/>
+  <y title="&lt;Number of B-layer clusters&gt;" lo="0" hi="100"/>
+</h>
+<h id="HitContent_vs_eta_NPixelHits" type="TProfile" title="Number of Pixel clusters">
+  <x title="#eta" n="80" lo="-&ETA;" hi="&ETA;"/>
+  <y title="&lt;Number of Pixel clusters&gt;" lo="0" hi="100"/>
+</h>
+<h id="HitContent_vs_eta_DBMHitsNeg" type="TProfile" title="Number of DBM Clusters">
+  <x title="#eta" n="20" lo="-3.8" hi="-2.5"/>
+  <y title="&lt;Number of DBM clusters, - side&gt;" lo="0" hi="100"/>
+</h>
+<h id="HitContent_vs_eta_DBMHitsPos" type="TProfile" title="Number of DBM Clusters">
+  <x title="#eta" n="20" lo="2.5" hi="3.8"/>
+  <y title="&lt;Number of DBM Clusters, + side&gt;" lo="0" hi="100"/>
+</h>
+<h id="HitContent_vs_eta_NPixelHoles" type="TProfile" title="Number of Pixel Holes">
+  <x title="#eta" n="80" lo="-&ETA;" hi="&ETA;"/>
+  <y title="&lt;Number of Pixel Holes&gt;" lo="0" hi="100"/>
+</h>
+<h id="HitContent_vs_eta_NSCTHits" type="TProfile" title="Number of SCT Clusters">
+  <x title="#eta" n="80" lo="-&ETA;" hi="&ETA;"/>
+  <y title="&lt;Number of SCT Clusters&gt;" lo="0" hi="100"/>
+</h>
+<h id="HitContent_vs_eta_NSCTHoles" type="TProfile" title="Number of SCT Holes">
+  <x title="#eta" n="80" lo="-&ETA;" hi="&ETA;"/>
+  <y title="&lt;Number of SCT Holes&gt;" lo="0" hi="100"/>
+</h>
+<h id="HitContent_vs_eta_NTRTHits" type="TProfile" title="Number of TRT Clusters">
+  <x title="#eta" n="80" lo="-&ETA;" hi="&ETA;"/>
+  <y title="&lt;Number of TRT Hits&gt;" lo="0" hi="100"/>
+</h>
+<h id="HitContent_vs_eta_NTRTHighThresholdHits" type="TProfile" title="Number of TRT high threshold clusters">
+  <x title="#eta" n="80" lo="-&ETA;" hi="&ETA;"/>
+  <y title="&lt;Number of High Thresh TRT Hits&gt;" lo="0" hi="100"/>
+</h>
+<h id="HitContent_vs_eta_NBlayerOutliers" type="TProfile" title="Number of B-layer outliers">
+  <x title="#eta" n="80" lo="-&ETA;" hi="&ETA;"/>
+  <y title="&lt;Number of B-layer Outliers&gt;" lo="0" hi="100"/>
+</h>
+<h id="HitContent_vs_eta_NBlayerSharedHits" type="TProfile" title="Number of shared B-layer clusters">
+  <x title="#eta" n="80" lo="-&ETA;" hi="&ETA;"/>
+  <y title="&lt;Number of B-layer Shared Hits&gt;" lo="0" hi="100"/>
+</h>
+<h id="HitContent_vs_eta_NBLayerSplitHits" type="TProfile" title="Number of split B-layer clusters">
+  <x title="#eta" n="80" lo="-&ETA;" hi="&ETA;"/>
+  <y title="&lt;Number of B-layer Split Hits&gt;" lo="0" hi="100"/>
+</h>
+<h id="HitContent_vs_eta_NPixelOutliers" type="TProfile" title="Number of Pixel outliers">
+  <x title="#eta" n="80" lo="-&ETA;" hi="&ETA;"/>
+  <y title="&lt;Number of Pixel Outliers&gt;" lo="0" hi="100"/>
+</h>
+<h id="HitContent_vs_eta_NPixelContribLayers" type="TProfile" title="Number of contributed Pixel layers">
+  <x title="#eta" n="80" lo="-&ETA;" hi="&ETA;"/>
+  <y title="&lt;Number of Pixel Layers&gt;" lo="0" hi="100"/>
+</h>
+<h id="HitContent_vs_eta_NPixelSharedHits" type="TProfile" title="Number of shared Pixel clusters">
+  <x title="#eta" n="80" lo="-&ETA;" hi="&ETA;"/>
+  <y title="&lt;Number of Pixel Shared Hits&gt;" lo="0" hi="100"/>
+</h>
+<h id="HitContent_vs_eta_NPixelSplitHits" type="TProfile" title="Number of split Pixel clusters">
+  <x title="#eta" n="80" lo="-&ETA;" hi="&ETA;"/>
+  <y title="&lt;Number of Pixel Split Hits&gt;" lo="0" hi="100"/>
+</h>
+<h id="HitContent_vs_eta_NPixelGangedHits" type="TProfile" title="Number of ganged Pixel clusters">
+  <x title="#eta" n="80" lo="-&ETA;" hi="&ETA;"/>
+  <y title="&lt;Number of Pixel Ganged Hits&gt;" lo="0" hi="100"/>
+</h>
+<h id="HitContent_vs_eta_NSCTOutliers" type="TProfile" title="Number of SCT Outliers">
+  <x title="#eta" n="80" lo="-&ETA;" hi="&ETA;"/>
+  <y title="&lt;Number of SCT Outliers&gt;" lo="0" hi="100"/>
+</h>
+<h id="HitContent_vs_eta_NSCTDoubleHoles" type="TProfile" title="Number of SCT double holes">
+  <x title="#eta" n="80" lo="-&ETA;" hi="&ETA;"/>
+  <y title="&lt;Number of SCT Double Holes&gt;" lo="0" hi="100"/>
+</h>
+<h id="HitContent_vs_eta_NSCTSharedHits" type="TProfile" title="Number of SCT Shared clusters">
+  <x title="#eta" n="80" lo="-&ETA;" hi="&ETA;"/>
+  <y title="&lt;Number of SCT Shared Hits&gt;" lo="0" hi="100"/>
+</h>
+<h id="HitContent_vs_eta_NTRTOutliers" type="TProfile" title="Number of TRT outliers">
+  <x title="#eta" n="80" lo="-&ETA;" hi="&ETA;"/>
+  <y title="&lt;Number of TRT Outliers&gt;" lo="0" hi="100"/>
+</h>
+<h id="HitContent_vs_eta_NTRTHighThresholdOutliers" type="TProfile" title="Number of TRT High Threshold outliers">
+  <x title="#eta" n="80" lo="-&ETA;" hi="&ETA;"/>
+  <y title="&lt;Number of TRT High Thresh Outliers&gt;" lo="0" hi="100"/>
+</h>
+<h id="residualx_ibl_barrel" type="TH1F" title="Residual: IBL Barrel X">
+  <x title="x residual(#mum)" n="120" lo="-50" hi="50"/>
+  <y title="Entries"/>
+</h>
+<h id="residualx_ibl_barrel_1hit" type="TH1F" title="Residual: IBL Barrel X   1 hit">
+  <x title="x residual(#mum)" n="120" lo="-50" hi="50"/>
+  <y title="Entries"/>
+</h>
+<h id="residualx_ibl_barrel_2ormorehits" type="TH1F" title="Residual: IBL Barrel X   &gt;=2 hits">
+  <x title="x residual(#mum)" n="120" lo="-50" hi="50"/>
+  <y title="Entries"/>
+</h>
+<h id="residualy_ibl_barrel" type="TH1F" title="Residual: IBL Barrel Y">
+  <x title="y residual(#mum)" n="120" lo="-50" hi="50"/>
+  <y title="Entries"/>
+</h>
+<h id="residualy_ibl_barrel_1hit" type="TH1F" title="Residual: IBL Barrel Y   1 hit">
+  <x title="y residual(#mum)" n="120" lo="-50" hi="50"/>
+  <y title="Entries"/>
+</h>
+<h id="residualy_ibl_barrel_2ormorehits" type="TH1F" title="Residual: IBL Barrel Y   &gt;=2 hits">
+  <x title="y residual(#mum)" n="120" lo="-50" hi="50"/>
+  <y title="Entries"/>
+</h>
+<h id="residualpullx_ibl_barrel" type="TH1F" title="Residualpull: B-Layer Barrel X">
+  <x title="x residual(#mum)" n="100" lo="-5" hi="5"/>
+  <y title="Entries"/>
+</h>
+<h id="residualpully_ibl_barrel" type="TH1F" title="Residualpull: B-Layer Barrel Y">
+  <x title="y residual(#mum)" n="100" lo="-5" hi="5"/>
+  <y title="Entries"/>
+</h>
+<h id="HitContent_vs_eta_NPixelGangedHitsFlaggedFakes" type="TProfile" title="Number of ganged flagged fake Pixel hits vs eta">
+  <x title="#eta" n="20" lo="-&ETA;" hi="&ETA;" />
+  <y title="Flagged Fakes in Pixel" lo="0" hi="2" />
+</h>
+<h id="trackeff_vs_eta" type="TProfile" title="Fraction of reco-matched truth track">
+  <x title="#eta" n="20" lo="-&ETA;" hi="&ETA;"/>
+  <y title="Efficiency" lo="0.0" hi="2.0"/>
+</h> 
+<h id="trackeff_vs_pt" type="TProfile" title="Fraction of reco-matched truth track">
+  <x title="Pt (GeV)" n="25" lo="0" hi="50"/>
+  <y title="Efficiency" lo="0.0" hi="2.0"/>
+</h>
+<h id="trackeff_vs_phi" type="TProfile" title="Fraction of reco-matched truth track">
+  <x title="#phi" n="25" lo="-&PI;" hi="&PI;"/>
+  <y title="Efficiency" lo="0.0" hi="2.0"/>
+</h>
+<h id="trackeff_vs_d0" type="TProfile" title="Fraction of reco-matched truth track">
+  <x title="d0" n="100" lo="-25" hi="25"/>
+  <y title="Efficiency" lo="0.0" hi="2.0"/>
+</h>
+<h id="trackeff_vs_z0" type="TProfile" title="Fraction of reco-matched truth track">
+  <x title="z0" n="100" lo="-250" hi="250"/>
+  <y title="Efficiency" lo="0.0" hi="2.0"/>
+</h>
+<h id="trackeff_vs_R" type="TProfile" title="Fraction of reco-matched truth track">
+  <x title="R" n="100" lo="0" hi="50"/>
+  <y title="Efficiency" lo="0.0" hi="2.0"/>
+</h>
+<h id="trackeff_vs_Z" type="TProfile" title="Fraction of reco-matched truth track">
+  <x title="Z" n="100" lo="-350" hi="350"/>
+  <y title="Efficiency" lo="0.0" hi="2.0"/>
+</h>
+<h id="trackinjeteff_vs_dr_gr_j100" type="TProfile" title="Track in jets efficiency vs #DeltaR for |#eta| &lt; &ETA; (E_{T}(jet) &gt;10 100 GeV)">
+  <x title="#DeltaR" n="10" lo="0.0" hi="0.2"/>
+  <y title="Efficiency" lo="0.0" hi="2.0"/>
+</h>
+<h id="eff_hit_vs_eta_ibl_barrel" type="TProfile" title="Cluster Efficiency: Pixel Barrel IBL">
+  <x title="#eta" n="10" lo="0" hi="&ETA;"/>
+  <y title="Cluster Efficiency" lo="0" hi="2.0"/>
+</h>
+<h id="eff_hit_vs_eta_pix_barrel" type="TProfile" title="Cluster Efficiency: Pixel Barrel">
+  <x title="#eta" n="10" lo="0" hi="&ETA;"/>
+  <y title="Cluster Efficiency" lo="0" hi="2.0"/>
+</h>
+<h id="eff_hit_vs_eta_pix_endcap" type="TProfile" title="Cluster Efficiency: Pixel Endcaps">
+  <x title="#eta" n="4" lo="1.5" hi="&ETA;"/>
+  <y title="Cluster Efficiency" lo="0" hi="2.0"/>
+</h>
+<h id="eff_hit_vs_eta_sct_barrel" type="TProfile" title="Cluster Efficiency: SCT Barrel">
+  <x title="#eta" n="7" lo="0" hi="1.75"/>
+  <y title="Cluster Efficiency" lo="0" hi="2.0"/>
+</h>
+<h id="eff_hit_vs_eta_sct_endcap" type="TProfile" title="Cluster Efficiency: SCT Endcaps">
+  <x title="#eta" n="6" lo="1.0" hi="&ETA;"/>
+  <y title="Cluster Efficiency" lo="0" hi="2.0"/>
+</h>
+<h id="eff_hit_vs_eta_trt_barrel" type="TProfile" title="Cluster Efficiency: TRT Barrel">
+  <x title="#eta" n="5" lo="0" hi="1.25"/>
+  <y title="Cluster Efficiency" lo="0" hi="2.0"/>
+</h>
+<h id="eff_hit_vs_eta_trt_endcap" type="TProfile" title="Cluster Efficiency: TRT Endcaps">
+  <x title="#eta" n="6" lo="0.75" hi="2.25"/>
+  <y title="Cluster Efficiency" lo="0" hi="2.0"/>
+</h>
+<h id="trackinjet_badmatchrate_vs_dr_gr_j100" type="TProfile" title="Fraction of tracks with &lt; 80% truth matching probability in Jets with E_{T} &gt; 100 GeV">
+  <x title="#DeltaR" n="10" lo="0.0" hi="0.2"/>
+  <y title="Bad Match Rate" lo="0.0" hi="2.0"/>
+</h>
+<h id="nSCTHits" type="TH1F" title="# SCT hits">
+  <x title="# SCT Hits" n="20" lo="0." hi="20"/>
+  <y title="Entries"/>
+</h>
+<h id="nPixHits" type="TH1F" title="# Pix hits">
+  <x title="# Pix Hits" n="20" lo="0." hi="20"/>
+  <y title="Entries"/>
+</h>
+<h id="nTotHits" type="TH1F" title="# Total hits">
+  <x title="# Totat Hits" n="20" lo="0." hi="20"/>
+  <y title="Entries"/>
+</h>
+<h id="nSCTDeadSensors" type="TH1F" title="# SCT DeadSensors">
+  <x title="# SCT DeadSensors" n="20" lo="0." hi="20"/>
+  <y title="Entries"/>
+</h>
+<h id="nPixDeadSensors" type="TH1F" title="# Pix DeadSensors">
+  <x title="# Pix DeadSensors" n="20" lo="0." hi="20"/>
+  <y title="Entries"/>
+</h>
+<h id="nTotDeadSensors" type="TH1F" title="# Total DeadSensors">
+  <x title="# Total DeadSensors" n="20" lo="0." hi="20"/>
+  <y title="Entries"/>
+</h>
+<h id="nSCTHits_vs_eta" type="TProfile" title="# SCT hits vs Eta">
+  <x title="#eta" n="80" lo="-&ETA;" hi="&ETA;"/>
+  <y title="# SCT Hits" lo="0" hi="20"/>
+</h>
+<h id="nPixHits_vs_eta" type="TProfile" title="# Pix hits vs Eta">
+  <x title="#eta" n="80" lo="-&ETA;" hi="&ETA;"/>
+  <y title="# Pix Hits" lo="0" hi="20"/>
+</h>
+<h id="nTotHits_vs_eta" type="TProfile" title="# total hits vs Eta">
+  <x title="#eta" n="80" lo="-&ETA;" hi="&ETA;"/>
+  <y title="# total Hits" lo="0" hi="20"/>
+</h>
+<h id="nSCTDeadSensors_vs_eta" type="TProfile" title="# SCT deadsensors vs Eta">
+  <x title="#eta" n="80" lo="-&ETA;" hi="&ETA;"/>
+  <y title="# SCT deadsensors" lo="0" hi="20"/>
+</h>
+</hdef>
+
+
diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/share/hdef.xml b/InnerDetector/InDetValidation/InDetPhysValMonitoring/share/InDetPhysValMonitoringPlotDefinitions.xml
similarity index 91%
rename from InnerDetector/InDetValidation/InDetPhysValMonitoring/share/hdef.xml
rename to InnerDetector/InDetValidation/InDetPhysValMonitoring/share/InDetPhysValMonitoringPlotDefinitions.xml
index 7a88abdcb873d6129b1dfb269aaa15a2b5b01714..7801fe848ed436c1be5d19f064bacbefd00b5868 100644
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/share/hdef.xml
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/share/InDetPhysValMonitoringPlotDefinitions.xml
@@ -160,11 +160,11 @@
   <y title="Efficiency" lo="0.0" hi="2.0"/>
 </h> 
 <h id="trackeff_vs_pt" type="TProfile" title="Fraction of reco-matched truth track">
-  <x title="Pt (GeV)" n="40" lo="0" hi="50"/>
+  <x title="Pt (GeV)" n="25" lo="0" hi="50"/>
   <y title="Efficiency" lo="0.0" hi="2.0"/>
 </h>
 <h id="trackeff_vs_phi" type="TProfile" title="Fraction of reco-matched truth track">
-  <x title="#phi" n="100" lo="-&PI;" hi="&PI;"/>
+  <x title="#phi" n="25" lo="-&PI;" hi="&PI;"/>
   <y title="Efficiency" lo="0.0" hi="2.0"/>
 </h>
 <h id="trackeff_vs_d0" type="TProfile" title="Fraction of reco-matched truth track">
@@ -367,7 +367,7 @@
   <y title="Entries"/>
 </h>
 <h id="residualx_pixel_barrel_1hit" type="TH1F" title="Residual: Pixel Barrel X   1 hit">
-  <x title="x residual(#mum)" n="120" lo="-3000" hi="3000"/>
+  <x title="x residual(#mum)" n="120" lo="-50" hi="50"/>
   <y title="Entries"/>
 </h>
 <h id="residualx_pixel_barrel_2ormorehits" type="TH1F" title="Residual: Pixel Barrel X   &gt;=2 hits">
@@ -379,22 +379,22 @@
   <y title="Entries"/>
 </h>
 <h id="residualx_sct_barrel_1hit" type="TH1F" title="Residual: SCT Barrel X   1 hit">
-  <x title="x residual(#mum)" n="120" lo="-3000" hi="3000"/>
+  <x title="x residual(#mum)" n="120" lo="-70" hi="70"/>
   <y title="Entries"/>
 </h>
 <h id="residualx_sct_barrel_2ormorehits" type="TH1F" title="Residual: SCT Barrel X   &gt;=2 hits">
-  <x title="x residual(#mum)" n="120" lo="-50" hi="50"/>
+  <x title="x residual(#mum)" n="120" lo="-70" hi="70"/>
   <y title="Entries"/>
 </h>
-<h id="residualx_blayer_barrel" type="TH1F" title="Residual: B-Layer Barrel X">
-  <x title="x residual(#mum)" n="120" lo="-3000" hi="3000"/>
+<h id="residualx_ibl_barrel" type="TH1F" title="Residual: IBL Barrel X">
+  <x title="x residual(#mum)" n="120" lo="-50" hi="50"/>
   <y title="Entries"/>
 </h>
-<h id="residualx_blayer_barrel_1hit" type="TH1F" title="Residual: B-Layer Barrel X   1 hit">
+<h id="residualx_ibl_barrel_1hit" type="TH1F" title="Residual: IBL Barrel X   1 hit">
   <x title="x residual(#mum)" n="120" lo="-50" hi="50"/>
   <y title="Entries"/>
 </h>
-<h id="residualx_blayer_barrel_2ormorehits" type="TH1F" title="Residual: B-Layer Barrel X   &gt;=2 hits">
+<h id="residualx_ibl_barrel_2ormorehits" type="TH1F" title="Residual: IBL Barrel X   &gt;=2 hits">
   <x title="x residual(#mum)" n="120" lo="-50" hi="50"/>
   <y title="Entries"/>
 </h>
@@ -408,7 +408,7 @@
   <y title="Entries"/>
 </h>
 <h id="residualx_pixel_endcap_1hit" type="TH1F" title="Residual: Pixel Endcap X   1 hit">
-  <x title="x residual(#mum)" n="120" lo="-3000" hi="3000"/>
+  <x title="x residual(#mum)" n="120" lo="-50" hi="50"/>
   <y title="Entries"/>
 </h>
 <h id="residualx_pixel_endcap_2ormorehits" type="TH1F" title="Residual: Pixel Endcap X   &gt;=2 hits">
@@ -420,11 +420,11 @@
   <y title="Entries"/>
 </h>
 <h id="residualx_sct_endcap_1hit" type="TH1F" title="Residual: SCT Endcap X   1 hit">
-  <x title="x residual(#mum)" n="120" lo="-3000" hi="3000"/>
+  <x title="x residual(#mum)" n="120" lo="-70" hi="70"/>
   <y title="Entries"/>
 </h>
 <h id="residualx_sct_endcap_2ormorehits" type="TH1F" title="Residual: SCT Endcap X   &gt;=2 hits">
-  <x title="x residual(#mum)" n="120" lo="-3000" hi="3000"/>
+  <x title="x residual(#mum)" n="120" lo="-70" hi="70"/>
   <y title="Entries"/>
 </h>
 <h id="residualx_blayer_endcap" type="TH1F" title="Residual: B-Layer Endcap X">
@@ -476,15 +476,15 @@
   <x title="y residual(#mum)" n="120" lo="-50" hi="50"/>
   <y title="Entries"/>
 </h>
-<h id="residualy_blayer_barrel" type="TH1F" title="Residual: B-Layer Barrel Y">
+<h id="residualy_ibl_barrel" type="TH1F" title="Residual: IBL Barrel Y">
   <x title="y residual(#mum)" n="120" lo="-50" hi="50"/>
   <y title="Entries"/>
 </h>
-<h id="residualy_blayer_barrel_1hit" type="TH1F" title="Residual: B-Layer Barrel Y   1 hit">
+<h id="residualy_ibl_barrel_1hit" type="TH1F" title="Residual: IBL Barrel Y   1 hit">
   <x title="y residual(#mum)" n="120" lo="-50" hi="50"/>
   <y title="Entries"/>
 </h>
-<h id="residualy_blayer_barrel_2ormorehits" type="TH1F" title="Residual: B-Layer Barrel Y   &gt;=2 hits">
+<h id="residualy_ibl_barrel_2ormorehits" type="TH1F" title="Residual: IBL Barrel Y   &gt;=2 hits">
   <x title="y residual(#mum)" n="120" lo="-50" hi="50"/>
   <y title="Entries"/>
 </h>
@@ -543,54 +543,54 @@
 </h>
 <!-- pulls -->
 <!-- barrel, x -->
-<h id="residualpullx_blayer_barrel" type="TH1F" title="Residualpull: B-Layer Barrel X">
-  <x title="x residual(#mum)" n="10" lo="-5" hi="5"/>
+<h id="residualpullx_ibl_barrel" type="TH1F" title="Residualpull: B-Layer Barrel X">
+  <x title="x residual(#mum)" n="100" lo="-5" hi="5"/>
   <y title="Entries"/>
 </h>
 <h id="residualpullx_pixel_barrel" type="TH1F" title="Residualpull: Pixel Barrel X">
-  <x title="x residual(#mum)" n="10" lo="-5" hi="5"/>
+  <x title="x residual(#mum)" n="100" lo="-5" hi="5"/>
   <y title="Entries"/>
 </h>
 <h id="residualpullx_sct_barrel" type="TH1F" title="Residualpull: SCT Barrel X">
-  <x title="x residual(#mum)" n="10" lo="-5" hi="5"/>
+  <x title="x residual(#mum)" n="100" lo="-5" hi="5"/>
   <y title="Entries"/>
 </h>
 <h id="residualpullx_trt_barrel" type="TH1F" title="Residualpull: TRT Barrel X">
-  <x title="x residual(#mum)" n="10" lo="-5" hi="5"/>
+  <x title="x residual(#mum)" n="100" lo="-5" hi="5"/>
   <y title="Entries"/>
 </h>
 <h id="residualpullx_dbm_barrel" type="TH1F" title="Residualpull: DBM -side X">
-  <x title="x residual(#mum)" n="10" lo="-5" hi="5"/>
+  <x title="x residual(#mum)" n="100" lo="-5" hi="5"/>
   <y title="Entries"/>
 </h>
 <!-- endcap, x -->
-<h id="residualpullx_blayer_endcap" type="TH1F" title="Residualpull: B-Layer Endcap X">
-  <x title="x residual(#mum)" n="10" lo="-5" hi="5"/>
+<h id="residualpullx_ibl_endcap" type="TH1F" title="Residualpull: B-Layer Endcap X">
+  <x title="x residual(#mum)" n="100" lo="-5" hi="5"/>
   <y title="Entries"/>
 </h>
 <h id="residualpullx_pixel_endcap" type="TH1F" title="Residualpull: Pixel Endcap X">
-  <x title="x residual(#mum)" n="10" lo="-5" hi="5"/>
+  <x title="x residual(#mum)" n="100" lo="-5" hi="5"/>
   <y title="Entries"/>
 </h>
 <h id="residualpullx_sct_endcap" type="TH1F" title="Residualpull: SCT Endcap X">
-  <x title="x residual(#mum)" n="10" lo="-5" hi="5"/>
+  <x title="x residual(#mum)" n="100" lo="-5" hi="5"/>
   <y title="Entries"/>
 </h>
 <h id="residualpullx_trt_endcap" type="TH1F" title="Residualpull: TRT Endcap X">
-  <x title="x residual(#mum)" n="10" lo="-5" hi="5"/>
+  <x title="x residual(#mum)" n="100" lo="-5" hi="5"/>
   <y title="Entries"/>
 </h>
 <h id="residualpullx_dbm_endcap" type="TH1F" title="Residualpull: DBM +side X">
-  <x title="x residual(#mum)" n="10" lo="-5" hi="5"/>
+  <x title="x residual(#mum)" n="100" lo="-5" hi="5"/>
   <y title="Entries"/>
 </h>
 <!-- barrel, y -->
-<h id="residualpully_blayer_barrel" type="TH1F" title="Residualpull: B-Layer Barrel Y">
-  <x title="y residual(#mum)" n="10" lo="-5" hi="5"/>
+<h id="residualpully_ibl_barrel" type="TH1F" title="Residualpull: B-Layer Barrel Y">
+  <x title="y residual(#mum)" n="100" lo="-5" hi="5"/>
   <y title="Entries"/>
 </h>
 <h id="residualpully_pixel_barrel" type="TH1F" title="Residualpull: Pixel Barrel Y">
-  <x title="y residual(#mum)" n="10" lo="-5" hi="5"/>
+  <x title="y residual(#mum)" n="100" lo="-5" hi="5"/>
   <y title="Entries"/>
 </h>
 <h id="residualpully_sct_barrel" type="TH1F" title="Residualpull: SCT Barrel Y">
@@ -602,16 +602,16 @@
   <y title="Entries"/>
 </h>
 <h id="residualpully_dbm_barrel" type="TH1F" title="Residualpull: DBM -side Y">
-  <x title="y residual(#mum)" n="10" lo="-5" hi="5"/>
+  <x title="y residual(#mum)" n="100" lo="-5" hi="5"/>
   <y title="Entries"/>
 </h>
 <!-- endcap,y -->
-<h id="residualpully_blayer_endcap" type="TH1F" title="Residualpull: B-Layer Endcap Y">
-  <x title="y residual(#mum)" n="10" lo="-5" hi="5"/>
+<h id="residualpully_ibl_endcap" type="TH1F" title="Residualpull: B-Layer Endcap Y">
+  <x title="y residual(#mum)" n="100" lo="-5" hi="5"/>
   <y title="Entries"/>
 </h>
 <h id="residualpully_pixel_endcap" type="TH1F" title="Residualpull: Pixel Endcap Y">
-  <x title="y residual(#mum)" n="10" lo="-5" hi="5"/>
+  <x title="y residual(#mum)" n="100" lo="-5" hi="5"/>
   <y title="Entries"/>
 </h>
 <h id="residualpully_sct_endcap" type="TH1F" title="Residualpull: SCT Endcap Y">
@@ -623,7 +623,7 @@
   <y title="Entries"/>
 </h>
 <h id="residualpully_dbm_endcap" type="TH1F" title="Residualpull: DBM +side Y">
-  <x title="y residual(#mum)" n="10" lo="-5" hi="5"/>
+  <x title="y residual(#mum)" n="100" lo="-5" hi="5"/>
   <y title="Entries"/>
 </h>
 <!--  -->
@@ -790,6 +790,12 @@
   <x title="#eta" n="20" lo="-2.5" hi="2.5"/>
   <y title="&lt;Number of Pixel Ganged Hits&gt;" lo="0" hi="100"/>
 </h>
+
+<h id="HitContent_vs_eta_NPixelGangedHitsFlaggedFakes" type="TProfile" title="Number of ganged flagged fake Pixel hits vs eta">
+  <x title="#eta" n="20" lo="-2.5" hi="2.5" />
+  <y title="Flagged Fakes in Pixel" lo="0" hi="2" />
+</h>
+
 <h id="HitContent_vs_eta_NSCTOutliers" type="TProfile" title="Number of SCT Outliers">
   <x title="#eta" n="20" lo="-2.5" hi="2.5"/>
   <y title="&lt;Number of SCT Outliers&gt;" lo="0" hi="100"/>
@@ -810,4 +816,21 @@
   <x title="#eta" n="20" lo="-2.5" hi="2.5"/>
   <y title="&lt;Number of TRT High Thresh Outliers&gt;" lo="0" hi="100"/>
 </h>
+
+<!-- -->
+<!-- Track in Jet efficiencies -->
+<h id="trackinjeteff_vs_dr_gr_j100" type="TProfile" title="Track in jets efficiency vs #DeltaR for |#eta| &lt; 2.5 (E_{T}(jet) &gt;10 100 GeV)">
+  <x title="#DeltaR" n="10" lo="0.0" hi="0.2"/>
+  <y title="Efficiency" lo="0.0" hi="2.0"/>
+</h>
+
+<!-- -->
+<!-- Track in Jet Bad Match Rates -->
+<h id="trackinjet_badmatchrate_vs_dr_gr_j100" type="TProfile" title="Fraction of tracks with &lt; 80% truth matching probability in Jets with E_{T} &gt; 100 GeV">
+  <x title="#DeltaR" n="10" lo="0.0" hi="0.2"/>
+  <y title="Bad Match Rate" lo="0.0" hi="2.0"/>
+</h>
+
+
+
 </hdef>
diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/share/inDetPhysValMonitoringPlotDefinitions.hdef b/InnerDetector/InDetValidation/InDetPhysValMonitoring/share/inDetPhysValMonitoringPlotDefinitions.hdef
index 94632188e15098cdeca4d8cc33f7a4ab07a802d6..fcac108b24dcdb9292b387cab55ca857a521581f 100644
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/share/inDetPhysValMonitoringPlotDefinitions.hdef
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/share/inDetPhysValMonitoringPlotDefinitions.hdef
@@ -265,8 +265,15 @@ TProfile HitContent_vs_eta_NPixelContribLayers "Number of contributed Pixel laye
 TProfile HitContent_vs_eta_NPixelSharedHits "Number of shared Pixel clusters" 20 -2.5 2.5 0 100 "#eta" "<Number of Pixel Shared Hits>" default
 TProfile HitContent_vs_eta_NPixelSplitHits "Number of split Pixel clusters" 20 -2.5 2.5 0 100 "#eta" "<Number of Pixel Split Hits>" default
 TProfile HitContent_vs_eta_NPixelGangedHits "Number of ganged Pixel clusters" 20 -2.5 2.5 0 100 "#eta" "<Number of Pixel Ganged Hits>" default
+TProfile HitContent_vs_eta_NPixelGangedHitsFlaggedFakes "Number of ganged flagged fake Pixel hits vs eta" 20 -2.5 2.5 0 2 "#eta" "Flagged Fakes in Pixel" default
 TProfile HitContent_vs_eta_NSCTOutliers "Number of SCT Outliers" 20 -2.5 2.5 0 100 "#eta" "<Number of SCT Outliers>" default
 TProfile HitContent_vs_eta_NSCTDoubleHoles "Number of SCT double holes" 20 -2.5 2.5 0 100 "#eta" "<Number of SCT Double Holes>" default
 TProfile HitContent_vs_eta_NSCTSharedHits "Number of SCT Shared clusters" 20 -2.5 2.5 0 100 "#eta" "<Number of SCT Shared Hits>" default
 TProfile HitContent_vs_eta_NTRTOutliers "Number of TRT outliers" 20 -2.5 2.5 0 100 "#eta" "<Number of TRT Outliers>" default
 TProfile HitContent_vs_eta_NTRTHighThresholdOutliers "Number of TRT High Threshold outliers" 20 -2.5 2.5 0 100 "#eta" "<Number of TRT High Thresh Outliers>" default
+
+#trackinjet efficiencies
+TProfile trackinjeteff_vs_dr_gr_j100 "Track in jets efficiency vs #DeltaR for |#eta| &lt; 2.5 (E_{T}(jet) > 100 GeV)" 10 0 0.2 0 2.0 "#DeltaR" "Efficiency" default
+
+#trackinjet bad match rates
+TProfile trackinjet_badmatchrate_vs_dr_gr_j100 "Fraction of tracks with &lt; 80% truth matching probability in Jets with E_{T} &gt; 100 GeV" 10 0 0.2 0 2 "#DeltaR" "Bad Match Rate" default
\ No newline at end of file
diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_Eff.cxx b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_Eff.cxx
index 864948ca76650410d9df107f4211a98ac2a75315..84b4d20d46af3f6df9b28e19bcef79e3c98669a8 100644
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_Eff.cxx
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_Eff.cxx
@@ -16,8 +16,8 @@ m_trackeff_vs_phi{},
 m_trackeff_vs_d0{},
 m_trackeff_vs_z0{},
 m_trackeff_vs_R{},
-m_trackeff_vs_Z{}
-
+m_trackeff_vs_Z{},
+m_trackinjeteff_vs_dr_gr_j100{}
 {
   //nop
 }
@@ -32,12 +32,13 @@ InDetPerfPlot_Eff::initializePlots() {
   book(m_trackeff_vs_z0, "trackeff_vs_z0");
   book(m_trackeff_vs_R, "trackeff_vs_R");
   book(m_trackeff_vs_Z, "trackeff_vs_Z");
+
+  book(m_trackinjeteff_vs_dr_gr_j100, "trackinjeteff_vs_dr_gr_j100");
 }
 
 void InDetPerfPlot_Eff::pro_fill(const xAOD::TruthParticle & truth, float weight){
   double eta = truth.eta();
   double pt = truth.pt()/1000.; //convert MeV to GeV
-  //double logpt = Log10(pt); //-3.0 switches MeV to GeV **UNUSED
   double phi = truth.phi();
   double d0 = truth.auxdata<float>("d0");
   double z0 = truth.auxdata<float>("z0");
@@ -53,6 +54,15 @@ void InDetPerfPlot_Eff::pro_fill(const xAOD::TruthParticle & truth, float weight
   m_trackeff_vs_Z->Fill(Z, weight);
 }
 
+void InDetPerfPlot_Eff::jet_fill(const xAOD::TrackParticle& track, const xAOD::Jet& jet, float weight){
+  //double trketa = track.eta(); //unused
+  //double trkphi = track.phi(); //unused
+
+  double dR = jet.p4().DeltaR( track.p4() );
+
+  m_trackinjeteff_vs_dr_gr_j100->Fill(dR, weight);
+
+}
 
 void InDetPerfPlot_Eff::finalizePlots() {
 }
diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_Eff.h b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_Eff.h
index df19b41f58713666a71e7667294dd4077f398e56..198ad58d45d6c2ce8ae3f05ff5b5eb5b8dc88ba5 100644
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_Eff.h
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_Eff.h
@@ -25,6 +25,8 @@
 #include "xAODBase/IParticle.h"  
 #include "xAODTracking/TrackParticle.h"
 
+#include "xAODJet/Jet.h"
+
 #include "InDetPhysValMonitoring/IInDetPhysValDecoratorTool.h"
 
 ///class holding Pt plots for Inner Detector RTT Validation and implementing fill methods
@@ -34,6 +36,7 @@ class InDetPerfPlot_Eff:public InDetPlotBase {
   InDetPerfPlot_Eff(InDetPlotBase * pParent, const std::string & dirName);
 
   void pro_fill(const xAOD::TruthParticle& truth, float weight);
+  void jet_fill(const xAOD::TrackParticle& track, const xAOD::Jet& jet, float weight);
   
  private:
 
@@ -44,6 +47,8 @@ class InDetPerfPlot_Eff:public InDetPlotBase {
   TProfile * m_trackeff_vs_z0;
   TProfile * m_trackeff_vs_R;
   TProfile * m_trackeff_vs_Z;
+
+  TProfile * m_trackinjeteff_vs_dr_gr_j100;
   
   //plot base has nop default implementation of this; we use it to book the histos
   void initializePlots();
diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_HitDetailed.cxx b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_HitDetailed.cxx
index 32426adcef28f74203235883657489d61dcf9799..6998cac53eaeadddf7fc6bb8b5c233af43d0e879 100644
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_HitDetailed.cxx
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_HitDetailed.cxx
@@ -23,6 +23,7 @@ n_vs_eta_PixelContribLayers{},
 n_vs_eta_PixelSharedHits{},
 n_vs_eta_PixelSplitHits{},
 n_vs_eta_PixelGangedHits{},
+n_vs_eta_PixelGangedHitsFlaggedFakes{},
 n_vs_eta_SCTHits{},
 n_vs_eta_SCTHoles{},
 n_vs_eta_SCTOutliers{},
@@ -65,6 +66,7 @@ void InDetPerfPlot_HitDetailed::initializePlots(){
     book(n_vs_eta_PixelSharedHits,"HitContent_vs_eta_NPixelSharedHits");
     book(n_vs_eta_PixelSplitHits,"HitContent_vs_eta_NPixelSplitHits");
     book(n_vs_eta_PixelGangedHits,"HitContent_vs_eta_NPixelGangedHits");
+    book(n_vs_eta_PixelGangedHitsFlaggedFakes, "HitContent_vs_eta_NPixelGangedHitsFlaggedFakes");
     book(n_vs_eta_SCTOutliers,"HitContent_vs_eta_NSCTOutliers");
     book(n_vs_eta_SCTDoubleHoles,"HitContent_vs_eta_NSCTDoubleHoles");
     book(n_vs_eta_SCTSharedHits,"HitContent_vs_eta_NSCTSharedHits");
@@ -91,7 +93,7 @@ void InDetPerfPlot_HitDetailed::fill(const xAOD::TrackParticle& trk) {
   //expert plots
   if (m_iDetailLevel >= 100) {
     uint8_t iBLayerOutliers(0),iBLayerShared(0),iBLayerSplit(0);
-    uint8_t iPixelOutliers(0),iPixelContribLayers(0),iPixelShared(0),iPixelSplit(0),iPixelGanged(0);
+    uint8_t iPixelOutliers(0),iPixelContribLayers(0),iPixelShared(0),iPixelSplit(0),iPixelGanged(0), iPixelGangedFF(0);
     uint8_t iSCTOutliers(0),iSCTDoubleHoles(0),iSCTShared(0);
     uint8_t iTRTOutliers(0),iTRTHTOutliers(0);
     if (trk.summaryValue(iBLayerOutliers,xAOD::numberOfBLayerOutliers)) n_vs_eta_BLayerOutliers->Fill(eta, iBLayerOutliers);
@@ -102,6 +104,7 @@ void InDetPerfPlot_HitDetailed::fill(const xAOD::TrackParticle& trk) {
     if (trk.summaryValue(iPixelShared,xAOD::numberOfPixelSharedHits)) n_vs_eta_PixelSharedHits->Fill(eta, iPixelShared);
     if (trk.summaryValue(iPixelSplit,xAOD::numberOfPixelSplitHits)) n_vs_eta_PixelSplitHits->Fill(eta, iPixelSplit);
     if (trk.summaryValue(iPixelGanged,xAOD::numberOfGangedPixels)) n_vs_eta_PixelGangedHits->Fill(eta, iPixelGanged);
+    if (trk.summaryValue(iPixelGangedFF, xAOD::numberOfGangedFlaggedFakes)) n_vs_eta_PixelGangedHitsFlaggedFakes->Fill(eta, iPixelGangedFF);
     if (trk.summaryValue(iSCTOutliers,xAOD::numberOfSCTOutliers)) n_vs_eta_PixelOutliers->Fill(eta, iSCTOutliers);
     if (trk.summaryValue(iSCTDoubleHoles,xAOD::numberOfSCTDoubleHoles)) n_vs_eta_SCTDoubleHoles->Fill(eta, iSCTDoubleHoles);
     if (trk.summaryValue(iSCTShared,xAOD::numberOfSCTSharedHits)) n_vs_eta_SCTSharedHits->Fill(eta, iSCTShared);
diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_HitDetailed.h b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_HitDetailed.h
index cf4d9f4205f57eec074471220a286bdb293c90a8..22a69b63006b8ad347929b27d79fa450bfc62312 100644
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_HitDetailed.h
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_HitDetailed.h
@@ -38,6 +38,7 @@ class InDetPerfPlot_HitDetailed: public InDetPlotBase {
     TProfile* n_vs_eta_PixelSharedHits;
     TProfile* n_vs_eta_PixelSplitHits;
     TProfile* n_vs_eta_PixelGangedHits;
+    TProfile* n_vs_eta_PixelGangedHitsFlaggedFakes;
     TProfile* n_vs_eta_SCTHits;
     TProfile* n_vs_eta_SCTHoles;
     TProfile* n_vs_eta_SCTOutliers;
diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_Pt.cxx b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_Pt.cxx
index d8a70a181ecb59ca2cef9d4a5f75a18cc1026ee5..2982500f7778795443653623d82d11e75b6c5be8 100644
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_Pt.cxx
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_Pt.cxx
@@ -30,3 +30,10 @@ InDetPerfPlot_Pt::fill(const xAOD::IParticle& particle){
     m_recPtLow->Fill(pt);
 }
 
+void 
+InDetPerfPlot_Pt::fill(const xAOD::TruthParticle& particle){
+    const float pt(particle.pt()/1000.);
+    m_recPt->Fill(pt);
+    m_recPtLow->Fill(pt);
+}
+
diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_Pt.h b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_Pt.h
index 6dd5423e822829585c82e6c5d7aa8bf1e7cb764b..8f8fb09b1c157d0902a4af805718e184250a81c8 100644
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_Pt.h
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_Pt.h
@@ -16,6 +16,7 @@
 //local includes
 #include "InDetPlotBase.h"
 #include "xAODBase/IParticle.h" 
+#include "xAODTruth/TruthParticle.h"
 
 
 ///class holding Pt plots for Inner Detector RTT Validation and implementing fill methods
@@ -23,6 +24,7 @@ class InDetPerfPlot_Pt:public InDetPlotBase {
 public:
 	InDetPerfPlot_Pt(InDetPlotBase * pParent, const std::string & dirName);
 	void fill(const xAOD::IParticle& particle);
+	void fill(const xAOD::TruthParticle& particle);
 	
 private:
 	///Pt Histogram with full pt range
diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_hitResidual.cxx b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_hitResidual.cxx
index cb64887e41baa788798be377e176a6f7ea351da4..ec62963d7602a6f20c48a466aa2e1444770e21a5 100644
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_hitResidual.cxx
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_hitResidual.cxx
@@ -9,7 +9,7 @@
 
 #include "InDetPerfPlot_hitResidual.h"
 
-
+using namespace TMath;
 
 InDetPerfPlot_hitResidual::InDetPerfPlot_hitResidual(InDetPlotBase* pParent, const std::string & sDir)  :InDetPlotBase(pParent, sDir), 
    m_residualx_1hit{},
@@ -28,7 +28,11 @@ InDetPerfPlot_hitResidual::InDetPerfPlot_hitResidual(InDetPlotBase* pParent, con
 void InDetPerfPlot_hitResidual::initializePlots() {
  //const bool prependDirectory(false);
  //x residuals
-  book(m_residualx[PIXEL][BARREL],"residualx_pixel_barrel");
+  book(m_residualx[IBL][BARREL],"residualx_ibl_barrel");
+  book(m_residualx_1hit[IBL][BARREL],"residualx_ibl_barrel_1hit");
+  book(m_residualx_2ormorehits[IBL][BARREL],"residualx_ibl_barrel_2ormorehits");
+  //
+	book(m_residualx[PIXEL][BARREL],"residualx_pixel_barrel");
   book(m_residualx_1hit[PIXEL][BARREL],"residualx_pixel_barrel_1hit");
   book(m_residualx_2ormorehits[PIXEL][BARREL],"residualx_pixel_barrel_2ormorehits");
   //
@@ -36,10 +40,6 @@ void InDetPerfPlot_hitResidual::initializePlots() {
   book(m_residualx_1hit[SCT][BARREL],"residualx_sct_barrel_1hit");
   book(m_residualx_2ormorehits[SCT][BARREL],"residualx_sct_barrel_2ormorehits");
   //
-  book(m_residualx[BLAYER][BARREL],"residualx_blayer_barrel");
-  book(m_residualx_1hit[BLAYER][BARREL],"residualx_blayer_barrel_1hit");
-  book(m_residualx_2ormorehits[BLAYER][BARREL],"residualx_blayer_barrel_2ormorehits");
-  //
   book(m_residualx[TRT][BARREL],"residualx_trt_barrel");
   //..now endcaps
   book(m_residualx[PIXEL][ENDCAP],"residualx_pixel_endcap");
@@ -49,72 +49,82 @@ void InDetPerfPlot_hitResidual::initializePlots() {
   book(m_residualx[SCT][ENDCAP],"residualx_sct_endcap");
   book(m_residualx_1hit[SCT][ENDCAP],"residualx_sct_endcap_1hit");
   book(m_residualx_2ormorehits[SCT][ENDCAP],"residualx_sct_endcap_2ormorehits");
-  
-  book(m_residualx[BLAYER][ENDCAP],"residualx_blayer_endcap");
-  book(m_residualx_1hit[BLAYER][ENDCAP],"residualx_blayer_endcap_1hit");
-  book(m_residualx_2ormorehits[BLAYER][ENDCAP],"residualx_blayer_endcap_2ormorehits");
+  //No IBL for ENDCAP (Can be added if need residuals / pulls for the first disk?)
+  //book(m_residualx[IBL][ENDCAP],"residualx_blayer_endcap");
+  //book(m_residualx_1hit[IBL][ENDCAP],"residualx_blayer_endcap_1hit");
+  //book(m_residualx_2ormorehits[IBL][ENDCAP],"residualx_blayer_endcap_2ormorehits");
   //
   book(m_residualx[TRT][ENDCAP],"residualx_trt_endcap");
   //DBM
   book(m_residualx[DBM][0],"residualx_dbm_neg");
   book(m_residualx[DBM][1],"residualx_dbm_pos");
   //
-  // y residuals
-  book(m_residualy[PIXEL][BARREL],"residualy_pixel_barrel");
+
+	//y residuals
+  book(m_residualy[IBL][BARREL],"residualy_ibl_barrel");
+  book(m_residualy_1hit[IBL][BARREL],"residualy_ibl_barrel_1hit");
+  book(m_residualy_2ormorehits[IBL][BARREL],"residualy_ibl_barrel_2ormorehits");
+  //
+	book(m_residualy[PIXEL][BARREL],"residualy_pixel_barrel");
   book(m_residualy_1hit[PIXEL][BARREL],"residualy_pixel_barrel_1hit");
   book(m_residualy_2ormorehits[PIXEL][BARREL],"residualy_pixel_barrel_2ormorehits");
   //
-  book(m_residualy[SCT][BARREL],"residualy_sct_barrel");
-  book(m_residualy_1hit[SCT][BARREL],"residualy_sct_barrel_1hit");
-  book(m_residualy_2ormorehits[SCT][BARREL],"residualy_sct_barrel_2ormorehits");
-  //
-  book(m_residualy[BLAYER][BARREL],"residualy_blayer_barrel");
-  book(m_residualy_1hit[BLAYER][BARREL],"residualy_blayer_barrel_1hit");
-  book(m_residualy_2ormorehits[BLAYER][BARREL],"residualy_blayer_barrel_2ormorehits");
+	//SCT and TRT do not have y-residuals/pulls
+	//book(m_residualy[SCT][BARREL],"residualy_sct_barrel");
+	//book(m_residualy_1hit[SCT][BARREL],"residualy_sct_barrel_1hit");
+	//book(m_residualy_2ormorehits[SCT][BARREL],"residualy_sct_barrel_2ormorehits");
   //
-  book(m_residualy[TRT][BARREL],"residualy_trt_barrel");
+	//book(m_residualy[TRT][BARREL],"residualy_trt_barrel");
   //..now endcaps
   book(m_residualy[PIXEL][ENDCAP],"residualy_pixel_endcap");
   book(m_residualy_1hit[PIXEL][ENDCAP],"residualy_pixel_endcap_1hit");
   book(m_residualy_2ormorehits[PIXEL][ENDCAP],"residualy_pixel_endcap_2ormorehits");
   //
-  book(m_residualy[SCT][ENDCAP],"residualy_sct_endcap");
-  book(m_residualy_1hit[SCT][ENDCAP],"residualy_sct_endcap_1hit");
-  book(m_residualy_2ormorehits[SCT][ENDCAP],"residualy_sct_endcap_2ormorehits");
-  
-  book(m_residualy[BLAYER][ENDCAP],"residualy_blayer_endcap");
-  book(m_residualy_1hit[BLAYER][ENDCAP],"residualy_blayer_endcap_1hit");
-  book(m_residualy_2ormorehits[BLAYER][ENDCAP],"residualy_blayer_endcap_2ormorehits");
+	//SCT and TRT do not have y-residuals/pulls
+	//book(m_residualy[SCT][ENDCAP],"residualy_sct_endcap");
+	//book(m_residualy_1hit[SCT][ENDCAP],"residualy_sct_endcap_1hit");
+	//book(m_residualy_2ormorehits[SCT][ENDCAP],"residualy_sct_endcap_2ormorehits");
+	//
+  //No IBL for ENDCAP (Can be added if need residuals / pulls for the first disk?)
+  //book(m_residualy[IBL][ENDCAP],"residualy_blayer_endcap");
+  //book(m_residualy_1hit[IBL][ENDCAP],"residualy_blayer_endcap_1hit");
+  //book(m_residualy_2ormorehits[IBL][ENDCAP],"residualy_blayer_endcap_2ormorehits");
   //
-  book(m_residualy[TRT][ENDCAP],"residualy_trt_endcap");
+	//SCT and TRT do not have y-residuals/pulls
+	//book(m_residualy[TRT][ENDCAP],"residualy_trt_endcap");
   //DBM
   book(m_residualy[DBM][0],"residualy_dbm_neg");
   book(m_residualy[DBM][1],"residualy_dbm_pos");
   // pulls
   //barrel
-  book(m_residualpullx[BLAYER][BARREL],"residualpullx_blayer_barrel");
+  book(m_residualpullx[IBL][BARREL],"residualpullx_ibl_barrel");
   book(m_residualpullx[PIXEL][BARREL],"residualpullx_pixel_barrel");
   book(m_residualpullx[SCT][BARREL],"residualpullx_sct_barrel");
   book(m_residualpullx[TRT][BARREL],"residualpullx_trt_barrel");
   book(m_residualpullx[DBM][0],"residualpullx_dbm_barrel");
   //
-  book(m_residualpullx[BLAYER][ENDCAP],"residualpullx_blayer_endcap");
+  //No IBL for ENDCAPS
+  //book(m_residualpullx[IBL][ENDCAP],"residualpullx_ibl_endcap");
   book(m_residualpullx[PIXEL][ENDCAP],"residualpullx_pixel_endcap");
   book(m_residualpullx[SCT][ENDCAP],"residualpullx_sct_endcap");
   book(m_residualpullx[TRT][ENDCAP],"residualpullx_trt_endcap");
   book(m_residualpullx[DBM][1],"residualpullx_dbm_endcap");
   //
   //barrel
-  book(m_residualpully[BLAYER][BARREL],"residualpully_blayer_barrel");
+  book(m_residualpully[IBL][BARREL],"residualpully_ibl_barrel");
   book(m_residualpully[PIXEL][BARREL],"residualpully_pixel_barrel");
-  book(m_residualpully[SCT][BARREL],"residualpully_sct_barrel");
-  book(m_residualpully[TRT][BARREL],"residualpully_trt_barrel");
+	//
+	//SCT and TRT do not have y-residuals/pulls
+	//book(m_residualpully[SCT][BARREL],"residualpully_sct_barrel");
+	//book(m_residualpully[TRT][BARREL],"residualpully_trt_barrel");
   book(m_residualpully[DBM][0],"residualpully_dbm_barrel");
-  //
-  book(m_residualpully[BLAYER][ENDCAP],"residualpully_blayer_endcap");
+  //No IBL for ENDCAPS
+  //book(m_residualpully[IBL][ENDCAP],"residualpully_ibl_endcap");
   book(m_residualpully[PIXEL][ENDCAP],"residualpully_pixel_endcap");
-  book(m_residualpully[SCT][ENDCAP],"residualpully_sct_endcap");
-  book(m_residualpully[TRT][ENDCAP],"residualpully_trt_endcap");
+	//
+	////SCT and TRT do not have y-residuals/pulls
+	//book(m_residualpully[SCT][ENDCAP],"residualpully_sct_endcap");
+	//book(m_residualpully[TRT][ENDCAP],"residualpully_trt_endcap");
   book(m_residualpully[DBM][1],"residualpully_dbm_endcap");
   
 }
@@ -128,7 +138,7 @@ void InDetPerfPlot_hitResidual::fill(const xAOD::TrackParticle& trkprt) {
 		if (!result_det.empty()) {
 			 const std::vector<int> & result_region=trkprt.auxdata< std::vector<int> >("hitResiduals_region");
 			 //const std::vector<int> &result_iLayer = trkprt.auxdata< std::vector<int> >("hitResiduals_iLayer");
-			 const std::vector<float> &result_residualLocX = trkprt.auxdata< std::vector<float> >("hitResiduals_residualLocX");
+			 const std::vector<float> &result_residualLocX = trkprt.auxdata< std::vector<float> >("hitResiduals_residualLocX"); 
 			 const std::vector<float> &result_pullLocX = trkprt.auxdata< std::vector<float> >("hitResiduals_pullLocX");
 			 const std::vector<float> &result_residualLocY = trkprt.auxdata< std::vector<float> >("hitResiduals_residualLocY");
 			 const std::vector<float> &result_pullLocY = trkprt.auxdata< std::vector<float> >("hitResiduals_pullLocY");
@@ -138,25 +148,34 @@ void InDetPerfPlot_hitResidual::fill(const xAOD::TrackParticle& trkprt) {
 				 const int region = result_region.at(idx);
 				 // const int layer = result_iLayer.at(idx);
 				 const int width = result_phiWidth.at(idx);
-				 const float residualLocX = result_residualLocX.at(idx);
+				 const float residualLocX = result_residualLocX.at(idx); 
 				 const float pullLocX = result_pullLocX.at(idx);
 				 const float residualLocY = result_residualLocY.at(idx);
 				 const float pullLocY = result_pullLocY.at(idx);
 				if ((det == INVALID_DETECTOR) or (region==INVALID_REGION)) continue;
+				if ((region == ENDCAP) and (det == IBL)) continue; //Endcap does not have ibl
 				(m_residualx[det][region])->Fill(residualLocX);
-				if (not std::isnan(residualLocY)) (m_residualy[det][region])->Fill(residualLocY);
+			      
+				if (not std::isnan(residualLocY) and !( det == SCT || det == TRT)){ //SCT & TRT does not have LocY
+					(m_residualy[det][region])->Fill(residualLocY);
+				}
 				(m_residualpullx[det][region])->Fill(pullLocX);
-				if (not std::isnan(pullLocY)) (m_residualpully[det][region])->Fill(pullLocY);
+				if (not std::isnan(pullLocY) and !( det == SCT || det == TRT)){ //SCT & TRT does not have LocY
+					(m_residualpully[det][region])->Fill(pullLocY);
+				}
 				if ((det == TRT) or (det == DBM) or (width<0)){
 					continue;
 				}
-				if (width == 1){ 
+				if (width == 1){
 					(m_residualx_1hit[det][region])->Fill(residualLocX);
-					if (not std::isnan(residualLocY)) (m_residualy_1hit[det][region])->Fill(residualLocY);
+					if (not std::isnan(residualLocY)and !( det == SCT || det == TRT)) {
+						(m_residualy_1hit[det][region])->Fill(residualLocY);
+					}
 				} else {
 				(m_residualx_2ormorehits[det][region])->Fill(residualLocX);
-				if (not std::isnan(residualLocY)) (m_residualy_2ormorehits[det][region])->Fill(residualLocY);
-
+				if (not std::isnan(residualLocY)and !( det == SCT || det == TRT)){
+					(m_residualy_2ormorehits[det][region])->Fill(residualLocY);
+				}
 				}
 			}
 		}
diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_hitResidual.h b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_hitResidual.h
index 681e89aebb409ae952823ddcdd34cc112d10ddb3..8c647808e967b8b6db363d22e6cff2845f79b186 100644
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_hitResidual.h
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_hitResidual.h
@@ -39,7 +39,7 @@ public:
 	
 private:
 	//enum copied from the hitDecorator tool in InDetPhysValMonitoring
-  enum Subdetector{INVALID_DETECTOR=-1, BLAYER, PIXEL, SCT, TRT, DBM, N_SUBDETECTORS};
+  enum Subdetector{INVALID_DETECTOR=-1, IBL, PIXEL, SCT, TRT, DBM, N_SUBDETECTORS};
   enum Region{INVALID_REGION=-1, BARREL, ENDCAP,N_REGIONS};
   
   void initializePlots();
diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_res.h b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_res.h
index ad918b2301926cc4e8856867748fff664532fef2..4ced581bfa518fcf02ab1993c74ec2a860b51f5e 100644
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_res.h
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_res.h
@@ -48,10 +48,9 @@ private:
   unsigned int m_trackEtaBins;
   float m_etaMin, m_etaMax;
   //float m_truthEtaCut;
-  //int nBins, m_yBins;
+  
   unsigned int m_PtBins;
   float m_PtMin, m_PtMax;
-  //double m_Pt_logmin, m_Pt_logmax;
 
   //double mean;
 
diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_resITk.cxx b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_resITk.cxx
index 02aa301f1c86ee17408bdc01e76111d78c497248..a6e5666521150a0029c669caec8f4052e7add55c 100644
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_resITk.cxx
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPerfPlot_resITk.cxx
@@ -4,7 +4,7 @@
 
 /**
  * @file InDetPerfPlot_resITk.cxx
- * @author me!
+ * @author me!  WHO?! :P
 **/
 
 #include "InDetPerfPlot_resITk.h"
@@ -582,7 +582,7 @@ void InDetPerfPlot_resITk::makeResolutions(TH3* h, TH1* hres_eta[4][4], TH1* hre
 		}
 	}
 
-	for(unsigned int ipt = 0; ipt < 5; ipt++){
+	for(unsigned int ipt = 0; ipt < 4; ipt++){
 		for(unsigned int ieta = 0; ieta < m_nEtaBins; ieta++){
 			std::string tmpName = h->GetName() + std::string("pz_binPt") + std::to_string(ipt+1) + std::string("pz_binEta") + std::to_string(ieta+1);
 			TH1D *tmp = (TH1D*)h->ProjectionZ(tmpName.c_str(),h->GetXaxis()->FindBin(BinPt[ipt]),h->GetXaxis()->FindBin(BinPt[ipt+1]),h->GetYaxis()->FindBin(m_EtaBins[ieta]),h->GetYaxis()->FindBin(m_EtaBins[ieta+1]));
diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPhysHitDecoratorTool.cxx b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPhysHitDecoratorTool.cxx
index f2f3238465e0bc6bfc669075cd25a72c55b3c0f1..a88253eda2fd4c2c64ca3474b3cd2e86ecab402e 100644
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPhysHitDecoratorTool.cxx
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPhysHitDecoratorTool.cxx
@@ -176,7 +176,7 @@ InDetPhysHitDecoratorTool::decorateTrack(const xAOD::TrackParticle & particle, c
 					//copy-paste from original
 					if (hit && m_isUnbiased) {
 						// Cluster width determination
-						if((det == PIXEL) or (det==SCT)) {
+						if((det == IBL) or (det == PIXEL) or (det==SCT)) {
 							const InDet::SiCluster* pCluster = dynamic_cast <const InDet::SiCluster*>(hit->prepRawData());
 							if(pCluster){
 								InDet::SiWidth width = pCluster->width();
@@ -187,7 +187,7 @@ InDetPhysHitDecoratorTool::decorateTrack(const xAOD::TrackParticle & particle, c
 					}
 					//end copy-paste
 				  thisResult=std::make_tuple(det, r, iLayer, residualLocX, pullLocX, residualLocY, pullLocY, phiWidth);
-				  ATH_MSG_DEBUG ("**dimension: result "<<det<<":"<<r<<":"<<residualPull->dimension()<<":"<<iLayer<<", "<<residualLocX<<", "<<pullLocX<<", "<<residualLocY<<", "<<pullLocY<<", "<<phiWidth );
+				  ATH_MSG_DEBUG ("**dimension: result "<<det<<":"<<r<<":"<<residualPull->dimension()<<":"<<iLayer<<", "<<residualLocX<<", "<<pullLocX<<",: "<<residualLocY<<", "<<pullLocY<<", "<<phiWidth );
 				  result.push_back(thisResult);
 				  //must delete the pointers?
 				} else {
@@ -242,7 +242,7 @@ InDetPhysHitDecoratorTool::decideDetectorRegion(const Identifier & id, Subdetect
 	const int normalBarrel(0);
 	const int upgradedBarrel(1);
 	const int normalTrtBarrel(1);
-	const int dbm(2);
+	const int dbm(4);
 
 	det = INVALID_DETECTOR;//default
 	r = INVALID_REGION;
@@ -251,7 +251,7 @@ InDetPhysHitDecoratorTool::decideDetectorRegion(const Identifier & id, Subdetect
 	//following the logic in the original code, should be reviewed!
 	if (m_idHelper->is_pixel(id)) {
 	  bec = abs(m_pixelID->barrel_ec(id));
-	  if (bec == dbm)
+		if (bec == dbm)
 	    det=DBM;
 	  else
 	    det=PIXEL;
@@ -262,9 +262,9 @@ InDetPhysHitDecoratorTool::decideDetectorRegion(const Identifier & id, Subdetect
 	//check this specifically
 	if (det==PIXEL) {
 		bec = abs(m_pixelID->barrel_ec(id));
-		r= (bec==normalBarrel)?(BARREL):(ENDCAP);
+	  r= (bec==normalBarrel)?(BARREL):(ENDCAP);
 		layer = m_pixelID->layer_disk(id);
-		if (layer == 0) det=BLAYER;
+		if (layer == 0) det=IBL;
 	}
 	/** cf. Miriam's code 
 	if (det==PIXEL) {
diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPhysHitDecoratorTool.h b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPhysHitDecoratorTool.h
index b1e9eb00b30e5d240b5883aa441f5c2bf5a5de90..cd1a44677d08b49bdb03ff2923c3345ce04b01cc 100644
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPhysHitDecoratorTool.h
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPhysHitDecoratorTool.h
@@ -33,7 +33,7 @@ class IResidualPullCalculator;
 //class to decorate xAOD::TruthParticles with additional information required by validation
 class InDetPhysHitDecoratorTool:virtual public IInDetPhysValDecoratorTool, public AthAlgTool{
 public:
-   enum Subdetector{INVALID_DETECTOR=-1, BLAYER, PIXEL, SCT, TRT, DBM, N_SUBDETECTORS};
+   enum Subdetector{INVALID_DETECTOR=-1, IBL, PIXEL, SCT, TRT, DBM, N_SUBDETECTORS};
    enum Region{INVALID_REGION=-1, BARREL, ENDCAP};
 	 InDetPhysHitDecoratorTool(const std::string& type,const std::string& name,const IInterface* parent);
 	 virtual ~InDetPhysHitDecoratorTool ();
diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPhysValLargeD0Tool.cxx b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPhysValLargeD0Tool.cxx
index fcdadc4083b5e2226c23ab839735f808d27071e2..8465046915d02b7afacd86df454bae7d0f8ffc71 100644
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPhysValLargeD0Tool.cxx
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPhysValLargeD0Tool.cxx
@@ -35,7 +35,6 @@
 #include "xAODTruth/TruthParticleContainer.h"
 #include "xAODTruth/TruthVertexContainer.h"
 
-
 //#include <unordered_map>
 
 using std::pair;
@@ -188,7 +187,7 @@ InDetPhysValLargeD0Tool::fillHistograms()
     ++nSelectedTracks;
 
     // * Get associated truth particle and match probability.
-    //const xAOD::TruthParticle * associatedTruth = getTruthPtr(*thisTrack);
+    const xAOD::TruthParticle * associatedTruth = getTruthPtr(*thisTrack);
     float prob = getMatchingProbability(*thisTrack);
 
     //This is where the BMR, Fake, and Really Fake fillers need to go.
@@ -205,21 +204,25 @@ InDetPhysValLargeD0Tool::fillHistograms()
     m_LargeD0Plots->fillRF(*thisTrack, RF_w);      
 
     bool isFake = (prob < minProbEffLow);
-    // * Distributions for all particles, regardless of fake status.
-    m_LargeD0Plots->fill(*thisTrack);
-    if(isFake) 
-    {
-      // * Distributions for only fake tracks.
-      // (Necessary, or should this simply be included under 'fillFakeRate'?)
-      m_LargeD0Plots->fillFake(*thisTrack);
-    } 
-    else
-    {
-      // * Distributions for non fake tracks.
-      m_LargeD0Plots->fill(*thisTrack);
+    bool hasTruthLink = !(associatedTruth == nullptr);
+    int barcode = 0;
+    //bool isPrimary = false;
+
+    if (hasTruthLink) {
+      barcode = associatedTruth->barcode();
     }
+
     // * Fake rate plots, using 'fake' flag.
-    m_LargeD0Plots->fillFakeRate(*thisTrack, isFake);
+    m_LargeD0Plots->fillFakeRate(*thisTrack, isFake, hasTruthLink);
+
+    // * Distributions for only fake tracks.
+    if(isFake) {
+      m_LargeD0Plots->fillFake(*thisTrack);
+    }
+    else {
+      // * Distributions for non-fake tracks.
+      m_LargeD0Plots->fill(*thisTrack,barcode);
+    }
 
 
   } // END: Main track loop.
@@ -288,38 +291,8 @@ InDetPhysValLargeD0Tool::fillHistograms()
 	}
 	m_LargeD0Plots->pro_fill(*thisTruth, PF_w);
 	// end of bestMatch >= minProbEffHigh
-      
-	// * Efficiencies.
-	/**
-           For standard tracking, the efficiency is defined as:
-
-             number of truth particles reconstructed by standard tracking
-             ------------------------------------------------------------
-                             number of ALL truth particles
-
-           For LRT, the efficiency is defined as:
-
-                             number of truth particles reconstructed by LRT
-             -----------------------------------------------------------------------------------
-             number of all truth particles which haven't been reconstructed by standard tracking
-
-	*/
 
-	//bool standardTrack = !largeD0Track; //unused
 	m_LargeD0Plots->fillEfficiency(*thisTruth,reconstructed,largeD0Track,isSignal(thisTruth));
-	/*
-	m_LargeD0Plots->fillEfficiency(*thisTruth,			\
-				       reconstructed && standardTrack,	\
-				       false,				\
-				       isSignal(thisTruth));
-
-	if (reconstructed && standardTrack) { continue; }
-
-	m_LargeD0Plots->fillEfficiency(*thisTruth,                    \
-				       reconstructed && largeD0Track, \
-				       true,                          \
-				       isSignal(thisTruth));
-	*/
       } // END: loop truthParticles
     } // END: if truthParticles
 
@@ -374,6 +347,12 @@ bool InDetPhysValLargeD0Tool::isLargeD0Track (const xAOD::TrackParticle* tp) {
   return false;
 }
 
+//bool InDetPhysValLargeD0Tool::isPrimaryTrack (const xAOD::TruthParticle* tp) {
+//  if ((tp->barcode() > 0) and (tp->barcode() < 200000)) return true;
+//  else return false;
+//}
+
+
 bool InDetPhysValLargeD0Tool::isSignal (const xAOD::TruthParticle* p) {
   if (m_signalIds.empty()) { return false; }
   if ((p != NULL) &&         \
@@ -383,21 +362,23 @@ bool InDetPhysValLargeD0Tool::isSignal (const xAOD::TruthParticle* p) {
       (p->nParents() > 0) && \
       (p->isCharged())) {
     const xAOD::TruthParticle *parent = p->parent();
-    while ((parent != NULL) &&                  \
-           (parent->hasProdVtx()) &&            \
-           (parent->nParents() > 0)) {
-      if ( (std::find(m_signalIds.begin(),                              \
+    if (parent == NULL) { return false; }
+    do {
+      if ( (std::find(m_signalIds.begin(),			\
                       m_signalIds.end(),                                \
                       parent->absPdgId()) != m_signalIds.end())) { return true; }
       parent = parent->parent();
-    }
+    } while ((parent != NULL) &&                  \
+	     (parent->hasProdVtx()) &&            \
+	     (parent->nParents() > 0));
+
   }
   return false;
 }
 
 bool InDetPhysValLargeD0Tool::MinTrackSelection (const xAOD::TrackParticle* tp) {
   float maxEta = 2.5;
-  float minPt = 1000;
+  float minPt = 0;
   if ( (tp->pt()>1e-7 ? (fabs(tp->eta()) < maxEta) : false) &&  \
        (tp->pt() > minPt) ) return true;
   else return false;
diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPhysValMonitoringTool.cxx b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPhysValMonitoringTool.cxx
index 4093a25d3f326dedbd73ee1e040cbebb45cdaa54..61a681473d58a1483e2505ee34aff9a87491ac68 100644
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPhysValMonitoringTool.cxx
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetPhysValMonitoringTool.cxx
@@ -163,14 +163,14 @@ InDetPhysValMonitoringTool::fillHistograms(){
     unsigned int nSelectedTracks(0), num_truthmatch_match(0);
 
     // the truth matching probability must not be <= 0., otherwise the tool will seg fault in case of missing truth (e.g. data):
-    const float minProbEffReallyLow(0.20); //temporary probability for plot comparison with PRTT
+    // unused const float minProbEffReallyLow(0.20); //temporary probability for plot comparison with PRTT
     const float minProbEffLow(0.50); //if the probability of a match is less than this, we call it a fake
     const float minProbEffHigh(0.80); //if the probability of a match is higher than this, it is either a match or a duplicate
     //
 
     //Main track loop, filling Track-only, Track 'n' Truth with good matching probability (meas, res, & pull), and Fakes     
     for(const auto & thisTrack: *ptracks){
-      m_monPlots->fillSpectrum(*thisTrack);
+      m_monPlots->fillSpectrum(*thisTrack); //This one needs prob anyway, why not rearrange & eliminate getMatchingProbability from RttPlots? 5-17-16
       if(m_useTrackSelection){   //0 means z0, d0 cut is wrt beam spot - put in a PV to change this   
         if( !(m_trackSelectionTool->accept(*thisTrack, 0))) continue;
       }
@@ -185,7 +185,7 @@ InDetPhysValMonitoringTool::fillHistograms(){
       if(prob < minProbEffHigh){
 	BMR_w = 1;
       }
-      if(prob < minProbEffReallyLow){
+      if(prob < minProbEffLow){
 	RF_w =  1;
       }
 
@@ -326,7 +326,6 @@ InDetPhysValMonitoringTool::fillHistograms(){
       }
     }
 
-
     if (num_truthmatch_match == 0){
       ATH_MSG_DEBUG("NO TRACKS had associated truth.");
     } else {
@@ -377,12 +376,19 @@ InDetPhysValMonitoringTool::fillHistograms(){
 	    if(m_onlyInsideOutTracks and !(isInsideOut(*thisTrack))) continue; //not an inside out track
 	    if(thisJet->p4().DeltaR( thisTrack->p4() ) > m_maxTrkJetDR ) continue;
 	    
-	    if(m_monPlots->filltrkInJetPlot(*thisTrack, *thisJet)){                            
-	      m_monPlots->fillSimpleJetPlots(*thisTrack);                                      //Fill all the simple jet plots        
+	    if(m_monPlots->filltrkInJetPlot(*thisTrack, *thisJet)){                         
+	      float trkInJet_w(0), trkInJet_BMR(1);
+	      float prob = getMatchingProbability(*thisTrack);
+	      if(prob > minProbEffHigh){
+		trkInJet_w = 1;
+		trkInJet_BMR = 0;
+	      }
+	      m_monPlots->jet_fill(*thisTrack, *thisJet, trkInJet_w);                          //fill trkinjeteff plots 
+	      m_monPlots->jetBMR(*thisTrack, *thisJet, trkInJet_BMR);                          //fin in track in jet bad match rate plots
+	      m_monPlots->fillSimpleJetPlots(*thisTrack, prob);                                      //Fill all the simple jet plots        
 	      const xAOD::TruthParticle * associatedTruth = getTruthPtr(*thisTrack);           //Get the associated truth for this track
 	      if (associatedTruth) {
 		m_monPlots->fillJetResPlots(*thisTrack, *associatedTruth, *thisJet);             //Fill jet pull & resolution plots
-		float prob = getMatchingProbability(*thisTrack);
 		int barcode = associatedTruth->barcode();
 		m_monPlots->fillJetHitsPlots(*thisTrack, prob, barcode);                         //Fill the two extra plots
 		if( m_truthSelectionTool->accept(associatedTruth) ){                             //Fill the Jet plots with "Eff" in the name
diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetRttLargeD0Plots.cxx b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetRttLargeD0Plots.cxx
index 489464be87a05f62fa974b35d5207e8f7b77cc8e..d2b90bb03458d7e58a28eaeb9c6853cc41987d04 100644
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetRttLargeD0Plots.cxx
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetRttLargeD0Plots.cxx
@@ -2,7 +2,7 @@
   Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
-/**
+/*
  * @file InDetRttLargeD0Plots.cxx
  * @author shaun roe
 **/
@@ -39,8 +39,15 @@ InDetRttLargeD0Plots::InDetRttLargeD0Plots(InDetPlotBase* pParent, const std::st
 
     // hits plots
     m_hitsPlots_nonfake_st(this,"LargeD0/HitsPlots/StandardTracks/NonFakeTracks"),
-    m_hitsPlots_nonfake_ld0(this,"LargeD0/HitsPlots/LargeD0Tracks/NonFakeTracks"),
+    m_hitsPlots_matching_truthLink_primary_st(this,"LargeD0/HitsPlots/StandardTracks/Matching/TruthLink/Primary"),
+    m_hitsPlots_matching_truthLink_secondary_st(this,"LargeD0/HitsPlots/StandardTracks/Matching/TruthLink/Secondary"),
+    m_hitsPlots_matching_NotruthLink_st(this,"LargeD0/HitsPlots/StandardTracks/Matching/NotruthLink"),
     m_hitsPlots_fake_st(this,"LargeD0/HitsPlots/StandardTracks/FakeTracks"),
+
+    m_hitsPlots_nonfake_ld0(this,"LargeD0/HitsPlots/LargeD0Tracks/NonFakeTracks"),
+    m_hitsPlots_matching_truthLink_primary_ld0(this,"LargeD0/HitsPlots/LargeD0Tracks/Matching/TruthLink/Primary"),
+    m_hitsPlots_matching_truthLink_secondary_ld0(this,"LargeD0/HitsPlots/LargeD0Tracks/Matching/TruthLink/Secondary"),
+    m_hitsPlots_matching_NotruthLink_ld0(this,"LargeD0/HitsPlots/LargeD0Tracks/Matching/NotruthLink"),
     m_hitsPlots_fake_ld0(this,"LargeD0/HitsPlots/LargeD0Tracks/FakeTracks"),
 
     // basic plots
@@ -48,7 +55,14 @@ InDetRttLargeD0Plots::InDetRttLargeD0Plots(InDetPlotBase* pParent, const std::st
     m_basicPlot_nonfake_ld0(this,"LargeD0/basicPlot/LargeD0Tracks/NonFakeTracks"),
     m_basicPlot_fake_st(this,"LargeD0/basicPlot/StandardTracks/FakeTracks"),
     m_basicPlot_fake_ld0(this,"LargeD0/basicPlot/LargeD0Tracks/FakeTracks"),
-    m_basicPlot_truth(this, "LargeD0/basicPlot/TruthTracks/"),
+    m_basicPlot_truth(this, "LargeD0/basicPlot/TruthTracks"),
+
+    m_basicPlot_primary_truth(this, "LargeD0/basicPlot/TruthTracksPrimary"),
+    m_basicPlot_secondary_truth(this, "LargeD0/basicPlot/TruthTracksSecondary"),
+
+    m_basicPlot_pileup_primary_truth(this, "LargeD0/basicPlot/Pileup/TruthTracksPrimary"),
+    m_basicPlot_pileup_secondary_truth(this, "LargeD0/basicPlot/Pileup/TruthTracksSecondary"),
+
 
     // pt plots
     m_ptPlot_nonfake_st(this,"LargeD0/ptPlot/StandardTracks/NonFakeTracks"),
@@ -56,6 +70,11 @@ InDetRttLargeD0Plots::InDetRttLargeD0Plots(InDetPlotBase* pParent, const std::st
     m_ptPlot_fake_st(this,"LargeD0/ptPlot/StandardTracks/FakeTracks"),
     m_ptPlot_fake_ld0(this,"LargeD0/ptPlot/LargeD0Tracks/FakeTracks"),
 
+    m_ptPlot_primary(this,"LargeD0/ptPlot/TruthTracks/Primary"),
+    m_ptPlot_secondary(this,"LargeD0/ptPlot/TruthTracks/Secondary"),
+    m_ptPlot_pileup_primary(this,"LargeD0/ptPlot/Pileup/TruthTracks/Primary"),
+    m_ptPlot_pileup_secondary(this,"LargeD0/ptPlot/Pileup/TruthTracks/Secondary"),
+
     // Reco info plots
     m_TrackRecoInfoPlots_nonfake_st(this,"LargeD0/TrackRecoInfoPlots/StandardTracks/NonFakeTracks"),
     m_TrackRecoInfoPlots_nonfake_ld0(this,"LargeD0/TrackRecoInfoPlots/LargeD0Tracks/NonFakeTracks"),
@@ -66,6 +85,11 @@ InDetRttLargeD0Plots::InDetRttLargeD0Plots(InDetPlotBase* pParent, const std::st
     m_fakePlots    (this,"LargeD0/FakeRatePlots/StandardTracks"),
     m_fakePlotsLRT (this,"LargeD0/FakeRatePlots/LargeD0Tracks"),
 
+    m_fakePlots_noTruthLink    (this,"LargeD0/FakeRatePlots/StandardTracks/noTruthLink"),
+    m_fakePlots_noTruthLink_matched_05    (this,"LargeD0/FakeRatePlots/StandardTracks/noTruthLink_matched_05"),
+    m_fakePlots_noTruthLink_LRT    (this,"LargeD0/FakeRatePlots/LargeD0Tracks/noTruthLink"),
+    m_fakePlots_noTruthLink_matched_05_LRT    (this,"LargeD0/FakeRatePlots/LargeD0Tracks/noTruthLink_matched_05"),
+
     // Efficiency plots
     m_effPlotsStd            (this, "LargeD0/EffPlots/StandardTracks/All"),
     m_effPlotsStdSignal      (this, "LargeD0/EffPlots/StandardTracks/Signal"),
@@ -77,8 +101,6 @@ InDetRttLargeD0Plots::InDetRttLargeD0Plots(InDetPlotBase* pParent, const std::st
     m_effPlotsAllSignal      (this, "LargeD0/EffPlots/AllTracks/Signal"),
     m_effPlots               (this, "LargeD0/EffPlots"),
 
-    
-
     //=============================================================
     // plots not used for LargeD0
     //=============================================================
@@ -120,19 +142,6 @@ InDetRttLargeD0Plots::InDetRttLargeD0Plots(InDetPlotBase* pParent, const std::st
 
 void
 InDetRttLargeD0Plots::fill(const xAOD::TrackParticle& particle){
-  // filling non-fake tracks
-  if (isLargeD0Track(particle)) {
-    m_hitsPlots_nonfake_ld0.fill(particle);
-    m_basicPlot_nonfake_ld0.fill(particle);
-    m_ptPlot_nonfake_ld0.fill(particle);
-    m_TrackRecoInfoPlots_nonfake_ld0.fill(particle);
-  }
-  else {
-    m_hitsPlots_nonfake_st.fill(particle);
-    m_basicPlot_nonfake_st.fill(particle);
-    m_ptPlot_nonfake_st.fill(particle);
-    m_TrackRecoInfoPlots_nonfake_st.fill(particle);
-  }
 
   m_hitResidualPlot.fill(particle);
   //fill pt plots
@@ -145,6 +154,50 @@ InDetRttLargeD0Plots::fill(const xAOD::TrackParticle& particle){
   m_hitsDetailedPlots.fill(particle);
 }
 
+void
+InDetRttLargeD0Plots::fill(const xAOD::TrackParticle& particle, const int barcode){
+
+  if (isLargeD0Track(particle)) {
+    m_basicPlot_nonfake_ld0.fill(particle);
+    m_ptPlot_nonfake_ld0.fill(particle);
+    m_TrackRecoInfoPlots_nonfake_ld0.fill(particle);
+    m_hitsPlots_nonfake_ld0.fill(particle);
+
+    // primary tracks
+    if ((barcode > 0) and (barcode <200000)) {
+      m_hitsPlots_matching_truthLink_primary_ld0.fill(particle);
+    }
+    // secondary tracks
+    if (barcode >= 200000) {
+      m_hitsPlots_matching_truthLink_secondary_ld0.fill(particle);
+    }
+    // no truth link
+    if (barcode == 0){
+      m_hitsPlots_matching_NotruthLink_ld0.fill(particle);
+    }
+  }
+  else {
+    m_basicPlot_nonfake_st.fill(particle);
+    m_ptPlot_nonfake_st.fill(particle);
+    m_TrackRecoInfoPlots_nonfake_st.fill(particle);
+    m_hitsPlots_nonfake_st.fill(particle);
+
+    // primary tracks
+    if ((barcode > 0) and (barcode <200000)) {
+      m_hitsPlots_matching_truthLink_primary_st.fill(particle);
+    }
+    // secondary tracks
+    if (barcode >= 200000) {
+      m_hitsPlots_matching_truthLink_secondary_st.fill(particle);
+    }
+    // no truth link
+    if (barcode == 0){
+      m_hitsPlots_matching_NotruthLink_st.fill(particle);
+    }
+
+  }
+
+}
 //===================================================================================
 // In the loop over all track particles
 // filling track particle with truthMatching < minProbEffHigh (fake tracks)
@@ -175,6 +228,16 @@ void InDetRttLargeD0Plots::fillFake(const xAOD::TrackParticle& trackParticle){
 void
 InDetRttLargeD0Plots::fillTruth(const xAOD::TruthParticle& truth){
   m_basicPlot_truth.fill(truth);
+
+ if ((truth.barcode() > 0) and (truth.barcode() < 200000)) {
+    m_basicPlot_primary_truth.fill(truth);
+    m_ptPlot_primary.fill(truth);
+ }
+ else {
+    m_basicPlot_secondary_truth.fill(truth);
+    m_ptPlot_secondary.fill(truth);
+ }
+
 }
 
 void
@@ -189,26 +252,17 @@ InDetRttLargeD0Plots::fillEfficiency (const xAOD::TruthParticle& truth, \
 				      const bool isLargeD0Track,	\
 				      const bool isSignal) {
 
-  bool   isStandardTrack = !isLargeD0Track;
-
-  float weight(1);
-  if(!(isReconstructed)) weight = 0;
-  m_effPlotsAll.pro_fill(truth, weight);
-  if(!(isStandardTrack)) weight = 0;
-  m_effPlotsStd.pro_fill(truth, weight);
-  if(!(isLargeD0Track)) weight = 0;
-  m_effPlotsLRT.pro_fill(truth, weight);
+  unsigned int rec = (unsigned int) isReconstructed;
+  unsigned int LRT = (unsigned int) isLargeD0Track;
 
+  m_effPlotsAll.pro_fill(truth, rec);
+  m_effPlotsStd.pro_fill(truth, rec and not LRT);
+  m_effPlotsLRT.pro_fill(truth, rec and LRT);
 
   if(isSignal){
-    float sig_weight(1);
-    if(!(isReconstructed)) weight = 0;
-    m_effPlotsAllSignal.pro_fill(truth, sig_weight);
-    if(!(isStandardTrack)) weight = 0;
-    m_effPlotsStdSignal.pro_fill(truth, sig_weight);
-    if(!(isLargeD0Track)) weight = 0;
-    m_effPlotsLRTSignal.pro_fill(truth, sig_weight);
-
+    m_effPlotsAllSignal.pro_fill(truth, rec);
+    m_effPlotsStdSignal.pro_fill(truth, rec and not LRT);
+    m_effPlotsLRTSignal.pro_fill(truth, rec and LRT);
   }
 
   //Not entirely sure what the LRTnonStd conditions should be
@@ -283,10 +337,18 @@ InDetRttLargeD0Plots::fillCounter(const unsigned int freq, const InDetPerfPlot_n
 }
 
 void
-InDetRttLargeD0Plots::fillFakeRate(const xAOD::TrackParticle& particle, const bool match, const InDetPerfPlot_fakes::Category c){
+InDetRttLargeD0Plots::fillFakeRate(const xAOD::TrackParticle& particle, const bool match, const bool hasTruthLink, const InDetPerfPlot_fakes::Category c){
+
+  //unsigned int link = (unsigned int) hasTruthLink;
+
+
   if (isLargeD0Track(particle)) {
-    m_fakePlotsLRT.fill(particle, match, c);
+    if (hasTruthLink) m_fakePlotsLRT.fill(particle, match, c);
+    m_fakePlots_noTruthLink_matched_05_LRT.fill(particle, !(match) and !(hasTruthLink), c);
+    m_fakePlots_noTruthLink_LRT.fill(particle,!(hasTruthLink), c);
   } else {
-    m_fakePlots.fill(particle, match, c);
+    if (hasTruthLink) m_fakePlots.fill(particle, match, c);
+    m_fakePlots_noTruthLink_matched_05.fill(particle, !(match) and !(hasTruthLink), c);
+    m_fakePlots_noTruthLink.fill(particle, !(hasTruthLink), c);
   }
 }
diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetRttLargeD0Plots.h b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetRttLargeD0Plots.h
index 49054c88c1977fb85c8c848aac0c53395e4f6928..9d3e6c06b40be42069168d7f13a532994a6c7098 100644
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetRttLargeD0Plots.h
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetRttLargeD0Plots.h
@@ -52,6 +52,7 @@ public:
   //void fill(const xAOD::TrackParticle& particle, const xAOD::TruthParticle& truthParticle); // not used. SC
   ///fill for things needing track only
   void fill(const xAOD::TrackParticle& particle);
+  void fill(const xAOD::TrackParticle& particle, const int barcode);
   ///fill for things needing truth only
   void fill(const xAOD::TruthParticle& particle);
   ///fill for things needing all truth - not just the ones from the reco tracks
@@ -78,7 +79,7 @@ public:
   ///fill for Counters
   void fillCounter(const unsigned int freq, const InDetPerfPlot_nTracks::CounterCategory  counter);
   ///fill for fakes
-  void fillFakeRate(const xAOD::TrackParticle& particle, const bool isFake, const InDetPerfPlot_fakes::Category c = InDetPerfPlot_fakes::ALL);
+  void fillFakeRate(const xAOD::TrackParticle& particle, const bool isFake, const bool hasTruthLink, const InDetPerfPlot_fakes::Category c = InDetPerfPlot_fakes::ALL);
 
   ///fill for fakes (Siinn)
   void fillFake(const xAOD::TrackParticle& particle);
@@ -92,8 +93,15 @@ private:
 
        // hit plots
        Trk::IDHitPlots m_hitsPlots_nonfake_st;
-       Trk::IDHitPlots m_hitsPlots_nonfake_ld0;
+       Trk::IDHitPlots m_hitsPlots_matching_truthLink_primary_st;
+       Trk::IDHitPlots m_hitsPlots_matching_truthLink_secondary_st;
+       Trk::IDHitPlots m_hitsPlots_matching_NotruthLink_st;
        Trk::IDHitPlots m_hitsPlots_fake_st;
+
+       Trk::IDHitPlots m_hitsPlots_nonfake_ld0;
+       Trk::IDHitPlots m_hitsPlots_matching_truthLink_primary_ld0;
+       Trk::IDHitPlots m_hitsPlots_matching_truthLink_secondary_ld0;
+       Trk::IDHitPlots m_hitsPlots_matching_NotruthLink_ld0;
        Trk::IDHitPlots m_hitsPlots_fake_ld0;
 
        // basic plots
@@ -103,12 +111,25 @@ private:
        InDetBasicPlot m_basicPlot_fake_ld0;
        InDetBasicPlot m_basicPlot_truth;
 
+       InDetBasicPlot m_basicPlot_primary_truth;
+       InDetBasicPlot m_basicPlot_secondary_truth;
+
+       InDetBasicPlot m_basicPlot_pileup_primary_truth;
+       InDetBasicPlot m_basicPlot_pileup_secondary_truth;
+
        // pT plots
        InDetPerfPlot_Pt m_ptPlot_nonfake_st;
        InDetPerfPlot_Pt m_ptPlot_nonfake_ld0;
        InDetPerfPlot_Pt m_ptPlot_fake_st;
        InDetPerfPlot_Pt m_ptPlot_fake_ld0;
 
+       InDetPerfPlot_Pt m_ptPlot_primary;
+       InDetPerfPlot_Pt m_ptPlot_secondary;
+
+       InDetPerfPlot_Pt m_ptPlot_pileup_primary;
+       InDetPerfPlot_Pt m_ptPlot_pileup_secondary;
+
+
        // Reco info plots
        Trk::RecoInfoPlots m_TrackRecoInfoPlots_nonfake_st;
        Trk::RecoInfoPlots m_TrackRecoInfoPlots_nonfake_ld0;
@@ -119,6 +140,12 @@ private:
        InDetPerfPlot_ExtendedFakes m_fakePlots;
        InDetPerfPlot_ExtendedFakes m_fakePlotsLRT;
 
+       InDetPerfPlot_ExtendedFakes m_fakePlots_noTruthLink;
+       InDetPerfPlot_ExtendedFakes m_fakePlots_noTruthLink_matched_05;
+
+       InDetPerfPlot_ExtendedFakes m_fakePlots_noTruthLink_LRT;
+       InDetPerfPlot_ExtendedFakes m_fakePlots_noTruthLink_matched_05_LRT;
+
        // Efficiency plots
        InDetPerfPlot_Eff m_effPlotsStd;
        InDetPerfPlot_Eff m_effPlotsStdSignal;
diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetRttPlots.cxx b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetRttPlots.cxx
index 642c1abb8b16bba1f823792c35ddf5c77acea095..17c7ccc45754dd117be5c734dcf9049278410fc9 100644
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetRttPlots.cxx
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetRttPlots.cxx
@@ -60,6 +60,7 @@ InDetRttPlots::InDetRttPlots(InDetPlotBase* pParent, const std::string & sDir):I
     m_trkInJetHitsDetailedPlots(this,"Tracks/SelectedGoodJetTracks"),                   
     m_trkInJetFakePlots(this,"Tracks/SelectedFakeJetTracks"),
     m_trkInJetResPlots(this,"Tracks/SelectedGoodJetTracks"),
+    m_trkInJetEffPlots(this,"Tracks/SelectedGoodJetTracks"),
     m_trkInJetHighPtResPlots(this,"Tracks/SelectedGoodJetHighPtTracks"),
     m_trkInJetHitsFakeTracksPlots(this,"Tracks/SelectedFakeJetTracks"),
     m_trkInJetHitsMatchedTracksPlots(this,"Tracks/SelectedMatchedJetTracks"),
@@ -207,11 +208,13 @@ bool
 InDetRttPlots::filltrkInJetPlot(const xAOD::TrackParticle& particle, const xAOD::Jet& jet){
   bool pass = m_trkInJetPlot.fill(particle, jet);
   m_trkInJetPlot_highPt.fill(particle, jet);
+
+  //m_effPlots.jet_fill(particle, jet, weight);
   return pass;
 }
 
 void
-InDetRttPlots::fillSimpleJetPlots(const xAOD::TrackParticle& particle){
+InDetRttPlots::fillSimpleJetPlots(const xAOD::TrackParticle& particle, float prob){
   // the full suit of track plots                                                                                              
   m_trkInJetPtPlot.fill(particle);
   m_trkInJetPtEtaPlots.fill(particle);
@@ -220,12 +223,10 @@ InDetRttPlots::fillSimpleJetPlots(const xAOD::TrackParticle& particle){
   m_trkInJetHitsPlots.fill(particle);
   m_trkInJetHitsDetailedPlots.fill(particle);
 
-  float minProbEffLow(0.5);
-  float prob = getMatchingProbability(particle);
-
   if ( std::isnan(prob) ) { return; }
-  const bool isFake=(prob<minProbEffLow);
+  const bool isFake=(prob<m_truthProbLowThreshold);
   m_trkInJetFakePlots.fill(particle, isFake, InDetPerfPlot_fakes::ALL);
+  
 }
 
 void
@@ -256,21 +257,21 @@ InDetRttPlots::fillJetResPlots(const xAOD::TrackParticle& particle, const xAOD::
   } // m_moreJetPlots  
 }
 
-
-void 
-InDetRttPlots::fillJetFakes(const xAOD::TrackParticle& particle){
-  const bool isFake = true;
-  m_trkInJetFakePlots.fill(particle, isFake, InDetPerfPlot_fakes::ALL);
-  //m_trkInJetHitsFakeTracksPlots.fill(particle);                        //How is this one different from the above one?!
-}
-
-
 void
 InDetRttPlots::fillJetEffPlots(const xAOD::TruthParticle& truth, const xAOD::Jet& jet){
   m_trkInJetPlot.BookEffReco(truth,jet);         // fill hists with truth info!           
   m_trkInJetPlot_highPt.BookEffReco(truth,jet);  // fill hists with truth info! 
 }
 
+void
+InDetRttPlots::jet_fill(const xAOD::TrackParticle& track, const xAOD::Jet& jet, float weight){
+  m_trkInJetEffPlots.jet_fill(track, jet, weight);
+}
+
+void
+InDetRttPlots::jetBMR(const xAOD::TrackParticle& track, const xAOD::Jet& jet, float weight){
+  m_BadMatchRate.jetBMR(track, jet, weight);
+}
 
 void
 InDetRttPlots::fillJetTrkTruth(const xAOD::TruthParticle& truth, const xAOD::Jet& jet){
@@ -289,9 +290,3 @@ InDetRttPlots::fillJetTrkTruthCounter(const xAOD::Jet& jet){
     m_trkInJetPlot.fillEff(jet);
     m_trkInJetPlot_highPt.fillEff(jet);
 }
-/*
-void InDetRttPlots::SetPrimaryEtaCut( float eta ) { 
-  m_truthPrimaryEtaCut = eta; 
-  m_resPlots.SetEtaBinning( int(2*eta/0.25), -1*eta, eta ); //Isn't this hard-coded into res.cxx anyway?
-}
-*/
diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetRttPlots.h b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetRttPlots.h
index f0c18c83de57d7b4392a709f18743982dcabdec9..291c15cdddc1ef44b052be760513e975fa6570a8 100644
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetRttPlots.h
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDetRttPlots.h
@@ -52,7 +52,6 @@ class InDetRttPlots:public InDetPlotBase {
 public:
 	InDetRttPlots(InDetPlotBase * pParent, const std::string & dirName);
   void SetFillExtraTIDEPlots( bool fillthem ) { m_moreJetPlots = fillthem; }
-  //void SetPrimaryEtaCut( float eta ); //5-16-16: seems unnecessary, can probably erase w/out harm
 	///fill for things needing truth and track only
 	void fill(const xAOD::TrackParticle& particle, const xAOD::TruthParticle& truthParticle);
 	///fill for things needing track only
@@ -78,14 +77,14 @@ public:
 
 	//New set has replaced fillJetPlot
 	bool filltrkInJetPlot(const xAOD::TrackParticle& particle, const xAOD::Jet& jet);
-	void fillSimpleJetPlots(const xAOD::TrackParticle& particle);
-
+	void fillSimpleJetPlots(const xAOD::TrackParticle& particle, float prob);
 	void fillJetHitsPlots(const xAOD::TrackParticle& particle, float prob, int barcode);
-
 	void fillJetResPlots(const xAOD::TrackParticle& particle, const xAOD::TruthParticle& truth, const xAOD::Jet& jet);
-	void fillJetFakes(const xAOD::TrackParticle& particle);
 	void fillJetEffPlots(const xAOD::TruthParticle& truth, const xAOD::Jet& jet);
 
+	void jet_fill(const xAOD::TrackParticle& track, const xAOD::Jet& jet, float weight);
+	void jetBMR(const xAOD::TrackParticle& track, const xAOD::Jet& jet, float weight);
+
 	void fillJetPlotCounter(const xAOD::Jet& jet);
 	void fillJetTrkTruth(const xAOD::TruthParticle& truth, const xAOD::Jet& jet);
 	void fillJetTrkTruthCounter(const xAOD::Jet& jet);
@@ -141,6 +140,7 @@ private:
 	InDetPerfPlot_res*      m_trkInJetResPlotsDr0010;
 	InDetPerfPlot_res*      m_trkInJetResPlotsDr1020;
 	InDetPerfPlot_res*      m_trkInJetResPlotsDr2030;
+	InDetPerfPlot_Eff       m_trkInJetEffPlots;
 	InDetPerfPlot_res       m_trkInJetHighPtResPlots;
 	Trk::IDHitPlots         m_trkInJetHitsFakeTracksPlots;
 	Trk::IDHitPlots         m_trkInJetHitsMatchedTracksPlots;
diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDet_BadMatchRate.cxx b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDet_BadMatchRate.cxx
index 337c4984b57f12b4e8636e03da060d2e951722a3..c5bedb871b98e808db2211d4b08a038bacd18d62 100644
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDet_BadMatchRate.cxx
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDet_BadMatchRate.cxx
@@ -27,12 +27,11 @@ InDet_BadMatchRate::initializePlots(){
   book(m_BadMatchRate, "BadMatchRate");
   book(m_BMR_vs_logpt, "BadMatchRate_vs_logpt");
 
-  //Fake Rate plots, TMP < 50%
-  //book(m_trackeff_vs_eta, "trackeff_vs_eta");
-
   //Really Fake Rate plots, Truth Matching Probability < 20%
   book(m_ReallyFakeRate, "ReallyFakeRate");
 
+  //TrackinJet Bad Match Rate plots
+  book(m_trackinjet_badmatchrate_vs_dr_gr_j100, "trackinjet_badmatchrate_vs_dr_gr_j100");
 }
 
 void
@@ -46,13 +45,33 @@ InDet_BadMatchRate::fillBMR(const xAOD::TrackParticle& particle, float weight){
 }
 
 void
-InDet_BadMatchRate::fillRF(const xAOD::TrackParticle& particle, Float_t weight){
+InDet_BadMatchRate::fillRF(const xAOD::TrackParticle& particle, float weight){
   float trketa = particle.eta();
   //float trkpt = particle.pt();//unused
 
   m_ReallyFakeRate->Fill(trketa, weight);
 }
 
+void 
+InDet_BadMatchRate::jetBMR(const xAOD::TrackParticle& track, const xAOD::Jet& jet, float weight){
+  float jet_et = jet.pt()/1000.; //divide by 1000 to convert to GeV
+  //unused float trketa = track.eta();
+  //unused float trkphi = track.phi();
+
+  //unused float jeteta = jet.eta();
+  //unused float jetphi = jet.phi();
+
+  //float deta = trketa - jeteta;
+  //float dphi = trkphi - jetphi;
+
+  float dR = jet.p4().DeltaR( track.p4() ); 
+
+  if(jet_et > 100){
+    m_trackinjet_badmatchrate_vs_dr_gr_j100->Fill(dR, weight);
+  }
+
+}
+
 /*
 void InDet_BadMatchRate::finalizePlots(){
 }
diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDet_BadMatchRate.h b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDet_BadMatchRate.h
index 890e658791c706630ed9054fd8f1616d8c9ef13b..af044c7bbcc5a4971d1085ad8c9288fb8791065f 100644
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDet_BadMatchRate.h
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/InDet_BadMatchRate.h
@@ -14,7 +14,7 @@
 #include <string>
 #include "InDetPlotBase.h"
 #include "xAODTracking/TrackParticle.h"
-
+#include "xAODJet/Jet.h"
 #include "TProfile.h"
 
 class IToolSvc;
@@ -28,6 +28,8 @@ class InDet_BadMatchRate:public InDetPlotBase{
 
   void fillBMR(const xAOD::TrackParticle& particle, float weight);
   void fillRF(const xAOD::TrackParticle& particle, float weight);
+
+  void jetBMR(const xAOD::TrackParticle& track, const xAOD::Jet& jet, float weight);
   
  private:
   TProfile* m_BadMatchRate;
@@ -35,6 +37,8 @@ class InDet_BadMatchRate:public InDetPlotBase{
 
   TProfile* m_ReallyFakeRate;
 
+  TProfile* m_trackinjet_badmatchrate_vs_dr_gr_j100;
+
   void initializePlots();
   //void finalizePlots(); //I'm not 100% sure a finalize section is actually needed here
 };
diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/TrackTruthSelectionTool.cxx b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/TrackTruthSelectionTool.cxx
index fd87eb76720aa409581709b499b180415d1db3d0..98f6e814d8885477024d0cc779071d1db6eb3b27 100644
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/TrackTruthSelectionTool.cxx
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/TrackTruthSelectionTool.cxx
@@ -17,7 +17,7 @@ TrackTruthSelectionTool::TrackTruthSelectionTool(const std::string& name):
   
   //declareProperty( "Property", m_nProperty ); //example property declaration
   declareProperty("maxEta", m_maxEta = 2.5);
-  declareProperty("minPt",  m_minPt = 400); //4-4-16 normally 400, set to 300 for testing
+  declareProperty("minPt",  m_minPt = 400); //5-20-16: normally 400, set to 950 for testing
   declareProperty("maxPt",  m_maxPt = -1); 
   declareProperty("maxBarcode",  m_maxBarcode = 200e3); //4-7-16 normally 200e3, set to 100e3 for testing
   declareProperty("requireCharged",  m_requireCharged = true); //4-1-16 normally true, setting to false for testing
diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/test/InDetPhysValMonitoring_TestConfiguration.xml b/InnerDetector/InDetValidation/InDetPhysValMonitoring/test/InDetPhysValMonitoring_TestConfiguration.xml
index 98e3d90136473a656e4343fdee368dbefc95c012..a39eaa4c0d02942b785a188bce211f1a5504c994 100755
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/test/InDetPhysValMonitoring_TestConfiguration.xml
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/test/InDetPhysValMonitoring_TestConfiguration.xml
@@ -16,36 +16,36 @@
       </classification>
 
       <jobTransform userJobId="IdPhysValTtbar">
-         <doc>ttbar, mc10</doc>
+         <doc>ttbar, mc15</doc>
          <jobTransformJobName>
          IdPhysValTtbar
          </jobTransformJobName>
          <jobTransformCmd>
-            Reco_tf.py   --checkEventCount  False --ignoreErrors True --maxEvents 25 --valid True --inputRDOFile root://eosatlas//eos/atlas/atlascerngroupdisk/perf-idtracking/rtt/mc10_7TeV.105200.T1_McAtNlo_Jimmy.digit.RDO.e598_s933_s946_d366/RDO.197091._000015.pool.root.1  --outputNTUP_PHYSVALFile physval.root --outputAODFile physval.AOD.root --validationFlags doInDet --preExec "from InDetRecExample.InDetJobProperties import InDetFlags;InDetFlags.doSlimming.set_Value_and_Lock(False);rec.doTrigger.set_Value_and_Lock(False); from InDetPhysValMonitoring.InDetPhysValJobProperties import InDetPhysValFlags; InDetPhysValFlags.doValidateGSFTracks.set_Value_and_Lock(False);rec.doDumpProperties=True;" 
+	    Reco_tf.py  --steering doRAWtoALL  --checkEventCount  False --ignoreErrors True --maxEvents 25 --valid True --inputRDOFile root://eosatlas//eos/atlas/atlasgroupdisk/perf-idtracking/dq2/rucio/mc15_13TeV/60/11/RDO.07497143._000001.pool.root.1  --outputNTUP_PHYSVALFile physval.root --outputAODFile physval.AOD.root --validationFlags doInDet --preExec "from InDetRecExample.InDetJobProperties import InDetFlags;InDetFlags.doSlimming.set_Value_and_Lock(False);rec.doTrigger.set_Value_and_Lock(False); from InDetPhysValMonitoring.InDetPhysValJobProperties import InDetPhysValFlags; InDetPhysValFlags.doValidateGSFTracks.set_Value_and_Lock(False);rec.doDumpProperties=True;rec.doCalo=False;rec.doEgamma=False;rec.doForwardDet=False;rec.doInDet=True;rec.doJetMissingETTag=False;rec.doLArg=False;rec.doLucid=False;rec.doMuon=False;rec.doMuonCombined=False;rec.doSemiDetailedPerfMon=True;rec.doTau=False;rec.doTile=False;"	     
          </jobTransformCmd>
          <group>IdPhysValTtbar</group>
          <queue>medium</queue>
       </jobTransform>
 
       <jobTransform userJobId="IdPhysValMinBias">
-         <doc>minbias, mc10</doc>
+         <doc>minbias, mc15</doc>
          <jobTransformJobName>
          InPhysValMinbias
          </jobTransformJobName>
          <jobTransformCmd>
-            Reco_tf.py   --checkEventCount  False --ignoreErrors True --maxEvents 25 --valid True --inputRDOFile root://eosatlas//eos/atlas/atlascerngroupdisk/perf-idtracking/rtt/mc10_7TeV.105001.pythia_minbias.digit.RDO.e574_s932_s946_d369/RDO.197112._000270.pool.root.1 root://eosatlas//eos/atlas/atlascerngroupdisk/perf-idtracking/rtt/mc10_7TeV.105001.pythia_minbias.digit.RDO.e574_s932_s946_d369/RDO.197112._000757.pool.root.1  --outputNTUP_PHYSVALFile physval.root --outputAODFile physval.AOD.root --validationFlags doInDet --preExec "from InDetRecExample.InDetJobProperties import InDetFlags;InDetFlags.doSlimming.set_Value_and_Lock(False);rec.doTrigger.set_Value_and_Lock(False); from InDetPhysValMonitoring.InDetPhysValJobProperties import InDetPhysValFlags; InDetPhysValFlags.doValidateGSFTracks.set_Value_and_Lock(False);rec.doDumpProperties=True;InDetFlags.doMinBias.set_Value_and_Lock(True);" 
+		 Reco_tf.py --steering doRAWtoALL  --checkEventCount  False --ignoreErrors True --maxEvents 25 --valid True --inputRDOFile root://eosatlas//eos/atlas/atlasgroupdisk/perf-idtracking/dq2/rucio/mc15_13TeV/0c/a1/RDO.07497163._000001.pool.root.1 root://eosatlas//eos/atlas/atlasgroupdisk/perf-idtracking/dq2/rucio/mc15_13TeV/61/b8/RDO.07497154._000001.pool.root.1 --outputNTUP_PHYSVALFile physval.root --outputAODFile physval.AOD.root --validationFlags doInDet --preExec "from InDetRecExample.InDetJobProperties import InDetFlags;InDetFlags.doSlimming.set_Value_and_Lock(False);rec.doTrigger.set_Value_and_Lock(False); from InDetPhysValMonitoring.InDetPhysValJobProperties import InDetPhysValFlags; InDetPhysValFlags.doValidateGSFTracks.set_Value_and_Lock(False);rec.doDumpProperties=True;InDetFlags.doMinBias.set_Value_and_Lock(True);rec.doCalo=False;rec.doEgamma=False;rec.doForwardDet=False;rec.doInDet=True;rec.doJetMissingETTag=False;rec.doLArg=False;rec.doLucid=False;rec.doMuon=False;rec.doMuonCombined=False;rec.doSemiDetailedPerfMon=True;rec.doTau=False;rec.doTile=False;"
          </jobTransformCmd>
          <group>IdPhysValMinBias</group>
          <queue>medium</queue>
       </jobTransform>
 
      <jobTransform userJobId="IdPhysValGSFSingleE">
-         <doc>gsf, single-electrons, mc12</doc>
+         <doc>gsf, single-electrons, mc15</doc>
          <jobTransformJobName>
          InPhysValGSFSingleE
          </jobTransformJobName>
          <jobTransformCmd>
-            Reco_tf.py   --checkEventCount  False --ignoreErrors True --maxEvents 25 --valid True --inputRDOFile root://eosatlas//eos/atlas/atlascerngroupdisk/perf-egamma/rtt/mc12_valid1.107061.singlepart_e_E100.digit.RDO.e1127_s1469_d701_tid790115_00/RDO.790115._000001.pool.root.1  --outputNTUP_PHYSVALFile physval.root --outputAODFile physval.AOD.root --validationFlags doInDet --preExec "from InDetRecExample.InDetJobProperties import InDetFlags;InDetFlags.doSlimming.set_Value_and_Lock(False);rec.doTrigger.set_Value_and_Lock(False); from InDetPhysValMonitoring.InDetPhysValJobProperties import InDetPhysValFlags; InDetPhysValFlags.doValidateGSFTracks.set_Value_and_Lock(True);rec.doDumpProperties=True;" 
+            Reco_tf.py  --steering doRAWtoALL  --checkEventCount  False --ignoreErrors True --maxEvents 25 --valid True --inputRDOFile root://eosatlas//eos/atlas/atlasgroupdisk/perf-idtracking/dq2/rucio/mc15_13TeV/ef/41/RDO.07275505._000001.pool.root.1 --outputNTUP_PHYSVALFile physval.root --outputAODFile physval.AOD.root --validationFlags doInDet --preExec "from InDetRecExample.InDetJobProperties import InDetFlags;InDetFlags.doSlimming.set_Value_and_Lock(False);rec.doTrigger.set_Value_and_Lock(False); from InDetPhysValMonitoring.InDetPhysValJobProperties import InDetPhysValFlags; InDetPhysValFlags.doValidateGSFTracks.set_Value_and_Lock(True);rec.doForwardDet=False;rec.doInDet=True;rec.doJetMissingETTag=False;rec.doCalo=True;rec.doEgamma=True;rec.doLucid=False;rec.doMuon=False;rec.doMuonCombined=False;rec.doSemiDetailedPerfMon=True;rec.doTau=False;rec.doDumpProperties=True;"
          </jobTransformCmd>
          <group>IdPhysValGSFSingleE</group>
          <queue>medium</queue>