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

[HGCal] Modify MultiTrackValidator plotting for easier browsing of HGCal plots #26100

Merged
merged 6 commits into from Mar 27, 2019

Conversation

apsallid
Copy link
Contributor

@apsallid apsallid commented Mar 7, 2019

PR description:

For the plotting part of the HGCalValidator package we take advantage of the tools already created by the MultiTrackValidator.
However, one option was added that when set to true it will produce a webpage with all plots to be able to
visualize all images at a glance.

PR validation:

This PR depends on PR #26099. So, after the harvesting step, you can run the makeHGCalValidationPlots.py script with the new separate option e.g:

python Validation/HGCalValidation/python/makeHGCalValidationPlots.py DQM_V0001_R000000001__Global__CMSSW_X_Y_Z__RECO.root --outputDir HGCValid --no-ratio --png --separate --html-sample Samplename --html-validation-name hgcalLayerClusters --subdirprefix test1

@felicepantaleo @rovere @cseez @malgeri

@makortel Could you please comment?

apsallid and others added 5 commits March 7, 2019 15:43
If Validation plots are produced using the 'separate' option, a static
web page will be created with the proper links to all the images. This
commit will add in that specific directory the index.php file, and all
its needed components, to be able to browse the content of the
directory automatically, hence visualizing all images at a glance.
@cmsbuild
Copy link
Contributor

cmsbuild commented Mar 7, 2019

The code-checks are being triggered in jenkins.

@cmsbuild
Copy link
Contributor

cmsbuild commented Mar 7, 2019

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-26100/8672

  • This PR adds an extra 76KB to repository

@cmsbuild
Copy link
Contributor

cmsbuild commented Mar 7, 2019

A new Pull Request was created by @apsallid for master.

It involves the following packages:

Validation/RecoTrack

@andrius-k, @kmaeshima, @schneiml, @cmsbuild, @jfernan2, @fioriNTU can you please review it and eventually sign? Thanks.
@makortel, @felicepantaleo, @GiacomoSguazzoni, @rovere, @VinInn, @wmtford, @ebrondol, @mtosi, @dgulhan 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

Copy link
Contributor

@makortel makortel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you show an example of how the output directory looks like (in the web)?

@@ -1964,7 +1964,7 @@ def _doStats(h, col, dy):
st.SetX1NDC(startingX)
st.SetX2NDC(startingX+0.3)
st.SetY1NDC(startingY+dy)
st.SetY2NDC(startingY+dy+0.15)
st.SetY2NDC(startingY+dy+0.25)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change increases the height of the stat box, right? IIRC the space between stat boxes of different histograms/graphs was already rather small. Can you show that this change does not lead the stat boxes to overlap?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From your example I see that your case has indeed more lines in the stat box than MTV has (by default). I'm not against that, but then the height should be made e.g. configurable or automated, and the height should propagate to the "line height" (magical dy -= 0.19 below) as well.

@@ -2532,6 +2532,7 @@ def create(self, tdirectoryNEvents, requireAllHistograms=False):
def draw(self, *args, **kwargs):
kargs = copy.copy(kwargs)
kargs["ratio"] = False
kargs["separate"] = False
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you explain why this change is needed?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ciao Matti,
the separate option was giving conflicts (crashes, IIRC) if coupled with the PlotOnSideGroup, which sort of makes sense since the 2 concepts are somehow "opposite". That's why I defaulted that option to False in this specific case. I guess you never tested the 2 coupled together, right?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's indeed very likely that I did not test these two together, and on a further thought I do agree that the "separate" concept doesn't really apply to the PlotOnSideGroup. Thanks for the explanation!

@@ -1293,5 +1293,14 @@ def _doPlots(self, plotterFolder, dqmSubFolder):
print("Typically this is a naming problem in the plotter configuration")
sys.exit(1)

if (self._plotterDrawArgs.get("separate", False) == True):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd rather go with

Suggested change
if (self._plotterDrawArgs.get("separate", False) == True):
if self._plotterDrawArgs.get("separate", False):

downloadables = ["index.php", "res/jquery-ui.js", "res/jquery.js", "res/style.css", "res/style.js", "res/theme.css"]
for d in downloadables:
if not os.path.exists("%s/%s" % (newdir,d)):
import urllib
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could the import be moved to the top of the file?

@apsallid
Copy link
Contributor Author

apsallid commented Mar 7, 2019

Thanks a lot for the super fast reply! This is how the output looks like in the web:

http://apsallid.web.cern.ch/apsallid/HGCalValidationPlots/

And if you click on any of these, you will see at the end a Browse Folder button.

@cmsbuild
Copy link
Contributor

cmsbuild commented Mar 7, 2019

The code-checks are being triggered in jenkins.

@makortel
Copy link
Contributor

makortel commented Mar 7, 2019

Looks good to me, thanks.

@cmsbuild
Copy link
Contributor

cmsbuild commented Mar 7, 2019

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-26100/8673

  • This PR adds an extra 76KB to repository

@cmsbuild
Copy link
Contributor

cmsbuild commented Mar 7, 2019

Pull request #26100 was updated. @andrius-k, @kmaeshima, @schneiml, @cmsbuild, @jfernan2, @fioriNTU can you please check and sign again.

@makortel
Copy link
Contributor

makortel commented Mar 7, 2019

@cmsbuild, please test

(doesn't really test anything but anyway)

@cmsbuild
Copy link
Contributor

cmsbuild commented Mar 7, 2019

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/33462/console Started: 2019/03/07 17:56

@fabiocos
Copy link
Contributor

fabiocos commented Mar 7, 2019

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Mar 7, 2019

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/33473/console Started: 2019/03/07 23:03

@cmsbuild
Copy link
Contributor

cmsbuild commented Mar 8, 2019

@cmsbuild
Copy link
Contributor

cmsbuild commented Mar 8, 2019

Comparison job queued.

@cmsbuild
Copy link
Contributor

cmsbuild commented Mar 8, 2019

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

Comparison Summary:

  • No significant changes to the logs found
  • Reco comparison results: 4 differences found in the comparisons
  • DQMHistoTests: Total files compared: 32
  • DQMHistoTests: Total histograms compared: 3114826
  • DQMHistoTests: Total failures: 1
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3114628
  • DQMHistoTests: Total skipped: 197
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 31 files compared)
  • Checked 133 log files, 14 edm output root files, 32 DQM output files

@alberto-sanchez
Copy link
Member

+1

1 similar comment
@andrius-k
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

+1

@cmsbuild cmsbuild merged commit 5cf7aa1 into cms-sw:master Mar 27, 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.

None yet

7 participants