Newer
Older
# ==========================================================================
# AIDA Detector description implementation
# --------------------------------------------------------------------------
# Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN)
# All rights reserved.
#
# For the licensing terms see $DD4hepINSTALL/LICENSE.
# For the list of contributors see $DD4hepINSTALL/doc/CREDITS.
#
# ==========================================================================
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
def run():
import DigiTest
digi = DigiTest.Test(geometry=None)
attenuation = digi.attenuation
input = digi.input_action('DigiParallelActionSequence/READER')
#========================================================================================================
digi.info('Created SIGNAL input')
signal = input.adopt_action('DigiROOTInput/SignalReader', mask=0x0, input = [digi.next_input()])
#========================================================================================================
digi.info('Creating collision overlays....')
#========================================================================================================
overlay = input.adopt_action('DigiSequentialActionSequence/Overlay-1')
evtreader = overlay.adopt_action('DigiROOTInput/Reader-1', mask=0x1, input = [digi.next_input()])
hist_drop = overlay.adopt_action('DigiHitHistoryDrop/Drop-1', masks = [evtreader.mask])
digi.info('Created input.overlay25')
#========================================================================================================
overlay = input.adopt_action('DigiSequentialActionSequence/Overlay-2')
evtreader = overlay.adopt_action('DigiROOTInput/Reader-2', mask=0x2, input = [digi.next_input()])
hist_drop = overlay.adopt_action('DigiHitHistoryDrop/Drop-2', masks = [evtreader.mask])
digi.info('Created input.overlay50')
#========================================================================================================
overlay = input.adopt_action('DigiSequentialActionSequence/Overlay-3')
evtreader = overlay.adopt_action('DigiROOTInput/Reader-3', mask=0x3, input = [digi.next_input()])
hist_drop = overlay.adopt_action('DigiHitHistoryDrop/Drop-3', masks = [evtreader.mask])
digi.info('Created input.overlay75')
#========================================================================================================
event = digi.event_action('DigiSequentialActionSequence/EventAction')
combine = event.adopt_action('DigiContainerCombine/Combine', masks=[0x0, 0x1, 0x2, 0x3], deposit_mask=0xFEED)
combine.erase_combined = True # Not thread-safe! only do in SequentialActionSequence
dump = event.adopt_action('DigiStoreDump/StoreDump')
digi.info('Created event.dump')
#========================================================================================================
evt_todo = 5
evt_done = digi.run(num_events = evt_todo, num_threads = 5, parallel = 3)
if evt_done == evt_todo: result = "PASSED"
else: result = "FAILED"
digi.always('%s Test finished after processing %d events.'%(result, digi.events_done(),))
digi.always('Test done. Exiting')
if __name__ == '__main__':
run()