Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DQM: Restructure QTests (v2) #28379

Merged
merged 28 commits into from
Dec 6, 2019
Merged

Conversation

schneiml
Copy link
Contributor

@schneiml schneiml commented Nov 12, 2019

PR description:

This is the second, and main, PR replacing #28316. [It is based on #28375 (functionally required for this to work, separated to reduce the amount of changes to review), and #28247 (massive conflicts between the two, and #28247 will probably go in first).] Update: Rebased with both PRs merged to master.

This PR covers the reorganization of the DQM QualityTest functionality in CMSSW:

  • QualityTester becomes a plugin in DQMServices/Components, handling all QTest things.
  • The XML parsing is now done with boost::property_tree rather than xerces. Much less code, however more strict (some of the QTest configuration XML used in production was malformed!) and probably worse error reporting.
  • The QTest implementation remain in DQMServices/Core QTest.[h|cc]. However, the only place that uses them now is QualityTester.
  • QReports (results) remain available via the MonitorElement, but don't contain pointers to QCriterions (the actual tests) any more.
  • QualityTester is now a DQMEDHarvester, rather than a legacy module.
  • The ordering QualityTester vs. other harvesters is complicated. Some of the old behaviour was accidental and may be impossible to reproduce, since nothing is guaranteed by the EDM framework with respect to ordering in endJob (see EndJob module ordering #28354). In practice, some of SiStrip Certification output is broken now and there is no way to fix it, but it could also break spontaneously in production and there would be no way to fix it.

A few changes hitchhike this PR due to the history in #28316 and other requirements:

  • The DQMEDHarvester base class is updated to the new DQMStore version, since some features (dqmEndRun, proper dependencies) are needed here.
  • DQMGenericClient is moved and restructured, to prepare for the removal of the ClientConfig package.
  • Some more random changes remove dependencies on ClientConfig. However, the package remains present and the Tracker modules relying on DQMParserBase are unaffected.

PR validation:

Some validation happend in #28316 and the PR test comparison should be clean. This needs re-checking now that the other PRs are part of the baseline.

@cmsbuild
Copy link
Contributor

The code-checks are being triggered in jenkins.

@cmsbuild
Copy link
Contributor

-code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-28379/12708

  • This PR adds an extra 208KB to repository

Code check has found code style and quality issues which could be resolved by applying following patch(s)

@cmsbuild
Copy link
Contributor

The code-checks are being triggered in jenkins.

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-28379/12709

  • This PR adds an extra 220KB to repository

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @schneiml (Marcel Schneider) for master.

It involves the following packages:

Alignment/OfflineValidation
CalibMuon/DTCalibration
Calibration/EcalCalibAlgos
Calibration/TkAlCaRecoProducers
DQM/BeamMonitor
DQM/CSCMonitorModule
DQM/DTMonitorClient
DQM/DTMonitorModule
DQM/EcalCommon
DQM/EcalMonitorDbModule
DQM/EcalMonitorTasks
DQM/EcalPreshowerMonitorClient
DQM/EcalPreshowerMonitorModule
DQM/HLTEvF
DQM/HLXMonitor
DQM/HcalTasks
DQM/Integration
DQM/L1TMonitor
DQM/L1TMonitorClient
DQM/Physics
DQM/RPCMonitorClient
DQM/SiPixelCommon
DQM/SiPixelMonitorClient
DQM/SiPixelPhase1Config
DQM/SiPixelPhase1Summary
DQM/SiStripCommissioningClients
DQM/SiStripCommissioningSources
DQM/SiStripMonitorClient
DQM/SiStripMonitorSummary
DQM/TrackingMonitor
DQM/TrackingMonitorClient
DQMOffline/CalibMuon
DQMOffline/EGamma
DQMOffline/Ecal
DQMOffline/JetMET
DQMOffline/L1Trigger
DQMOffline/Muon
DQMOffline/PFTau
DQMOffline/Trigger
DQMServices/ClientConfig
DQMServices/Components
DQMServices/Core
DQMServices/Examples
GeneratorInterface/RivetInterface
HLTrigger/Timer
HLTriggerOffline/B2G
HLTriggerOffline/Common
HLTriggerOffline/Exotica
HLTriggerOffline/Higgs
HLTriggerOffline/JetMET
HLTriggerOffline/Muon
HLTriggerOffline/SUSYBSM
HLTriggerOffline/Tau
PhysicsTools/NanoAOD
Validation/L1T
Validation/RecoB
Validation/RecoMuon
Validation/RecoTau
Validation/RecoTrack

@SiewYan, @andrius-k, @schneiml, @Martin-Grunewald, @rekovic, @fioriNTU, @tlampen, @alberto-sanchez, @pohsun, @santocch, @peruzzim, @cmsbuild, @agrohsje, @fwyzard, @efeyazgan, @tocheng, @jfernan2, @qliphy, @benkrikler, @mkirsano, @kmaeshima, @christopheralanwest, @franzoni, @fgolf can you please review it and eventually sign? Thanks.
@erikbutz, @rappoccio, @felicepantaleo, @schoef, @emilbols, @missirol, @argiro, @HeinerTholen, @fioriNTU, @tlampen, @alberto-sanchez, @ahinzmann, @threus, @mmusich, @seemasharmafnal, @venturia, @acimmino, @mmarionncern, @kreczko, @hdelanno, @calderona, @makortel, @smoortga, @acaudron, @jhgoh, @jdolen, @HuguesBrun, @agrohsje, @cericeci, @ferencek, @trocino, @rociovilar, @abbiendi, @barvic, @DryRun, @GiacomoSguazzoni, @tocheng, @VinInn, @jdamgov, @bellan, @nhanvtran, @gkasieczka, @rovere, @jandrea, @mschrode, @idebruyn, @ebrondol, @ptcox, @mtosi, @dgulhan, @clelange, @mkirsano, @Martin-Grunewald, @batinkov, @adewit, @battibass, @Fedespring, @JyothsnaKomaragiri, @mverzett, @wmtford, @gpetruc, @mariadalfonso, @pvmulder, @andrzejnovak, @folguera this is something you requested to watch as well.
@davidlange6, @slava77, @fabiocos you are the release manager for this.

cms-bot commands are listed here

@schneiml
Copy link
Contributor Author

please test

it looks like this compiles and does not blow up immediately in a local test, so the rebase might actually have succeeded.

The last few commits include a change suggested in #28354, that ideally does not change anything but makes things more clean. Let's see how it goes.

@cmsbuild
Copy link
Contributor

cmsbuild commented Nov 12, 2019

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-run-pr-tests/3435/console Started: 2019/11/12 14:14

@fabiocos
Copy link
Contributor

fabiocos commented Dec 3, 2019

please test

@schneiml the bin-to-bin comparison should now be fixed, so we can repeat the test

@cmsbuild
Copy link
Contributor

cmsbuild commented Dec 3, 2019

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-run-pr-tests/3756/console Started: 2019/12/03 15:56

@cmsbuild
Copy link
Contributor

cmsbuild commented Dec 3, 2019

@cmsbuild
Copy link
Contributor

cmsbuild commented Dec 3, 2019

Comparison job queued.

@cmsbuild
Copy link
Contributor

cmsbuild commented Dec 3, 2019

Comparison is ready
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-5d8809/3756/summary.html

Comparison Summary:

  • No significant changes to the logs found
  • Reco comparison results: 4 differences found in the comparisons
  • DQMHistoTests: Total files compared: 34
  • DQMHistoTests: Total histograms compared: 2793840
  • DQMHistoTests: Total failures: 2
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 2793497
  • DQMHistoTests: Total skipped: 341
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 12.064 KiB( 33 files compared)
  • DQMHistoSizes: changed ( 1000.0,... ): 0.533 KiB Tracking/TrackParameters
  • DQMHistoSizes: changed ( 1000.0,... ): -0.093 KiB L1T/L1TOccupancy
  • DQMHistoSizes: changed ( 140.56,... ): 0.668 KiB Tracking/TrackParameters
  • Checked 147 log files, 16 edm output root files, 34 DQM output files

@fabiocos
Copy link
Contributor

fabiocos commented Dec 5, 2019

@qliphy @agrohsje @intrepid42 could you please have a look at the generator part? It involves a minimal change in Rivet interface

@fabiocos
Copy link
Contributor

fabiocos commented Dec 5, 2019

@rekovic the change in L1T area are minimal, please check, I will move forward

@fabiocos
Copy link
Contributor

fabiocos commented Dec 5, 2019

@schneiml I see that this PR adds an additional dependency on boost, anyway property_tree is already used in several areas of DQM. Anyway the xml parsing so far is used only in a test for the luminosity code

@schneiml
Copy link
Contributor Author

schneiml commented Dec 6, 2019

@fabiocos yes indeed, I use the property_tree XML parsing instead of Xerces (via ClientConfig, to be deleted in #28380 ). It seems clearly superior to me, and as I understood anything in boost can be used without much trouble.

@fabiocos
Copy link
Contributor

fabiocos commented Dec 6, 2019

+1

@fabiocos
Copy link
Contributor

fabiocos commented Dec 6, 2019

merge

@cmsbuild cmsbuild merged commit f24efb2 into cms-sw:master Dec 6, 2019
@schneiml
Copy link
Contributor Author

schneiml commented Dec 9, 2019

Thanks everybody for the help with this big project!

Where there any suspicious problems in the IB tests over the weekend? Given there are actual behavior changes in this PR, I'd not be too surprised...

@fabiocos
Copy link
Contributor

fabiocos commented Dec 9, 2019

@schneiml the only anomalies noticed in the week end are dealt with in #28581 to my knowledge

@schneiml schneiml mentioned this pull request Dec 10, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants