CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
hgcSensorOpParams_cfi.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 def hgcSiSensorIleak(version):
4 
5  """
6  this method returns different parameterizations of the leakage current for different versions
7  TDR_{600V,800V} - TDR based parameterizations for operations at -30C and 600V or 800V
8  CERN21_{600V,800V}_{annealing} - 2021 CERN-based parameterizations for operations at -30C, 600V or 800V and different annealing times
9  if version is unknown a ValueError exception is raised
10  """
11 
12  if version=='TDR_600V':
13  return [0.993,-42.668]
14  elif version=='TDR_800V':
15  return [0.996,-42.464]
16  elif version=='CERN21_600V_10m':
17  return [1.0,-42.457]
18  elif version=='CERN21_600V_30m':
19  return [1.0,-42.569]
20  elif version=='CERN21_600V_90m':
21  return [1.0,-42.715]
22  elif version=='CERN21_600V_120m':
23  return [1.0,-42.741]
24  elif version=='CERN21_800V_10m':
25  return [1.0,-42.267]
26  elif version=='CERN21_800V_30m':
27  return [1.0,-42.369]
28  elif version=='CERN21_800V_90m':
29  return [1.0,-42.509]
30  elif version=='CERN21_800V_120m':
31  return [1.0,-42.530]
32 
33  raise ValueError('version={} is unknown to retrieve Ileak parameterization for HGC Si sensors'.format(version))
34 
35 
36 def hgcSiSensorCCE(sensor,version):
37 
38  """
39  this method returns different parameterizations of the charge collection efficiency (CCE)
40  for different sensor types (sensor) and measurement versions (version)
41  sensor = 120,200,300
42  version = TDR_{600V,800V} - TDR based measurements at different voltages
43  TTU_{600V,800V} - Texas Tech based measurements at different voltages
44  CERN21_{600V,800V}_{annealing} - CERN2021 based measurements at different voltages and annealing times
45  if the pair (sensor,version) is unknown a ValueError exception is raised
46  """
47 
48  if version=='TDR_600V':
49  if sensor==120 : return [3.5e+15,10.31,-0.2635]
50  elif sensor==200: return [9e+14,8.99,-0.241]
51  elif sensor==300: return [3e+14,10.16,-0.2823]
52  elif version=='TDR_800V':
53  if sensor==120 : return [3.5e+15,10.39,-0.2638]
54  elif sensor==200: return [1.5e+15,10.41,-0.2779]
55  elif sensor==300: return [5e+14,12.59,-0.3501]
56  elif version=='CERN21_600V_10m':
57  if sensor==120 : return [1.35e+15,9.591,-0.2452]
58  elif sensor==200: return [9e+14,11.95,-0.3186]
59  elif sensor==300: return [5.85e+14,9.701,-0.2668]
60  elif version=='CERN21_600V_30m':
61  if sensor==120 : return [1.35e+15,8.362,-0.2105]
62  elif sensor==200: return [9e+14,15.48,-0.4191 ]
63  elif sensor==300: return [5.85e+14,9.89,-0.2699]
64  elif version=='CERN21_600V_90m':
65  if sensor==120 : return [1.35e+15,7.769,-0.1954]
66  elif sensor==200: return [9e+14,8.983,-0.2354]
67  elif sensor==300: return [5.85e+14,8.79,-0.2377]
68  elif version=='CERN21_600V_120m':
69  if sensor==120 : return [1.35e+15,7.119,-0.1775]
70  elif sensor==200: return [9e+14,8.647,-0.2257 ]
71  elif sensor==300: return [5.85e+14,9.369,-0.2544]
72  elif version=='CERN21_800V_10m':
73  if sensor==120 : return [1.35e+15,8.148,-0.2031]
74  elif sensor==200: return [9e+14,7.32,-0.1833]
75  elif sensor==300: return [5.85e+14,11.45,-0.3131]
76  elif version=='CERN21_800V_30m':
77  if sensor==120 : return [1.35e+15,7.097,-0.1731]
78  elif sensor==200: return [9e+14,13.68,-0.3653]
79  elif sensor==300: return [5.85e+14, 10,-0.269]
80  elif version=='CERN21_800V_90m':
81  if sensor==120 : return [1.35e+15,6.387,-0.155]
82  elif sensor==200: return [9e+14,7.739,-0.198]
83  elif sensor==300: return [5.85e+14,7.701,-0.2023]
84  elif version=='CERN21_800V_120m':
85  if sensor==120 : return [1.35e+15,5.997,-0.1443]
86  elif sensor==200: return [9e+14,7.172,-0.1821]
87  elif sensor==300: return [5.85e+14,7.855,-0.2068]
88 
89  raise ValueError('sensor={} version={} is unknown to retrieve CCE parameterization for HGC Si sensors'.format(sensor,version))