Belle II Software  release-05-01-25
dqmNeuro_SW.py
1 import basf2
2 from ROOT import Belle2
3 import neurotrigger
4 import reconstruction
5 import sys
6 import os
7 import rawdata
8 
9 
11 
12 # basf2.conditions.override_globaltags()
13 # basf2.conditions.append_globaltag('klm_alignment_testing')
14 # basf2.conditions.append_globaltag('neurotrigger') # should not be needed
15 # basf2.conditions.append_globaltag('online')
16 
17 
19 basf2.set_log_level(basf2.LogLevel.DEBUG)
20 basf2.set_debug_level(20)
21 
22 
23 
26 main = basf2.create_path()
27 
28 # Loading filelist and checking for ending: ###
29 dstfiles = [sys.argv[1]]
30 
31 ending = ".root"
32 
33 print('Files to be processed:')
34 for x in dstfiles:
35  print(x)
36 
37 # Creating output directories with the script's name: ###
38 os.makedirs(sys.argv[0].split('.py')[0] + '/data', exist_ok=True)
39 os.makedirs(sys.argv[0].split('.py')[0] + '/hist', exist_ok=True)
40 
41 # Creating filenames for dqm histogram output and root dst output: ###
42 outputfile = sys.argv[0].split('.py')[0] + '/hist/histo.' + sys.argv[1].split('/')[-1].split(ending)[0] + '.root'
43 dstputfile = sys.argv[0].split('.py')[0] + '/data/dst.' + sys.argv[1].split('/')[-1].split(ending)[0] + '.root'
44 
45 # adding root input module depending on the input file: ###
46 main.add_module("RootInput", inputFileNames=dstfiles)
47 
48 # loading gearbox and geometry, which is needed for simulation: ###
49 main.add_module('Gearbox')
50 main.add_module('Geometry')
51 
52 # show progress at least every 10^maxN events: ###
53 main.add_module('Progress', maxN=3)
54 
55 # add filter to just use events with trg information present: ###
56 main.add_module(neurotrigger.filterTRG()) # branchname="CDCTriggerNNInput2DFinderTracks"))
57 
58 # adding neurotrigger simulations for one hwsim and one swsim case: ###
59 # neurotrigger.add_neurotrigger_sim(main)
61 
62 # adding software neurotrigger simulation from CDCHits on:
63 # neurotrigger.add_neuro_simulation(main)
64 
65 # add reconstruction in case .sroot files were used: ###
66 # main.add_module('CDCUnpacker')
67 # add matcher modules to match trigger tracks to reco tracks: ###
68 
69 main.add_module('CDCTriggerRecoMatcher', TrgTrackCollectionName=neurotrigger.hwneurotracks,
70  hitCollectionName=neurotrigger.hwneuroinputsegmenthits, axialOnly=True)
71 main.add_module('CDCTriggerRecoMatcher', TrgTrackCollectionName=neurotrigger.hwsimneurotracks,
72  hitCollectionName=neurotrigger.hwneuroinputsegmenthits, axialOnly=True)
73 main.add_module('CDCTriggerRecoMatcher', TrgTrackCollectionName=neurotrigger.hwneuroinput2dfindertracks,
74  hitCollectionName=neurotrigger.hwneuroinputsegmenthits, axialOnly=True)
75 # main.add_module('CDCTriggerRecoHitMatcher', hitCollectionName=neurotrigger.simsegmenthits)
76 # main.add_module('CDCTriggerRecoMatcher', TrgTrackCollectionName=neurotrigger.simneurotracks_swtssw2d,
77 # hitCollectionName=neurotrigger.simsegmenthits, axialOnly=True)
78 main.add_module('SetupGenfitExtrapolation')
79 
80 # adding histomanager and the dqm module: ###
81 main.add_module('HistoManager',
82  histoFileName=outputfile)
83 main.add_module('CDCTriggerNeuroDQM',
84  simNeuroTracksName=neurotrigger.hwsimneurotracks,
85  unpackedNeuroInput2dTracksName=neurotrigger.hwneuroinput2dfindertracks,
86  # simNeuroTracksSWTSSW2DName=neurotrigger.simneurotracks_swtssw2d,
87  # sim2DTracksSWTSName=neurotrigger.sim2dtracks_swts,
88  # simSegmentHitsName=neurotrigger.simsegmenthits,
89  showRecoTracks=True,
90  skipWithoutHWTS=True,
91  maxRecoZDist=-1,
92  maxRecoD0Dist=-1,
93  limitedoutput=False,
94  )
95 
96 # add root output: ###
97 main.add_module('RootOutput', outputFileName=dstputfile)
98 
99 # run basf2: ###
100 basf2.process(main)
101 print(basf2.statistics)
basf2.process
def process(path, max_event=0)
Definition: __init__.py:25
neurotrigger.add_neurotrigger_hw
def add_neurotrigger_hw(path, nntweightfile=None, debug_level=4, debugout=False, **kwargs)
Definition: neurotrigger.py:156
neurotrigger.filterTRG
Defining a filter for skipping trigger suppressed events in realdata:
Definition: neurotrigger.py:32