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

Migrate ED modules to use esConsumes #31061

Closed
Dr15Jones opened this issue Aug 5, 2020 · 76 comments
Closed

Migrate ED modules to use esConsumes #31061

Dr15Jones opened this issue Aug 5, 2020 · 76 comments

Comments

@Dr15Jones
Copy link
Contributor

All ED modules need to be migrated to use esConsumes and edm::ESGetToken to provide better threading efficiency.

@cmsbuild
Copy link
Contributor

cmsbuild commented Aug 5, 2020

A new Issue was created by @Dr15Jones Chris Jones.

@Dr15Jones, @dpiparo, @silviodonato, @smuzaffar, @makortel, @qliphy can you please review it and eventually sign/assign? Thanks.

cms-bot commands are listed here

@Dr15Jones
Copy link
Contributor Author

assign l1, reconstruction, simulation, dqm, hlt

@cmsbuild
Copy link
Contributor

cmsbuild commented Aug 5, 2020

New categories assigned: dqm,simulation,hlt,reconstruction,l1

@mdhildreth,@jfernan2,@slava77,@benkrikler,@andrius-k,@fioriNTU,@rekovic,@perrotta,@jpata,@kmaeshima,@Martin-Grunewald,@civanch,@fwyzard you have been requested to review this Pull request/Issue and eventually sign? Thanks

@Dr15Jones
Copy link
Contributor Author

The following modules were looked at but deemed to difficult to change for a non domain expert

  • CAHitQuadrupletEDProducer
  • CAHitTripletEDProducer
  • CkfTrackCandidateMaker
  • ConditionDumperInEdm
  • ConversionTrackCandidateProducer
  • CorrectedECALPFClusterProducer
  • CosmicMuonProducer
  • CtfSpecialSeedGenerator
  • DTRecHitProducer
  • DTRecSegment2DProducer
  • DTRecSegment4DProducer
  • DTSegment4DT0Corrector
  • DeDxEstimatorProducer
  • ElectronSeedProducer

@Dr15Jones
Copy link
Contributor Author

@Dr15Jones
Copy link
Contributor Author

The following modules are known to be used and have not been inspected for esConsumes needs

FixedGridRhoProducer
FixedGridRhoProducerFastjet
GEDGsfElectronCoreProducer
GEDGsfElectronFinalizer
GEDGsfElectronValueMapProducer
GEDPhotonCoreProducer
GEDPhotonProducer
GEMRawToDigiModule
GEMRecHitProducer
GEMSegmentProducer
GamIsoDetIdCollectionProducer
GctRawToDigi
GenJetConstituentSelector
GenJetFlavourInfoPreserver
GenJetMatcher
GenParticlePruner
GlobalHaloDataProducer
GlobalMuonProducer
GlobalTrackQualityProducer
GlobalTrackingRegionEDProducer
GlobalTrackingRegionFromBeamSpotEDProducer
GlobalTrackingRegionWithVerticesEDProducer
GoodSeedProducer
GsfElectronCoreEcalDrivenProducer
GsfElectronProducer
GsfTrackProducer
HBHEIsolatedNoiseReflagger
HBHENoiseFilterResultProducer
HBHEPhase1Reconstructor
HBHEPlan1Combiner
HFEMClusterProducer
HFNoseRawToDigiFake
HFPreReconstructor
HFRecoEcalCandidateProducer
HGCalElectronFilter
HGCalElectronIDValueMapProducer
HGCalLayerClusterProducer
HGCalMultiClusterProducer
HGCalPhotonIDValueMapProducer
HGCalRawToDigiFake
HGCalRecHitMapProducer
HGCalRecHitProducer
HGCalTrackCollectionProducer
HGCalUncalibRecHitProducer
HIMuonTrackingRegionEDProducer
HIPixelTrackFilterProducer
HIProtoTrackFilterProducer
HITrackingRegionForPrimaryVtxEDProducer
HadronAndPartonSelector
HcalHaloDataProducer
HcalHitReconstructor
HcalHitSelection
HcalNoiseInfoProducer
HcalRawToDigi
HcalSimpleReconstructor
HiFJGridEmptyAreaCalculator
HiFJRhoProducer
HitPairEDProducer
HybridClusterProducer
InclusiveCandidateVertexFinder
InclusiveVertexFinder
InterestingDetIdCollectionProducer
InterestingEcalDetIdProducer
InterestingTrackEcalDetIdProducer
IslandClusterProducer
JetChargeProducer
JetCoreClusterSplitter
JetCorrFactorsProducer
JetExtender
JetFlavourClustering
JetFlavourIdentifier
JetIDProducer
JetPartonMatcher
JetPlusTrackProducer
JetSubstructurePacker
JetTagProducer
JetTracksAssociatorAtCaloFace
JetTracksAssociatorAtVertex
JetTracksAssociatorExplicit
L1ECALPrefiringWeightProducer
L1ExtraParticlesProd
L1FastjetCorrectorProducer
L1GlobalTriggerEvmRawToDigi
L1GlobalTriggerRawToDigi
L1GlobalTriggerRecordProducer
L1GtTriggerMenuLiteProducer
L1JPTOffsetCorrectorProducer
L1OffsetCorrectorProducer
L1TCaloUpgradeToGCTConverter
L1TPhysicalEtAdder
L1TRawToDigi
L1TTwinMuxRawToDigi
L6SLBCorrectorProducer
LXXXCorrectorProducer
LogErrorHarvester
LowPtGSFToPackedCandidateLinker
LowPtGSFToTrackLinker
LowPtGsfElectronCoreProducer
LowPtGsfElectronIDProducer
LowPtGsfElectronSCProducer
LowPtGsfElectronSeedProducer
LowPtGsfElectronSeedValueMapsProducer
LumiProducer
MCMatcher
ME0RecHitProducer
ME0SegmentProducer
MEtoEDMConverter
MTDClusterProducer
MTDRecHitProducer
MTDTrackQualityMVAProducer
MTDTrackingRecHitProducer
MTDUncalibratedRecHitProducer
MeasurementTrackerEventProducer
MkFitInputConverter
MkFitProducer
ModifiedGsfElectronProducer
MuIsoDepositCopyProducer
MuIsoDepositProducer
MultShiftMETcorrInputProducer
Multi5x5ClusterProducer
Multi5x5SuperClusterProducer
MultiClustersFromTrackstersProducer
MultiHitFromChi2EDProducer
MultiTrackSelector
MuonIdProducer
MuonMET
MuonMETValueMapProducer
MuonMETcorrInputProducer
MuonProducer
MuonReSeeder
MuonSeedGenerator
MuonSeedMerger
MuonSeedProducer
MuonSelectionTypeValueMapProducer
MuonShowerInformationProducer
MuonSimClassifier
MuonTimingProducer
MuonToTrackingParticleAssociatorEDProducer
NjettinessAdder
OmtfUnpacker
OniaPhotonConversionProducer
OnlineMetaDataRawToDigi
OutsideInMuonSeeder
PATElectronProducer
PATElectronSlimmer
PATGenJetSlimmer
PATIsolatedTrackProducer
PATJetCleaner
PATJetCleanerForType1MET
PATJetProducer
PATJetSlimmer
PATJetUpdater
PATLostTracks
PATMETProducer
PATMETSlimmer
PATMuonProducer
PATMuonSlimmer
PATPFJetMETcorrInputProducer
PATPackedCandidateProducer
PATPackedGenParticleProducer
PATPhotonProducer
PATPhotonSlimmer
PATSecondaryVertexSlimmer
PATTauIDEmbedder
PATTauProducer
PATTauSlimmer
PATTriggerObjectStandAloneSlimmer
PATTriggerProducer
PATVertexSlimmer
PFBadHcalPseudoClusterProducer
PFBlockProducer
PFCandIsolatorFromDeposits
PFCandMETcorrInputProducer
PFCand_AssoMap
PFCandidateFromFwdPtrProducer
PFCandidateFwdPtrProducer
PFCandidatePrimaryVertexSorter
PFCandidateProductFromFwdPtrProducer
PFClusterProducer
PFClusterTimeAssigner
PFConversionProducer
PFDisplacedTrackerVertexProducer
PFDisplacedVertexCandidateProducer
PFDisplacedVertexProducer
PFECALSuperClusterProducer
PFEGammaProducer
PFEGammaToCandidate
PFElecTkProducer
PFElectronTranslator
PFJetConstituentSelector
PFJetFwdPtrProducer
PFJetMETcorrInputProducer
PFLinker
PFMETProducer
PFMultiDepthClusterProducer
PFNuclearProducer
PFPhotonTranslator
PFPileUp
PFProducer
PFRecHitProducer
PFRecoTauChargedHadronProducer
PFRecoTauDiscriminationAgainstElectron
PFRecoTauDiscriminationAgainstElectronDeadECAL
PFRecoTauDiscriminationAgainstElectronMVA6
PFRecoTauDiscriminationAgainstMuon
PFRecoTauDiscriminationAgainstMuon2Container
PFRecoTauDiscriminationAgainstMuonMVA
PFRecoTauDiscriminationByHPSSelection
PFRecoTauDiscriminationByIsolationContainer
PFRecoTauDiscriminationByLeadingObjectPtCut
PFRecoTauDiscriminationByMVAIsolationRun2
PFRecoTauTagInfoProducer
PFSimParticleProducer
PFTICLProducer
PFTauFwdPtrProducer
PFTauPrimaryVertexProducer
PFTauSecondaryVertexProducer
PFTauTransverseImpactParameters
PFTrackProducer
PFV0Producer
ParticleBasedIsoProducer
ParticleFlowForChargedMETProducer
ParticleTowerProducer
PartonSelector
Phase2TrackerClusterizer
PhotonConversionTrajectorySeedProducerFromQuadruplets
PhotonConversionTrajectorySeedProducerFromSingleLeg
PhotonCoreProducer
PhotonEcalPFClusterIsolationProducer
PhotonHcalPFClusterIsolationProducer
PhotonIDProducer
PhotonIDValueMapProducer
PhotonMVAValueMapProducer
PhotonProducer
PileupJetIdProducer
PileupSummaryInfoSlimmer
PixelClusterTagInfoProducer
PixelFitterByConformalMappingAndLineProducer
PixelFitterByHelixProjectionsProducer
PixelInactiveAreaTrackingRegionsSeedingLayersProducer
PixelTrackFilterByKinematicsProducer
PixelTrackProducer
PixelTripletHLTEDProducer
PixelTripletLargeTipEDProducer
PreshowerClusterShapeProducer
PreshowerPhiClusterProducer
PrimaryVertexProducer
PuppiProducer
QGTagger
QuickTrackAssociatorByHitsProducer
RPCAMCRawToDigi
RPCRecHitProducer
RPCTwinMuxRawToDigi
RPCUnpackingModule
RandomEngineStateProducer
RecoChargedRefCandidatePrimaryVertexSorter
RecoJetDeltaRValueMapProducer
RecoJetToPatJetDeltaRValueMapProducer
RecoTauCleaner
RecoTauDiscriminantCutMultiplexer
RecoTauJetRegionProducer
RecoTauPiZeroProducer
RecoTauPiZeroUnembedder
RecoTauProducer
ReducedEGProducer
ReducedESRecHitCollectionProducer
ReducedRecHitCollectionProducer
SETMuonSeedProducer
ScalersRawToDigi
SecondaryVertexProducer
SeedClusterRemover
SeedClusterRemoverPhase2
SeedCombiner
SeedCreatorFromRegionConsecutiveHitsEDProducer
SeedCreatorFromRegionConsecutiveHitsTripletOnlyEDProducer
SeedGeneratorFromRegionHitsEDProducer
SeedingLayersEDProducer
ShiftedPATJetProducer
ShiftedParticleMETcorrInputProducer
ShiftedParticleProducer
SiPixelClusterProducer
SiPixelClusterShapeCacheProducer
SiPixelRawToDigi
SiPixelRecHitConverter
SiStripClusterizer
SiStripRawToDigiModule
SiStripRecHitConverter
SiStripZeroSuppression
SimPFProducer
SmearedPATJetProducer
SoftKillerProducer
SoftPFElectronTagInfoProducer
SoftPFMuonTagInfoProducer
StandAloneMuonProducer
SuperClusterProducer
TICLCandidateFromTrackstersProducer
TICLLayerTileProducer
TICLSeedingRegionProducer
TOFPIDProducer
TPPFCandidatesOnPFCandidates
TPPFJetsOnPFCandidates
TPPFTausOnPFJetsDeltaR
TauGenJetProducer
TauRegionalPixelSeedTrackingRegionEDProducer
TcdsRawToDigi
TevMuonProducer
TotemRPClusterProducer
TotemRPLocalTrackFitter
TotemRPRecHitProducer
TotemRPUVPatternFinder
TotemTimingLocalTrackFitter
TotemTimingRecHitProducer
TotemTriggerRawToDigi
TotemVFATRawToDigi
TrackCandidateProducer
TrackClusterRemover
TrackCollectionMerger
TrackCutClassifier
TrackExtenderWithMTD
TrackExtrapolator
TrackIPProducer
TrackListMerger
TrackLwtnnClassifier
TrackMVAClassifierDetached
TrackMVAClassifierPrompt
TrackProducer
TrackProducerWithSCAssociation
TrackTimeValueMapProducer
TrackVertexArbitrator
TrackWithVertexRefSelector
TrackstersMergeProducer
TrackstersProducer
TrajectorySeedFromMuonProducer
Type0PFMETcorrInputProducer
Type2CorrectionProducer
UnifiedSCCollectionProducer
V0Producer
VersionedGsfElectronIdProducer
VersionedPhotonIdProducer
VertexMerger
ZdcHitReconstructor
photonIsolationHIProducer

@Dr15Jones
Copy link
Contributor Author

@fwyzard
Copy link
Contributor

fwyzard commented Aug 5, 2020

If possible, please do not migrate these modules

SiPixelClusterProducer
SiPixelRecHitConverter
PixelTrackProducer

until the Patatrack branch has been integrated upstream (see e.g. #27983).

@makortel
Copy link
Contributor

makortel commented Aug 6, 2020

I took the static analyzer report (on the non-token calls to EventSetup), and crafted another spreadsheet with a list of packages containing (non-test) EDModules that need to be migrated. I hope we could use it as a synchronization tool to avoid duplicate effort
https://docs.google.com/spreadsheets/d/1cUypk2EK4xVcEpFGtaNqXrWZEoFz_E9l4gNN3YoBQH4/edit?usp=sharing

(it already includes @fwyzard's comment #31061 (comment) )

@perrotta
Copy link
Contributor

perrotta commented Dec 8, 2021

@SiewYan Why don't we remove? It can always be recovered. @qliphy @perrotta Do you have an opinion on removing the file: https://github.com/cms-sw/cmssw/blob/master/IOMC/ParticleGuns/src/FlatEGunASCIIWriter.cc

The file at hand doesn't seem to be used anywhere in CMSSW: if @cms-sw/generators-l2 confirms it is not needed any more, yes please remove it (and all references to it), and avoid having to spend time in maintaining useless code in the release. If needed, it will be always possible to inspect it in github by accessing the past releases

@agrohsje
Copy link

agrohsje commented Dec 8, 2021

At least the former GEN L2 is not aware that this is still needed. :-D

@SiewYan
Copy link
Contributor

SiewYan commented Dec 8, 2021

I am inclined to @perrotta 's idea. Ok, it shall be removed, i will see to it.

@mkirsano
Copy link
Contributor

mkirsano commented Dec 8, 2021 via email

@smorovic
Copy link
Contributor

smorovic commented Dec 8, 2021

EventFilter/Phase2TrackerRawToDigi: Phase2TrackerDigiProducer

This package had the last update, excluding maintenance from other parties, in 2014, which is a long time for an upgrade package. Possibly even obsolete.
While this is under DAQ signature category [1], I don't know why it is there (historically), as it isn't really related to us (as central-DAQ) - also most RawToDigi packages belong to reconstruction (or l1), and there is one in upgrade.

I'd suggest to move this one to "upgrade" category and, in any case, autors/users should be consulted (probably the Tracker/upgrade community) to see if this is worth keeping.
Notifying @AdrianoDee, @srimanob (upgrade category) about this; also in case they know anything about this module.

[1] https://github.com/cms-sw/cms-bot/blob/master/categories_map.py#L355

@civanch
Copy link
Contributor

civanch commented Aug 25, 2022

+1

@makortel
Copy link
Contributor

makortel commented Jan 6, 2023

All EDModules (in CMSSW repository) have been migrated, so this issue can be closed

@makortel
Copy link
Contributor

makortel commented Jan 6, 2023

@cmsbuild, please close

@cmsbuild cmsbuild closed this as completed Jan 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment