forked from cbernet/heppy
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Stopper.py
32 lines (22 loc) · 975 Bytes
/
Stopper.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
'''Deponstrates how to stop processing at a given event.'''
from heppy.framework.analyzer import Analyzer
from heppy.framework.exceptions import UserStop
class Stopper(Analyzer):
'''Deponstrates how to stop processing at a given event.
Example::
stopper = cfg.Analyzer(
Stopper,
iEv = 10
)
This analyzer sends a L{UserStop<heppy.framework.exceptions.UserStop>} exception
when the specified event is reached. The L{Looper<heppy.framework.looper.Looper>}
then stops the processing of the events.
Typically, such C{Stoppers} are used to stop the processing to investigate
an event of interest interactively.
@param iEv: event where to stop
'''
def process(self, event):
'''Process the event.
'''
if event.iEv == self.cfg_ana.iEv:
raise UserStop('stopping at event {iEv}'.format(iEv=event.iEv))