-
Notifications
You must be signed in to change notification settings - Fork 4.4k
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
Migrate away from consumesMany() #40167
Comments
A new Issue was created by @makortel Matti Kortelainen. @Dr15Jones, @perrotta, @dpiparo, @rappoccio, @makortel, @smuzaffar can you please review it and eventually sign/assign? Thanks. cms-bot commands are listed here |
assign core,reconstruction,xpog,dqm,l1 (although others than |
New categories assigned: core,l1,xpog,reconstruction,dqm @jfernan2,@epalencia,@ahmad3213,@micsucmed,@rvenditti,@mandrenguyen,@Dr15Jones,@smuzaffar,@emanueleusai,@syuvivida,@swertz,@clacaputo,@rekovic,@makortel,@cecilecaillol,@vlimant,@pmandrik you have been requested to review this Pull request/Issue and eventually sign? Thanks |
for what concerns As an example the producer of the "Muon" table is https://github.com/cms-sw/cmssw/blob/master/PhysicsTools/NanoAOD/python/muons_cff.py muonTable but the It looks impossible to have a proper |
I have not looked at this case in detail but my recollection from 2012 is that GetterOfProducts can do anything that getManyByType can do, but is more general. It always selects products by type. Optionally, it can also select on any information in the BranchDescription using a predicate (or only select by type). TWIKI documentation is here: https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideEDMGetDataFromEvent#GetterOfProducts It uses callWhenNewProductsRegistered(). It internally makes the proper individual consumes calls and it does not use consumesMany. Client code does not need to directly call consumes at all. We only kept getManyByType for backward compatibility to keep existing code working because we didn't have time to migrate all uses. Also we were worried that some code outside the repository might be broken. All of these are items are on my to do list now. If no one else gets to it first, I'll give this one a try. Possibly you are right and I will be surprised and find some roadblock that makes it impossible when I look at the details. If someone else wants to try this one, then please let me know and I'll not spend time on it. |
Thanks for the pointers. I tried implementing |
+xpog |
L1T file removed in #40388 |
+l1 |
+1 |
@emanueleusai Umm, as far as I can tell, all the uses in DQM and validation code are still there. Am I missing something? |
assign hlt Because of
I don't think |
New categories assigned: hlt @missirol,@Martin-Grunewald you have been requested to review this Pull request/Issue and eventually sign? Thanks |
I'm going to start working on HcalDigiDump.cc unless someone else is already working on it. |
HcalDigiDump.cc is done in PR #41109, which I just submitted. (I would edit the checklist at the top, but I don't seem to have permissions for that). I will work on DQMServices/FwkIO/plugins/DQMRootOutputModule.cc next. If someone else is already working on that one or intends to in the near future, please let me know and I'll work on other things. |
+core
|
In #40136 (comment) I noticed the consumes information from
consumesMany()
calls was not propagated to the dump byTracer
service. TheconsumesMany()
implementation includes some trickery, and could be replaced with theedm::GetterOfProducts()
(or directly with thecallWhenNewProductsRegistered()
). The purpose of this issue is to list the remaining cases ofconsumesMany()
and track the progress of migration.Note that while we expect to do the migration centrally by the
core
team (on low priority), any help from domain experts is welcome.Based on a simple
git grep consumesMany
below are files that call (or refer to in comments) the file, in decreasing order of priorityProduction code (or potential such)
PhysicsTools/NanoAOD/plugins/NanoAODDQM.cc
done in NanoDQM: remove consumesMany, plot bits in bitsets #40169RecoEgamma/EgammaHLTProducers/plugins/EgammaHLTExtraProducer.cc
done in Migrate consumesMany() to edm::GetterOfProducts() in EgammaHLTExtraProducer #40629Validation code
Validation/GlobalHits/src/GlobalHitsAnalyzer.cc
done in Migrate consumesMany() to edm::GetterOfProducts() in GlobalHitsAnalyzer #40770Validation/GlobalRecHits/src/GlobalRecHitsAnalyzer.cc
done in Migrate consumesMany() to edm::GetterOfProducts() in GlobalRecHitsAnalyzer #40923.
Used in DQM core code to guarantee proper ordering
Non-framework test code
DataFormats/HcalDigi/test/HcalDigiDump.cc
done in HcalDigiDump.cc Migrate consumesMany to GetterOfProducts #41109L1Trigger/CSCTriggerPrimitives/test/deprecated/CSCTriggerPrimitivesReader.cc
removed in [L1T] remove deprecated L1 CSC files #40388.
The text was updated successfully, but these errors were encountered: