ATLAS Offline Software
Loading...
Searching...
No Matches
FPGATrackSimAlgorithmConfig Namespace Reference

Functions

 FPGATrackSimDataPrepMonitoringCfg (flags)
 original monitor histograms
 FPGATrackSimTrackMonCfg (name, flags, variety='road')
 new monitoring tool
 FPGATrackSimOverlapRemovalToolMonitoringCfg (flags)
 FPGATrackSimSecondStageAlgMonitoringCfg (flags)

Detailed Description

@author Riley Xu - rixu@cern.ch
@date Feb 6th 2020
@brief This file declares functions that configure the tools and algorithms in FPGATrackSimAlgorithms.

Function Documentation

◆ FPGATrackSimDataPrepMonitoringCfg()

FPGATrackSimAlgorithmConfig.FPGATrackSimDataPrepMonitoringCfg ( flags)

original monitor histograms

Definition at line 10 of file FPGATrackSimAlgorithmConfig.py.

10def FPGATrackSimDataPrepMonitoringCfg(flags):
11 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
12 result = ComponentAccumulator()
13 from AthenaMonitoringKernel.GenericMonitoringTool import GenericMonitoringTool
14 monTool = GenericMonitoringTool(flags, 'MonTool')
15 nbin=1000
16 low=-0.5
17 high=99999.5
18 if flags.Trigger.FPGATrackSim.singleTrackSample:
19 nbin=100
20 high=99.5
21
22 monTool.defineHistogram('regionID', path='EXPERT', type='TH1I', title='regionID', xbins=nbin, xmin=low, xmax=high)
23 monTool.defineHistogram('nHits_1st', path='EXPERT', type='TH1I', title='nHits_1st', xbins=nbin, xmin=low, xmax=high)
24 monTool.defineHistogram('nHits_1st_unmapped', path='EXPERT', type='TH1I', title='nHits_1st_unmapped', xbins=nbin, xmin=low, xmax=high)
25 result.setPrivateTools(monTool)
26
27 return result
28
29

◆ FPGATrackSimOverlapRemovalToolMonitoringCfg()

FPGATrackSimAlgorithmConfig.FPGATrackSimOverlapRemovalToolMonitoringCfg ( flags)

Definition at line 102 of file FPGATrackSimAlgorithmConfig.py.

102def FPGATrackSimOverlapRemovalToolMonitoringCfg(flags):
103 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
104 result = ComponentAccumulator()
105 from AthenaMonitoringKernel.GenericMonitoringTool import GenericMonitoringTool
106 monTool = GenericMonitoringTool(flags, 'MonTool')
107
108 monTool.defineHistogram('ntrack_passOR', path='EXPERT', type='TH1I', title='ntrack_passOR', xbins=20, xmin=0, xmax=10)
109 monTool.defineHistogram('barcodeFrac_passOR', path='EXPERT', type='TH1I', title='barcodeFrac_passOR', xbins=20, xmin=0, xmax=1.5)
110
111 result.setPrivateTools(monTool)
112
113 return result
114
115

◆ FPGATrackSimSecondStageAlgMonitoringCfg()

FPGATrackSimAlgorithmConfig.FPGATrackSimSecondStageAlgMonitoringCfg ( flags)

Definition at line 116 of file FPGATrackSimAlgorithmConfig.py.

116def FPGATrackSimSecondStageAlgMonitoringCfg(flags):
117 from FPGATrackSimConfTools.FPGATrackSimDataPrepConfig import getPhiRange,getEtaRange
118 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
119 result = ComponentAccumulator()
120 from AthenaMonitoringKernel.GenericMonitoringTool import GenericMonitoringTool
121 monTool = GenericMonitoringTool(flags, 'MonTool')
122 nbin=100
123 low=-0.5
124 high=99.5
125
126 phis=getPhiRange(flags)
127 etas=getEtaRange(flags)
128 phimin=phis[0]
129 phimax=phis[1]
130 etamin=etas[0]
131 etamax=etas[1]
132
133 phimin = phimin-flags.Trigger.FPGATrackSim.phiShift
134 phimax = phimax-flags.Trigger.FPGATrackSim.phiShift
135
136 monTool.defineHistogram('nHits_2nd', path='EXPERT', type='TH1I', title='nHits_2nd', xbins=nbin, xmin=low, xmax=high)
137 monTool.defineHistogram('nHits_2nd_unmapped', path='EXPERT', type='TH1I', title='nHits_2nd_unmapped', xbins=nbin, xmin=low, xmax=high)
138 monTool.defineHistogram('nroads_2nd', path='EXPERT', type='TH1I', title='nroads_2nd', xbins=nbin, xmin=low, xmax=high)
139 monTool.defineHistogram('nroads_2nd_postfilter', path='EXPERT', type='TH1I', title='nroads_2nd_postfilter', xbins=nbin, xmin=low, xmax=high)
140 monTool.defineHistogram('layerIDs_2nd', path='EXPERT', type='TH1I', title='layerIDs_2nd', xbins=20, xmin=-0.5, xmax = 19.5)
141 monTool.defineHistogram('layerIDs_2nd_best', path='EXPERT', type='TH1I', title='layerIDs_2nd_best', xbins=20, xmin=-0.5, xmax = 19.5)
142 monTool.defineHistogram('completed_roads_NN', path='EXPERT', type='TH1I', title='completed_roads_NN', xbins=20, xmin=-0.5, xmax = 19.5)
143 monTool.defineHistogram('chi2_2nd_all', path='EXPERT', type='TH1F', title='chi2_2nd_all', xbins=nbin, xmin=low, xmax=high)
144 monTool.defineHistogram('chi2_2nd_afterOLR', path='EXPERT', type='TH1F', title='chi2_2nd_afterOLR', xbins=nbin, xmin=0, xmax=10.0)
145 monTool.defineHistogram('best_chi2_2nd', path='EXPERT', type='TH1F', title='best_chi2_2nd', xbins=nbin, xmin=low, xmax=high)
146 monTool.defineHistogram('ntrack_2nd', path='EXPERT', type='TH1F', title='ntrack_2nd', xbins=nbin, xmin=low, xmax=high)
147 monTool.defineHistogram('ntrack_2nd_afterOLR', path='EXPERT', type='TH1F', title='ntrack_2nd_afterOLR', xbins=nbin, xmin=low, xmax=high)
148 monTool.defineHistogram('eff_road_2nd,pT', path='EXPERT', type='TEfficiency', title='eff_road_pt', xbins=20, xmin=0, xmax=100)
149 monTool.defineHistogram('eff_track_2nd,pT', path='EXPERT', type='TEfficiency', title='eff_track_pt', xbins=20, xmin=0, xmax=100)
150 monTool.defineHistogram('eff_track_chi2_2nd,pT', path='EXPERT', type='TEfficiency', title='eff_track_chi2_pt', xbins=20, xmin=0, xmax=100)
151 monTool.defineHistogram('eff_road_2nd,pT_zoom', path='EXPERT', type='TEfficiency', title='eff_road_pt_zoom', xbins=10, xmin=0, xmax=10)
152 monTool.defineHistogram('eff_track_2nd,pT_zoom', path='EXPERT', type='TEfficiency', title='eff_track_pt_zoom', xbins=10, xmin=0, xmax=10)
153 monTool.defineHistogram('eff_track_chi2_2nd,pT_zoom', path='EXPERT', type='TEfficiency', title='eff_track_chi2_pt_zoom', xbins=10, xmin=0, xmax=10)
154 monTool.defineHistogram('eff_road_2nd,eta', path='EXPERT', type='TEfficiency', title='eff_road_eta', xbins = 20, xmin=etamin, xmax=etamax)
155 monTool.defineHistogram('eff_track_2nd,eta', path='EXPERT', type='TEfficiency', title='eff_track_eta', xbins = 20, xmin=etamin, xmax=etamax)
156 monTool.defineHistogram('eff_track_chi2_2nd,eta', path='EXPERT', type='TEfficiency', title='eff_track_chi2_eta', xbins = 20, xmin=etamin, xmax=etamax)
157 monTool.defineHistogram('eff_road_2nd,phi', path='EXPERT', type='TEfficiency', title='eff_road_phi', xbins = 20, xmin=phimin, xmax=phimax)
158 monTool.defineHistogram('eff_track_2nd,phi', path='EXPERT', type='TEfficiency', title='eff_track_phi', xbins = 20, xmin=phimin, xmax=phimax)
159 monTool.defineHistogram('eff_track_chi2_2nd,phi', path='EXPERT', type='TEfficiency', title='eff_track_chi2_phi', xbins = 20, xmin=phimin, xmax=phimax)
160 monTool.defineHistogram('eff_road_2nd,d0', path='EXPERT', type='TEfficiency', title='eff_road_d0', xbins = 20, xmin = -2.0, xmax = 2.0)
161 monTool.defineHistogram('eff_track_2nd,d0', path='EXPERT', type='TEfficiency', title='eff_track_d0', xbins = 20, xmin = -2.0, xmax = 2.0)
162 monTool.defineHistogram('eff_track_chi2_2nd,d0', path='EXPERT', type='TEfficiency', title='eff_track_chi2_d0', xbins = 20, xmin = -2.0, xmax = 2.0)
163 monTool.defineHistogram('eff_road_2nd,z0', path='EXPERT', type='TEfficiency', title='eff_road_z0', xbins = 20, xmin = -150, xmax = 150.0)
164 monTool.defineHistogram('eff_track_2nd,z0', path='EXPERT', type='TEfficiency', title='eff_track_z0', xbins = 20, xmin = -150.0, xmax = 150.0)
165 monTool.defineHistogram('eff_track_chi2_2nd,z0', path='EXPERT', type='TEfficiency', title='eff_track_chi2_z0', xbins = 20, xmin = -150.0, xmax = 150.0)
166
167 result.setPrivateTools(monTool)
168
169 return result

◆ FPGATrackSimTrackMonCfg()

FPGATrackSimAlgorithmConfig.FPGATrackSimTrackMonCfg ( name,
flags,
variety = 'road' )

new monitoring tool

Definition at line 31 of file FPGATrackSimAlgorithmConfig.py.

31def FPGATrackSimTrackMonCfg(name,flags,variety='road'):
32 from FPGATrackSimConfTools.FPGATrackSimDataPrepConfig import getPhiRange, getEtaRange, nameWithRegionSuffix
33 from AthenaConfiguration.ComponentFactory import CompFactory
34 from AthenaMonitoringKernel.GenericMonitoringTool import GenericMonitoringTool
35 monTool = GenericMonitoringTool(flags, 'MonTool')
36
37 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
38 result = ComponentAccumulator()
39
40 nbin=200000
41 low=-0.5
42 high=1999.5
43 if flags.Trigger.FPGATrackSim.singleTrackSample:
44 nbin=1000
45 high=99.5
46
47 phis=getPhiRange(flags)
48 etas=getEtaRange(flags)
49 phimin=phis[0]
50 phimax=phis[1]
51 etamin=etas[0]
52 etamax=etas[1]
53
54 phimin = phimin-flags.Trigger.FPGATrackSim.phiShift
55 phimax = phimax-flags.Trigger.FPGATrackSim.phiShift
56
57
59 if variety=='road':
60 monTool.defineHistogram('nRoads', path='EXPERT', type='TH1I', title='nRoads', xbins=nbin, xmin=low, xmax=high)
61 monTool.defineHistogram('layerIDs', path='EXPERT', type='TH1I', title='layerIDs', xbins=20, xmin=-0.5, xmax = 19.5)
62 monTool.defineHistogram('nLayers', path='EXPERT', type='TH1I', title='nLayers', xbins=nbin, xmin=low, xmax=high)
63
64
65 elif variety=='track':
66 # number of tracks
67 monTool.defineHistogram('nTracks', path='EXPERT', type='TH1I', title='nTracks', xbins=nbin, xmin=low, xmax=high)
68 monTool.defineHistogram('chi2_all', path='EXPERT', type='TH1F', title='chi2_all', xbins=nbin, xmin=low, xmax=high)
69 monTool.defineHistogram('best_chi2', path='EXPERT', type='TH1F', title='best_chi2', xbins=nbin, xmin=low, xmax=high)
70
71 # number of hits
72 monTool.defineHistogram('nHits', path='EXPERT', type='TH1I', title='nHits', xbins=20, xmin=-0.5, xmax = 19.5)
73
74 # all tracks (all hits with any number of hits)
75 nbinchi2 = 10000
76 xmaxchi2 = {'chi2':10.0, 'chi2Eta': 1.0, 'chi2Phi' : 0.1}
77 for var in ['chi2','chi2Eta', 'chi2Phi']:
78 for nhit in ['','_4','_5']:
79 for sel in ['','_best']:
80 monTool.defineHistogram(f'{var}{sel}{nhit}', path='EXPERT', type='TH1F', title=f'{var}{sel}{nhit}', xbins=nbinchi2, xmin=0.0, xmax=xmaxchi2[var])
81
82
83 monTool.defineHistogram(f'eff_{variety},pT_zoom', path='EXPERT', type='TEfficiency', title=f'eff_{variety} vs pT_zoom', xbins=10, xmin=0, xmax=10)
84 monTool.defineHistogram(f'eff_{variety},pT', path='EXPERT', type='TEfficiency', title=f'eff_{variety} vs pT', xbins=20, xmin=0, xmax=100)
85 monTool.defineHistogram(f'eff_{variety},eta', path='EXPERT', type='TEfficiency', title=f'eff_{variety} vs eta', xbins=20, xmin=etamin, xmax=etamax)
86 monTool.defineHistogram(f'eff_{variety},phi', path='EXPERT', type='TEfficiency', title=f'eff_{variety} vs phi', xbins=20, xmin=phimin, xmax=phimax)
87 monTool.defineHistogram(f'eff_{variety},d0', path='EXPERT', type='TEfficiency', title=f'eff_{variety} vs d0', xbins=20, xmin=-2.0, xmax=2.0)
88 monTool.defineHistogram(f'eff_{variety},z0', path='EXPERT', type='TEfficiency', title=f'eff_{variety} vs z0', xbins=20, xmin=-150.0, xmax=150.0)
89
90
91 trackmon = CompFactory.FPGATrackSimTrackMonitor(nameWithRegionSuffix(flags,f"{variety}_monitor_{name}"))
92
93
94 trackmon.MonTool = monTool
95
96
97 result.setPrivateTools(trackmon)
98
99 return result
100
101