From 5649c17253ba47e6d16f6eb91e05572132859948 Mon Sep 17 00:00:00 2001
From: Anthony Morley <anthony.morley@cern.ch>
Date: Wed, 24 Nov 2021 11:19:31 +0100
Subject: [PATCH] Correct pixel delta ray threshold in pixel digitisation

---
 .../python/ITkPixelDigitizationConfig.py         |  2 +-
 .../python/PixelDigitizationConfig.py            |  2 +-
 .../python/PixelDigitizationConfigNew.py         |  2 +-
 .../PixelDigitization/src/EnergyDepositionTool.h |  2 +-
 .../G4AtlasTools/python/G4PhysicsRegionConfig.py |  4 ++++
 .../python/G4PhysicsRegionConfigNew.py           |  4 ++++
 Tools/PROCTools/data/master_q221_AOD_digest.ref  | 16 ++++++++--------
 Tools/PROCTools/python/RunTier0TestsTools.py     |  4 ++--
 8 files changed, 22 insertions(+), 14 deletions(-)

diff --git a/InnerDetector/InDetDigitization/PixelDigitization/python/ITkPixelDigitizationConfig.py b/InnerDetector/InDetDigitization/PixelDigitization/python/ITkPixelDigitizationConfig.py
index 9342091fb06..47c6fd9d564 100644
--- a/InnerDetector/InDetDigitization/PixelDigitization/python/ITkPixelDigitizationConfig.py
+++ b/InnerDetector/InDetDigitization/PixelDigitization/python/ITkPixelDigitizationConfig.py
@@ -36,7 +36,7 @@ def ITkPixel_LastXing(flags):
 def ITkEnergyDepositionToolCfg(flags, name="ITkEnergyDepositionTool", **kwargs):
     """Return a configured EnergyDepositionTool"""
     acc = ITkPixelDistortionAlgCfg(flags)
-    kwargs.setdefault("DeltaRayCut", 117.)
+    kwargs.setdefault("DeltaRayCut", 80.7687)
     kwargs.setdefault("nCols", 5)
     kwargs.setdefault("LoopLimit", 100000)
     kwargs.setdefault("doBichsel", True)
diff --git a/InnerDetector/InDetDigitization/PixelDigitization/python/PixelDigitizationConfig.py b/InnerDetector/InDetDigitization/PixelDigitization/python/PixelDigitizationConfig.py
index dc17ead6a7b..a201f33998d 100644
--- a/InnerDetector/InDetDigitization/PixelDigitization/python/PixelDigitizationConfig.py
+++ b/InnerDetector/InDetDigitization/PixelDigitization/python/PixelDigitizationConfig.py
@@ -40,7 +40,7 @@ def EfieldInterpolator(name="EfieldInterpolator", **kwargs):
     return CfgMgr.EfieldInterpolator(name, **kwargs)
 
 def EnergyDepositionTool(name="EnergyDepositionTool", **kwargs):
-    kwargs.setdefault("DeltaRayCut", 117.)
+    kwargs.setdefault("DeltaRayCut", 80.7687)  
     kwargs.setdefault("nCols", 5)
     kwargs.setdefault("LoopLimit", 100000)
     kwargs.setdefault("doBichsel", hasattr(digitizationFlags, "doBichselSimulation") and digitizationFlags.doBichselSimulation())
diff --git a/InnerDetector/InDetDigitization/PixelDigitization/python/PixelDigitizationConfigNew.py b/InnerDetector/InDetDigitization/PixelDigitization/python/PixelDigitizationConfigNew.py
index 6781dc08837..52044ce01d1 100644
--- a/InnerDetector/InDetDigitization/PixelDigitization/python/PixelDigitizationConfigNew.py
+++ b/InnerDetector/InDetDigitization/PixelDigitization/python/PixelDigitizationConfigNew.py
@@ -62,7 +62,7 @@ def EfieldInterpolatorCfg(flags, name="EfieldInterpolator", **kwargs):
 def EnergyDepositionToolCfg(flags, name="EnergyDepositionTool", **kwargs):
     """Return a configured EnergyDepositionTool"""
     acc = PixelDistortionAlgCfg(flags)
-    kwargs.setdefault("DeltaRayCut", 117.)
+    kwargs.setdefault("DeltaRayCut", 80.7687)
     kwargs.setdefault("nCols", 5)
     kwargs.setdefault("LoopLimit", 100000)
     kwargs.setdefault("doBichsel", True)
diff --git a/InnerDetector/InDetDigitization/PixelDigitization/src/EnergyDepositionTool.h b/InnerDetector/InDetDigitization/PixelDigitization/src/EnergyDepositionTool.h
index 1ae60c09129..6f51a5a6b9b 100644
--- a/InnerDetector/InDetDigitization/PixelDigitization/src/EnergyDepositionTool.h
+++ b/InnerDetector/InDetDigitization/PixelDigitization/src/EnergyDepositionTool.h
@@ -112,7 +112,7 @@ private:
 
   Gaudi::Property<double> m_DeltaRayCut
   {
-    this, "DeltaRayCut", 117.0, "Cut of delta ray [keV]"
+    this, "DeltaRayCut", 80.7687, "Cut of delta ray [keV] - Value should be consistent with range cut in simulation"
   };
 
   Gaudi::Property<bool> m_doPU
diff --git a/Simulation/G4Atlas/G4AtlasTools/python/G4PhysicsRegionConfig.py b/Simulation/G4Atlas/G4AtlasTools/python/G4PhysicsRegionConfig.py
index e860a4769a1..c1028554cec 100644
--- a/Simulation/G4Atlas/G4AtlasTools/python/G4PhysicsRegionConfig.py
+++ b/Simulation/G4Atlas/G4AtlasTools/python/G4PhysicsRegionConfig.py
@@ -80,6 +80,10 @@ def getPixelPhysicsRegionTool(name='PixelPhysicsRegionTool', **kwargs):
     if (commonGeoFlags.Run() in ["RUN2", "RUN3"]) or (commonGeoFlags.Run()=="UNDEFINED" and geoFlags.isIBL()):
         volumeList += ['Pixel::dbmDiamondLog']
     kwargs.setdefault("VolumeList",  volumeList)
+    # The range cuts used here are directly linked to the minimum energy of delta rays.
+    # The minimum energy of delta rays in an input to the digitisation when using Bichsel charge deposition model.
+    # The range cut is equated to an energy threshold in the simulation log file    
+    # If these change please update the digitisation cuts appropriately. 
     kwargs.setdefault("ElectronCut", 0.05)
     kwargs.setdefault("PositronCut", 0.05)
     kwargs.setdefault("GammaCut",    0.05)
diff --git a/Simulation/G4Atlas/G4AtlasTools/python/G4PhysicsRegionConfigNew.py b/Simulation/G4Atlas/G4AtlasTools/python/G4PhysicsRegionConfigNew.py
index e4f1d209fb6..7af580ea727 100644
--- a/Simulation/G4Atlas/G4AtlasTools/python/G4PhysicsRegionConfigNew.py
+++ b/Simulation/G4Atlas/G4AtlasTools/python/G4PhysicsRegionConfigNew.py
@@ -68,6 +68,10 @@ def PixelPhysicsRegionToolCfg(ConfigFlags, name='PixelPhysicsRegionTool', **kwar
     if (ConfigFlags.GeoModel.Run in ["RUN2", "RUN3"]) or (commonGeoFlags.Run()=="UNDEFINED" and geoFlags.isIBL()):
         volumeList += ['Pixel::dbmDiamondLog']
     kwargs.setdefault("VolumeList",  volumeList)
+    # The range cuts used here are directly linked to the minimum energy of delta rays.
+    # The minimum energy of delta rays in an input to the digitisation when using Bichsel charge deposition model.
+    # The range cut is equated to an energy threshold in the simulation log file
+    # If these change please update the digitisation cuts appropriately. 
     kwargs.setdefault("ElectronCut", 0.05)
     kwargs.setdefault("PositronCut", 0.05)
     kwargs.setdefault("GammaCut",    0.05)
diff --git a/Tools/PROCTools/data/master_q221_AOD_digest.ref b/Tools/PROCTools/data/master_q221_AOD_digest.ref
index bf48a21744d..cb20e62ca0a 100644
--- a/Tools/PROCTools/data/master_q221_AOD_digest.ref
+++ b/Tools/PROCTools/data/master_q221_AOD_digest.ref
@@ -1,26 +1,26 @@
          run       event       nTopo   nIdTracks  nTauTracks       nTaus      nMuons       nElec   nTrueElec   nFakeElec       nPhot   nTruePhot   nFakePhot
       284500    87473001         116         129          35           3           1           8           2           6           7           4           3
       284500    87473014          89          79          31           6           0          11           1          10           6           4           2
-      284500    87473022          35          30          17           2           0           4           2           2           5           4           1
+      284500    87473022          35          29          16           2           0           4           1           3           4           3           1
       284500    87473032          29          32          24           4           1          10           4           6           6           2           4
-      284500    87473037          65          43          39           7           0          11           2           9           6           4           2
-      284500    87473040         104          93          66           9           1          16           1          15          14           7           7
+      284500    87473037          65          42          38           7           0          11           2           9           6           4           2
+      284500    87473040         104          94          67           9           1          16           1          15          13           6           7
       284500    87473051         135         110          60          11           1          11           1          10          22          16           6
       284500    87473063          62          77          32           5           3           6           2           4           6           4           2
       284500    87473068          26          33           4           1           1           0           0           0           0           0           0
-      284500    87473075          67          87          28           5           2           5           0           5           5           4           1
-      284500    87473084          84          86          54           6           2          13           1          12          10           5           5
+      284500    87473075          67          86          27           5           2           5           0           5           5           4           1
+      284500    87473084          84          84          52           6           2          13           1          12          11           6           5
       284500    87473091          40          49          15           3           0           2           1           1           6           3           3
       284500    87473096          68          75          19           3           2           3           0           3           5           2           3
       284500    87473104          64          63          35           4           0           6           2           4           5           4           1
       284500    87473114          88          77          47           7           2          12           1          11           9           6           3
-      284500    87473121          86         100          51           7           3          14           4          10           9           6           3
+      284500    87473121          86         100          51           7           3          14           3          11           8           6           2
       284500    87473132          85          59          42           8           1          12           0          12           4           4           0
       284500    87473137          90          70          57           7           3          15           0          15           7           7           0
       284500    87473144          83          68          34           5           1           9           2           7           7           5           2
       284500    87473154          92          88          46           6           0          12           3           9           8           4           4
-      284500    87473162          49          53          29           4           0           4           0           4           6           5           1
+      284500    87473162          49          53          29           4           0           5           1           4           6           5           1
       284500    87473167          74          56          39           6           3          15           2          13          15          10           5
-      284500    87473171          80          68          21           4           3           4           2           2           5           4           1
+      284500    87473171          80          69          21           4           3           4           2           2           5           4           1
       284500    87473184          69          86          32           5           2           7           1           6           5           3           2
       284500    87473192          53          52          25           4           1           6           4           2           6           5           1
diff --git a/Tools/PROCTools/python/RunTier0TestsTools.py b/Tools/PROCTools/python/RunTier0TestsTools.py
index 5918a909c8f..8ebb12fd962 100644
--- a/Tools/PROCTools/python/RunTier0TestsTools.py
+++ b/Tools/PROCTools/python/RunTier0TestsTools.py
@@ -32,10 +32,10 @@ ciRefFileMap = {
                 'overlay-d1498-21.0'   : 'v2',
                 'overlay-d1498-22.0'   : 'v38',
                 'overlay-d1592-22.0'   : 'v14',
-                'overlay-d1726-22.0'   : 'v2',
+                'overlay-d1726-22.0'   : 'v3',
                 'overlay-bkg-21.0'     : 'v1',
                 'overlay-bkg-22.0'     : 'v4',
-                'dataoverlay-d1590-22.0' : 'v15',
+                'dataoverlay-d1590-22.0' : 'v16',
                 'dataoverlay-hits-22.0'  : 'v1',
                }
 
-- 
GitLab