345 extension: str =
"Acts",
347 ntupleName: str =
"",
348 **kwargs) -> ComponentAccumulator:
351 isPixel =
'Pixel' in name
352 perp_min = 0
if isPixel
else 300
353 perp_max = 400
if isPixel
else 1100
355 kwargs.setdefault(
'MonGroupName', extension +
'SeedAnalysisAlg')
357 from AthenaMonitoring
import AthMonitorCfgHelper
358 helper = AthMonitorCfgHelper(flags, extension +
'SeedAnalysisAlgCfg')
360 from ActsConfig.ActsGeometryConfig
import ActsTrackingGeometryToolCfg
362 acc.addPublicTool(geoTool)
365 from ActsConfig.ActsEventCnvConfig
import ActsToTrkConverterToolCfg
369 from ActsConfig.ActsTrackParamsEstimationConfig
import ActsTrackParamsEstimationToolCfg
372 kwargs.setdefault(
'TrackingGeometryTool', acc.getPublicTool(geoTool.name))
373 kwargs.setdefault(
'ATLASConverterTool', converterTool)
374 kwargs.setdefault(
'TrackParamsEstimationTool', trackEstimationTool)
376 monitoringAlgorithm = helper.addAlgorithm(CompFactory.ActsTrk.SeedAnalysisAlg, name, **kwargs)
377 monitoringGroup = helper.addGroup(monitoringAlgorithm, kwargs[
'MonGroupName'],
'/ActsAnalysis/')
379 monitoringGroup.defineHistogram(
'Nseed', title=
'Number of Seeds;N;Entries', type=
'TH1I', path=f
'{histoPath}',
380 xbins=100, xmin=0, xmax=0)
382 monitoringGroup.defineHistogram(
'z1,r1;zr1', title=
'Bottom SP - Z coordinate vs R;z [mm];r [mm]', type=
'TH2F', path=f
'{histoPath}',
383 xbins=1500, xmin=-3000, xmax=3000,
384 ybins=400, ymin=perp_min, ymax=perp_max)
385 monitoringGroup.defineHistogram(
'z2,r2;zr2', title=
'Middle SP - Z coordinate vs R;z [mm];r [mm]', type=
'TH2F', path=f
'{histoPath}',
386 xbins=1500, xmin=-3000, xmax=3000,
387 ybins=400, ymin=perp_min, ymax=perp_max)
388 monitoringGroup.defineHistogram(
'z3,r3;zr3', title=
'Top SP - Z coordinate vs R;z [mm];r [mm]', type=
'TH2F', path=f
'{histoPath}',
389 xbins=1500, xmin=-3000, xmax=3000,
390 ybins=400, ymin=perp_min, ymax=perp_max)
392 monitoringGroup.defineHistogram(
'x1;x1', title=
'Bottom SP - x coordinate;x [mm];Entries;', type=
'TH1F', path=f
'{histoPath}',
393 xbins=100, xmin=-perp_max, xmax=perp_max)
394 monitoringGroup.defineHistogram(
'y1;y1', title=
'Bottom SP - y coordinate;y [mm];Entries;', type=
'TH1F', path=f
'{histoPath}',
395 xbins=100, xmin=-perp_max, xmax=perp_max)
396 monitoringGroup.defineHistogram(
'z1;z1', title=
'Bottom SP - z coordinate;z [mm];Entries;', type=
'TH1F', path=f
'{histoPath}',
397 xbins=100, xmin=-3000, xmax=3000)
398 monitoringGroup.defineHistogram(
'r1;r1', title=
'Bottom SP - radius coordinate;r [mm];Entries;', type=
'TH1F', path=f
'{histoPath}',
399 xbins=100, xmin=perp_min, xmax=perp_max)
401 monitoringGroup.defineHistogram(
'x2;x2', title=
'Middle SP - x coordinate;x [mm];Entries;', type=
'TH1F', path=f
'{histoPath}',
402 xbins=100, xmin=-perp_max, xmax=perp_max)
403 monitoringGroup.defineHistogram(
'y2;y2', title=
'Middle SP - y coordinate;y [mm];Entries;', type=
'TH1F', path=f
'{histoPath}',
404 xbins=100, xmin=-perp_max, xmax=perp_max)
405 monitoringGroup.defineHistogram(
'z2;z2', title=
'Middle SP - z coordinate;z [mm];Entries;', type=
'TH1F', path=f
'{histoPath}',
406 xbins=100, xmin=-3000, xmax=3000)
407 monitoringGroup.defineHistogram(
'r2;r2', title=
'Middle SP - radius coordinate;r [mm];Entries;', type=
'TH1F', path=f
'{histoPath}',
408 xbins=100, xmin=perp_min, xmax=perp_max)
410 monitoringGroup.defineHistogram(
'x3;x3', title=
'Top SP - x coordinate;x [mm];Entries;', type=
'TH1F', path=f
'{histoPath}',
411 xbins=100, xmin=-perp_max, xmax=perp_max)
412 monitoringGroup.defineHistogram(
'y3;y3', title=
'Top SP - y coordinate;y [mm];Entries;', type=
'TH1F', path=f
'{histoPath}',
413 xbins=100, xmin=-perp_max, xmax=perp_max)
414 monitoringGroup.defineHistogram(
'z3;z3', title=
'Top SP - z coordinate;z [mm];Entries;', type=
'TH1F', path=f
'{histoPath}',
415 xbins=100, xmin=-3000, xmax=3000)
416 monitoringGroup.defineHistogram(
'r3;r3', title=
'Top SP - radius coordinate;r [mm];Entries;', type=
'TH1F', path=f
'{histoPath}',
417 xbins=100, xmin=perp_min, xmax=perp_max)
419 if 'PixelSeeds' in ntupleName:
420 monitoringGroup.defineHistogram(
'pt;pT', title=
'Pt;Pt;Entries;', type=
'TH1F', path=f
'{histoPath}',
421 xbins=100, xmin=0, xmax=100)
422 monitoringGroup.defineHistogram(
'd0;d0', title=
'd0;d0 [mm];Entries;', type=
'TH1F', path=f
'{histoPath}',
423 xbins=50, xmin=0, xmax=2)
424 monitoringGroup.defineHistogram(
'eta;Eta', title=
'Pseudo-Rapidity;Pseudo-Rapidity;Entries;', type=
'TH1F', path=f
'{histoPath}',
425 xbins=50, xmin=0, xmax=4.5)
426 monitoringGroup.defineHistogram(
'theta;Theta', title=
'Theta;Theta;Entries;', type=
'TH1F', path=f
'{histoPath}',
427 xbins=50, xmin=0, xmax=1.6)
428 monitoringGroup.defineHistogram(
'penalty;Penalty', title=
'Penalty;Penalty;Entries;', type=
'TH1F', path=f
'{histoPath}',
429 xbins=50, xmin=0, xmax=200)
430 monitoringGroup.defineHistogram(
'dzdr_b;dzdr_b', title=
'dzdr_b;;;', type=
'TH1F', path=f
'{histoPath}',
431 xbins=50, xmin=-30, xmax=30)
432 monitoringGroup.defineHistogram(
'dzdr_t;dzdr_t', title=
'dzdr_t;;;', type=
'TH1F', path=f
'{histoPath}',
433 xbins=50, xmin=-30, xmax=30)
434 elif 'StripSeeds' in ntupleName:
435 monitoringGroup.defineHistogram(
'pt;pT', title=
'Pt;Pt;Entries;', type=
'TH1F', path=f
'{histoPath}',
436 xbins=100, xmin=0, xmax=2300)
437 monitoringGroup.defineHistogram(
'd0;d0', title=
'd0;d0 [mm];Entries;', type=
'TH1F', path=f
'{histoPath}',
438 xbins=50, xmin=0, xmax=120)
439 monitoringGroup.defineHistogram(
'eta;Eta', title=
'Pseudo-Rapidity;Pseudo-Rapidity;Entries;', type=
'TH1F', path=f
'{histoPath}',
440 xbins=50, xmin=0, xmax=4.5)
441 monitoringGroup.defineHistogram(
'theta;Theta', title=
'Theta;Theta;Entries;', type=
'TH1F', path=f
'{histoPath}',
442 xbins=50, xmin=0, xmax=1.6)
443 monitoringGroup.defineHistogram(
'penalty;Penalty', title=
'Penalty;Penalty;Entries;', type=
'TH1F', path=f
'{histoPath}',
444 xbins=50, xmin=0, xmax=20000)
445 monitoringGroup.defineHistogram(
'dzdr_b;dzdr_b', title=
'dzdr_b;;;', type=
'TH1F', path=f
'{histoPath}',
446 xbins=50, xmin=-6.5, xmax=6.5)
447 monitoringGroup.defineHistogram(
'dzdr_t;dzdr_t', title=
'dzdr_t;;;', type=
'TH1F', path=f
'{histoPath}',
448 xbins=50, xmin=-6.5, xmax=6.5)
450 if flags.Tracking.doTruth:
451 monitoringGroup.defineHistogram(
'passed,estimated_eta;EfficiencyEta', title=
'Efficiency vs eta;eta;Efficiency', type=
'TEfficiency', path=f
'{histoPath}',
452 xbins=50, xmin=-5, xmax=5)
453 monitoringGroup.defineHistogram(
'passed,estimated_pt;EfficiencyPt', title=
'Efficiency vs pT;pT [GeV];Efficiency', type=
'TEfficiency', path=f
'{histoPath}',
454 xbins=30, xmin=0, xmax=120)
457 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"
458 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>\
459 :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"
460 if flags.Tracking.doTruth:
461 list_variables +=
",truth_barcode,truth_prob"
462 tree_def +=
":truth_barcode/vector<int>:truth_prob/vector<double>"
464 monitoringGroup.defineTree(f
'{list_variables};{ntupleName}',
468 acc.merge(helper.result())