313 extension: str =
"Acts",
315 ntupleName: str =
"",
316 **kwargs) -> ComponentAccumulator:
319 isPixel =
'Pixel' in name
320 perp_min = 0
if isPixel
else 300
321 perp_max = 400
if isPixel
else 1100
323 kwargs.setdefault(
'MonGroupName', extension +
'SeedAnalysisAlg')
325 from AthenaMonitoring
import AthMonitorCfgHelper
326 helper = AthMonitorCfgHelper(flags, extension +
'SeedAnalysisAlgCfg')
328 from ActsConfig.ActsGeometryConfig
import ActsTrackingGeometryToolCfg
330 acc.addPublicTool(geoTool)
333 from ActsConfig.ActsEventCnvConfig
import ActsToTrkConverterToolCfg
337 from ActsConfig.ActsTrackParamsEstimationConfig
import ActsTrackParamsEstimationToolCfg
340 kwargs.setdefault(
'TrackingGeometryTool', acc.getPublicTool(geoTool.name))
341 kwargs.setdefault(
'ATLASConverterTool', converterTool)
342 kwargs.setdefault(
'TrackParamsEstimationTool', trackEstimationTool)
344 monitoringAlgorithm = helper.addAlgorithm(CompFactory.ActsTrk.SeedAnalysisAlg, name, **kwargs)
345 monitoringGroup = helper.addGroup(monitoringAlgorithm, kwargs[
'MonGroupName'],
'/ActsAnalysis/')
347 monitoringGroup.defineHistogram(
'Nseed', title=
'Number of Seeds;N;Entries', type=
'TH1I', path=f
'{histoPath}',
348 xbins=100, xmin=0, xmax=0)
350 monitoringGroup.defineHistogram(
'z1,r1;zr1', title=
'Bottom SP - Z coordinate vs R;z [mm];r [mm]', type=
'TH2F', path=f
'{histoPath}',
351 xbins=1500, xmin=-3000, xmax=3000,
352 ybins=400, ymin=perp_min, ymax=perp_max)
353 monitoringGroup.defineHistogram(
'z2,r2;zr2', title=
'Middle SP - Z coordinate vs R;z [mm];r [mm]', type=
'TH2F', path=f
'{histoPath}',
354 xbins=1500, xmin=-3000, xmax=3000,
355 ybins=400, ymin=perp_min, ymax=perp_max)
356 monitoringGroup.defineHistogram(
'z3,r3;zr3', title=
'Top SP - Z coordinate vs R;z [mm];r [mm]', type=
'TH2F', path=f
'{histoPath}',
357 xbins=1500, xmin=-3000, xmax=3000,
358 ybins=400, ymin=perp_min, ymax=perp_max)
360 monitoringGroup.defineHistogram(
'x1;x1', title=
'Bottom SP - x coordinate;x [mm];Entries;', type=
'TH1F', path=f
'{histoPath}',
361 xbins=100, xmin=-perp_max, xmax=perp_max)
362 monitoringGroup.defineHistogram(
'y1;y1', title=
'Bottom SP - y coordinate;y [mm];Entries;', type=
'TH1F', path=f
'{histoPath}',
363 xbins=100, xmin=-perp_max, xmax=perp_max)
364 monitoringGroup.defineHistogram(
'z1;z1', title=
'Bottom SP - z coordinate;z [mm];Entries;', type=
'TH1F', path=f
'{histoPath}',
365 xbins=100, xmin=-3000, xmax=3000)
366 monitoringGroup.defineHistogram(
'r1;r1', title=
'Bottom SP - radius coordinate;r [mm];Entries;', type=
'TH1F', path=f
'{histoPath}',
367 xbins=100, xmin=perp_min, xmax=perp_max)
369 monitoringGroup.defineHistogram(
'x2;x2', title=
'Middle SP - x coordinate;x [mm];Entries;', type=
'TH1F', path=f
'{histoPath}',
370 xbins=100, xmin=-perp_max, xmax=perp_max)
371 monitoringGroup.defineHistogram(
'y2;y2', title=
'Middle SP - y coordinate;y [mm];Entries;', type=
'TH1F', path=f
'{histoPath}',
372 xbins=100, xmin=-perp_max, xmax=perp_max)
373 monitoringGroup.defineHistogram(
'z2;z2', title=
'Middle SP - z coordinate;z [mm];Entries;', type=
'TH1F', path=f
'{histoPath}',
374 xbins=100, xmin=-3000, xmax=3000)
375 monitoringGroup.defineHistogram(
'r2;r2', title=
'Middle SP - radius coordinate;r [mm];Entries;', type=
'TH1F', path=f
'{histoPath}',
376 xbins=100, xmin=perp_min, xmax=perp_max)
378 monitoringGroup.defineHistogram(
'x3;x3', title=
'Top SP - x coordinate;x [mm];Entries;', type=
'TH1F', path=f
'{histoPath}',
379 xbins=100, xmin=-perp_max, xmax=perp_max)
380 monitoringGroup.defineHistogram(
'y3;y3', title=
'Top SP - y coordinate;y [mm];Entries;', type=
'TH1F', path=f
'{histoPath}',
381 xbins=100, xmin=-perp_max, xmax=perp_max)
382 monitoringGroup.defineHistogram(
'z3;z3', title=
'Top SP - z coordinate;z [mm];Entries;', type=
'TH1F', path=f
'{histoPath}',
383 xbins=100, xmin=-3000, xmax=3000)
384 monitoringGroup.defineHistogram(
'r3;r3', title=
'Top SP - radius coordinate;r [mm];Entries;', type=
'TH1F', path=f
'{histoPath}',
385 xbins=100, xmin=perp_min, xmax=perp_max)
387 if 'PixelSeeds' in ntupleName:
388 monitoringGroup.defineHistogram(
'pt;pT', title=
'Pt;Pt;Entries;', type=
'TH1F', path=f
'{histoPath}',
389 xbins=100, xmin=0, xmax=100)
390 monitoringGroup.defineHistogram(
'd0;d0', title=
'd0;d0 [mm];Entries;', type=
'TH1F', path=f
'{histoPath}',
391 xbins=50, xmin=0, xmax=2)
392 monitoringGroup.defineHistogram(
'eta;Eta', title=
'Pseudo-Rapidity;Pseudo-Rapidity;Entries;', type=
'TH1F', path=f
'{histoPath}',
393 xbins=50, xmin=0, xmax=4.5)
394 monitoringGroup.defineHistogram(
'theta;Theta', title=
'Theta;Theta;Entries;', type=
'TH1F', path=f
'{histoPath}',
395 xbins=50, xmin=0, xmax=1.6)
396 monitoringGroup.defineHistogram(
'penalty;Penalty', title=
'Penalty;Penalty;Entries;', type=
'TH1F', path=f
'{histoPath}',
397 xbins=50, xmin=0, xmax=200)
398 monitoringGroup.defineHistogram(
'dzdr_b;dzdr_b', title=
'dzdr_b;;;', type=
'TH1F', path=f
'{histoPath}',
399 xbins=50, xmin=-30, xmax=30)
400 monitoringGroup.defineHistogram(
'dzdr_t;dzdr_t', title=
'dzdr_t;;;', type=
'TH1F', path=f
'{histoPath}',
401 xbins=50, xmin=-30, xmax=30)
402 elif 'StripSeeds' in ntupleName:
403 monitoringGroup.defineHistogram(
'pt;pT', title=
'Pt;Pt;Entries;', type=
'TH1F', path=f
'{histoPath}',
404 xbins=100, xmin=0, xmax=2300)
405 monitoringGroup.defineHistogram(
'd0;d0', title=
'd0;d0 [mm];Entries;', type=
'TH1F', path=f
'{histoPath}',
406 xbins=50, xmin=0, xmax=120)
407 monitoringGroup.defineHistogram(
'eta;Eta', title=
'Pseudo-Rapidity;Pseudo-Rapidity;Entries;', type=
'TH1F', path=f
'{histoPath}',
408 xbins=50, xmin=0, xmax=4.5)
409 monitoringGroup.defineHistogram(
'theta;Theta', title=
'Theta;Theta;Entries;', type=
'TH1F', path=f
'{histoPath}',
410 xbins=50, xmin=0, xmax=1.6)
411 monitoringGroup.defineHistogram(
'penalty;Penalty', title=
'Penalty;Penalty;Entries;', type=
'TH1F', path=f
'{histoPath}',
412 xbins=50, xmin=0, xmax=20000)
413 monitoringGroup.defineHistogram(
'dzdr_b;dzdr_b', title=
'dzdr_b;;;', type=
'TH1F', path=f
'{histoPath}',
414 xbins=50, xmin=-6.5, xmax=6.5)
415 monitoringGroup.defineHistogram(
'dzdr_t;dzdr_t', title=
'dzdr_t;;;', type=
'TH1F', path=f
'{histoPath}',
416 xbins=50, xmin=-6.5, xmax=6.5)
418 if flags.Tracking.doTruth:
419 monitoringGroup.defineHistogram(
'passed,estimated_eta;EfficiencyEta', title=
'Efficiency vs eta;eta;Efficiency', type=
'TEfficiency', path=f
'{histoPath}',
420 xbins=50, xmin=-5, xmax=5)
421 monitoringGroup.defineHistogram(
'passed,estimated_pt;EfficiencyPt', title=
'Efficiency vs pT;pT [GeV];Efficiency', type=
'TEfficiency', path=f
'{histoPath}',
422 xbins=30, xmin=0, xmax=120)
425 list_variables =
"x1,y1,z1,r1,x2,y2,z2,r2,x3,y3,z3,r3,pt,theta,eta,d0,dzdr_b,dzdr_t,penalty,event_number,actual_mu"
426 tree_def =
"x1/vector<double>:y1/vector<double>:z1/vector<double>:r1/vector<double>:x2/vector<double>:y2/vector<double>:z2/vector<double>:r2/vector<double>:x3/vector<double>:y3/vector<double>:z3/vector<double>:r3/vector<double>\
427 :pt/vector<float>:theta/vector<float>:eta/vector<float>:d0/vector<float>:dzdr_b/vector<float>:dzdr_t/vector<float>:penalty/vector<float>:event_number/l:actual_mu/F"
428 if flags.Tracking.doTruth:
429 list_variables +=
",truth_barcode,truth_prob"
430 tree_def +=
":truth_barcode/vector<int>:truth_prob/vector<double>"
432 monitoringGroup.defineTree(f
'{list_variables};{ntupleName}',
436 acc.merge(helper.result())