27 def event(self):
28 """event function of the is2DSkim class"""
29 Tracks = ROOT.Belle2.PyStoreArray("Tracks")
30 TRGGRLT3DUnpackerStores = ROOT.Belle2.PyStoreArray("TRGCDCT3DUnpackerStores")
31
32 isTwoTrack = False
33 if len(Tracks) == 2:
34 isTwoTrack = True
35
36 areTracksClean = True
37 for track in Tracks:
38 trackResult = track.getTrackFitResultWithClosestMass(ROOT.Belle2.Const.pion)
39 if trackResult.getPValue() > 0.1:
40 areTracksClean = False
41
42 enoughHits = True
43 for track in Tracks:
44 trackResult = track.getTrackFitResultWithClosestMass(ROOT.Belle2.Const.pion)
45 nHitStSl = 0
46 nHitAxSl = 0
47 for iAx in range(5):
48 if (trackResult.getHitPatternCDC().getSLayerNHits(2 * iAx) > 3):
49 nHitAxSl += 1
50 for iSt in range(4):
51 if (trackResult.getHitPatternCDC().getSLayerNHits(2 * iSt + 1) > 3):
52 nHitStSl += 1
53 if nHitStSl < 3:
54 enoughHits = False
55 if nHitAxSl < 4:
56 enoughHits = False
57
58 is2D = False
59 for iClk, data in enumerate(TRGGRLT3DUnpackerStores):
60 if (data.m_t2d_fnf != 0):
61 is2D = True
62
63 self.return_value(isTwoTrack and is2D and areTracksClean and enoughHits)
64
65