-
Notifications
You must be signed in to change notification settings - Fork 14
/
luminometers.py
62 lines (50 loc) · 2.09 KB
/
luminometers.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# available classes correspond to entries in tuple XsecCalculationOptions.LuminometerOptions.AvailableLuminometers
class LuminometerDefaults:
class StandardHF:
LuminometerName = "HF"
LuminometerDescription = "HFlumi, zero counting in 2 HF rings, Hadron Forward Calorimeter based"
WhatIsMeasured = "Counts"
NormalizationGraphs = "CurrentProduct"
OldNormAvailable = True
class StandardPCC:
LuminometerName = "PCC"
LuminometerDescription = "Pixel Cluster Counting, Pixel detector based"
WhatIsMeasured = "Counts"
NormalizationGraphs = "CurrentProduct"
OldNormAvailable = False
class StandardVtx:
LuminometerName = "Vtx"
LuminometerDescription = "Vertex Counting, Tracker based"
WhatIsMeasured = "Counts"
NormalizationGraphs = "CurrentProduct"
OldNormAvailable = False
# these need to be filled in
class StandardBCM1F:
LuminometerName = "BCM1F"
LuminometerDescription = "BCM1F based"
WhatIsMeasured = ""
NormalizationGraphs = ""
OldNormAvailable = False
class StandardPLT:
LuminometerName = "PLT"
LuminometerDescription = "Pixel Luminosity Telescope based"
WhatIsMeasured = "Counts"
NormalizationGraphs = "CurrentProduct"
OldNormAvailable = False
def __init__(self, name):
self.LuminometerName = name
defaultSettings = self.returnDefaults(name)
self.WhatIsMeasured = defaultSettings.WhatIsMeasured
self.NormalizationGraphs = defaultSettings.NormalizationGraphs
self.OldNormAvailable = defaultSettings.OldNormAvailable
def returnDefaults(self, name):
if name == "HF":
return LuminometerDefaults.StandardHF
if name == "PCC":
return LuminometerDefaults.StandardPCC
if name == "Vtx":
return LuminometerDefaults.StandardVtx
if name == "BCM1F":
return LuminometerDefaults.StandardBCM1F
if name == "PLT":
return LuminometerDefaults.StandardPLT