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

Functions

ComponentAccumulator ActsSeedToTrackAnalysisAlgCfg (flags, str name="ActsSeedToTrackAnalysisAlg", **kwargs)
ComponentAccumulator ActsTrackAnalysisAlgCfg (flags, str name="ActsTrackAnalysisAlg", **kwargs)
ComponentAccumulator ActsTrackParticleAnalysisAlgCfg (flags, str name='ActsTrackParticleAnalysisAlg', **kwargs)
ComponentAccumulator ActsHgtdClusterAnalysisAlgCfg (flags, str name="ActsHgtdClusterAnalysisAlg", **kwargs)
ComponentAccumulator ActsPixelClusterAnalysisAlgCfg (flags, str name="ActsPixelClusterAnalysisAlg", str extension="Acts", **kwargs)
ComponentAccumulator ActsStripClusterAnalysisAlgCfg (flags, str name="ActsStripClusterAnalysisAlg", str extension="Acts", **kwargs)
ComponentAccumulator ActsBaseSpacePointAnalysisAlgCfg (flags, str name="", str extension="Acts", histoPath="", ntupleName="", **kwargs)
ComponentAccumulator ActsPixelSpacePointAnalysisAlgCfg (flags, str name="ActsPixelSpacePointAnalysisAlg", str extension="Acts", **kwargs)
ComponentAccumulator ActsStripSpacePointAnalysisAlgCfg (flags, str name="ActsStripSpacePointAnalysisAlg", str extension="Acts", **kwargs)
ComponentAccumulator ActsStripOverlapSpacePointAnalysisAlgCfg (flags, str name="ActsStripOverlapSpacePointAnalysisAlg", str extension="Acts", **kwargs)
ComponentAccumulator ActsBaseSeedAnalysisAlgCfg (flags, str name="", str extension="Acts", str histoPath="", str ntupleName="", **kwargs)
ComponentAccumulator ActsPixelSeedAnalysisAlgCfg (flags, str name="ActsPixelSeedAnalysisAlg", str extension="Acts", **kwargs)
ComponentAccumulator ActsStripSeedAnalysisAlgCfg (flags, str name="ActsStripSeedAnalysisAlg", str extension="Acts", **kwargs)
ComponentAccumulator ActsBaseEstimatedTrackParamsAnalysisAlgCfg (flags, str name="", str extension="Acts", str histoPath="", str ntupleName="", **kwargs)
ComponentAccumulator ActsSeedingAlgorithmAnalysisAlgCfg (flags, str name="ActsSeedingAlgorithmAnalysis", **kwargs)
ComponentAccumulator ActsPixelEstimatedTrackParamsAnalysisAlgCfg (flags, str name='ActsPixelEstimatedTrackParamsAnalysisAlg', str extension="Acts", **kwargs)
ComponentAccumulator ActsStripEstimatedTrackParamsAnalysisAlgCfg (flags, str name='ActsStripEstimatedTrackParamsAnalysisAlg', str extension="Acts", **kwargs)
ComponentAccumulator ActsBaseSeedsToTrackParamsAlgCfg (flags, str name="", **kwargs)
ComponentAccumulator ActsPixelSeedsToTrackParamsAlgCfg (flags, str name='ActsPixelSeedsToTrackParamsAlg', str extension="Acts", **kwargs)
ComponentAccumulator ActsStripSeedsToTrackParamsAlgCfg (flags, str name='ActsStripSeedsToTrackParamsAlgCfg', str extension="Acts", **kwargs)
ComponentAccumulator PhysValActsCfg (flags, str name='PhysValActs', **kwargs)
ComponentAccumulator ActsSeedAnalysisCfg (flags)
ComponentAccumulator ActsEstimatedTrackParamsAnalysisCfg (flags)
ComponentAccumulator ActsSeedsToTrackParamsCfg (flags)
ComponentAccumulator ActsResidualAnalysisAlgCfg (flags, str name="ActsResidualAnalysisAlg", **kwargs)

Function Documentation

◆ ActsBaseEstimatedTrackParamsAnalysisAlgCfg()

ComponentAccumulator ActsAnalysisConfig.ActsBaseEstimatedTrackParamsAnalysisAlgCfg ( flags,
str name = "",
str extension = "Acts",
str histoPath = "",
str ntupleName = "",
** kwargs )

Definition at line 698 of file ActsAnalysisConfig.py.

703 **kwargs) -> ComponentAccumulator:
704 from AthenaMonitoring import AthMonitorCfgHelper
705 helper = AthMonitorCfgHelper(flags,extension + 'EstimatedTrackParamsAnalysisAlgCfg')
706
707 kwargs.setdefault('MonGroupName', extension + 'SeedAnalysisAlg')
708
709 monitoringAlgorithm = helper.addAlgorithm(CompFactory.ActsTrk.EstimatedTrackParamsAnalysisAlg, name, **kwargs)
710 monitoringGroup = helper.addGroup(monitoringAlgorithm, kwargs['MonGroupName'], '/ActsAnalysis/')
711
712 monitoringGroup.defineHistogram('Nparams', title='Number of Estimated Parameters from Seeds;N;Entries', type='TH1I', path=f'{histoPath}',
713 xbins=100, xmin=0, xmax=0)
714
715 if flags.Acts.doAnalysisNtuples:
716 monitoringGroup.defineTree(f"track_param_pt,track_param_eta,track_param_phi,track_param_loc0,track_param_loc1,track_param_theta,track_param_qoverp,track_param_time,track_param_charge;{ntupleName}",
717 path="ntuples",
718 treedef="track_param_pt/vector<double>:track_param_eta/vector<double>:track_param_phi/vector<double>:track_param_loc0/vector<double>:track_param_loc1/vector<double>:track_param_theta/vector<double>:track_param_qoverp/vector<double>:track_param_time/vector<double>:track_param_charge/vector<int>")
719
720 return helper.result()
721

◆ ActsBaseSeedAnalysisAlgCfg()

ComponentAccumulator ActsAnalysisConfig.ActsBaseSeedAnalysisAlgCfg ( flags,
str name = "",
str extension = "Acts",
str histoPath = "",
str ntupleName = "",
** kwargs )

Definition at line 530 of file ActsAnalysisConfig.py.

535 **kwargs) -> ComponentAccumulator:
536 acc = ComponentAccumulator()
537
538 isPixel = 'Pixel' in name
539 perp_min = 0 if isPixel else 300
540 perp_max = 400 if isPixel else 1100
541
542 kwargs.setdefault('MonGroupName', extension + 'SeedAnalysisAlg')
543
544 from AthenaMonitoring import AthMonitorCfgHelper
545 helper = AthMonitorCfgHelper(flags, extension + 'SeedAnalysisAlgCfg')
546
547 from ActsConfig.ActsGeometryConfig import ActsTrackingGeometryToolCfg
548 geoTool = acc.getPrimaryAndMerge(ActsTrackingGeometryToolCfg(flags))
549 acc.addPublicTool(geoTool)
550
551 # ATLAS Converter Tool
552 from ActsConfig.ActsEventCnvConfig import ActsToTrkConverterToolCfg
553 converterTool = acc.popToolsAndMerge(ActsToTrkConverterToolCfg(flags))
554
555 # Track Param Estimation Tool
556 from ActsConfig.ActsTrackParamsEstimationConfig import ActsTrackParamsEstimationToolCfg
557 trackEstimationTool = acc.popToolsAndMerge(ActsTrackParamsEstimationToolCfg(flags))
558
559 kwargs.setdefault('TrackingGeometryTool', acc.getPublicTool(geoTool.name)) # PublicToolHandle
560 kwargs.setdefault('ATLASConverterTool', converterTool)
561 kwargs.setdefault('TrackParamsEstimationTool', trackEstimationTool)
562
563 monitoringAlgorithm = helper.addAlgorithm(CompFactory.ActsTrk.SeedAnalysisAlg, name, **kwargs)
564 monitoringGroup = helper.addGroup(monitoringAlgorithm, kwargs['MonGroupName'], '/ActsAnalysis/')
565
566 monitoringGroup.defineHistogram('Nseed', title='Number of Seeds;N;Entries', type='TH1I', path=f'{histoPath}',
567 xbins=100, xmin=0, xmax=0)
568
569 monitoringGroup.defineHistogram('z1,r1;zr1', title='Bottom SP - Z coordinate vs R;z [mm];r [mm]', type='TH2F', path=f'{histoPath}',
570 xbins=1500, xmin=-3000, xmax=3000,
571 ybins=400, ymin=perp_min, ymax=perp_max)
572 monitoringGroup.defineHistogram('z2,r2;zr2', title='Middle SP - Z coordinate vs R;z [mm];r [mm]', type='TH2F', path=f'{histoPath}',
573 xbins=1500, xmin=-3000, xmax=3000,
574 ybins=400, ymin=perp_min, ymax=perp_max)
575 monitoringGroup.defineHistogram('z3,r3;zr3', title='Top SP - Z coordinate vs R;z [mm];r [mm]', type='TH2F', path=f'{histoPath}',
576 xbins=1500, xmin=-3000, xmax=3000,
577 ybins=400, ymin=perp_min, ymax=perp_max)
578
579 monitoringGroup.defineHistogram('x1;x1', title='Bottom SP - x coordinate;x [mm];Entries;', type='TH1F', path=f'{histoPath}',
580 xbins=100, xmin=-perp_max, xmax=perp_max)
581 monitoringGroup.defineHistogram('y1;y1', title='Bottom SP - y coordinate;y [mm];Entries;', type='TH1F', path=f'{histoPath}',
582 xbins=100, xmin=-perp_max, xmax=perp_max)
583 monitoringGroup.defineHistogram('z1;z1', title='Bottom SP - z coordinate;z [mm];Entries;', type='TH1F', path=f'{histoPath}',
584 xbins=100, xmin=-3000, xmax=3000)
585 monitoringGroup.defineHistogram('r1;r1', title='Bottom SP - radius coordinate;r [mm];Entries;', type='TH1F', path=f'{histoPath}',
586 xbins=100, xmin=perp_min, xmax=perp_max)
587
588 monitoringGroup.defineHistogram('x2;x2', title='Middle SP - x coordinate;x [mm];Entries;', type='TH1F', path=f'{histoPath}',
589 xbins=100, xmin=-perp_max, xmax=perp_max)
590 monitoringGroup.defineHistogram('y2;y2', title='Middle SP - y coordinate;y [mm];Entries;', type='TH1F', path=f'{histoPath}',
591 xbins=100, xmin=-perp_max, xmax=perp_max)
592 monitoringGroup.defineHistogram('z2;z2', title='Middle SP - z coordinate;z [mm];Entries;', type='TH1F', path=f'{histoPath}',
593 xbins=100, xmin=-3000, xmax=3000)
594 monitoringGroup.defineHistogram('r2;r2', title='Middle SP - radius coordinate;r [mm];Entries;', type='TH1F', path=f'{histoPath}',
595 xbins=100, xmin=perp_min, xmax=perp_max)
596
597 monitoringGroup.defineHistogram('x3;x3', title='Top SP - x coordinate;x [mm];Entries;', type='TH1F', path=f'{histoPath}',
598 xbins=100, xmin=-perp_max, xmax=perp_max)
599 monitoringGroup.defineHistogram('y3;y3', title='Top SP - y coordinate;y [mm];Entries;', type='TH1F', path=f'{histoPath}',
600 xbins=100, xmin=-perp_max, xmax=perp_max)
601 monitoringGroup.defineHistogram('z3;z3', title='Top SP - z coordinate;z [mm];Entries;', type='TH1F', path=f'{histoPath}',
602 xbins=100, xmin=-3000, xmax=3000)
603 monitoringGroup.defineHistogram('r3;r3', title='Top SP - radius coordinate;r [mm];Entries;', type='TH1F', path=f'{histoPath}',
604 xbins=100, xmin=perp_min, xmax=perp_max)
605
606 if 'PixelSeeds' in ntupleName:
607 monitoringGroup.defineHistogram('pt;pT', title='Pt;Pt;Entries;', type='TH1F', path=f'{histoPath}',
608 xbins=100, xmin=0, xmax=100)
609 monitoringGroup.defineHistogram('d0;d0', title='d0;d0 [mm];Entries;', type='TH1F', path=f'{histoPath}',
610 xbins=50, xmin=0, xmax=2)
611 monitoringGroup.defineHistogram('eta;Eta', title='Pseudo-Rapidity;Pseudo-Rapidity;Entries;', type='TH1F', path=f'{histoPath}',
612 xbins=50, xmin=0, xmax=4.5)
613 monitoringGroup.defineHistogram('theta;Theta', title='Theta;Theta;Entries;', type='TH1F', path=f'{histoPath}',
614 xbins=50, xmin=0, xmax=1.6)
615 monitoringGroup.defineHistogram('penalty;Penalty', title='Penalty;Penalty;Entries;', type='TH1F', path=f'{histoPath}',
616 xbins=50, xmin=0, xmax=200)
617 monitoringGroup.defineHistogram('dzdr_b;dzdr_b', title='dzdr_b;;;', type='TH1F', path=f'{histoPath}',
618 xbins=50, xmin=-30, xmax=30)
619 monitoringGroup.defineHistogram('dzdr_t;dzdr_t', title='dzdr_t;;;', type='TH1F', path=f'{histoPath}',
620 xbins=50, xmin=-30, xmax=30)
621 elif 'StripSeeds' in ntupleName:
622 monitoringGroup.defineHistogram('pt;pT', title='Pt;Pt;Entries;', type='TH1F', path=f'{histoPath}',
623 xbins=100, xmin=0, xmax=2300)
624 monitoringGroup.defineHistogram('d0;d0', title='d0;d0 [mm];Entries;', type='TH1F', path=f'{histoPath}',
625 xbins=50, xmin=0, xmax=120)
626 monitoringGroup.defineHistogram('eta;Eta', title='Pseudo-Rapidity;Pseudo-Rapidity;Entries;', type='TH1F', path=f'{histoPath}',
627 xbins=50, xmin=0, xmax=4.5)
628 monitoringGroup.defineHistogram('theta;Theta', title='Theta;Theta;Entries;', type='TH1F', path=f'{histoPath}',
629 xbins=50, xmin=0, xmax=1.6)
630 monitoringGroup.defineHistogram('penalty;Penalty', title='Penalty;Penalty;Entries;', type='TH1F', path=f'{histoPath}',
631 xbins=50, xmin=0, xmax=20000)
632 monitoringGroup.defineHistogram('dzdr_b;dzdr_b', title='dzdr_b;;;', type='TH1F', path=f'{histoPath}',
633 xbins=50, xmin=-6.5, xmax=6.5)
634 monitoringGroup.defineHistogram('dzdr_t;dzdr_t', title='dzdr_t;;;', type='TH1F', path=f'{histoPath}',
635 xbins=50, xmin=-6.5, xmax=6.5)
636
637 if flags.Tracking.doTruth:
638 monitoringGroup.defineHistogram('passed,estimated_eta;EfficiencyEta', title='Efficiency vs eta;eta;Efficiency', type='TEfficiency', path=f'{histoPath}',
639 xbins=50, xmin=-5, xmax=5)
640 monitoringGroup.defineHistogram('passed,estimated_pt;EfficiencyPt', title='Efficiency vs pT;pT [GeV];Efficiency', type='TEfficiency', path=f'{histoPath}',
641 xbins=30, xmin=0, xmax=120)
642
643 # Tree
644 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"
645 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>\
646: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"
647 if flags.Tracking.doTruth:
648 list_variables += ",truth_barcode,truth_prob"
649 tree_def += ":truth_barcode/vector<int>:truth_prob/vector<double>"
650
651 if flags.Acts.doAnalysisNtuples:
652 monitoringGroup.defineTree(f'{list_variables};{ntupleName}',
653 path='ntuples',
654 treedef=tree_def )
655
656 acc.merge(helper.result())
657 return acc
658
659
660

◆ ActsBaseSeedsToTrackParamsAlgCfg()

ComponentAccumulator ActsAnalysisConfig.ActsBaseSeedsToTrackParamsAlgCfg ( flags,
str name = "",
** kwargs )

Definition at line 826 of file ActsAnalysisConfig.py.

828 **kwargs) -> ComponentAccumulator:
829 acc = ComponentAccumulator()
830
831 if 'ExtrapolationTool' not in kwargs:
832 from ActsConfig.ActsGeometryConfig import ActsExtrapolationToolCfg
833 kwargs.setdefault(
834 'ExtrapolationTool',
835 acc.popToolsAndMerge(ActsExtrapolationToolCfg(flags, MaxSteps=10000)),
836 )
837
838 if 'TrackingGeometryTool' not in kwargs:
839 from ActsConfig.ActsGeometryConfig import ActsTrackingGeometryToolCfg
840 kwargs.setdefault(
841 'TrackingGeometryTool',
842 acc.getPrimaryAndMerge(ActsTrackingGeometryToolCfg(flags)),
843 )
844
845 if 'ATLASConverterTool' not in kwargs:
846 from ActsConfig.ActsEventCnvConfig import ActsToTrkConverterToolCfg
847 kwargs.setdefault('ATLASConverterTool', acc.popToolsAndMerge(ActsToTrkConverterToolCfg(flags)))
848
849 if 'TrackParamsEstimationTool' not in kwargs:
850 from ActsConfig.ActsTrackParamsEstimationConfig import ActsTrackParamsEstimationToolCfg
851 kwargs.setdefault('TrackParamsEstimationTool', acc.popToolsAndMerge(ActsTrackParamsEstimationToolCfg(flags)))
852
853 kwargs.setdefault("autoReverseSearch", flags.Acts.autoReverseSearchCKF)
854
855 acc.addEventAlgo(CompFactory.ActsTrk.SeedsToTrackParamsAlg(name, **kwargs))
856 return acc
857

◆ ActsBaseSpacePointAnalysisAlgCfg()

ComponentAccumulator ActsAnalysisConfig.ActsBaseSpacePointAnalysisAlgCfg ( flags,
str name = "",
str extension = "Acts",
histoPath = "",
ntupleName = "",
** kwargs )

Definition at line 419 of file ActsAnalysisConfig.py.

424 **kwargs) -> ComponentAccumulator:
425 isPixel = 'Pixel' in name
426 perp_min = 0 if isPixel else 300
427 perp_max = 400 if isPixel else 1100
428
429 acc = ComponentAccumulator()
430 from AthenaMonitoring import AthMonitorCfgHelper
431 helper = AthMonitorCfgHelper(flags, extension + 'SpacePointAnalysisAlgCfg')
432
433 kwargs.setdefault("MonGroupName", extension + "SpacePointAnalysisAlg")
434
435 monitoringAlgorithm = helper.addAlgorithm(CompFactory.ActsTrk.SpacePointAnalysisAlg, name, **kwargs)
436 monitoringGroup = helper.addGroup(monitoringAlgorithm, kwargs['MonGroupName'], '/ActsAnalysis/')
437
438
439 monitoringGroup.defineHistogram('Nsp;h_Nsp', title="Number of Space Points;N;Entries", type="TH1I", path=f"{histoPath}",
440 xbins=100, xmin=0, xmax=0)
441
442 monitoringGroup.defineHistogram('globalX,globalY;h_globalXY', title="h_globalXY; x [mm]; y [mm]", type="TH2F", path=f"{histoPath}",
443 xbins=800, xmin=-perp_max, xmax=perp_max,
444 ybins=800, ymin=-perp_max, ymax=perp_max)
445 monitoringGroup.defineHistogram('globalZ,perp;h_globalZR', title="h_globalZR; z [mm]; r [mm]", type="TH2F", path=f"{histoPath}",
446 xbins=1500, xmin=-3000, xmax=3000,
447 ybins=400, ymin=perp_min, ymax=perp_max)
448 monitoringGroup.defineHistogram('eta;h_etaSpacePoint', title="h_etaSpacePoint; space point #eta", type="TH1F", path=f"{histoPath}",
449 xbins=100, xmin=-5, xmax=5)
450
451 if flags.Acts.doAnalysisNtuples:
452 monitoringGroup.defineTree(f'barrelEndcap,layerDisk,phiModule,etaModule,sideModule,isInnermost,isNextToInnermost,isOverlap,eta,globalX,globalY,globalZ,perp,globalCovR,globalCovZ;{ntupleName}',
453 path='ntuples',
454 treedef='barrelEndcap/vector<int>:layerDisk/vector<int>:phiModule/vector<int>:etaModule/vector<int>:sideModule/vector<int>:isInnermost/vector<int>:isNextToInnermost/vector<int>:isOverlap/vector<int>:eta/vector<double>:globalX/vector<double>:globalY/vector<double>:globalZ/vector<double>:perp/vector<double>:globalCovR/vector<double>:globalCovZ/vector<double>')
455
456 acc.merge(helper.result())
457 return acc
458

◆ ActsEstimatedTrackParamsAnalysisCfg()

ComponentAccumulator ActsAnalysisConfig.ActsEstimatedTrackParamsAnalysisCfg ( flags)

Definition at line 917 of file ActsAnalysisConfig.py.

917def ActsEstimatedTrackParamsAnalysisCfg(flags) -> ComponentAccumulator:
918 acc = ComponentAccumulator()
919 if flags.Detector.EnableITkPixel:
920 acc.merge(ActsPixelEstimatedTrackParamsAnalysisAlgCfg(flags))
921 if flags.Detector.EnableITkStrip:
922 acc.merge(ActsStripEstimatedTrackParamsAnalysisAlgCfg(flags))
923 return acc
924
925

◆ ActsHgtdClusterAnalysisAlgCfg()

ComponentAccumulator ActsAnalysisConfig.ActsHgtdClusterAnalysisAlgCfg ( flags,
str name = "ActsHgtdClusterAnalysisAlg",
** kwargs )

Definition at line 315 of file ActsAnalysisConfig.py.

317 **kwargs) -> ComponentAccumulator:
318 if flags.HGTD.Geometry.useGeoModelXml:
319 from HGTD_GeoModelXml.HGTD_GeoModelConfig import HGTD_ReadoutGeometryCfg
320 else:
321 from HGTD_GeoModel.HGTD_GeoModelConfig import HGTD_ReadoutGeometryCfg
322 acc = HGTD_ReadoutGeometryCfg(flags)
323
324 kwargs.setdefault("MonGroupName", "ActsHgtdClusters")
325
326 from AthenaMonitoring import AthMonitorCfgHelper
327 helper = AthMonitorCfgHelper(flags, 'ActsHgtdClusterAnalysisAlgCfg')
328
329 monitoringAlgorithm = helper.addAlgorithm(CompFactory.ActsTrk.HgtdClusterAnalysisAlg, name, **kwargs)
330 monitoringGroup = helper.addGroup(monitoringAlgorithm, kwargs['MonGroupName'], '/ActsAnalysis/')
331
332 path = "ActsHgtdClusters"
333 monitoringGroup.defineHistogram('localX,localY;h_localXY', title="h_localXY; x [mm]; y [mm]", type="TH2F", path=path,
334 xbins=20, xmin=-30, xmax=30,
335 ybins=20, ymin=-30, ymax=30)
336 monitoringGroup.defineHistogram('globalX,globalY;h_globalXY', title="h_globalXY; x [mm]; y [mm]", type="TH2F", path=path,
337 xbins=100, xmin=-750, xmax=750,
338 ybins=100, ymin=-750, ymax=750)
339 monitoringGroup.defineHistogram('globalZ,globalR;h_globalZR', title="h_globalZR; z [mm]; r [mm]", type="TH2F", path=path,
340 xbins=100, xmin=-3600, xmax=3600,
341 ybins=100, ymin=0, ymax=800)
342 if flags.Acts.doAnalysisNtuples:
343 monitoringGroup.defineTree('localX,localY,localT,localCovXX,localCovYY,localCovTT,globalX,globalY,globalZ,globalR,eta;HgtdClusters',
344 path='ntuples',
345 treedef='localX/vector<float>:localY/vector<float>:localT/vector<float>:localCovXX/vector<float>:localCovYY/vector<float>:localCovTT/vector<float>:globalX/vector<float>:globalY/vector<float>:globalZ/vector<float>:globalR/vector<float>:eta/vector<float>')
346
347 acc.merge(helper.result())
348 return acc
349

◆ ActsPixelClusterAnalysisAlgCfg()

ComponentAccumulator ActsAnalysisConfig.ActsPixelClusterAnalysisAlgCfg ( flags,
str name = "ActsPixelClusterAnalysisAlg",
str extension = "Acts",
** kwargs )

Definition at line 350 of file ActsAnalysisConfig.py.

353 **kwargs) -> ComponentAccumulator:
354 path = extension.replace("Acts", "") + "PixelClusters"
355
356 from PixelGeoModelXml.ITkPixelGeoModelConfig import ITkPixelReadoutGeometryCfg
357 acc = ITkPixelReadoutGeometryCfg(flags)
358
359 kwargs.setdefault("MonGroupName", extension + "ClusterAnalysisAlg")
360
361 from AthenaMonitoring import AthMonitorCfgHelper
362 helper = AthMonitorCfgHelper(flags, extension + 'ClusterAnalysisAlgCfg')
363
364 monitoringAlgorithm = helper.addAlgorithm(CompFactory.ActsTrk.PixelClusterAnalysisAlg, name, **kwargs)
365 monitoringGroup = helper.addGroup(monitoringAlgorithm, kwargs['MonGroupName'], '/ActsAnalysis/')
366
367 monitoringGroup.defineHistogram('globalZ,perp;h_globalZR', title="h_globalZR; z [mm]; r [mm]", type="TH2F", path=path,
368 xbins=1500, xmin=-3000, xmax=3000,
369 ybins=400, ymin=0, ymax=400)
370 monitoringGroup.defineHistogram('globalX,globalY;h_globalXY', title="h_globalXY; x [mm]; y [mm]", type="TH2F", path=path,
371 xbins=800, xmin=-400, xmax=400,
372 ybins=800, ymin=-400, ymax=400)
373 monitoringGroup.defineHistogram('eta;h_etaCluster', title="h_etaCluster; cluster #eta", type="TH1F", path=path,
374 xbins=100, xmin=-5, xmax=5)
375
376 if flags.Acts.doAnalysisNtuples:
377 monitoringGroup.defineTree('barrelEndcap,layerDisk,phiModule,etaModule,isInnermost,isNextToInnermost,eta,globalX,globalY,globalZ,perp,localX,localY,localCovXX,localCovYY,sizeX,sizeY,widthY;PixelClusters',
378 path='ntuples',
379 treedef='barrelEndcap/vector<int>:layerDisk/vector<int>:phiModule/vector<int>:etaModule/vector<int>:isInnermost/vector<int>:isNextToInnermost/vector<int>:eta/vector<double>:globalX/vector<float>:globalY/vector<float>:globalZ/vector<float>:perp/vector<float>:localX/vector<float>:localY/vector<float>:localCovXX/vector<float>:localCovYY/vector<float>:sizeX/vector<int>:sizeY/vector<int>:widthY/vector<float>')
380
381 acc.merge(helper.result())
382 return acc
383
384

◆ ActsPixelEstimatedTrackParamsAnalysisAlgCfg()

ComponentAccumulator ActsAnalysisConfig.ActsPixelEstimatedTrackParamsAnalysisAlgCfg ( flags,
str name = 'ActsPixelEstimatedTrackParamsAnalysisAlg',
str extension = "Acts",
** kwargs )

Definition at line 800 of file ActsAnalysisConfig.py.

803 **kwargs) -> ComponentAccumulator:
804 kwargs.setdefault('InputTrackParamsCollection', 'ActsPixelEstimatedTrackParams')
805 return ActsBaseEstimatedTrackParamsAnalysisAlgCfg(flags,
806 name,
807 extension,
808 histoPath = extension.replace("Acts", "") + 'PixelEstimatedTrackParams',
809 ntupleName = extension.replace("Acts", "") + 'PixelEstimatedTrackParams',
810 **kwargs)
811
812

◆ ActsPixelSeedAnalysisAlgCfg()

ComponentAccumulator ActsAnalysisConfig.ActsPixelSeedAnalysisAlgCfg ( flags,
str name = "ActsPixelSeedAnalysisAlg",
str extension = "Acts",
** kwargs )

Definition at line 661 of file ActsAnalysisConfig.py.

664 **kwargs) -> ComponentAccumulator:
665 kwargs.setdefault('InputSeedCollection', 'ActsPixelSeeds')
666
667 if flags.Tracking.doTruth:
668 kwargs.setdefault('DetectorElements', 'ITkPixelDetectorElementCollection')
669 kwargs.setdefault('ITkClustersTruth', '') #PRD_MultiTruthITkPixel')
670
671 return ActsBaseSeedAnalysisAlgCfg(flags,
672 name,
673 extension,
674 histoPath = extension.replace("Acts", "") + 'PixelSeeds',
675 ntupleName = extension.replace("Acts", "") + 'PixelSeeds',
676 **kwargs)
677
678

◆ ActsPixelSeedsToTrackParamsAlgCfg()

ComponentAccumulator ActsAnalysisConfig.ActsPixelSeedsToTrackParamsAlgCfg ( flags,
str name = 'ActsPixelSeedsToTrackParamsAlg',
str extension = "Acts",
** kwargs )

Definition at line 858 of file ActsAnalysisConfig.py.

861 **kwargs) -> ComponentAccumulator:
862 kwargs.setdefault('InputSeedContainerKey', 'ActsPixelSeeds')
863 kwargs.setdefault('DetectorElementsKey', 'ITkPixelDetectorElementCollection')
864 kwargs.setdefault('OutputTrackParamsCollectionKey', 'ActsPixelEstimatedTrackParams')
865 return ActsBaseSeedsToTrackParamsAlgCfg(flags,
866 name,
867 **kwargs)
868
869

◆ ActsPixelSpacePointAnalysisAlgCfg()

ComponentAccumulator ActsAnalysisConfig.ActsPixelSpacePointAnalysisAlgCfg ( flags,
str name = "ActsPixelSpacePointAnalysisAlg",
str extension = "Acts",
** kwargs )

Definition at line 459 of file ActsAnalysisConfig.py.

462 **kwargs) -> ComponentAccumulator:
463 acc = ComponentAccumulator()
464
465 from PixelGeoModelXml.ITkPixelGeoModelConfig import ITkPixelReadoutGeometryCfg
466 acc.merge(ITkPixelReadoutGeometryCfg(flags))
467
468 kwargs.setdefault("SpacePointContainerKey", "ITkPixelSpacePoints")
469 kwargs.setdefault("UsePixel", True)
470 kwargs.setdefault("UseOverlap", False)
471 kwargs.setdefault('ExtraInputs',
472 [('xAOD::SpacePointContainer' , f'StoreGateSvc+{kwargs["SpacePointContainerKey"]}.measurements')])
473
474 acc.merge(ActsBaseSpacePointAnalysisAlgCfg(flags,
475 name = name,
476 extension = extension,
477 histoPath = extension.replace("Acts", "") + "PixelSpacePoints",
478 ntupleName = extension.replace("Acts", "") + "PixelSpacePoints",
479 **kwargs))
480 return acc
481
482
483

◆ ActsResidualAnalysisAlgCfg()

ComponentAccumulator ActsAnalysisConfig.ActsResidualAnalysisAlgCfg ( flags,
str name = "ActsResidualAnalysisAlg",
** kwargs )

Definition at line 934 of file ActsAnalysisConfig.py.

936 **kwargs) -> ComponentAccumulator:
937
938 acc = ComponentAccumulator()
939
940 kwargs.setdefault('TrackParticles', 'InDetTrackParticles')
941 kwargs.setdefault("MonGroupName", kwargs['TrackParticles'])
942
943 from AthenaMonitoring import AthMonitorCfgHelper
944 helper = AthMonitorCfgHelper(flags, kwargs['TrackParticles'] + 'AnalysisAlgCfg')
945
946 ResidualMonitoringAlgorithm = helper.addAlgorithm(CompFactory.ActsTrk.ITkAlignMonResidualsAlg, name, **kwargs)
947
948 layersPix = ['0', '1', '2', '3', '4']
949
950 path = f'/ActsAnalysis/{kwargs["TrackParticles"]}/Residuals'
951 residualXArray = helper.addArray([len(layersPix)], ResidualMonitoringAlgorithm, 'PixResidualX', topPath = path)
952 residualYArray = helper.addArray([len(layersPix)], ResidualMonitoringAlgorithm, 'PixResidualY', topPath = path)
953 pullXArray = helper.addArray([len(layersPix)], ResidualMonitoringAlgorithm, 'PixPullX', topPath = path)
954 pullYArray = helper.addArray([len(layersPix)], ResidualMonitoringAlgorithm, 'PixPullY', topPath = path)
955
956 layersStrip = ['0','1','2','3','4','5','6','7','8']
957 stripResidualXArray = helper.addArray([len(layersStrip)], ResidualMonitoringAlgorithm, 'StripResidualX', topPath = path)
958 stripPullXArray = helper.addArray([len(layersStrip)], ResidualMonitoringAlgorithm, 'StripPullX', topPath = path)
959
960
961 xminX = -100
962 xmaxX = 100
963 xminY = -200
964 xmaxY = 200
965 pullX = 6
966
967 for postfix,tool in residualXArray.Tools.items():
968 layer = layersPix[int(postfix.split("_")[1])]
969 title = ('UnBiased X Residual Pixel Barrel %s' % layer)
970 name = 'm_pix_residualsx;pix_b' + layer + '_residualx'
971 tool.defineHistogram(name, title = title, type = 'TH1F',
972 xbins = 100, xmin = xminX, xmax = xmaxX) #in um
973
974
975 for postfix,tool in residualYArray.Tools.items():
976 layer = layersPix[int(postfix.split("_")[1])]
977 title = ('UnBiased Y Residual Pixel Barrel %s' % layer)
978 name = 'm_pix_residualsy;pix_b' + layer + '_residualy'
979 tool.defineHistogram(name, title = title, type = 'TH1F',
980 xbins = 100, xmin = xminY, xmax = xmaxY) #in um
981
982
983 for postfix,tool in pullXArray.Tools.items():
984
985 layer = layersPix[int(postfix.split("_")[1])]
986 title = ('UnBiased X Pull Pixel Barrel %s' % layer)
987 name = 'm_pix_pullsx;pix_b' + layer + '_pullx'
988 tool.defineHistogram(name, title = title, type = 'TH1F',
989 xbins = 100, xmin = -pullX, xmax = pullX) #in um
990
991
992 for postfix,tool in pullYArray.Tools.items():
993 layer = layersPix[int(postfix.split("_")[1])]
994 title = ('UnBiased Y Pull Pixel Barrel %s' % layer)
995 name = 'm_pix_pullsy;pix_b' + layer + '_pully'
996 tool.defineHistogram(name, title = title, type = 'TH1F',
997 xbins = 100, xmin = -pullX, xmax = pullX) #in um
998
999
1000
1001 for postfix,tool in stripResidualXArray.Tools.items():
1002 layer = layersStrip[int(postfix.split("_")[1])]
1003 title = ('UnBiased X Residual Strip Barrel %s' % layer)
1004 name = 'm_strip_residualsx;strip_b' + layer + '_residualx'
1005 tool.defineHistogram(name, title = title, type = 'TH1F',
1006 xbins = 100, xmin = xminX, xmax = xmaxX) #in um
1007
1008
1009 for postfix,tool in stripPullXArray.Tools.items():
1010 layer = layersStrip[int(postfix.split("_")[1])]
1011 title = ('UnBiased X Pull Strip Barrel %s' % layer)
1012 name = 'm_strip_pullsx;strip_b' + layer + '_pullx'
1013 tool.defineHistogram(name, title = title, type = 'TH1F',
1014 xbins = 100, xmin = -pullX, xmax = pullX) #in um
1015
1016 acc.merge(helper.result())
1017 return acc
1018
1019

◆ ActsSeedAnalysisCfg()

ComponentAccumulator ActsAnalysisConfig.ActsSeedAnalysisCfg ( flags)

Definition at line 908 of file ActsAnalysisConfig.py.

908def ActsSeedAnalysisCfg(flags) -> ComponentAccumulator:
909 acc = ComponentAccumulator()
910 if flags.Detector.EnableITkPixel:
911 acc.merge(ActsPixelSeedAnalysisAlgCfg(flags))
912 if flags.Detector.EnableITkStrip:
913 acc.merge(ActsStripSeedAnalysisAlgCfg(flags))
914 return acc
915
916

◆ ActsSeedingAlgorithmAnalysisAlgCfg()

ComponentAccumulator ActsAnalysisConfig.ActsSeedingAlgorithmAnalysisAlgCfg ( flags,
str name = "ActsSeedingAlgorithmAnalysis",
** kwargs )

Definition at line 722 of file ActsAnalysisConfig.py.

724 **kwargs) -> ComponentAccumulator:
725 acc = ComponentAccumulator()
726
727 addOtherSeedingAlgorithms = kwargs.pop("addOtherSeedingAlgorithms", False)
728
729 MonitoringGroupNames = []
730
731 if "SeedingTools" not in kwargs:
732 from InDetConfig.SiSpacePointsSeedToolConfig import ITkSiSpacePointsSeedMakerCfg
733 ITkSiSpacePointsSeedMaker = acc.popToolsAndMerge(ITkSiSpacePointsSeedMakerCfg(flags))
734 ITkSiSpacePointsSeedMaker.maxSize = 1e8
735 MonitoringGroupNames.append("ITkSiSpacePointSeedMaker")
736
737 from ActsConfig.ActsSeedingConfig import ActsSiSpacePointsSeedMakerToolCfg
738 # The default Acts pixel seeding tool performs by default a seed selection after the seed finding
739 # We have to disable it or a fair comparison with the other seed computations
740 from ActsConfig.ActsSeedingConfig import ActsFastPixelSeedingToolCfg
741 seedToolPixel = acc.popToolsAndMerge(ActsFastPixelSeedingToolCfg(flags, doSeedQualitySelection=False))
742 # We then override the pixel seeding tool inside the ActsSiSpacePointsSeedMakerToolCfg so that we pick this one
743 ActsITkSiSpacePointsSeedMaker = acc.popToolsAndMerge(ActsSiSpacePointsSeedMakerToolCfg(flags, SeedToolPixel=seedToolPixel))
744 ActsITkSiSpacePointsSeedMaker.doSeedConversion = False
745 MonitoringGroupNames.append("ActsITkSiSpacePointSeedMaker")
746
747 if addOtherSeedingAlgorithms:
748 from ActsConfig.ActsSeedingConfig import ActsPixelGbtsSeedingToolCfg
749 gbtsSeedToolPixel = acc.popToolsAndMerge(ActsPixelGbtsSeedingToolCfg(flags))
750 # We then override the pixel seeding tool inside the ActsSiSpacePointsSeedMakerToolCfg so that we pick this one
751 # Strip will not be Gbts ... so we ignore it
752 ActsGbtsITkSiSpacePointsSeedMaker = acc.popToolsAndMerge(ActsSiSpacePointsSeedMakerToolCfg(flags,
753 name="ActsSiSpacePointsSeedMakerGbts",
754 SeedToolPixel=gbtsSeedToolPixel))
755 ActsGbtsITkSiSpacePointsSeedMaker.doSeedConversion = False
756 MonitoringGroupNames.append("ActsGbtsITkSiSpacePointSeedMaker")
757
758 from ActsConfig.ActsSeedingConfig import ActsPixelOrthogonalSeedingToolCfg, ActsStripOrthogonalSeedingToolCfg
759 pixel_orthogonal_seeding_tool = acc.popToolsAndMerge(ActsPixelOrthogonalSeedingToolCfg(flags))
760 strip_orthogonal_seeding_tool = acc.popToolsAndMerge(ActsStripOrthogonalSeedingToolCfg(flags))
761 ActsITkSiSpacePointsSeedMakerOrthogonal = \
762 acc.popToolsAndMerge(ActsSiSpacePointsSeedMakerToolCfg(flags,
763 name="ActsSiSpacePointsSeedMakerOrthogonal",
764 SeedToolPixel=pixel_orthogonal_seeding_tool,
765 SeedToolStrip=strip_orthogonal_seeding_tool))
766 ActsITkSiSpacePointsSeedMakerOrthogonal.doSeedConversion = False
767 MonitoringGroupNames.append("ActsOrthogonalITkSiSpacePointSeedMaker")
768
769
770
771 from GaudiKernel.GaudiHandles import PrivateToolHandleArray
772
773 privateSeedingTools = [ITkSiSpacePointsSeedMaker, ActsITkSiSpacePointsSeedMaker]
774
775 if addOtherSeedingAlgorithms:
776 privateSeedingTools.append(ActsGbtsITkSiSpacePointsSeedMaker)
777 privateSeedingTools.append(ActsITkSiSpacePointsSeedMakerOrthogonal)
778
779 kwargs.setdefault("SeedingTools",
780 PrivateToolHandleArray(privateSeedingTools))
781
782 kwargs.setdefault("MonitorNames", MonitoringGroupNames)
783 kwargs.setdefault("DoStrip", not flags.Tracking.doITkFastTracking)
784
785 from AthenaMonitoring import AthMonitorCfgHelper
786 helper = AthMonitorCfgHelper(flags, 'SeedingAlgorithmAnalysisAlgCfg')
787 monitoringAlgorithm = helper.addAlgorithm(CompFactory.ActsTrk.SeedingAlgorithmAnalysisAlg, name, **kwargs)
788
789 if flags.Acts.doAnalysisNtuples:
790 for groupName in MonitoringGroupNames:
791 monitoringGroup = helper.addGroup(monitoringAlgorithm, groupName, '/'+groupName+'/')
792 monitoringGroup.defineTree('eventNumber,stripSeedInitialisationTime,stripSeedProductionTime,pixelSeedInitialisationTime,pixelSeedProductionTime,numberPixelSpacePoints,numberStripSpacePoints,numberPixelSeeds,numberStripSeeds;seedInformation',
793 path='ntuples',
794 treedef='eventNumber/I:stripSeedInitialisationTime/F:stripSeedProductionTime/F:pixelSeedInitialisationTime/F:pixelSeedProductionTime/F:numberPixelSpacePoints/I:numberStripSpacePoints/I:numberPixelSeeds/I:numberStripSeeds/I')
795
796 acc.merge(helper.result())
797 return acc
798
799

◆ ActsSeedsToTrackParamsCfg()

ComponentAccumulator ActsAnalysisConfig.ActsSeedsToTrackParamsCfg ( flags)

Definition at line 926 of file ActsAnalysisConfig.py.

926def ActsSeedsToTrackParamsCfg(flags) -> ComponentAccumulator:
927 acc = ComponentAccumulator()
928 if flags.Detector.EnableITkPixel:
929 acc.merge(ActsPixelSeedsToTrackParamsAlgCfg(flags))
930 if flags.Detector.EnableITkStrip:
931 acc.merge(ActsStripSeedsToTrackParamsAlgCfg(flags))
932 return acc
933

◆ ActsSeedToTrackAnalysisAlgCfg()

ComponentAccumulator ActsAnalysisConfig.ActsSeedToTrackAnalysisAlgCfg ( flags,
str name = "ActsSeedToTrackAnalysisAlg",
** kwargs )

Definition at line 7 of file ActsAnalysisConfig.py.

9 **kwargs) -> ComponentAccumulator:
10 acc = ComponentAccumulator()
11 kwargs.setdefault("InputSeedCollection", "")
12 kwargs.setdefault("InputTrackParamsCollection", "")
13 kwargs.setdefault("InputDestinyCollection", "")
14
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")
20
21 from AthenaMonitoring import AthMonitorCfgHelper
22 helper = AthMonitorCfgHelper(flags, kwargs['InputDestinyCollection'] + 'AnalysisAlgCfg')
23
24 monitoringAlgorithm = helper.addAlgorithm(CompFactory.ActsTrk.SeedToTrackAnalysisAlg, name, **kwargs)
25 destinyTypes = ['UNKNOWN', 'SUCCEED', 'DUPLICATE', 'FAILURE', 'INCLUSIVE']
26 nTypes = len(destinyTypes)
27
28 histoPath = f'/ActsAnalysis/{kwargs["InputDestinyCollection"]}'
29 # define the variables now
30 seedVars = helper.addArray([nTypes], monitoringAlgorithm, 'seedVars', topPath=histoPath)
31
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)
43
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)
53
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)
63
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)
73
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)
77
78 rangeQuality = 10000
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)
88
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)
98
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)
108
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)
112
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)
121
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)
131
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)
140
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)
149
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)
158
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)
167
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)
174
175 acc.merge(helper.result())
176 return acc
177
178

◆ ActsStripClusterAnalysisAlgCfg()

ComponentAccumulator ActsAnalysisConfig.ActsStripClusterAnalysisAlgCfg ( flags,
str name = "ActsStripClusterAnalysisAlg",
str extension = "Acts",
** kwargs )

Definition at line 385 of file ActsAnalysisConfig.py.

388 **kwargs) -> ComponentAccumulator:
389 path = extension.replace("Acts", "") + "StripClusters"
390
391 from StripGeoModelXml.ITkStripGeoModelConfig import ITkStripReadoutGeometryCfg
392 acc = ITkStripReadoutGeometryCfg(flags)
393
394 kwargs.setdefault("MonGroupName", extension + "ClusterAnalysisAlg")
395
396 from AthenaMonitoring import AthMonitorCfgHelper
397 helper = AthMonitorCfgHelper(flags, extension + "ClusterAnalysisAlgCfg")
398
399 monitoringAlgorithm = helper.addAlgorithm(CompFactory.ActsTrk.StripClusterAnalysisAlg, name, **kwargs)
400 monitoringGroup = helper.addGroup(monitoringAlgorithm, kwargs['MonGroupName'], '/ActsAnalysis/')
401
402 monitoringGroup.defineHistogram('globalZ,perp;h_globalZR', title="h_globalZR; z [mm]; r [mm]", type="TH2F", path=path,
403 xbins=1500, xmin=-3000, xmax=3000,
404 ybins=400, ymin=300, ymax=1100)
405 monitoringGroup.defineHistogram('globalX,globalY;h_globalXY', title="h_globalXY; x [mm]; y [mm]", type="TH2F", path=path,
406 xbins=1600, xmin=-1100, xmax=1100,
407 ybins=1600, ymin=-1100, ymax=1100)
408 monitoringGroup.defineHistogram('eta;h_etaCluster', title="h_etaCluster; cluster #eta", type="TH1F", path=path,
409 xbins=100, xmin=-5, xmax=5)
410
411 if flags.Acts.doAnalysisNtuples:
412 monitoringGroup.defineTree(f'barrelEndcap,layerDisk,phiModule,etaModule,sideModule,eta,globalX,globalY,globalZ,perp,localX,localCovXX,sizeX;{path}',
413 path='ntuples',
414 treedef='barrelEndcap/vector<int>:layerDisk/vector<int>:phiModule/vector<int>:etaModule/vector<int>:sideModule/vector<int>:eta/vector<double>:globalX/vector<float>:globalY/vector<float>:globalZ/vector<float>:perp/vector<float>:localX/vector<float>:localCovXX/vector<float>:sizeX/vector<int>')
415
416 acc.merge(helper.result())
417 return acc
418

◆ ActsStripEstimatedTrackParamsAnalysisAlgCfg()

ComponentAccumulator ActsAnalysisConfig.ActsStripEstimatedTrackParamsAnalysisAlgCfg ( flags,
str name = 'ActsStripEstimatedTrackParamsAnalysisAlg',
str extension = "Acts",
** kwargs )

Definition at line 813 of file ActsAnalysisConfig.py.

816 **kwargs) -> ComponentAccumulator:
817 kwargs.setdefault('InputTrackParamsCollection', 'ActsStripEstimatedTrackParams')
818 return ActsBaseEstimatedTrackParamsAnalysisAlgCfg(flags,
819 name,
820 extension,
821 histoPath = extension.replace("Acts", "") + 'StripEstimatedTrackParams',
822 ntupleName = extension.replace("Acts", "") + 'StripEstimatedTrackParams',
823 **kwargs)
824
825

◆ ActsStripOverlapSpacePointAnalysisAlgCfg()

ComponentAccumulator ActsAnalysisConfig.ActsStripOverlapSpacePointAnalysisAlgCfg ( flags,
str name = "ActsStripOverlapSpacePointAnalysisAlg",
str extension = "Acts",
** kwargs )

Definition at line 508 of file ActsAnalysisConfig.py.

511 **kwargs) -> ComponentAccumulator:
512 from StripGeoModelXml.ITkStripGeoModelConfig import ITkStripReadoutGeometryCfg
513 acc = ITkStripReadoutGeometryCfg(flags)
514
515 kwargs.setdefault("SpacePointContainerKey", "ITkStripOverlapSpacePoints")
516 kwargs.setdefault("UsePixel", False)
517 kwargs.setdefault("UseOverlap", True)
518 kwargs.setdefault('ExtraInputs',
519 [('xAOD::SpacePointContainer' , f'StoreGateSvc+{kwargs["SpacePointContainerKey"]}.measurements')])
520
521 acc.merge(ActsBaseSpacePointAnalysisAlgCfg(flags,
522 name = name,
523 extension = extension,
524 histoPath = extension.replace("Acts", "") + "StripOverlapSpacePoints",
525 ntupleName = extension.replace("Acts", "") + "StripOverlapSpacePoints",
526 **kwargs))
527 return acc
528
529

◆ ActsStripSeedAnalysisAlgCfg()

ComponentAccumulator ActsAnalysisConfig.ActsStripSeedAnalysisAlgCfg ( flags,
str name = "ActsStripSeedAnalysisAlg",
str extension = "Acts",
** kwargs )

Definition at line 679 of file ActsAnalysisConfig.py.

682 **kwargs) -> ComponentAccumulator:
683 kwargs.setdefault('InputSeedCollection', 'ActsStripSeeds')
684 kwargs.setdefault('UsePixel', False)
685
686 if flags.Tracking.doTruth:
687 kwargs.setdefault('DetectorElements', 'ITkStripDetectorElementCollection')
688 kwargs.setdefault('ITkClustersTruth', '') #PRD_MultiTruthITkStrip')
689
690 return ActsBaseSeedAnalysisAlgCfg(flags,
691 name,
692 extension,
693 histoPath = extension.replace("Acts", "") + 'StripSeeds',
694 ntupleName = extension.replace("Acts", "") + 'StripSeeds',
695 **kwargs)
696
697

◆ ActsStripSeedsToTrackParamsAlgCfg()

ComponentAccumulator ActsAnalysisConfig.ActsStripSeedsToTrackParamsAlgCfg ( flags,
str name = 'ActsStripSeedsToTrackParamsAlgCfg',
str extension = "Acts",
** kwargs )

Definition at line 870 of file ActsAnalysisConfig.py.

873 **kwargs) -> ComponentAccumulator:
874 kwargs.setdefault('InputSeedContainerKey', 'ActsStripSeeds')
875 kwargs.setdefault('DetectorElementsKey', 'ITkStripDetectorElementCollection')
876 kwargs.setdefault('OutputTrackParamsCollectionKey', 'ActsStripEstimatedTrackParams')
877 return ActsBaseSeedsToTrackParamsAlgCfg(flags,
878 name,
879 **kwargs)
880
881

◆ ActsStripSpacePointAnalysisAlgCfg()

ComponentAccumulator ActsAnalysisConfig.ActsStripSpacePointAnalysisAlgCfg ( flags,
str name = "ActsStripSpacePointAnalysisAlg",
str extension = "Acts",
** kwargs )

Definition at line 484 of file ActsAnalysisConfig.py.

487 **kwargs) -> ComponentAccumulator:
488 acc = ComponentAccumulator()
489
490 from StripGeoModelXml.ITkStripGeoModelConfig import ITkStripReadoutGeometryCfg
491 acc.merge(ITkStripReadoutGeometryCfg(flags))
492
493 kwargs.setdefault("SpacePointContainerKey", "ITkStripSpacePoints")
494 kwargs.setdefault("UsePixel", False)
495 kwargs.setdefault("UseOverlap", False)
496 kwargs.setdefault('ExtraInputs',
497 [('xAOD::SpacePointContainer' , f'StoreGateSvc+{kwargs["SpacePointContainerKey"]}.measurements')])
498
499 acc.merge(ActsBaseSpacePointAnalysisAlgCfg(flags,
500 name = name,
501 extension = extension,
502 histoPath = extension.replace("Acts", "") + "StripSpacePoints",
503 ntupleName = extension.replace("Acts", "") + "StripSpacePoints",
504 **kwargs))
505 return acc
506
507

◆ ActsTrackAnalysisAlgCfg()

ComponentAccumulator ActsAnalysisConfig.ActsTrackAnalysisAlgCfg ( flags,
str name = "ActsTrackAnalysisAlg",
** kwargs )

Definition at line 179 of file ActsAnalysisConfig.py.

181 **kwargs) -> ComponentAccumulator:
182 acc = ComponentAccumulator()
183
184 kwargs.setdefault('TracksLocation', 'ActsTracks')
185 kwargs.setdefault("MonGroupName", kwargs['TracksLocation'])
186
187 from AthenaMonitoring import AthMonitorCfgHelper
188 helper = AthMonitorCfgHelper(flags, kwargs['TracksLocation'] + 'AnalysisAlgCfg')
189
190 monitoringAlgorithm = helper.addAlgorithm(CompFactory.ActsTrk.TrackAnalysisAlg, name, **kwargs)
191 monitoringGroup = helper.addGroup(monitoringAlgorithm, kwargs['MonGroupName'], '/ActsAnalysis/')
192
193 monitoringGroup.defineHistogram('Ntracks', title='Number of Tracks;N;Entries', type='TH1I', path=kwargs['MonGroupName'],
194 xbins=500, xmin=0, xmax=20000)
195
196 monitoringGroup.defineHistogram('NsharedPerLayer_pixelBarrel', title='Number of shared hits per layer - Pixel Barrel;Layer;Entries', type='TH1I', path=kwargs['MonGroupName'],
197 xbins=5, xmin=0, xmax=5)
198 monitoringGroup.defineHistogram('NsharedPerLayer_pixelEndCap', title='Number of shared hits per layer - Pixel EndCap;Layer;Entries', type='TH1I', path=kwargs['MonGroupName'],
199 xbins=9, xmin=0, xmax=9)
200 monitoringGroup.defineHistogram('NsharedPerLayer_stripBarrel', title='Number of shared hits per layer - Strip Barrel;Layer;Entries', type='TH1I', path=kwargs['MonGroupName'],
201 xbins=4, xmin=0, xmax=4)
202 monitoringGroup.defineHistogram('NsharedPerLayer_stripEndCap', title='Number of shared hits per layer - Strip EndCap;Layer;Entries', type='TH1I', path=kwargs['MonGroupName'],
203 xbins=6, xmin=0, xmax=6)
204
205 import math
206 monitoringGroup.defineHistogram('theta', title='Track polar angle;#theta;Entries', type='TH1F', path=kwargs['MonGroupName'],
207 xbins=128, xmin=0, xmax=math.pi)
208 monitoringGroup.defineHistogram('eta', title='Track eta;#eta;Entries', type='TH1F', path=kwargs['MonGroupName'],
209 xbins=128, xmin=-4, xmax=4)
210 monitoringGroup.defineHistogram('pt', title='Track pR;p_{T};Entries', type='TH1F', path=kwargs['MonGroupName'],
211 xbins=200, xmin=0, xmax=200)
212 monitoringGroup.defineHistogram('phi', title='Track azimuthal angle;#phi;Entries', type='TH1F', path=kwargs['MonGroupName'],
213 xbins=128, xmin=-math.pi, xmax=math.pi)
214 monitoringGroup.defineHistogram('qoverp', title='track inverse momentum;q/p [1/GeV];Entries', type='TH1F', path=kwargs['MonGroupName'],
215 xbins=200, xmin=-1.2, xmax=1.2)
216 monitoringGroup.defineHistogram('chi2OverNdof', title='fit chi2 / ndof;#chi^{2}/nDoF;Entries', type='TH1F', path=kwargs['MonGroupName'],
217 xbins=100, xmin=0, xmax=20)
218 monitoringGroup.defineHistogram('nStates', title='Number of states / track;# states;Entries', type='TH1I', path=kwargs['MonGroupName'],
219 xbins=60, xmin=0, xmax=60)
220 monitoringGroup.defineHistogram('nMeasurements', title='Number of measurements / track;# measurements;Entries', type='TH1I', path=kwargs['MonGroupName'],
221 xbins=35, xmin=0, xmax=35)
222 monitoringGroup.defineHistogram('nShared', title='Number of shared hits per track;N;Entries', type='TH1I', path=kwargs['MonGroupName'],
223 xbins=35, xmin=0, xmax=35)
224 monitoringGroup.defineHistogram('nOutliers', title='Number of outliers hits per track;N;Entries', type='TH1I', path=kwargs['MonGroupName'],
225 xbins=35, xmin=0, xmax=35)
226 monitoringGroup.defineHistogram('nHoles', title='Number of holes hits per track;N;Entries', type='TH1I', path=kwargs['MonGroupName'],
227 xbins=35, xmin=0, xmax=35)
228
229 monitoringGroup.defineHistogram('nPixelHits', title='Number of pixel hits / track;# pixel hits;Entries', type='TH1I', path=kwargs['MonGroupName'],
230 xbins=35, xmin=0, xmax=35)
231 monitoringGroup.defineHistogram('nStripHits', title='Number of strip hits / track;# strip hits;Entries', type='TH1I', path=kwargs['MonGroupName'],
232 xbins=35, xmin=0, xmax=35)
233 monitoringGroup.defineHistogram('surfaceType', title='type of reference surface;type;Entries', type='TH1I', path=kwargs['MonGroupName'],
234 xbins=35, xmin=0, xmax=35)
235
236
237 monitoringGroup.defineHistogram('eta,nMeasurements', title='Track eta;#eta;Entries', type='TH2F', path=kwargs['MonGroupName'],
238 xbins=128, xmin=-4, xmax=4,
239 ybins=35, ymin=0, ymax=35)
240 monitoringGroup.defineHistogram('eta,nShared', title='Track eta;#eta;Entries', type='TH2F', path=kwargs['MonGroupName'],
241 xbins=128, xmin=-4, xmax=4,
242 ybins=35, ymin=0, ymax=35)
243 monitoringGroup.defineHistogram('eta,nOutliers', title='Track eta;#eta;Entries', type='TH2F', path=kwargs['MonGroupName'],
244 xbins=128, xmin=-4, xmax=4,
245 ybins=35, ymin=0, ymax=35)
246 monitoringGroup.defineHistogram('eta,nHoles', title='Track eta;#eta;Entries', type='TH2F', path=kwargs['MonGroupName'],
247 xbins=128, xmin=-4, xmax=4,
248 ybins=35, ymin=0, ymax=35)
249 monitoringGroup.defineHistogram('eta,pt', title='Track pT vs eta;#eta;p_{T}', type='TProfile', path=kwargs['MonGroupName'],
250 xbins=128, xmin=-4, xmax=4)
251
252 acc.merge(helper.result())
253 return acc
254

◆ ActsTrackParticleAnalysisAlgCfg()

ComponentAccumulator ActsAnalysisConfig.ActsTrackParticleAnalysisAlgCfg ( flags,
str name = 'ActsTrackParticleAnalysisAlg',
** kwargs )

Definition at line 255 of file ActsAnalysisConfig.py.

257 **kwargs) -> ComponentAccumulator:
258 acc = ComponentAccumulator()
259 kwargs.setdefault('MonitorTrackStateCounts',True)
260 kwargs.setdefault('TrackParticleLocation', 'ActsTrackParticles')
261
262 kwargs.setdefault('MonGroupName', kwargs['TrackParticleLocation'])
263
264 from AthenaMonitoring import AthMonitorCfgHelper
265 helper = AthMonitorCfgHelper(flags, 'TrackParticleAnalysisAlgCfg')
266 monitoringAlgorithm = helper.addAlgorithm(CompFactory.ActsTrk.TrackParticleAnalysisAlg, name, **kwargs)
267 monitoringGroup = helper.addGroup(monitoringAlgorithm, kwargs['MonGroupName'], '/'+name+'/')
268
269 monitoringGroup.defineHistogram('pt', title='TrackParticle pt;pt (MeV);Entries', type='TH1F', path=kwargs['MonGroupName'],
270 xbins=100, xmin=0, xmax=10e3)
271 monitoringGroup.defineHistogram('eta', title='TrackParticle eta;eta;Entries', type='TH1F', path=kwargs['MonGroupName'],
272 xbins=50, xmin=-4, xmax=4)
273
274 # hit counts
275 monitoringGroup.defineHistogram('pixelHits', title='Number of pixel hits;N;Entries', type='TH1I', path=kwargs['MonGroupName'],
276 xbins=50, xmin=-1, xmax=49)
277 monitoringGroup.defineHistogram('innermostHits', title='Number of innermost pixel hits;N;Entries', type='TH1I', path=kwargs['MonGroupName'],
278 xbins=6, xmin=-1, xmax=5)
279 monitoringGroup.defineHistogram('nextToInnermostHits', title='Number of next-to-innermost pixel hits;N;Entries', type='TH1I',
280 path=kwargs['MonGroupName'], xbins=6, xmin=-1, xmax=5)
281 monitoringGroup.defineHistogram('expectInnermostHit', title='Innermost pixel hit expected;N;Entries', type='TH1I', path=kwargs['MonGroupName'],
282 xbins=3, xmin=-1, xmax=2)
283 monitoringGroup.defineHistogram('expectNextToInnermostHit', title='Next-to-innermost pixel hit expected;N;Entries', type='TH1I',
284 path=kwargs['MonGroupName'],xbins=3, xmin=-1, xmax=2)
285
286 if kwargs['MonitorTrackStateCounts'] :
287 # have to add artifical dependency, because the ActsTracks are created by
288 # a special reader algorithm from the various component branches, but the
289 # element links pointing to the ActsTracks would not add this dependency
290 # by themselves.
291 if 'ExtraInputs' not in kwargs :
292 tracks_name = kwargs['TrackParticleLocation']
293 if tracks_name[-len('TrackParticles'):] == 'TrackParticles' :
294 kwargs.setdefault('ExtraInputs',{('ActsTrk::TrackContainer',tracks_name[:-len('TrackParticles')]+'Tracks')})
295
296 monitoringGroup.defineHistogram('States', title='Number of states on track;N;Entries', type='TH1I', path=kwargs['MonGroupName'],
297 xbins=50, xmin=0, xmax=50)
298 monitoringGroup.defineHistogram('Measurements', title='Number of measurements on track;N;Entries', type='TH1I', path=kwargs['MonGroupName'],
299 xbins=50, xmin=0, xmax=50)
300 monitoringGroup.defineHistogram('Parameters', title='Number of parameters on track;N;Entries', type='TH1I', path=kwargs['MonGroupName'],
301 xbins=50, xmin=0, xmax=50)
302 monitoringGroup.defineHistogram('Outliers', title='Number of outliers on track;N;Entries', type='TH1I', path=kwargs['MonGroupName'],
303 xbins=50, xmin=0, xmax=50)
304 monitoringGroup.defineHistogram('Holes', title='Number of holes on track;N;Entries', type='TH1I', path=kwargs['MonGroupName'],
305 xbins=50, xmin=0, xmax=50)
306 monitoringGroup.defineHistogram('SharedHits', title='Number of shared hits on track;N;Entries', type='TH1I', path=kwargs['MonGroupName'],
307 xbins=50, xmin=0, xmax=50)
308 monitoringGroup.defineHistogram('MaterialStates', title='Number of material states on track;N;Entries', type='TH1I', path=kwargs['MonGroupName'],
309 xbins=50, xmin=0, xmax=50)
310 acc.merge(helper.result())
311
312 acc.addEventAlgo( CompFactory.ActsTrk.TrackParticleAnalysisAlg(name, **kwargs) )
313 return acc
314

◆ PhysValActsCfg()

ComponentAccumulator ActsAnalysisConfig.PhysValActsCfg ( flags,
str name = 'PhysValActs',
** kwargs )

Definition at line 882 of file ActsAnalysisConfig.py.

884 **kwargs) -> ComponentAccumulator:
885 acc = ComponentAccumulator()
886
887 # deduce what to analyse from the collectiosn in the input file
888 typedCollections = flags.Input.TypedCollections
889 for col in typedCollections:
890 col_type, col_name = col.split("#")
891 if col_type == "xAOD::PixelClusterContainer":
892 kwargs.setdefault("doPixelClusters", True)
893 elif col_type == "xAOD::StripClusterContainer":
894 kwargs.setdefault("doStripClusters", True)
895 elif col_type == "xAOD::HGTDClusterContainer":
896 kwargs.setdefault("doHgtdClusters", flags.PhysVal.IDPVM.doHGTD)
897 elif col_type == "xAOD::SpacePointContainer":
898 if 'Pixel' in col_name:
899 kwargs.setdefault("doPixelSpacePoints", True)
900 elif 'Strip' in col_name:
901 kwargs.setdefault("doStripSpacePoints", True)
902 kwargs.setdefault("doStripOverlapSpacePoints", True)
903
904 acc.setPrivateTools(CompFactory.ActsTrk.PhysValTool(name=name,
905 **kwargs))
906 return acc
907