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

Phase1 Pixel DQM PixelMaps, new TrackEfficiencies, removed Harvesting, new Plots and various Bugfixes #17208

Merged

Conversation

schneiml
Copy link
Contributor

@schneiml schneiml commented Jan 19, 2017

Changes from #17089 plus more:

  • Improve Pixel Maps
  • Fix some config files related to Phase0/Phase1 switching (online/development only)
  • Fix a bug in the online fileinputsource which was inefficient/broken for huge datasets
  • Fix SiPixelPhase1TrackEfficiency as suggested by Vincenzo
  • Add a commit forgotten in the last PR related to the RawData plugin
  • Improve performance by relaxing an over-strict check (Update: removed, not ready yet)

Should go into pre3.
@fioriNTU @enochnotsocool @davidcarbonis

schneiml and others added 27 commits January 13, 2017 11:42
Does not really add new features, but is certainly the better way to do things.
We cannot automatically determine that, but need to pass it to some Pixel Tools.
Conflicts:
	DQM/SiPixelPhase1Common/python/HistogramManager_cfi.py
There were columns removed from the COUNT step, which caused missing counters,
and the empty dummy column only causing trouble now.
No more harvesting needed. Also cleans up the plot layouts a bit.
It proved to be not very useful and fairly esoteric to use.

With the TarackEfficiency plugin it lost its most important use case;
the TProfile based efficiencies are simpler and closer in philosophy to
the Phase1 DQM framework.
…sing SiPixelCoordinates (new class)

cherry-pick: removed references to ntuplizer code for CMSSW/DQM, moved
files.

Conflicts:
	plugins/BuildFile.xml
	plugins/PhaseIPixelNtuplizer.cc
	plugins/PhaseIPixelNtuplizer.h
	test/run_PhaseIPixelNtuplizer_MinBias_cfg.py
Also first experiments on Pixel Maps.
Style might still need some tuning (use different functions from SiPixelCoordinates),
some more quantities could use it,
and there might be some off-by-1 or off-by-0.5's for the row/cols.
@cmsbuild cmsbuild added this to the Next CMSSW_9_0_X milestone Jan 19, 2017
@cmsbuild
Copy link
Contributor

@schneiml
Copy link
Contributor Author

@dmitrijus I removed the last commit, seems to cause more trouble than expected. Can you make sure this gets re-tested?

@davidlange6
Copy link
Contributor

please test
(@schneiml - please make the title descriptive of the changes inside.)

@cmsbuild
Copy link
Contributor

cmsbuild commented Jan 22, 2017

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/17370/console Started: 2017/01/22 10:11

@cmsbuild
Copy link
Contributor

@cmsbuild
Copy link
Contributor

Comparison job queued.

@cmsbuild
Copy link
Contributor

@schneiml schneiml changed the title Phase1 Pixel DQM Post Christmas Version Phase1 Pixel DQM PixelMaps, new TrackEfficiencies, removed Harvesting, new Plots and various Bugfixes Jan 22, 2017
@@ -0,0 +1,916 @@
// -*- C++ -*-
Copy link
Contributor

Choose a reason for hiding this comment

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

hi @schneiml - dqm looks like the wrong spot for such code. Did you consider other users of this?

Second, did you do some study to justify the caching layer? Given the simplicity of the calculations I would think that searching a big map is both slower and more memory intensive than just redoing the calculation.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Re where to put this: Originally, this file is by @jkarancs and lives here: https://github.com/jkarancs/PhaseIPixelNtuplizer/blob/31e12769af7eb82dd7c1f1c4418641e4d2fe8b7d/src/SiPixelCoordinates.cc
There were some plans to put this into a DPGAnalysis package (to be created), but I think having DQM depend on that is not good either. So, we are looking for a better place, but to have it available now I just threw it into the DQM package. If you have better suggestions (this is not Phase1, but Pixel specific; it is for now only used in DQM and that will probably stay like that; but external analysis code will also use it) please let us know.

Re the caching: Yes, this is probably too aggressive. There are some really slow operations in there (around channels/ROCs), but in many cases avoiding it might be better. From what I have measured, this class causes ~10% of the online DQM cost (which is basically only Pixel DQM), in usual offline sequences the Pixel DQM is only a few percent of the total. So there is an opportunity to improve a bit, but it seems not too urgent to me and I wanted to keep @jkarancs's state for now (up to a bugfix).

Copy link
Contributor

Choose a reason for hiding this comment

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

@schneiml

thanks
Sounds like it belongs in a data format (tracker already has much of this sort of functionality in a data format) or in a reco package.

what is the impact on memory of this cache?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Re memory: I have not measured here, but there are "only" ~1900 Pixel modules in Phase1, so each of the Maps should stay in the range of Kilobytes. There will be one instance of this per Phase1 DQM plugin (and also per thread), so in the end it might be in the lower megabytes.

Re the location: Just to make it clear, this file will not move unless a concrete new path is proposed. I'd happily move it if somebody tells me where to move it...

Copy link
Contributor

Choose a reason for hiding this comment

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

My proposal is to move it to DataFormats/​SiPixelDetId.
I think this is what David had in mind.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Update: I fail to get SiPixelCoordinates compiled in the DataFormats/SiPixelDetId package:

/cvmfs/cms-ib.cern.ch/week0/slc6_amd64_gcc530/cms/cmssw-patch/CMSSW_9_0_X_2017-01-24-2300/src/DataFormats/CLHEP/interface/AlgebraicObjects.h:8:33: fatal error: CLHEP/Matrix/Vector.h: No such file or directory

Which is transitively included from SiPixelCoordinates, but worked in the DQM package. I do't see what is going on there...

Copy link
Contributor

Choose a reason for hiding this comment

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

If it's a compilation issue, my experience is that you need to add something to the BuildFile:
https://github.com/cms-sw/cmssw/blob/CMSSW_9_0_X/DataFormats/SiPixelDetId/BuildFile.xml
Compare what is in the DQM package that is missing in the DataFormats:
https://github.com/cms-sw/cmssw/blob/CMSSW_9_0_X/DQM/SiPixelPhase1Common/BuildFile.xml

Copy link
Contributor

Choose a reason for hiding this comment

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

@schneiml - you need:

<use   name="clhep"/>

Copy link
Contributor Author

@schneiml schneiml Jan 25, 2017

Choose a reason for hiding this comment

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

@jkarancs looked at it, but I don't see any obvious candidate...
@ianna Wow, thanks! I guess this was loaded as a dependency of sth. in the DQM package.

Now just lots of linking errors, but there it is more clear what needs to be added...
Update: Now lets see if this can be satisfied w/o dependency cycles...

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@jkarancs @davidlange6 it seems DataFormats/SiPixelDetId is not a feasible location since it would cause a recursive dependency via Geometry/TrackerGeometryBuilder.

In general, a package with the SiPixelCoordinatesin it would have quite massive dependencies. Which is not that big of a problem with the DQM package, since it has those dependencies either way...

@schneiml
Copy link
Contributor Author

@davidlange6 any specific plans on this? I will loose lxplus access in ~4 days from now, then maintaining and modifying this branch will become much harder.

@davidlange6
Copy link
Contributor

Hi @schneiml - sorry for the slow answer - i had missed the geometry dependency. likely some restructuring is needed - but for now i guess DQM is as good of a home as any..

@davidlange6
Copy link
Contributor

+1

@cmsbuild cmsbuild merged commit 53b13b6 into cms-sw:CMSSW_9_0_X Jan 29, 2017
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