diff --git a/Trigger/EFTracking/EFTrackingEmulation/CMakeLists.txt b/Trigger/EFTracking/EFTrackingEmulation/CMakeLists.txt
index 027be34fa6506ad95750c5390c6ec8c2969d61b9..97ded7a560c9ee0433a7ff6d73e905d6c859fa2f 100644
--- a/Trigger/EFTracking/EFTrackingEmulation/CMakeLists.txt
+++ b/Trigger/EFTracking/EFTrackingEmulation/CMakeLists.txt
@@ -3,7 +3,7 @@
 atlas_subdir ( EFTrackingEmulation )
 
 atlas_add_library (EFTrackingEmulationLib
-  EFTrackingEmulation/*.h src/*.cxx src/FitFunctions/L1TT/* 
+  EFTrackingEmulation/*.h src/*.cxx src/FitFunctions/* 
   NO_PUBLIC_HEADERS
   LINK_LIBRARIES AnaAlgorithmLib xAODTracking TrkEventTPCnv TrkEventPrimitives)
 
diff --git a/Trigger/EFTracking/EFTrackingEmulation/README b/Trigger/EFTracking/EFTrackingEmulation/README
index 291316ab79c26f897d0d0a0ebb0f804edccac0d3..3ff669acc8a89da0595b3c0f19440268553a96a9 100644
--- a/Trigger/EFTracking/EFTrackingEmulation/README
+++ b/Trigger/EFTracking/EFTrackingEmulation/README
@@ -11,4 +11,27 @@ EFTrackingSmearingAlg:
 
 
 EFTrackingSmearingConfig:
-  - contains the configuraiton of EFTrackingSmearingAlg and an example of how to implement in a job (as unit test)
\ No newline at end of file
+  - contains the configuraiton of EFTrackingSmearingAlg and an example of how to implement in a job (as unit test)
+
+
+python/EFTrackingSmearingConfig.py
+  - contains the configuration of the Smearing Algorithm, and a test that runs in CI, to be used as an example to include it in your analisys
+
+FitFunctions:
+ - contain the fit functions obtained by fitting the track resoltuion functions
+ 
+ - FitFunctions/HTT: functions used for the L1Track note TL-COM-DAQ-2020-116
+   
+   2D-function to describe the efficiency versus pT and eta
+   obtained from XXX
+   (original code from A.Cerri and P. Calfayan, used for the L1Track task-force, 2020)
+   https://twiki.cern.ch/twiki/bin/viewauth/Atlas/HTTPerfWithEmulation
+
+ 
+ - FitFunctions/URD: functions to be used for the EFTracking URD. 
+
+   They are extracted from the IDPVM files: https://codimd.web.cern.ch/Rcmq5nrER1moq_IMHcf63Q 
+   with ATLAS-P2-RUN4-01-00-00 and a postProcessing code in a user repository
+   https://gitlab.cern.ch/fpastore/in-det-phys-val-monitoring-pp
+
+
diff --git a/Trigger/EFTracking/EFTrackingEmulation/python/EFTrackingSmearingConfig.py b/Trigger/EFTracking/EFTrackingEmulation/python/EFTrackingSmearingConfig.py
index 29f1ec30a02d5e1c2643b70bb7953f575ddd47fb..773c3753016962cab82837f0881050d16791b833 100644
--- a/Trigger/EFTracking/EFTrackingEmulation/python/EFTrackingSmearingConfig.py
+++ b/Trigger/EFTracking/EFTrackingEmulation/python/EFTrackingSmearingConfig.py
@@ -51,7 +51,7 @@ if __name__ == "__main__":
     from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
     acc.merge(PoolReadCfg(flags))
     
-    smearer = EFTrackingSmearingCfg("test", trkpTCut=1, smearFactor=1, InputTrackParticle="InDetTrackParticles",
+    smearer = EFTrackingSmearingCfg("test", trkpTCut=1, smearFactor=2, InputTrackParticle="InDetTrackParticles",
                                     trackEfficiency=1., parameterizeEfficiency=True,
                                     EnableMonitoring=True)
     acc.merge(smearer)    
diff --git a/Trigger/EFTracking/EFTrackingEmulation/src/EFTrackingSmearingAlg.h b/Trigger/EFTracking/EFTrackingEmulation/src/EFTrackingSmearingAlg.h
index b49ba2993c32baafe9a71322ef4563835e9a0976..0e9fc484f2d82bb4bbc7ddc2a82f99059010d7e1 100644
--- a/Trigger/EFTracking/EFTrackingEmulation/src/EFTrackingSmearingAlg.h
+++ b/Trigger/EFTracking/EFTrackingEmulation/src/EFTrackingSmearingAlg.h
@@ -28,7 +28,7 @@ class EFTrackingSmearingAlg: public ::AthHistogramAlgorithm {
                                                                           "key for retrieval of output TrackParticles" };
 
 
-  IntegerProperty  m_SigmaScaleFactor      {this, "SmearingScaleFactor", 1, "Set the smearing SF value for the sigmas"};
+  DoubleProperty   m_SigmaScaleFactor      {this, "SmearingScaleFactor", 1, "Set the smearing SF value for the sigmas"};
   BooleanProperty  m_UseResolutionPtCutOff {this, "UseResolutionPtCutOff", false, "Apply ptCutoff on smearing"};
   DoubleProperty   m_SetResolutionPtCutOff {this, "SetResolutionPtCutOff", 0., "Set ptCutoff off for semaring"};
   DoubleProperty   m_inputTracksPtCut      {this, "InputTracksPtCutGeV", 4.0, "Set input track pT cut"};
diff --git a/Trigger/EFTracking/EFTrackingEmulation/src/FakeTrackSmearer.h b/Trigger/EFTracking/EFTrackingEmulation/src/FakeTrackSmearer.h
index 336c4f95b3429e712c3cf9fc4ba676e1d96d5958..1d9c458308ce89e35bf1434a5c2abcaab420865d 100644
--- a/Trigger/EFTracking/EFTrackingEmulation/src/FakeTrackSmearer.h
+++ b/Trigger/EFTracking/EFTrackingEmulation/src/FakeTrackSmearer.h
@@ -17,10 +17,10 @@
 #include "FTS_Track.h"
 #include <cmath>
 namespace FitFunctions {
-  #include "FitFunctions/L1TT/d0Fitparam_N.C"
-  #include "FitFunctions/L1TT/z0Fitparam_N.C"
-  #include "FitFunctions/L1TT/MoreFitParam_N.C"
-  #include "FitFunctions/L1TT/effFitparam_N.C"
+  #include "FitFunctions/URD/d0Fitparam_N.C"
+  #include "FitFunctions/URD/z0Fitparam_N.C"  
+  #include "FitFunctions/URD/effFitparam_N.C"
+  #include "FitFunctions/URD/ptqoptFitparam_N.C"
 }
  
 
@@ -75,13 +75,13 @@ class FakeTrackSmearer
   double d0ResFunc(double eta,double pt,int verbose)
   {
     // add here other d0 res functions
-    return FitFunctions::getD0ResParam_N(eta,pt,verbose)/1000.0;
+    return FitFunctions::getd0ResParam_N(eta,pt,verbose)/1000.0;// convert to mm
   }
 
-  double z0ResFunc(double eta,double pt,int verbose)
+   double z0ResFunc(double eta,double pt,int verbose)
   {
     // add here other z0 res functions
-    return FitFunctions::getZ0ResParam_N(eta,pt,verbose)/1000.0;
+    return FitFunctions::getz0ResParam_N(eta,pt,verbose)/1000.0; // convert to mm
   }
    
   double etaResFunc(double eta __attribute__((unused)),double pt __attribute__((unused)),int verbose __attribute__((unused))) 
@@ -99,7 +99,7 @@ class FakeTrackSmearer
   double curvResFunc(double eta __attribute__((unused)),double pt __attribute__((unused)),int verbose __attribute__((unused)))
   {
     // add here other curv res functions
-    return 0.;
+    return FitFunctions::getptqoptResParam_N(eta,pt,verbose)/pt;
   }
 
 // Reference functions, in case needed ////
@@ -347,7 +347,7 @@ double effFunc(double eta,double pt,int verbose)
 
   double m_FMatches = 1.; // NMatch/NOffline  i.e. k
   double m_FakeFraction = 0.;
-  double m_SigmaScaleFactor = 1.0;//Note: This is an *integer property* in EFTrackingSmearingAlg.h
+  double m_SigmaScaleFactor = 1.0;
   double m_nominalEfficiency = 0.95;
 
   bool m_parameterizedEfficiency = false;
diff --git a/Trigger/EFTracking/EFTrackingEmulation/src/FitFunctions/URD/d0Fitparam_N.C b/Trigger/EFTracking/EFTrackingEmulation/src/FitFunctions/URD/d0Fitparam_N.C
new file mode 100644
index 0000000000000000000000000000000000000000..207cab1677e4467f5033908ec1ff284c6f685c4a
--- /dev/null
+++ b/Trigger/EFTracking/EFTrackingEmulation/src/FitFunctions/URD/d0Fitparam_N.C
@@ -0,0 +1,79 @@
+// Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
+// 2D-function to describe the d0 resolution versus pT and eta. See README
+
+#include <iostream>
+double getd0ResParam_N(float abstrketa, float trkpt, bool debug=false) {
+
+  double d0Res = 0;
+  if (trkpt>=1.0 && trkpt<1.5) {
+    if (abstrketa<3.9) {
+      d0Res += 48.72407280*std::pow(abstrketa, 0);
+      d0Res += 11.70076933*std::pow(abstrketa, 1);
+      d0Res += -35.38275844*std::pow(abstrketa, 2);
+      d0Res += 70.21769320*std::pow(abstrketa, 3);
+      d0Res += -43.85424708*std::pow(abstrketa, 4);
+      d0Res += 11.73304174*std::pow(abstrketa, 5);
+      d0Res += -1.13186654*std::pow(abstrketa, 6);
+      d0Res += 21.84052455*exp(-0.5*std::pow((abstrketa-2.27356257)/0.22488828,2));
+    }
+  }
+
+  if (trkpt>=1.5 && trkpt<2.5) {
+    if (abstrketa<3.9) {
+      d0Res += 32.55725363*std::pow(abstrketa, 0);
+      d0Res += 0.09893172*std::pow(abstrketa, 1);
+      d0Res += 6.75310046*std::pow(abstrketa, 2);
+      d0Res += 1.34062131*std::pow(abstrketa, 3);
+      d0Res += -0.40280069*std::pow(abstrketa, 4);
+      d0Res += 7.64425495*exp(-0.5*std::pow((abstrketa-2.22125941)/0.15911675,2));
+    }
+  }
+
+  if (trkpt>=2.5 && trkpt<5.0) {
+    if (abstrketa<3.9) {
+      d0Res += 19.10784492*std::pow(abstrketa, 0);
+      d0Res += 0.63985912*std::pow(abstrketa, 1);
+      d0Res += 3.49699665*std::pow(abstrketa, 2);
+      d0Res += 7.64124327*exp(-0.5*std::pow((abstrketa-2.72410726)/0.55861409,2));
+    }
+  }
+
+  if (trkpt>=5.0 && trkpt<10.0) {
+    if (abstrketa<3.9) {
+      d0Res += 11.38970015*std::pow(abstrketa, 0);
+      d0Res += -2.13066894*std::pow(abstrketa, 1);
+      d0Res += 10.72056708*std::pow(abstrketa, 2);
+      d0Res += -13.07596283*std::pow(abstrketa, 3);
+      d0Res += 8.31592265*std::pow(abstrketa, 4);
+      d0Res += -2.25703331*std::pow(abstrketa, 5);
+      d0Res += 0.21876101*std::pow(abstrketa, 6);
+    }
+  }
+
+  if (trkpt>=10.0 && trkpt<20.0) {
+    if (abstrketa<3.9) {
+      d0Res += 7.27429507*std::pow(abstrketa, 0);
+      d0Res += -0.24379687*std::pow(abstrketa, 1);
+      d0Res += 3.60091383*std::pow(abstrketa, 2);
+      d0Res += -5.43632881*std::pow(abstrketa, 3);
+      d0Res += 3.91527620*std::pow(abstrketa, 4);
+      d0Res += -1.13992206*std::pow(abstrketa, 5);
+      d0Res += 0.11873396*std::pow(abstrketa, 6);
+    }
+  }
+
+  if (trkpt>=20.0) {
+    if (abstrketa<3.9) {
+      d0Res += 4.36631419*std::pow(abstrketa, 0);
+      d0Res += 1.27017785*std::pow(abstrketa, 1);
+      d0Res += -2.15589494*std::pow(abstrketa, 2);
+      d0Res += 0.79568803*std::pow(abstrketa, 3);
+      d0Res += 0.43200853*std::pow(abstrketa, 4);
+      d0Res += -0.28839985*std::pow(abstrketa, 5);
+      d0Res += 0.04554335*std::pow(abstrketa, 6);
+    }
+  }
+
+  if (debug) std::cout<<"d0Res = " << d0Res << std::endl;
+  return d0Res;
+}
diff --git a/Trigger/EFTracking/EFTrackingEmulation/src/FitFunctions/URD/effFitparam_N.C b/Trigger/EFTracking/EFTrackingEmulation/src/FitFunctions/URD/effFitparam_N.C
new file mode 100644
index 0000000000000000000000000000000000000000..b07867ae198255d8d4815a91f48926016d08b6f6
--- /dev/null
+++ b/Trigger/EFTracking/EFTrackingEmulation/src/FitFunctions/URD/effFitparam_N.C
@@ -0,0 +1,35 @@
+// Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
+// 2D-function to describe the tracking efficiency versus pT and eta. See README
+
+#include <cmath>
+#include <iostream>
+double getEffParam_N(float abstrketa, float trkpt, bool debug=false) {
+
+  double eff = 1;
+
+  if (abstrketa<0.5) {
+    if (trkpt<2.)
+      eff = 0.89;
+    else if (trkpt<3.)
+      eff = 0.91;
+    else 
+      eff = 0.92;
+  } else if (abstrketa<1.5) {
+    if (trkpt<2.)
+      eff = 0.87;
+    else if (trkpt<3.)
+      eff = 0.90;
+    else
+      eff = 0.91;
+  } else {
+    if (trkpt<2.)
+      eff = 0.77;
+    else if (trkpt<3.)
+      eff = 0.80;
+    else
+      eff = 0.80;
+  }
+
+  if (debug) printf("eff = %f\n", eff);
+  return eff;
+}
diff --git a/Trigger/EFTracking/EFTrackingEmulation/src/FitFunctions/URD/ptqoptFitparam_N.C b/Trigger/EFTracking/EFTrackingEmulation/src/FitFunctions/URD/ptqoptFitparam_N.C
new file mode 100644
index 0000000000000000000000000000000000000000..65fc5f122556d0005a06e97a119bdc9af8bc4af0
--- /dev/null
+++ b/Trigger/EFTracking/EFTrackingEmulation/src/FitFunctions/URD/ptqoptFitparam_N.C
@@ -0,0 +1,81 @@
+// Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
+// 2D-function to describe the ptqopt resolution versus pT and eta. See README
+
+#include <iostream>
+double getptqoptResParam_N(float abstrketa, float trkpt, bool debug=false) {
+
+  double ptqoptRes = 0;
+  if (trkpt>=1.0 && trkpt<1.5) {
+    if (abstrketa<3.9) {
+      ptqoptRes += 0.01093407*std::pow(abstrketa, 0);
+      ptqoptRes += -0.00431876*std::pow(abstrketa, 1);
+      ptqoptRes += 0.01111538*std::pow(abstrketa, 2);
+      ptqoptRes += -0.00442307*std::pow(abstrketa, 3);
+      ptqoptRes += 0.00173122*std::pow(abstrketa, 4);
+      ptqoptRes += 0.01098564*exp(-0.5*std::pow((abstrketa-2.77940862)/0.15000000,2));
+    }
+  }
+
+  if (trkpt>=1.5 && trkpt<2.5) {
+    if (abstrketa<3.9) {
+      ptqoptRes += 0.01101489*std::pow(abstrketa, 0);
+      ptqoptRes += -0.00448591*std::pow(abstrketa, 1);
+      ptqoptRes += 0.01165447*std::pow(abstrketa, 2);
+      ptqoptRes += -0.00493889*std::pow(abstrketa, 3);
+      ptqoptRes += 0.00188055*std::pow(abstrketa, 4);
+      ptqoptRes += 0.01124036*exp(-0.5*std::pow((abstrketa-2.79870700)/0.15000000,2));
+    }
+  }
+
+  if (trkpt>=2.5 && trkpt<5.0) {
+    if (abstrketa<3.9) {
+      ptqoptRes += 0.01020762*std::pow(abstrketa, 0);
+      ptqoptRes += 0.00001977*std::pow(abstrketa, 1);
+      ptqoptRes += -0.00163216*std::pow(abstrketa, 2);
+      ptqoptRes += -0.00010910*std::pow(abstrketa, 3);
+      ptqoptRes += 0.00033767*std::pow(abstrketa, 4);
+      ptqoptRes += 0.00030012*std::pow(abstrketa, 5);
+      ptqoptRes += 0.00513584*exp(-0.5*std::pow((abstrketa-1.19486674)/0.07530451,2));
+      ptqoptRes += 0.03498376*exp(-0.5*std::pow((abstrketa-2.92659416)/0.9870140614351902152989737260,2));
+    }
+  }
+
+  if (trkpt>=5.0 && trkpt<10.0) {
+    if (abstrketa<3.9) {
+      ptqoptRes += 0.01081659*std::pow(abstrketa, 0);
+      ptqoptRes += 0.00122081*std::pow(abstrketa, 1);
+      ptqoptRes += 0.00217843*std::pow(abstrketa, 2);
+      ptqoptRes += -0.00092976*std::pow(abstrketa, 3);
+      ptqoptRes += 0.00159232*std::pow(abstrketa, 4);
+      ptqoptRes += 0.00390577*exp(-0.5*std::pow((abstrketa-1.20254029)/0.08392621,2));
+      ptqoptRes += 0.00089119*exp(-0.5*std::pow((abstrketa-2.92315389)/0.9530567193602196285340255599,2));
+    }
+  }
+
+  if (trkpt>=10.0 && trkpt<20.0) {
+    if (abstrketa<3.9) {
+      ptqoptRes += 0.01168864*std::pow(abstrketa, 0);
+      ptqoptRes += 0.00362780*std::pow(abstrketa, 1);
+      ptqoptRes += -0.01770760*std::pow(abstrketa, 2);
+      ptqoptRes += 0.03796665*std::pow(abstrketa, 3);
+      ptqoptRes += -0.02638396*std::pow(abstrketa, 4);
+      ptqoptRes += 0.00819620*std::pow(abstrketa, 5);
+      ptqoptRes += -0.00080399*std::pow(abstrketa, 6);
+      ptqoptRes += 0.04035099*exp(-0.5*std::pow((abstrketa-3.00000000)/0.15138388,2));
+    }
+  }
+
+  if (trkpt>=20.0) {
+    if (abstrketa<3.9) {
+      ptqoptRes += -0.01411704*std::pow(abstrketa, 0);
+      ptqoptRes += -0.05067335*std::pow(abstrketa, 1);
+      ptqoptRes += -0.09047611*std::pow(abstrketa, 2);
+      ptqoptRes += 0.04366047*std::pow(abstrketa, 3);
+      ptqoptRes += 0.17898237*exp(-0.5*std::pow((abstrketa-1.67732024)/0.88188119,2));
+      ptqoptRes += 0.01168753*exp(-0.5*std::pow((abstrketa-2.13599594)/0.2136018417597442820010655851,2));
+    }
+  }
+
+  if (debug) std::cout<<"ptqoptRes = " << ptqoptRes << std::endl;
+  return ptqoptRes;
+}
diff --git a/Trigger/EFTracking/EFTrackingEmulation/src/FitFunctions/URD/z0Fitparam_N.C b/Trigger/EFTracking/EFTrackingEmulation/src/FitFunctions/URD/z0Fitparam_N.C
new file mode 100644
index 0000000000000000000000000000000000000000..6581fd4554ef6e205331de4fd34fca03f63f5201
--- /dev/null
+++ b/Trigger/EFTracking/EFTrackingEmulation/src/FitFunctions/URD/z0Fitparam_N.C
@@ -0,0 +1,85 @@
+// Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
+// 2D-function to describe the z0 resolution versus pT and eta. See README
+
+#include <iostream>
+double getz0ResParam_N(float abstrketa, float trkpt, bool debug=false) {
+
+  double z0Res = 0;
+  if (trkpt>=1.0 && trkpt<1.5) {
+    if (abstrketa<3.9) {
+      z0Res += 71.65972485*std::pow(abstrketa, 0);
+      z0Res += -26.19370915*std::pow(abstrketa, 1);
+      z0Res += 40.37999526*std::pow(abstrketa, 2);
+      z0Res += 17.50951981*std::pow(abstrketa, 3);
+      z0Res += 1.23154903*std::pow(abstrketa, 4);
+      z0Res += -1.44168366*std::pow(abstrketa, 5);
+      z0Res += 0.92505577*std::pow(abstrketa, 6);
+      z0Res += 42.92425474*exp(-0.5*std::pow((abstrketa-1.88701704)/0.04050632,2));
+      z0Res += 162.68556467*exp(-0.5*std::pow((abstrketa-2.51822689)/0.2410260099805757727509103461,2));
+    }
+  }
+
+  if (trkpt>=1.5 && trkpt<2.5) {
+    if (abstrketa<3.9) {
+      z0Res += 63.04626058*std::pow(abstrketa, 0);
+      z0Res += -49.33952475*std::pow(abstrketa, 1);
+      z0Res += 36.09831414*std::pow(abstrketa, 2);
+      z0Res += 35.03400452*std::pow(abstrketa, 3);
+      z0Res += -20.42236907*std::pow(abstrketa, 4);
+      z0Res += 5.26113117*std::pow(abstrketa, 5);
+      z0Res += 102.40355697*exp(-0.5*std::pow((abstrketa-2.53436441)/0.26300171,2));
+    }
+  }
+
+  if (trkpt>=2.5 && trkpt<5.0) {
+    if (abstrketa<3.9) {
+      z0Res += 45.18314991*std::pow(abstrketa, 0);
+      z0Res += -48.88127799*std::pow(abstrketa, 1);
+      z0Res += 47.49106974*std::pow(abstrketa, 2);
+      z0Res += 4.57155872*std::pow(abstrketa, 3);
+      z0Res += -8.25716340*std::pow(abstrketa, 4);
+      z0Res += 2.78210384*std::pow(abstrketa, 5);
+      z0Res += 57.90881664*exp(-0.5*std::pow((abstrketa-2.53926139)/0.27623007,2));
+    }
+  }
+
+  if (trkpt>=5.0 && trkpt<10.0) {
+    if (abstrketa<3.9) {
+      z0Res += 30.77411554*std::pow(abstrketa, 0);
+      z0Res += -63.05190452*std::pow(abstrketa, 1);
+      z0Res += 134.03156883*std::pow(abstrketa, 2);
+      z0Res += -143.12115765*std::pow(abstrketa, 3);
+      z0Res += 54.01517556*std::pow(abstrketa, 4);
+      z0Res += -5.61428747*std::pow(abstrketa, 5);
+      z0Res += 76.51135558*exp(-0.5*std::pow((abstrketa-1.94105642)/0.57056972,2));
+      z0Res += 75.84135786*exp(-0.5*std::pow((abstrketa-2.58794738)/0.3647087643607762608155553608,2));
+    }
+  }
+
+  if (trkpt>=10.0 && trkpt<20.0) {
+    if (abstrketa<3.9) {
+      z0Res += 19.39469788*std::pow(abstrketa, 0);
+      z0Res += -22.51493172*std::pow(abstrketa, 1);
+      z0Res += 31.92377013*std::pow(abstrketa, 2);
+      z0Res += -11.17317474*std::pow(abstrketa, 3);
+      z0Res += 0.66337736*std::pow(abstrketa, 4);
+      z0Res += 0.58619897*std::pow(abstrketa, 5);
+      z0Res += 14.43206857*exp(-0.5*std::pow((abstrketa-2.50442429)/0.32063788,2));
+    }
+  }
+
+  if (trkpt>=20.0) {
+    if (abstrketa<3.9) {
+      z0Res += 2.92339716*std::pow(abstrketa, 0);
+      z0Res += -34.55228105*std::pow(abstrketa, 1);
+      z0Res += 12.87887345*std::pow(abstrketa, 2);
+      z0Res += -2.20912261*std::pow(abstrketa, 3);
+      z0Res += 1.05950066*std::pow(abstrketa, 4);
+      z0Res += 29.46376030*exp(-0.5*std::pow((abstrketa-1.09960118)/0.71728841,2));
+      z0Res += 28.39481084*exp(-0.5*std::pow((abstrketa-2.24335984)/0.6197033253331861724078066800,2));
+    }
+  }
+
+  if (debug) std::cout<<"z0Res = " << z0Res << std::endl;
+  return z0Res;
+}