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