File indexing completed on 2024-04-06 12:29:37
0001 import FWCore.ParameterSet.Config as cms
0002
0003 def hgcSiSensorIleak(version):
0004
0005 """
0006 this method returns different parameterizations of the leakage current for different versions
0007 TDR_{600V,800V} - TDR based parameterizations for operations at -30C and 600V or 800V
0008 CERN21_{600V,800V}_{annealing} - 2021 CERN-based parameterizations for operations at -30C, 600V or 800V and different annealing times
0009 if version is unknown a ValueError exception is raised
0010 """
0011
0012 if version=='TDR_600V':
0013 return [0.993,-42.668]
0014 elif version=='TDR_800V':
0015 return [0.996,-42.464]
0016 elif version=='CERN21_600V_10m':
0017 return [1.0,-42.457]
0018 elif version=='CERN21_600V_30m':
0019 return [1.0,-42.569]
0020 elif version=='CERN21_600V_90m':
0021 return [1.0,-42.715]
0022 elif version=='CERN21_600V_120m':
0023 return [1.0,-42.741]
0024 elif version=='CERN21_800V_10m':
0025 return [1.0,-42.267]
0026 elif version=='CERN21_800V_30m':
0027 return [1.0,-42.369]
0028 elif version=='CERN21_800V_90m':
0029 return [1.0,-42.509]
0030 elif version=='CERN21_800V_120m':
0031 return [1.0,-42.530]
0032
0033 raise ValueError('version={} is unknown to retrieve Ileak parameterization for HGC Si sensors'.format(version))
0034
0035
0036 def hgcSiSensorCCE(sensor,version):
0037
0038 """
0039 this method returns different parameterizations of the charge collection efficiency (CCE)
0040 for different sensor types (sensor) and measurement versions (version)
0041 sensor = 120,200,300
0042 version = TDR_{600V,800V} - TDR based measurements at different voltages
0043 TTU_{600V,800V} - Texas Tech based measurements at different voltages
0044 CERN21_{600V,800V}_{annealing} - CERN2021 based measurements at different voltages and annealing times
0045 if the pair (sensor,version) is unknown a ValueError exception is raised
0046 """
0047
0048 if version=='TDR_600V':
0049 if sensor==120 : return [3.5e+15,10.31,-0.2635]
0050 elif sensor==200: return [9e+14,8.99,-0.241]
0051 elif sensor==300: return [3e+14,10.16,-0.2823]
0052 elif version=='TDR_800V':
0053 if sensor==120 : return [3.5e+15,10.39,-0.2638]
0054 elif sensor==200: return [1.5e+15,10.41,-0.2779]
0055 elif sensor==300: return [5e+14,12.59,-0.3501]
0056 elif version=='CERN21_600V_10m':
0057 if sensor==120 : return [1.35e+15,9.591,-0.2452]
0058 elif sensor==200: return [9e+14,11.95,-0.3186]
0059 elif sensor==300: return [5.85e+14,9.701,-0.2668]
0060 elif version=='CERN21_600V_30m':
0061 if sensor==120 : return [1.35e+15,8.362,-0.2105]
0062 elif sensor==200: return [9e+14,15.48,-0.4191 ]
0063 elif sensor==300: return [5.85e+14,9.89,-0.2699]
0064 elif version=='CERN21_600V_90m':
0065 if sensor==120 : return [1.35e+15,7.769,-0.1954]
0066 elif sensor==200: return [9e+14,8.983,-0.2354]
0067 elif sensor==300: return [5.85e+14,8.79,-0.2377]
0068 elif version=='CERN21_600V_120m':
0069 if sensor==120 : return [1.35e+15,7.119,-0.1775]
0070 elif sensor==200: return [9e+14,8.647,-0.2257 ]
0071 elif sensor==300: return [5.85e+14,9.369,-0.2544]
0072 elif version=='CERN21_800V_10m':
0073 if sensor==120 : return [1.35e+15,8.148,-0.2031]
0074 elif sensor==200: return [9e+14,7.32,-0.1833]
0075 elif sensor==300: return [5.85e+14,11.45,-0.3131]
0076 elif version=='CERN21_800V_30m':
0077 if sensor==120 : return [1.35e+15,7.097,-0.1731]
0078 elif sensor==200: return [9e+14,13.68,-0.3653]
0079 elif sensor==300: return [5.85e+14, 10,-0.269]
0080 elif version=='CERN21_800V_90m':
0081 if sensor==120 : return [1.35e+15,6.387,-0.155]
0082 elif sensor==200: return [9e+14,7.739,-0.198]
0083 elif sensor==300: return [5.85e+14,7.701,-0.2023]
0084 elif version=='CERN21_800V_120m':
0085 if sensor==120 : return [1.35e+15,5.997,-0.1443]
0086 elif sensor==200: return [9e+14,7.172,-0.1821]
0087 elif sensor==300: return [5.85e+14,7.855,-0.2068]
0088
0089 raise ValueError('sensor={} version={} is unknown to retrieve CCE parameterization for HGC Si sensors'.format(sensor,version))