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

Initial Implementation of ProducesCollector #28154

Merged
merged 2 commits into from Oct 30, 2019

Conversation

wddgit
Copy link
Contributor

@wddgit wddgit commented Oct 10, 2019

PR description:

Initial implementation of the ProducesCollector. The ProducerBase::produces function is now a protected member of ProducerBase. When produces needs to be called in a helper class (outside the module constructor), the ProducesCollector must be used. This PR also migrates all the code in the repository to work with this change. It does not affect modules that call produces directly inside their constructor. The purpose is to reduce the number of things that depend on ProducerBase. Helper classes used by modules no longer need to depend on it.

PR validation:

Includes a new unit test for the ProducesCollector class.

@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-28154/12208

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @wddgit (W. David Dagenhart) for master.

It involves the following packages:

EventFilter/L1TRawToDigi
EventFilter/RPCRawToDigi
FWCore/Framework
FWCore/Integration
FastSimulation/SimplifiedGeometryPropagator
FastSimulation/Tracking
HLTrigger/Muon
PhysicsTools/UtilAlgos
RecoPixelVertexing/PixelTriplets
RecoTracker/FinalTrackSelectors
RecoTracker/TkHitPairs
SimCalorimetry/CastorSim
SimCalorimetry/EcalSimProducers
SimCalorimetry/EcalTestBeam
SimCalorimetry/HGCalSimProducers
SimCalorimetry/HcalSimProducers
SimCalorimetry/HcalTestBeam
SimFastTiming/FastTimingCommon
SimG4Core/Application
SimG4Core/Watcher
SimGeneral/CaloAnalysis
SimGeneral/MixingModule
SimGeneral/PileupInformation
SimGeneral/PreMixingModule
SimGeneral/TrackingAnalysis
SimMuon/CSCDigitizer
SimTracker/SiPhase2Digitizer
SimTracker/SiPixelDigitizer
SimTracker/SiStripDigitizer

@perrotta, @smuzaffar, @benkrikler, @Dr15Jones, @lveldere, @civanch, @sbein, @ssekmen, @mdhildreth, @Martin-Grunewald, @rekovic, @cmsbuild, @kpedro88, @slava77, @fwyzard, @santocch can you please review it and eventually sign? Thanks.
@echabert, @felicepantaleo, @pieterdavid, @kpedro88, @argiro, @Martin-Grunewald, @pfs, @thomreis, @threus, @mmusich, @sethzenz, @battibass, @makortel, @jhgoh, @lgray, @apsallid, @prolay, @HuguesBrun, @dildick, @trocino, @vandreev11, @abbiendi, @GiacomoSguazzoni, @rovere, @VinInn, @cseez, @ptcox, @deguio, @mschrode, @ebrondol, @dgulhan, @calderona, @dkotlins, @gpetruc, @matt-komm, @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

@wddgit
Copy link
Contributor Author

wddgit commented Oct 10, 2019

please test

This should not change the results of any output.

@cmsbuild
Copy link
Contributor

cmsbuild commented Oct 10, 2019

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-run-pr-tests/2884/console Started: 2019/10/10 20:23

@cmsbuild
Copy link
Contributor

@cmsbuild
Copy link
Contributor

Comparison job queued.

@fabiocos
Copy link
Contributor

@ssekmen @sbein @rekovic @civanch could you please check this PR?

@wddgit
Copy link
Contributor Author

wddgit commented Oct 28, 2019

5 reviewers approved but still waiting for 3 on this PR. This one is a really simple technical software change. It creates a ProducesCollector analogous to the ConsumesCollector so
that modules do not have to interact directly with the ProducerBase class. Unless I've made a blatant mistake, it should have no effect on results or performance. It just improves code organization, reduces dependences, and makes the code easier to maintain. The changes outside the Core code simply migrate modules to use the new interface.

@fabiocos
Copy link
Contributor

code-checks

@cmsbuild
Copy link
Contributor

The code-checks are being triggered in jenkins.

@ssekmen
Copy link
Contributor

ssekmen commented Oct 30, 2019

+1

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-28154/12535

@fabiocos
Copy link
Contributor

In my test there is no real merge conflict with #28214 so the integration of this PR may move forward seamlessly

@rekovic
Copy link
Contributor

rekovic commented Oct 30, 2019

+1

@fabiocos
Copy link
Contributor

@civanch please have a look, the implementation looks coherent with all the other areas as far as I can understand. I plan to integrate this PR in next IB tonight

@civanch
Copy link
Contributor

civanch commented Oct 30, 2019

+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 f42c909 into cms-sw:master Oct 30, 2019
@wddgit wddgit deleted the producesCollector2 branch January 2, 2020 15:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment