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

Public Member Functions

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

Public Attributes

 eventCounter
 count number of times event method is called (each time use different combinations of ECLCalDigits
 
 digitParams
 parameters to create custom ECLCalDigits
 
 energyThresh
 default energy threshold
 
 timeThresh
 default time threshold
 
 eclCalDigits
 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__()

def __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()

def 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.
Definition: PyStoreArray.h:72

◆ initialize()

def 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

digitParams

parameters to create custom ECLCalDigits

Definition at line 65 of file eventLevelClusteringInfo_countOutOfTime.py.

◆ eclCalDigits

eclCalDigits

ECLCalDigits datastore.

Definition at line 77 of file eventLevelClusteringInfo_countOutOfTime.py.

◆ energyThresh

energyThresh

default energy threshold

Definition at line 69 of file eventLevelClusteringInfo_countOutOfTime.py.

◆ eventCounter

eventCounter

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

timeThresh

default time threshold

Definition at line 71 of file eventLevelClusteringInfo_countOutOfTime.py.


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