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

Implement fillDescriptions() for producers in RecoParticleFlow/PFSimProducer #32342

Merged
merged 3 commits into from
Dec 4, 2020
Merged

Implement fillDescriptions() for producers in RecoParticleFlow/PFSimProducer #32342

merged 3 commits into from
Dec 4, 2020

Conversation

guitargeek
Copy link
Contributor

PR description:

Implement fillDescriptions() for producers in RecoParticleFlow/PFSimProducer to address issue #29449 and merge .h files with .cc files in RecoParticleFlow/PFSimProducer/plugins.

PR validation:

CMSSW compiles, local matrix tests pass.

if this PR is a backport please specify the original PR and why you need to backport that PR:

No backport intended.

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-32342/20171

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @guitargeek (Jonas Rembser) for master.

It involves the following packages:

RecoParticleFlow/Configuration
RecoParticleFlow/PFProducer
RecoParticleFlow/PFSimProducer
RecoParticleFlow/PFTracking

@perrotta, @jpata, @cmsbuild, @slava77 can you please review it and eventually sign? Thanks.
@mmarionncern, @makortel, @cbernet, @rovere, @lgray, @lecriste, @hatakeyamak, @seemasharmafnal this is something you requested to watch as well.
@silviodonato, @dpiparo, @qliphy you are the release manager for this.

cms-bot commands are listed here

@silviodonato
Copy link
Contributor

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Dec 2, 2020

The tests are being triggered in jenkins.

@cmsbuild
Copy link
Contributor

cmsbuild commented Dec 2, 2020

+1
Tested at: 5533ce7
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-6f5200/11272/summary.html
CMSSW: CMSSW_11_3_X_2020-12-01-2300
SCRAM_ARCH: slc7_amd64_gcc900

@cmsbuild
Copy link
Contributor

cmsbuild commented Dec 2, 2020

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

Comparison Summary:

  • No significant changes to the logs found
  • Reco comparison results: 4 differences found in the comparisons
  • DQMHistoTests: Total files compared: 35
  • DQMHistoTests: Total histograms compared: 2529593
  • DQMHistoTests: Total failures: 7
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 2529564
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 34 files compared)
  • Checked 148 log files, 37 edm output root files, 35 DQM output files

@hatakeyamak
Copy link
Contributor

Thanks. Just adding @kdlong here, as he is looking over various truth definitions for PF.


#include <memory>

class ConvBremSeedProducer : public edm::EDProducer {
Copy link
Contributor

Choose a reason for hiding this comment

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

I have the impression that this module is obsolete, and it could even be remved from CMSSW: if so, maybe better doing it now, and avoid uselessly spending time in maintaining it in the future.
Otherwise, since you already spent some time in updating it, you could also do a little step forward and make it a stream module, instead of a legacy one.

void ConvBremSeedProducer::fillDescriptions(edm::ConfigurationDescriptions& descriptions) {
// convBremSeeds
edm::ParameterSetDescription desc;
desc.add<edm::InputTag>("stereorecHits", edm::InputTag("gsStripRecHits", "stereoRecHit"));
Copy link
Contributor

Choose a reason for hiding this comment

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

This parameter does not seem to be needed: remove

#include "FWCore/MessageLogger/interface/MessageLogger.h"
#include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h"
#include "FWCore/ParameterSet/interface/ParameterSetDescription.h"
#include "FWCore/Utilities/interface/isFinite.h"
Copy link
Contributor

Choose a reason for hiding this comment

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

not needed

@@ -92,11 +167,9 @@ PFSimParticleProducer::PFSimParticleProducer(const edm::ParameterSet& iConfig) {

particleFilter_ = iConfig.getParameter<ParameterSet>("ParticleFilter");

mySimEvent = new FSimEvent(particleFilter_);
mySimEvent = std::make_unique<FSimEvent>(particleFilter_);
Copy link
Contributor

Choose a reason for hiding this comment

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

Since you are on it, please also remove the (commented out) lines 201-204 below

#include "FWCore/MessageLogger/interface/MessageLogger.h"
#include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h"
#include "FWCore/ParameterSet/interface/ParameterSetDescription.h"
#include "FWCore/Utilities/interface/isFinite.h"
Copy link
Contributor

Choose a reason for hiding this comment

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

not used

desc.add<edm::InputTag>("gsfTrackSrc", {"electronGsfTracks"});

// if useTiming_
desc.add<edm::InputTag>("trackTimeValueMap", {});
Copy link
Contributor

Choose a reason for hiding this comment

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

The logic of the code as it is now assumes that the bool useTiming_ is true if conf.existsAs<edm::InputTag>("trackTimeValueMap"), and false otherwise.

But if you define "trackTimeValueMap" in the fillDescriptions method, then useTiming_ can never be false.

This doesn't get exposed now because this simPFProducer module is only used in Phase2 with Timing, and therefore there is no current use case for useTiming_ being false. However, this is a bug that must be fixed.

There are probably several ways out, but I think that the easiest and cleanest way for doing it is simply addOptional all these paramaters, without providing here any initialization value. As such those parameters will only get inserted by the modifier in RecoParticleFlow/Configuration/python/RecoParticleFlow_cff.py, and will not be present in unmodified configurations.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thanks a lot, I didn't know about addOptional!

@cmsbuild
Copy link
Contributor

cmsbuild commented Dec 4, 2020

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-32342/20255

@cmsbuild
Copy link
Contributor

cmsbuild commented Dec 4, 2020

Pull request #32342 was updated. @perrotta, @jpata, @cmsbuild, @slava77 can you please check and sign again.

@perrotta
Copy link
Contributor

perrotta commented Dec 4, 2020

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Dec 4, 2020

+1
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-6f5200/11337/summary.html
CMSSW: CMSSW_11_3_X_2020-12-04-1100
SCRAM_ARCH: slc7_amd64_gcc900

@cmsbuild
Copy link
Contributor

cmsbuild commented Dec 4, 2020

Comparison results are now available
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-6f5200/11337/summary.html
CMSSW: CMSSW_11_3_X_2020-12-04-1100
SCRAM_ARCH: slc7_amd64_gcc900

Comparison Summary:

  • No significant changes to the logs found
  • Reco comparison results: 0 differences found in the comparisons
  • DQMHistoTests: Total files compared: 35
  • DQMHistoTests: Total histograms compared: 2529593
  • DQMHistoTests: Total failures: 1
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 2529570
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 34 files compared)
  • Checked 148 log files, 37 edm output root files, 35 DQM output files

@perrotta
Copy link
Contributor

perrotta commented Dec 4, 2020

+1

  • fillDescriptions() implemented for the producers in RecoParticleFlow/PFSimProducer as intended, plus some collapse of the previous header+implementation structure of a few plugins into one single file
  • Jenkins tests pass and show no differences wrt baseline
  • In the package there are probably a few outdated or unused plugins (e.g. TauHadronDecayFilter, ConvBremSeedProducer, ...) that could be more conveniently removed, to avoid unnecessary maintenance work in the future (@hatakeyamak @bendavid)

@cmsbuild
Copy link
Contributor

cmsbuild commented Dec 4, 2020

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. @silviodonato, @dpiparo, @qliphy (and backports should be raised in the release meeting by the corresponding L2)

@silviodonato
Copy link
Contributor

+1

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