Belle II Software development
ImportScintillatorDigitizationParameters.py
1#!/usr/bin/env python3
2
3
10
11# Import KLM scintillator digitization parameters payloads.
12
13import sys
14import basf2
15import math
16from ROOT.Belle2 import KLMDatabaseImporter, KLMScintillatorDigitizationParameters
17
18basf2.set_log_level(basf2.LogLevel.INFO)
19
20mc = False
21if (len(sys.argv) >= 2):
22 if (sys.argv[1] == 'mc'):
23 mc = True
24
25dbImporter = KLMDatabaseImporter()
26
27digPar = KLMScintillatorDigitizationParameters()
28# ADC resolution (maximal output value + 1).
29digPar.setADCRange(4096)
30# ADC sampling time in TDC periods (frequency is global clock * 8).
31digPar.setADCSamplingTDCPeriods(1)
32# Number of digitizations.
33digPar.setNDigitizations(200)
34# ADC pedestal.
35digPar.setADCPedestal(3700)
36# Photoelectron amplitude.
37digPar.setADCPEAmplitude(20)
38# ADC threshold (the difference with pedestal is 3 photoelectron amplitudes).
39digPar.setADCThreshold(3640)
40# ADC output value corresponding to saturation.
41digPar.setADCSaturation(1000)
42# Number of photoelectrons per 1 MeV.
43digPar.setNPEperMeV(22)
44# Cosine of the maximal angle of total internal reflection in the fiber.
45digPar.setMinCosTheta(math.cos(26.7 / 180.0 * math.pi))
46# Mirror reflective index.
47digPar.setMirrorReflectiveIndex(0.95)
48# Scintillator deexcitation time in ns.
49digPar.setScintillatorDeExcitationTime(3.0)
50# Fiber deexcitation time in ns.
51digPar.setFiberDeExcitationTime(10.0)
52# Effective light speed in the fiber in cm/ns.
53digPar.setFiberLightSpeed(17.0)
54# Fiber attenuation length.
55digPar.setAttenuationLength(300.0)
56# Photoelectron signal attenuation frequency in ns^{-1}.
57# Value from T2K paper by F. Retiere: PoS (PD07) 017: 1.0 / 8.75.
58digPar.setPEAttenuationFrequency(0.11428571428571428571)
59# Mean SiPM noise (negative: turned off).
60digPar.setMeanSiPMNoise(-1)
61# Constant background.
62digPar.setEnableConstBkg(False)
63
64if (mc):
65 dbImporter.setIOV(1002, 0, 1002, -1)
66 dbImporter.importScintillatorDigitizationParameters(digPar)
67
68 dbImporter.setIOV(1003, 0, 1003, -1)
69 dbImporter.importScintillatorDigitizationParameters(digPar)
70
71 dbImporter.setIOV(0, 0, 0, -1)
72 dbImporter.importScintillatorDigitizationParameters(digPar)
73
74else:
75 dbImporter.setIOV(0, 0, -1, -1)
76 dbImporter.importScintillatorDigitizationParameters(digPar)