8 name: str =
"ActsSeedToTrackAnalysisAlg",
9 **kwargs) -> ComponentAccumulator:
11 kwargs.setdefault(
"InputSeedCollection",
"")
12 kwargs.setdefault(
"InputTrackParamsCollection",
"")
13 kwargs.setdefault(
"InputDestinyCollection",
"")
15 if flags.Tracking.doTruth:
16 if flags.Detector.EnableITkPixel:
17 kwargs.setdefault(
"PixelTruthAssociationMap",
"ITkPixelClustersToTruthParticles")
18 if flags.Detector.EnableITkStrip:
19 kwargs.setdefault(
"StripTruthAssociationMap",
"ITkStripClustersToTruthParticles")
21 from AthenaMonitoring
import AthMonitorCfgHelper
22 helper = AthMonitorCfgHelper(flags, kwargs[
'InputDestinyCollection'] +
'AnalysisAlgCfg')
24 monitoringAlgorithm = helper.addAlgorithm(CompFactory.ActsTrk.SeedToTrackAnalysisAlg, name, **kwargs)
25 destinyTypes = [
'UNKNOWN',
'SUCCEED',
'DUPLICATE',
'FAILURE',
'INCLUSIVE']
26 nTypes = len(destinyTypes)
28 histoPath = f
'/ActsAnalysis/{kwargs["InputDestinyCollection"]}'
30 seedVars = helper.addArray([nTypes], monitoringAlgorithm,
'seedVars', topPath=histoPath)
32 for postfix, tool
in seedVars.Tools.items():
33 layer = destinyTypes[
int(postfix.split(
"_")[1]) ]
34 tool.defineHistogram(f
"eta,bottomR;Eta_Vs_bottomR_{layer}", title=f
"Bottom R vs Eta for {layer}", type=
'TH2F', path=
'2D',
35 xbins=50, xmin=-4.5, xmax=4.5,
36 ybins=320, ymin=0, ymax=320)
37 tool.defineHistogram(f
"eta,middleR;Eta_Vs_middleR_{layer}", title=f
"Middle R vs Eta for {layer}", type=
'TH2F', path=
'2D',
38 xbins=50, xmin=-4.5, xmax=4.5,
39 ybins=320, ymin=0, ymax=320)
40 tool.defineHistogram(f
"eta,topR;Eta_Vs_topR_{layer}", title=f
"Top R vs Eta for {layer}", type=
'TH2F', path=
'2D',
41 xbins=50, xmin=-4.5, xmax=4.5,
42 ybins=320, ymin=0, ymax=320)
44 tool.defineHistogram(f
"deltaR_BT,deltaR_BM;DeltaR_BT_vs_Delta_BM_{layer}", title=f
"Delta Radius BT vs BM for {layer}", type=
'TH2F', path=
'2D',
45 xbins=320, xmin=0, xmax=320,
46 ybins=320, ymin=0, ymax=320)
47 tool.defineHistogram(f
"deltaR_BT,deltaR_MT;DeltaR_BT_vs_Delta_MT_{layer}", title=f
"Delta Radius BT vs MT for {layer}", type=
'TH2F', path=
'2D',
48 xbins=320, xmin=0, xmax=320,
49 ybins=320, ymin=0, ymax=320)
50 tool.defineHistogram(f
"deltaR_BM,deltaR_MT;DeltaR_BM_vs_Delta_MT_{layer}", title=f
"Delta Radius MB vs MT for {layer}", type=
'TH2F', path=
'2D',
51 xbins=320, xmin=0, xmax=320,
52 ybins=320, ymin=0, ymax=320)
54 tool.defineHistogram(f
"bottomZ,bottomR;BottomZR_{layer}", title=f
"Bottom SP ZR for {layer}", type=
'TH2F', path=
'2D',
55 xbins=12000, xmin=-3000, xmax=3000,
56 ybins=1000, ymin=0, ymax=320)
57 tool.defineHistogram(f
"middleZ,middleR;MiddleZR_{layer}", title=f
"Middle SP ZR for {layer}", type=
'TH2F', path=
'2D',
58 xbins=12000, xmin=-3000, xmax=3000,
59 ybins=1000, ymin=0, ymax=320)
60 tool.defineHistogram(f
"topZ,topR;TopZR_{layer}", title=f
"Top SP ZR for {layer}", type=
'TH2F', path=
'2D',
61 xbins=12000, xmin=-3000, xmax=3000,
62 ybins=1000, ymin=0, ymax=320)
64 tool.defineHistogram(f
"cotTheta_BM;cotTheta_BM_{layer}", title=f
"CotTheta bottom-middle for {layer}", type=
'TH1F', path=
'SPVars',
65 xbins=80, xmin=0, xmax=40,
66 ybins=80, ymin=0, ymax=40)
67 tool.defineHistogram(f
"cotTheta_MT;cotTheta_MR_{layer}", title=f
"CotTheta middle-top for {layer}", type=
'TH1F', path=
'SPVars',
68 xbins=80, xmin=0, xmax=40,
69 ybins=80, ymin=0, ymax=40)
70 tool.defineHistogram(f
"cotTheta_BM;cotTheta_BT_{layer}", title=f
"CotTheta bottom-top for {layer}", type=
'TH1F', path=
'SPVars',
71 xbins=80, xmin=0, xmax=40,
72 ybins=80, ymin=0, ymax=40)
74 tool.defineHistogram(f
"deltaCotTheta_BM_MT;deltaCotTheta_BM_MT_{layer}", title=f
"Delta CotTheta bottom-top vs middle-top for {layer}", type=
'TH1F', path=
'SPVars',
75 xbins=80, xmin=-2, xmax=2,
76 ybins=80, ymin=-2, ymax=2)
79 tool.defineHistogram(f
"bottomR,quality;Quality_vs_BottomR_{layer}", title=f
"Seed Bottom Radius Vs Quality for {layer};Bottom SP radius;Quality", type=
'TH2F', path=
'Quality',
80 xbins=320, xmin=0, xmax=320,
81 ybins=1000, ymin=-rangeQuality, ymax=rangeQuality)
82 tool.defineHistogram(f
"middleR,quality;Quality_vs_MiddleR_{layer}", title=f
"Seed Middle Radius Vs Quality for {layer};Middle SP radius;Quality", type=
'TH2F', path=
'Quality',
83 xbins=320, xmin=0, xmax=320,
84 ybins=1000, ymin=-rangeQuality, ymax=rangeQuality)
85 tool.defineHistogram(f
"topR,quality;Quality_vs_TopR_{layer}", title=f
"Seed Top Radius Vs Quality for {layer};Top SP radius;Quality", type=
'TH2F', path=
'Quality',
86 xbins=320, xmin=0, xmax=320,
87 ybins=1000, ymin=-rangeQuality, ymax=rangeQuality)
89 tool.defineHistogram(f
"deltaR_BT,quality;Quality_vs_deltaR_BT_{layer}", title=f
"Seed Bottom Radius Vs Quality for {layer};Bottom SP radius;Quality", type=
'TH2F', path=
'Quality',
90 xbins=320, xmin=0, xmax=320,
91 ybins=1000, ymin=-rangeQuality, ymax=rangeQuality)
92 tool.defineHistogram(f
"deltaR_BM,quality;Quality_vs_deltaR_BM_{layer}", title=f
"Seed Bottom Radius Vs Quality for {layer};Bottom SP radius;Quality", type=
'TH2F', path=
'Quality',
93 xbins=320, xmin=0, xmax=320,
94 ybins=1000, ymin=-rangeQuality, ymax=rangeQuality)
95 tool.defineHistogram(f
"deltaR_MT,quality;Quality_vs_deltaR_MT_{layer}", title=f
"Seed Bottom Radius Vs Quality for {layer};Bottom SP radius;Quality", type=
'TH2F', path=
'Quality',
96 xbins=320, xmin=0, xmax=320,
97 ybins=1000, ymin=-rangeQuality, ymax=rangeQuality)
99 tool.defineHistogram(f
"bottomR,truthProb;Truth_Probability_vs_bottomR_{layer}", title=f
"bottom R vs truth prob. for {layer};R;Truth Prob.", type=
'TH2F', path=
'Quality',
100 xbins=320, xmin=0, xmax=320,
101 ybins=12, ymin=0, ymax=1.2)
102 tool.defineHistogram(f
"middleR,truthProb;Truth_Probability_vs_middleR_{layer}", title=f
"middle R vs truth prob. for {layer};R;Truth Prob.", type=
'TH2F', path=
'Quality',
103 xbins=320, xmin=0, xmax=320,
104 ybins=12, ymin=0, ymax=1.2)
105 tool.defineHistogram(f
"topR,truthProb;Truth_Probability_vs_topR_{layer}", title=f
"top R vs truth prob. for {layer};R;Truth Prob.", type=
'TH2F', path=
'Quality',
106 xbins=320, xmin=0, xmax=320,
107 ybins=12, ymin=0, ymax=1.2)
109 tool.defineHistogram(f
"vtxZ,quality;Quality_vs_vtxZ_{layer}", title=f
"Seed Vtxz Vs Quality for {layer};vtx Z;Quality", type=
'TH2F', path=
'Quality',
110 xbins=100, xmin=-200, xmax=200,
111 ybins=1000, ymin=-rangeQuality, ymax=rangeQuality)
113 tool.defineHistogram(f
"truthProb;Truth_Probability_{layer}", title=f
"Seed Truth Probability for {layer}", type=
"TH1F", path=
'Quality',
114 xbins=12, xmin=0, xmax=1.2)
115 tool.defineHistogram(f
"eta,truthProb;Truth_Probability_vs_Eta_{layer}", title=f
"Seed Truth Probability VS Eta for {layer}", type=
"TH2F", path=
'Quality',
116 xbins=50, xmin=-4.5, xmax=4.5,
117 ybins=12, ymin=0, ymax=1.2)
118 tool.defineHistogram(f
"quality,truthProb;Truth_Probability_vs_Quality_{layer}", title=f
"Seed Truth Probability VS Eta for {layer}", type=
"TH2F", path=
'Quality',
119 xbins=1000, xmin=-rangeQuality, xmax=rangeQuality,
120 ybins=12, ymin=0, ymax=1.2)
122 tool.defineHistogram(f
"deltaR_BT,truthProb;deltaR_BT_vs_Truth_Probability_{layer}", title=f
"Seed Truth Probability for {layer}", type=
"TH2F", path=
'Quality',
123 xbins=320, xmin=0, xmax=320,
124 ybins=12, ymin=0, ymax=1.2)
125 tool.defineHistogram(f
"deltaR_BM,truthProb;deltaR_BM_vs_Truth_Probability_{layer}", title=f
"Seed Truth Probability for {layer}", type=
"TH2F", path=
'Quality',
126 xbins=320, xmin=0, xmax=320,
127 ybins=12, ymin=0, ymax=1.2)
128 tool.defineHistogram(f
"deltaR_MT,truthProb;deltaR_MT_vs_Truth_Probability_{layer}", title=f
"Seed Truth Probability for {layer}", type=
"TH2F", path=
'Quality',
129 xbins=320, xmin=0, xmax=320,
130 ybins=12, ymin=0, ymax=1.2)
132 tool.defineHistogram(f
"eta;Eta_{layer}", title=f
"Eta for {layer}", type=
'TH1F', path=
'SeedVars',
133 xbins=50, xmin=-4.5, xmax=4.5)
134 tool.defineHistogram(f
"pt;Pt_{layer}", title=f
"Pt for {layer}", type=
'TH1F', path=
'SeedVars',
135 xbins=100, xmin=0, xmax=100)
136 tool.defineHistogram(f
"quality;Quality_{layer}", title=f
"Quality for {layer}", type=
'TH1F', path=
'SeedVars',
137 xbins=1000, xmin=-rangeQuality, xmax=rangeQuality)
138 tool.defineHistogram(f
"vtxZ;VtxZ_{layer}", title=f
"Vtx Z for {layer}", type=
'TH1F', path=
'SeedVars',
139 xbins=100, xmin=-200, xmax=200)
141 tool.defineHistogram(f
"bottomX;BottomX_{layer}", title=f
"Bottom X for {layer}", type=
'TH1F', path=
'SPVars',
142 xbins=320, xmin=-320, xmax=320)
143 tool.defineHistogram(f
"bottomY;BottomY_{layer}", title=f
"Bottom Y for {layer}", type=
'TH1F', path=
'SPVars',
144 xbins=320, xmin=-320, xmax=320)
145 tool.defineHistogram(f
"bottomZ;BottomZ_{layer}", title=f
"Bottom Z for {layer}", type=
'TH1F', path=
'SPVars',
146 xbins=500, xmin=-3000, xmax=3000)
147 tool.defineHistogram(f
"bottomR;BottomR_{layer}", title=f
"Bottom Radius for {layer}", type=
'TH1F', path=
'SPVars',
148 xbins=320, xmin=0, xmax=320)
150 tool.defineHistogram(f
"middleX;MiddleX_{layer}", title=f
"Middle X for {layer}", type=
'TH1F', path=
'SPVars',
151 xbins=320, xmin=-320, xmax=320)
152 tool.defineHistogram(f
"middleY;MiddleY_{layer}", title=f
"Middle Y for {layer}", type=
'TH1F', path=
'SPVars',
153 xbins=320, xmin=-320, xmax=320)
154 tool.defineHistogram(f
"middleZ;MiddleZ_{layer}", title=f
"Middle Z for {layer}", type=
'TH1F', path=
'SPVars',
155 xbins=500, xmin=-3000, xmax=3000)
156 tool.defineHistogram(f
"middleR;MiddleR_{layer}", title=f
"Middle Radius for {layer}", type=
'TH1F', path=
'SPVars',
157 xbins=320, xmin=0, xmax=320)
159 tool.defineHistogram(f
"topX;TopX_{layer}", title=f
"Top X for {layer}", type=
'TH1F', path=
'SPVars',
160 xbins=320, xmin=-320, xmax=320)
161 tool.defineHistogram(f
"topY;TopY_{layer}", title=f
"Top Y for {layer}", type=
'TH1F', path=
'SPVars',
162 xbins=320, xmin=-320, xmax=320)
163 tool.defineHistogram(f
"topZ;TopZ_{layer}", title=f
"Top Z for {layer}", type=
'TH1F', path=
'SPVars',
164 xbins=500, xmin=-3000, xmax=3000)
165 tool.defineHistogram(f
"topR;TopR_{layer}", title=f
"Top Radius for {layer}", type=
'TH1F', path=
'SPVars',
166 xbins=320, xmin=0, xmax=320)
168 tool.defineHistogram(f
"deltaR_BT;DeltaR_BT_{layer}", title=f
"Delta Radius between Bottom and Top for {layer}", type=
'TH1F', path=
'SPVars',
169 xbins=320, xmin=0, xmax=320)
170 tool.defineHistogram(f
"deltaR_BM;DeltaR_BM_{layer}", title=f
"Delta Radius between Bottom and Middle for {layer}", type=
'TH1F', path=
'SPVars',
171 xbins=320, xmin=0, xmax=320)
172 tool.defineHistogram(f
"deltaR_MT;DeltaR_MT_{layer}", title=f
"Delta Radius between Middle and Top for {layer}", type=
'TH1F', path=
'SPVars',
173 xbins=320, xmin=0, xmax=320)
175 acc.merge(helper.result())