diff --git a/Trigger/TrigAlgorithms/TrigFastTrackFinder/python/TrigFastTrackFinder_Config.py b/Trigger/TrigAlgorithms/TrigFastTrackFinder/python/TrigFastTrackFinder_Config.py index 4bac91472ce03e070453105dad4427171c4b1e1d..61b41f12a0f5d4cefea5e4ecc569770fd7d28426 100755 --- a/Trigger/TrigAlgorithms/TrigFastTrackFinder/python/TrigFastTrackFinder_Config.py +++ b/Trigger/TrigAlgorithms/TrigFastTrackFinder/python/TrigFastTrackFinder_Config.py @@ -15,9 +15,11 @@ from AthenaCommon.SystemOfUnits import * from AthenaMonitoringKernel.GenericMonitoringTool import GenericMonitoringTool +from TriggerJobOpts.TriggerFlags import TriggerFlags + class TrigFastTrackFinderMonitoring(GenericMonitoringTool): def __init__ (self, name, doResMon=False): - self.name = "TrigFastTrackFinderMonitoring_" + name + self.name = "TrigFastTrackFinder_" + name super(TrigFastTrackFinderMonitoring, self).__init__( self.name ) self.HistPath = self.name self.addSPHistograms(name) @@ -28,16 +30,16 @@ class TrigFastTrackFinderMonitoring(GenericMonitoringTool): self.addResidualHistograms() def addSPHistograms(self, name): - if name=="FS": - self.defineHistogram('roi_nSPsPIX', path='EXPERT',type='TH1F',title="Number of Pixel SPs", xbins = 500, xmin=-0.5, xmax=49999.5) - self.defineHistogram('roi_nSPsSCT', path='EXPERT',type='TH1F',title="Number of SCT SPs", xbins = 500, xmin=-0.5, xmax=99999.5) - self.defineHistogram('roi_phiWidth',path='EXPERT',type='TH1F',title="Phi width of the input RoI",xbins = 100, xmin=0, xmax=6.4) - self.defineHistogram('roi_etaWidth',path='EXPERT',type='TH1F',title="Eta width of the input RoI",xbins = 100, xmin=0, xmax=5) - else: + if name=='Electron' or name=='Muon' or name=='TauCore' or name=='MuonIso' or name=='TauIso': self.defineHistogram('roi_nSPsPIX', path='EXPERT',type='TH1F',title="Number of Pixel SPs", xbins = 50, xmin=-0.5, xmax=4999.5) self.defineHistogram('roi_nSPsSCT', path='EXPERT',type='TH1F',title="Number of SCT SPs", xbins = 50, xmin=-0.5, xmax=4999.5) self.defineHistogram('roi_phiWidth',path='EXPERT',type='TH1F',title="Phi width of the input RoI",xbins = 100, xmin=0, xmax=1.0) self.defineHistogram('roi_etaWidth',path='EXPERT',type='TH1F',title="Eta width of the input RoI",xbins = 100, xmin=0, xmax=1.0) + else: + self.defineHistogram('roi_nSPsPIX', path='EXPERT',type='TH1F',title="Number of Pixel SPs", xbins = 500, xmin=-0.5, xmax=49999.5) + self.defineHistogram('roi_nSPsSCT', path='EXPERT',type='TH1F',title="Number of SCT SPs", xbins = 500, xmin=-0.5, xmax=99999.5) + self.defineHistogram('roi_phiWidth',path='EXPERT',type='TH1F',title="Phi width of the input RoI",xbins = 100, xmin=0, xmax=6.4) + self.defineHistogram('roi_etaWidth',path='EXPERT',type='TH1F',title="Eta width of the input RoI",xbins = 100, xmin=0, xmax=5) self.defineHistogram('roi_eta', path='EXPERT',type='TH1F',title='Eta of the input RoI;;Entries', xbins=100, xmin=-5, xmax=5) self.defineHistogram('roi_phi', path='EXPERT',type='TH1F',title="Phi of the input RoI",xbins = 100, xmin=-3.2, xmax=3.2) self.defineHistogram('roi_z', path='EXPERT',type='TH1F',title="z of the input RoI",xbins = 200, xmin=-400, xmax=400) @@ -45,35 +47,35 @@ class TrigFastTrackFinderMonitoring(GenericMonitoringTool): def addDataErrorHistograms(self): self.defineHistogram('roi_lastStageExecuted',path='EXPERT',type='TH1F',title="Last Step Successfully Executed", xbins = 8 , xmin=-0.5, xmax=7.5, - xlabels=["Start","GetRoI","GetSPs","ZFinder","Triplets","TrackMaker","TrackFitter","TrackConverter"]) + labels=["Start","GetRoI","GetSPs","ZFinder","Triplets","TrackMaker","TrackFitter","TrackConverter"]) def addTimingHistograms(self, name): - if name=="FS": - self.defineHistogram('roi_nSPs, TIME_PattReco', path='EXPERT',type='TH2F',title="PattReco time; nSPs", xbins = 200, xmin=0.0, xmax=200000.0, ybins = 100, ymin=0.0, ymax=40000000.0) - self.defineHistogram('roi_nTracks, TIME_PattReco',path='EXPERT',type='TH2F',title="PattReco time; nTracks", xbins = 50, xmin=0.0, xmax=10000.0, ybins = 100, ymin=0.0, ymax=40000000.0) - self.defineHistogram('TIME_PattReco', path='EXPERT',type='TH1F',title="Pure PattReco time", xbins = 200, xmin=0.0, xmax=40000000.0) - self.defineHistogram('TIME_SpacePointConversion', path='EXPERT',type='TH1F',title="SP Conversion time", xbins = 200, xmin=0.0, xmax=200000.0) - self.defineHistogram('TIME_ZFinder', path='EXPERT',type='TH1F',title="ZFinder time", xbins = 200, xmin=0.0, xmax=40000000.0) - self.defineHistogram('TIME_Triplets', path='EXPERT',type='TH1F',title="Triplets Making time", xbins = 200, xmin=0.0, xmax=40000000.0) - self.defineHistogram('TIME_CmbTrack', path='EXPERT',type='TH1F',title="Combined Tracking time", xbins = 200, xmin=0.0, xmax=40000000.0) - self.defineHistogram('TIME_TrackFitter', path='EXPERT',type='TH1F',title="Track Fitter time", xbins = 200, xmin=0.0, xmax=2000000.0) + if name=='Electron' or name=='Muon' or name=='TauCore' or name=='MuonIso' or name=='TauIso': + self.defineHistogram('roi_nSPs, TIME_PattReco', path='EXPERT',type='TH2F',title="PattReco time; nSPs", xbins = 200, xmin=0.0, xmax=3000.0, ybins = 100, ymin=0.0, ymax=400.0) + self.defineHistogram('roi_nTracks, TIME_PattReco',path='EXPERT',type='TH2F',title="PattReco time; nTracks", xbins = 50, xmin=0.0, xmax=200.0, ybins = 100, ymin=0.0, ymax=400.0) + self.defineHistogram('TIME_PattReco', path='EXPERT',type='TH1F',title="Pure PattReco time (ms)", xbins = 200, xmin=0.0, xmax=400.0) + self.defineHistogram('TIME_SpacePointConversion', path='EXPERT',type='TH1F',title="SP Conversion time (ms)", xbins = 200, xmin=0.0, xmax=20.0) + self.defineHistogram('TIME_ZFinder', path='EXPERT',type='TH1F',title="ZFinder time (ms)", xbins = 200, xmin=0.0, xmax=1000.0) + self.defineHistogram('TIME_Triplets', path='EXPERT',type='TH1F',title="Triplets Making time (ms)", xbins = 200, xmin=0.0, xmax=400.0) + self.defineHistogram('TIME_CmbTrack', path='EXPERT',type='TH1F',title="Combined Tracking time (ms)", xbins = 200, xmin=0.0, xmax=400.0) + self.defineHistogram('TIME_TrackFitter', path='EXPERT',type='TH1F',title="Track Fitter time (ms)", xbins = 200, xmin=0.0, xmax=200.0) else: - self.defineHistogram('roi_nSPs, TIME_PattReco', path='EXPERT',type='TH2F',title="PattReco time; nSPs", xbins = 200, xmin=0.0, xmax=3000.0, ybins = 100, ymin=0.0, ymax=400000.0) - self.defineHistogram('roi_nTracks, TIME_PattReco',path='EXPERT',type='TH2F',title="PattReco time; nTracks", xbins = 50, xmin=0.0, xmax=200.0, ybins = 100, ymin=0.0, ymax=400000.0) - self.defineHistogram('TIME_PattReco', path='EXPERT',type='TH1F',title="Pure PattReco time", xbins = 200, xmin=0.0, xmax=400000.0) - self.defineHistogram('TIME_SpacePointConversion', path='EXPERT',type='TH1F',title="SP Conversion time", xbins = 200, xmin=0.0, xmax=20000.0) - self.defineHistogram('TIME_ZFinder', path='EXPERT',type='TH1F',title="ZFinder time", xbins = 200, xmin=0.0, xmax=1000000.0) - self.defineHistogram('TIME_Triplets', path='EXPERT',type='TH1F',title="Triplets Making time", xbins = 200, xmin=0.0, xmax=400000.0) - self.defineHistogram('TIME_CmbTrack', path='EXPERT',type='TH1F',title="Combined Tracking time", xbins = 200, xmin=0.0, xmax=400000.0) - self.defineHistogram('TIME_TrackFitter', path='EXPERT',type='TH1F',title="Track Fitter time", xbins = 200, xmin=0.0, xmax=200000.0) + self.defineHistogram('roi_nSPs, TIME_PattReco', path='EXPERT',type='TH2F',title="PattReco time; nSPs", xbins = 200, xmin=0.0, xmax=200000.0, ybins = 100, ymin=0.0, ymax=40000.0) + self.defineHistogram('roi_nTracks, TIME_PattReco',path='EXPERT',type='TH2F',title="PattReco time; nTracks", xbins = 50, xmin=0.0, xmax=10000.0, ybins = 100, ymin=0.0, ymax=40000.0) + self.defineHistogram('TIME_PattReco', path='EXPERT',type='TH1F',title="Pure PattReco time (ms)", xbins = 200, xmin=0.0, xmax=40000.0) + self.defineHistogram('TIME_SpacePointConversion', path='EXPERT',type='TH1F',title="SP Conversion time (ms)", xbins = 200, xmin=0.0, xmax=200.0) + self.defineHistogram('TIME_ZFinder', path='EXPERT',type='TH1F',title="ZFinder time (ms)", xbins = 200, xmin=0.0, xmax=40000.0) + self.defineHistogram('TIME_Triplets', path='EXPERT',type='TH1F',title="Triplets Making time (ms)", xbins = 200, xmin=0.0, xmax=40000.0) + self.defineHistogram('TIME_CmbTrack', path='EXPERT',type='TH1F',title="Combined Tracking time (ms)", xbins = 200, xmin=0.0, xmax=40000.0) + self.defineHistogram('TIME_TrackFitter', path='EXPERT',type='TH1F',title="Track Fitter time (ms)", xbins = 200, xmin=0.0, xmax=2000.0) def addTrackHistograms(self, name): - if name=="FS": - self.defineHistogram('roi_nSeeds', path='EXPERT',type='TH1F',title="Number of seeds",xbins = 1000, xmin=-0.5, xmax=99999.5) - self.defineHistogram('roi_nTracks', path='EXPERT',type='TH1F',title="Number of Tracks",xbins = 100, xmin=-0.5, xmax=9999.5) - else: + if name=='Electron' or name=='Muon' or name=='TauCore' or name=='MuonIso' or name=='TauIso': self.defineHistogram('roi_nSeeds', path='EXPERT',type='TH1F',title="Number of seeds",xbins = 100, xmin=-0.5, xmax=4999.5) self.defineHistogram('roi_nTracks', path='EXPERT',type='TH1F',title="Number of Tracks",xbins = 50, xmin=-0.5, xmax=199.5) + else: + self.defineHistogram('roi_nSeeds', path='EXPERT',type='TH1F',title="Number of seeds",xbins = 1000, xmin=-0.5, xmax=99999.5) + self.defineHistogram('roi_nTracks', path='EXPERT',type='TH1F',title="Number of Tracks",xbins = 100, xmin=-0.5, xmax=9999.5) self.defineHistogram('roi_nZvertices', path='EXPERT',type='TH1F',title="Number of z vertices",xbins = 60 , xmin=-0.5, xmax=49.5) self.defineHistogram('roi_zVertices', path='EXPERT',type='TH1F',title="ZFinder Vertices",xbins = 501, xmin=-250, xmax=250) self.defineHistogram('roi_nTrk_zVtx', path='EXPERT',type='TH1F',title="Ntrk ZFinder Vertices",xbins = 100, xmin=-0.5, xmax=49.5) @@ -592,10 +594,14 @@ class TrigFastTrackFinderBase(TrigFastTrackFinder): timeHist.TimerHistLimits = [0,10000] from InDetTrigRecExample.InDetTrigSliceSettings import InDetTrigSliceSettings self.doResMon = InDetTrigSliceSettings[('doResMon',remapped_type)] - self.AthenaMonTools = [ TrigFastTrackFinder_ValidationMonitoring("TrigFastTrackFinder_ValidationMonitoring", self.doResMon), - TrigFastTrackFinder_OnlineMonitoring("TrigFastTrackFinder_OnlineMonitoring", self.doResMon), - timeHist ] + # switch between Run-2/3 monitoring + if TriggerFlags.doMT(): + self.MonTool = TrigFastTrackFinderMonitoring(type, self.doResMon) + else: + self.AthenaMonTools = [ TrigFastTrackFinder_ValidationMonitoring("TrigFastTrackFinder_ValidationMonitoring", self.doResMon), + TrigFastTrackFinder_OnlineMonitoring("TrigFastTrackFinder_OnlineMonitoring", self.doResMon), + timeHist ] from TrigInDetConf.TrigInDetRecCommonTools import InDetTrigFastTrackSummaryTool self.TrackSummaryTool = InDetTrigFastTrackSummaryTool diff --git a/Trigger/TrigAlgorithms/TrigFastTrackFinder/src/TrigFastTrackFinder.cxx b/Trigger/TrigAlgorithms/TrigFastTrackFinder/src/TrigFastTrackFinder.cxx index c35b14d5e53055810eb0c00018802120dd024e0c..a1b9c2a81c9f9f8f935e864e135ec56976df7579 100644 --- a/Trigger/TrigAlgorithms/TrigFastTrackFinder/src/TrigFastTrackFinder.cxx +++ b/Trigger/TrigAlgorithms/TrigFastTrackFinder/src/TrigFastTrackFinder.cxx @@ -559,13 +559,12 @@ StatusCode TrigFastTrackFinder::findTracks(InDet::SiTrackMakerEventData_xk &trac auto mnt_roi_nSPsSCT = Monitored::Scalar<int>("roi_nSPsSCT", 0); auto monSP = Monitored::Group(m_monTool, mnt_roi_nSPsPIX, mnt_roi_nSPsSCT); - auto mnt_timer_SpacePointConversion = Monitored::Timer("TIME_SpacePointConversion"); - auto mnt_timer_ZFinder = Monitored::Timer("TIME_ZFinder"); - auto mnt_timer_PatternReco = Monitored::Timer("TIME_PattReco"); - auto mnt_timer_TripletMaking = Monitored::Timer("TIME_Triplets"); - auto mnt_timer_CombTracking = Monitored::Timer("TIME_CmbTrack"); - auto mnt_timer_TrackFitter = Monitored::Timer("TIME_TrackFitter"); - auto monTime = Monitored::Group(m_monTool, mnt_roi_nTracks, mnt_roi_nSPs, mnt_timer_SpacePointConversion, mnt_timer_ZFinder, + auto mnt_timer_SpacePointConversion = Monitored::Timer<std::chrono::milliseconds>("TIME_SpacePointConversion"); + auto mnt_timer_PatternReco = Monitored::Timer<std::chrono::milliseconds>("TIME_PattReco"); + auto mnt_timer_TripletMaking = Monitored::Timer<std::chrono::milliseconds>("TIME_Triplets"); + auto mnt_timer_CombTracking = Monitored::Timer<std::chrono::milliseconds>("TIME_CmbTrack"); + auto mnt_timer_TrackFitter = Monitored::Timer<std::chrono::milliseconds>("TIME_TrackFitter"); + auto monTime = Monitored::Group(m_monTool, mnt_roi_nTracks, mnt_roi_nSPs, mnt_timer_SpacePointConversion, mnt_timer_PatternReco, mnt_timer_TripletMaking, mnt_timer_CombTracking, mnt_timer_TrackFitter); auto mnt_roi_lastStageExecuted = Monitored::Scalar<int>("roi_lastStageExecuted", 0); @@ -616,8 +615,11 @@ StatusCode TrigFastTrackFinder::findTracks(InDet::SiTrackMakerEventData_xk &trac if (m_doZFinder) { if ( timerSvc() ) m_ZFinderTimer->start(); - - mnt_timer_ZFinder.start(); // Run3 monitoring + // Run3 monitoring ----------> + auto mnt_timer_ZFinder = Monitored::Timer<std::chrono::milliseconds>("TIME_ZFinder"); + auto monTimeZFinder = Monitored::Group(m_monTool, mnt_timer_ZFinder); + mnt_timer_ZFinder.start(); + // <---------- Run3 monitoring m_tcs.m_vZv.clear(); /// create a new internal superRoi - should really record this