Belle II Software development
addECLCalDigitsModule Class Reference
Inheritance diagram for addECLCalDigitsModule:

Public Member Functions

 __init__ (self)
 
 initialize (self)
 
 event (self)
 

Public Attributes

int eventCounter = 0
 count number of times event method is called (each time use different combinations of ECLCalDigits
 
list digitParams
 parameters to create custom ECLCalDigits
 
int energyThresh = -1
 default energy threshold
 
int timeThresh = -1
 default time threshold
 
 eclCalDigits = Belle2.PyStoreArray(Belle2.ECLCalDigit.Class())
 ECLCalDigits datastore.
 

Detailed Description

Add combinations of ECLCalDigits above/below threshold to be counted as out of time

Definition at line 39 of file eventLevelClusteringInfo_countOutOfTime.py.

Constructor & Destructor Documentation

◆ __init__()

__init__ ( self)
Prepare ECLCalDigits parameters

Definition at line 44 of file eventLevelClusteringInfo_countOutOfTime.py.

44 def __init__(self):
45 """
46 Prepare ECLCalDigits parameters
47 """
48 super().__init__()
49
50
51 self.eventCounter = 0
52
53 aboveEnergyThresh = [True, False]
54 aboveTimeThresh = [True, False]
55 thresholdNames = ["aboveEnergythresh", "aboveTimethresh"]
56
57 thresholdsPerRegion = [dict(zip(thresholdNames, thresholds))
58 for thresholds in itertools.product(aboveEnergyThresh, aboveTimeThresh)]
59
60 fwdThresholds, brlThresholds, bwdThresholds = itertools.tee(thresholdsPerRegion, 3)
61
62 regions = ["FWD", "BRL", "BWD"]
63
64
65 self.digitParams = [dict(zip(regions, thresholds))
66 for thresholds in itertools.product(fwdThresholds, brlThresholds, bwdThresholds)]
67
68
69 self.energyThresh = -1
70
71 self.timeThresh = -1
72

Member Function Documentation

◆ event()

event ( self)
Add ECLCalDigits according to self.digitParams

Definition at line 83 of file eventLevelClusteringInfo_countOutOfTime.py.

83 def event(self):
84 """
85 Add ECLCalDigits according to self.digitParams
86 """
87 eclCalDigits = Belle2.PyStoreArray('ECLCalDigits')
88
89 # cellIds for corresponding to different regions
90 cellId = {"FWD": 1, "BRL": 1153, "BWD": 7777}
91
92 b2.B2DEBUG(37, "Event " + str(self.eventCounter))
93
94 # ECLCalDigit parameter for this event
95 digitParam = self.digitParams[self.eventCounter]
96
97 # Loop on detector regions
98 for region in cellId:
99
100 # Create new ECLCalDigit
101 eclCalDigit = Belle2.ECLCalDigit()
102
103 # Fill ECLCalDigit
104 eclCalDigit.setCellId(cellId[region])
105
106 # Increment cellId.
107 # Important if we ever expand this test to have more than 1 digit per region.
108 cellId[region] += 1
109
110 energy = digitParam[region]["aboveEnergythresh"] * (self.energyThresh + 1)
111 time = digitParam[region]["aboveTimethresh"] * (self.timeThresh + 1)
112 eclCalDigit.setEnergy(energy)
113 eclCalDigit.setTime(time)
114
115 # Add ECLDigit to datastore
116 newDigit = eclCalDigits.appendNew()
117 newDigit.__assign__(eclCalDigit)
118
119 # Set expected number of out of time calDigits per region
120 expectOutOfTime[region] = int(digitParam[region]["aboveEnergythresh"] and digitParam[region]["aboveTimethresh"])
121 b2.B2DEBUG(35, region + ": expecting " + str(expectOutOfTime[region]))
122 b2.B2DEBUG(39, "region = " + region + ", time = " + str(time) + ", energy = " + str(energy))
123
124 # Increment event counter
125 self.eventCounter += 1
126
127
Class to store calibrated ECLDigits: ECLCalDigits.
Definition ECLCalDigit.h:23
A (simplified) python wrapper for StoreArray.

◆ initialize()

initialize ( self)
 module initialize - register ECLCalDigit in datastore 

Definition at line 73 of file eventLevelClusteringInfo_countOutOfTime.py.

73 def initialize(self):
74 """ module initialize - register ECLCalDigit in datastore """
75
76
77 self.eclCalDigits = Belle2.PyStoreArray(Belle2.ECLCalDigit.Class())
78 self.eclCalDigits.registerInDataStore()
79 # Necessary for ECLDigitCalibrator
80 eclDigits = Belle2.PyStoreArray(Belle2.ECLDigit.Class())
81 eclDigits.registerInDataStore()
82

Member Data Documentation

◆ digitParams

list digitParams
Initial value:
= [dict(zip(regions, thresholds))
for thresholds in itertools.product(fwdThresholds, brlThresholds, bwdThresholds)]

parameters to create custom ECLCalDigits

Definition at line 65 of file eventLevelClusteringInfo_countOutOfTime.py.

◆ eclCalDigits

eclCalDigits = Belle2.PyStoreArray(Belle2.ECLCalDigit.Class())

ECLCalDigits datastore.

Definition at line 77 of file eventLevelClusteringInfo_countOutOfTime.py.

◆ energyThresh

int energyThresh = -1

default energy threshold

Definition at line 69 of file eventLevelClusteringInfo_countOutOfTime.py.

◆ eventCounter

eventCounter = 0

count number of times event method is called (each time use different combinations of ECLCalDigits

Definition at line 51 of file eventLevelClusteringInfo_countOutOfTime.py.

◆ timeThresh

int timeThresh = -1

default time threshold

Definition at line 71 of file eventLevelClusteringInfo_countOutOfTime.py.


The documentation for this class was generated from the following file: