49 """Initialize the module"""
53 self.
file = ROOT.TFile(
'../SVDValidationTTreeRecoDigit.root',
'recreate')
55 self.
tree = ROOT.TTree(
'tree',
'Event data of SVD validation events')
57 self.
data = EventDataRecoDigit()
60 for key
in EventDataRecoDigit.__dict__:
63 if isinstance(self.
data.__getattribute__(key), int):
65 self.
tree.Branch(key, addressof(self.
data, key), key + formstring)
68 """Take digits from SVDRecoDigits with at least one truehit and save needed information"""
75 digit_truehits = shaperDigits[digit.getArrayIndex()].getRelationsTo(
'SVDTrueHits')
77 if len(digit_truehits) == 0:
84 for i, trueHit
in enumerate(digit_truehits):
85 if trueHit.getEnergyDep() > energy:
86 energy = trueHit.getEnergyDep()
88 bestTrueHit = digit_truehits[bestTrueHitIndex]
91 sensorID = digit.getSensorID()
92 self.
data.sensor_id = int(sensorID)
93 sensorNum = sensorID.getSensorNumber()
94 self.
data.sensor = sensorNum
95 layerNum = sensorID.getLayerNumber()
96 self.
data.layer = layerNum
104 self.
data.sensor_type = sensorType
105 ladderNum = sensorID.getLadderNumber()
106 self.
data.ladder = ladderNum
108 self.
data.strip_dir = 0
110 self.
data.strip_dir = 1
111 self.
data.recodigit_charge = digit.getCharge()
112 self.
data.recodigit_time = digit.getTime()
113 self.
data.truehit_time = bestTrueHit.getGlobalTime()