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: remove support for References inside CMSSW #28038

Merged
merged 6 commits into from Oct 22, 2019

Conversation

schneiml
Copy link
Contributor

PR description:

For the modernization of the core DQM infrastrucutre in CMSSW, we decided to drop some rarely used features. This PR removes the first of these: Reference histograms.

The goal is not to remove all of the related code (instead, we will benefit from not having to re-implement it in future), but to remove all usages to see if anything important relies on the references.

The main usage are the Kolmogorov and Chi2 based QTests, which are used in many places. However, since we did not have reasonable reference runs set for a long time now, I suspect that all the output based on these is essentially useless. This may not be true for some validation workflows, but then Validation often uses it's own implementation of comparisons.

Additionally, this PR removes some more old test cases, which happen to be the only usage of some features.

PR validation:

Compiles, and seems to run. However, some references to removed histograms might remain. Also, we need to validate that indeed nobody relies on CMSSW-side references any more.

The only direct usages in SiStrip and Pixel phase0 DQM where actually
never called, so it is probably save to remove them. We don't load
references in production jobs for a while now, and the references used
before where massively outdated.

They main usage was Chi2 and Kologrov quality tests. One main user was
Muon DQM, however they switched (?) to an implementation outside CMSSW
a while ago ("AutoDQM"), so I assume the exisiting code did not work
correctly any more. Other users are HLT and L1T DQM.

We will not support reference histograms inside CMSSW any further, for
the future we might provide a different method of comparing to
references as a "stand-alone" module in CMSSW harvesting (without
special functionality in DQMStore).

In current practise, comparisons to reference histograms are done in
external tools such as DQMGUI, RelMon, or AutoDQM.
@schneiml
Copy link
Contributor Author

hold

I still see a problem in the local tests.

@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-28038/11968

  • This PR adds an extra 112KB to repository

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

@schneiml
Copy link
Contributor Author

unhold

Looks ok now, need to check if any summaries show up empty.

@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-28038/11969

  • This PR adds an extra 112KB to repository

@cmsbuild
Copy link
Contributor

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

It involves the following packages:

DQM/CSCMonitorModule
DQM/HLTEvF
DQM/L1TMonitorClient
DQM/SiPixelMonitorClient
DQM/SiStripMonitorClient
DQM/SiStripMonitorSummary
DQMOffline/JetMET
DQMOffline/Muon
DQMOffline/Trigger
DQMServices/ClientConfig
DQMServices/Core
HLTriggerOffline/SUSYBSM
HLTriggerOffline/Tau

@cmsbuild, @andrius-k, @kmaeshima, @schneiml, @Martin-Grunewald, @jfernan2, @fioriNTU, @fwyzard can you please review it and eventually sign? Thanks.
@rappoccio, @abbiendi, @fioriNTU, @threus, @seemasharmafnal, @venturia, @mmarionncern, @hdelanno, @battibass, @ahinzmann, @jhgoh, @jdolen, @HuguesBrun, @ptcox, @trocino, @schoef, @rociovilar, @barvic, @jdamgov, @bellan, @nhanvtran, @gkasieczka, @jandrea, @idebruyn, @mtosi, @clelange, @calderona, @mariadalfonso, @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

Let's see what happens.

@cmsbuild
Copy link
Contributor

cmsbuild commented Sep 20, 2019

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-run-pr-tests/2592/console Started: 2019/09/20 15:34

@Martin-Grunewald
Copy link
Contributor

+1

@fabiocos
Copy link
Contributor

fabiocos commented Oct 8, 2019

@peruzzim @fgolf @santocch please have a look

@peruzzim
Copy link
Contributor

peruzzim commented Oct 8, 2019

Yes, I had a private mail exchange with the author of the PR to understand it better, but then my attention got diverted by other more urgent tasks.
I have not fully understood whether we are using the features removed by this PR for validating nanoAOD, could we please have a few more days to check the workflows after NanoAODv6 is prepared?

@fabiocos
Copy link
Contributor

fabiocos commented Oct 8, 2019

@peruzzim I don't think there is a big urgency to integrate this PR, if it is just a matter of a few more days

@peruzzim
Copy link
Contributor

hold

After more discussion with @schneiml, it turns out we are actually using this feature to validate nanoAOD. We have devised a quick workaround and a longer term strategy to modify our validation workflow, I will unhold as soon as the first is implemented.

@cmsbuild
Copy link
Contributor

Pull request has been put on hold by @peruzzim
They need to issue an unhold command to remove the hold state or L1 can unhold it for all

@cmsbuild cmsbuild added the hold label Oct 16, 2019
@fioriNTU
Copy link
Contributor

@peruzzim , for my education, could you point me to the code using the internal CMSSW reference for validating nanoAOD? I personally think that, for any possible use case, having a reference outside CMSSW is much more flexible. And, also, why nanoAOD can not be validated with RelMon?

@peruzzim
Copy link
Contributor

unhold

I have modified the nanoAOD validation script to avoid using references in CMSSW, by running up to the harvesting included without references, comparing the DQM histograms with reference ones only at the very end, and then filtering the DQM histogram file to only select only the changed histograms and upload them as a separate dataset to DQM.
We can have further discussion in a dedicated setting (meeting) if desired.

@cmsbuild cmsbuild removed the hold label Oct 22, 2019
@peruzzim
Copy link
Contributor

peruzzim commented Oct 22, 2019

+xpog

for the change to PhysicsTools/NanoAOD/test/dqmQualityTests.xml which removes functionality not supported anymore

@schneiml
Copy link
Contributor Author

@peruzzim thanks a lot!

We probably still want to have a discussion on what exactly you need from DQM, just so we know and can take that into account going forward.

@santocch
Copy link

+1

@cmsbuild
Copy link
Contributor

This pull request is fully signed and it will be integrated in one of the next master IBs (tests are also fine). This pull request will now be reviewed by the release team before it's merged. @davidlange6, @slava77, @smuzaffar, @fabiocos (and backports should be raised in the release meeting by the corresponding L2)

@fabiocos
Copy link
Contributor

@peruzzim @schneiml I understand that further discussions about XPOG DQM needs may follow, but they are not a show-stopper for the integration of this PR, and that a solution in the private XPOG procedure is already in place. So I will move forward with the integration of this PR.

@fabiocos
Copy link
Contributor

+1

@cmsbuild cmsbuild merged commit 35176b9 into cms-sw:master Oct 22, 2019
schneiml added a commit to schneiml/cmssw that referenced this pull request Oct 28, 2019
These were forgotten in cms-sw#28038, since the build system does not know
about the dependences via QTests.

The xml files only use simple comparison-to-reference QTests, so I
removed them, along with the Python configs that use them, since these
seem to target validation of CMSSW_2 series releases and are probably
useless today.
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.

None yet

8 participants