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

TICLv5 : Superclustering DNN #45333

Merged
merged 2 commits into from
Aug 20, 2024
Merged

Conversation

tcuisset
Copy link
Contributor

@tcuisset tcuisset commented Jun 27, 2024

PR description:

This PR brings a new electron superclustering setup for TICLv5. Superclusters can be built either using a DNN or the Mustache algorithm.

Changes :

  • PCA cleaning algorithm (slides)
  • Superclustering DNN (TracksterLinkingBySuperClusteringDNN), with EDAnalyzer for producing training samples (SuperclusteringSampleDumper)
  • Superclustering with Mustache inside TICL (TracksterLinkingbySuperClusteringMustache)
  • Producer to convert superclusters as tracksters to Egamma dataformats and feeding it to electron chain, with energy regression (EGammaSuperclusterProducer)
  • refactored TICLDumper to make it better configurable

Adds three process modifiers to choose between old PF-based Mustache superclustering, new TICL-based Mustache, and DNN-based superclustering.

No significant changes are expected to workflows that do not enable ticl_v5 modifier (off by default), though some very small changes are due to a change from double to float in trackster PCA calculation . For ticl_v5 workflows changes in electron reconstruction are expected.

Presentation : TICL meeting

This PR depends on cms-data : cms-data/RecoHGCal-TICL#5

PR validation:

Tested using runTheMatrix workflows :

  • 29691.203 SingleElectronPt15Eta1p7_2p7_2026D110 + ticl_v5
  • 29691.204 SingleElectronPt15Eta1p7_2p7_2026D110 + ticl_v5_mustache
  • 29691.205 SingleElectronPt15Eta1p7_2p7_2026D110 + ticl_v5_mustache_pf
  • 29646.204 ZEE_14TeV_TuneCP5_2026D110 + ticl_v5_mustache
  • 29646.205 ZEE_14TeV_TuneCP5_2026D110 + ticl_v5_mustache_pf

and also 29846.204,29846.205,29891.203,29891.204,29891.205

@cmsbuild
Copy link
Contributor

cmsbuild commented Jun 27, 2024

cms-bot internal usage

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-45333/40749

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @tcuisset for master.

It involves the following packages:

  • CommonTools/RecoAlgos (reconstruction)
  • Configuration/ProcessModifiers (operations)
  • Configuration/PyReleaseValidation (upgrade, pdmv)
  • DataFormats/HGCalReco (upgrade, reconstruction)
  • RecoHGCal/Configuration (upgrade, reconstruction)
  • RecoHGCal/TICL (upgrade, reconstruction)
  • SimCalorimetry/HGCalAssociatorProducers (upgrade, simulation)
  • Validation/Configuration (simulation, dqm)
  • Validation/HGCalValidation (dqm)

@AdrianoDee, @antoniovagnerini, @antoniovilela, @civanch, @cmsbuild, @davidlange6, @fabiocos, @jfernan2, @kskovpen, @mandrenguyen, @mdhildreth, @miquork, @nothingface0, @rappoccio, @rvenditti, @srimanob, @subirsarkar, @sunilUIET, @syuvivida, @tjavaid can you please review it and eventually sign? Thanks.
@Martin-Grunewald, @abbiendi, @ahinzmann, @apsallid, @bsunanda, @cseez, @fabiocos, @felicepantaleo, @forthommel, @gkasieczka, @hatakeyamak, @jdolen, @jhgoh, @lecriste, @lgray, @makortel, @missirol, @mmusich, @pfs, @rappoccio, @rovere, @sameasy, @sethzenz, @slomeo, @sobhatta, @vandreev11, @youyingli this is something you requested to watch as well.
@antoniovilela, @rappoccio, @sextonkennedy you are the release manager for this.

cms-bot commands are listed here

@felicepantaleo
Copy link
Contributor

test parameters:

  • workflow_opts= -w upgrade
  • workflow = 29888.203,29688.203

@felicepantaleo
Copy link
Contributor

@cmsbuild please test

@cmsbuild
Copy link
Contributor

-1

Failed Tests: RelVals
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-d1a85e/40131/summary.html
COMMIT: e8b0e18
CMSSW: CMSSW_14_1_X_2024-06-27-1100/el8_amd64_gcc12
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/45333/40131/install.sh to create a dev area with all the needed externals and cmssw changes.

  • DAS Queries: The DAS query tests failed, see the summary page for details.

RelVals

----- Begin Fatal Exception 27-Jun-2024 19:42:59 CEST-----------------------
An exception of category 'ConfigFileReadError' occurred while
   [0] Processing the python configuration file named step3_RAW2DIGI_RECO_RECOSIM_PAT_VALIDATION_DQM.py
Exception Message:
 unknown python problem occurred.
RuntimeError: An exception of category 'FileInPathError' occurred.
Exception Message:
edm::FileInPath unable to find file RecoHGCal/TICL/data/superclustering/regression_v1.onnx anywhere in the search path.
The search path is defined by: CMSSW_SEARCH_PATH
${CMSSW_SEARCH_PATH} is: /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/45333/40131/CMSSW_14_1_X_2024-06-27-1100/poison:/cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/45333/40131/CMSSW_14_1_X_2024-06-27-1100/src:/cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/45333/40131/CMSSW_14_1_X_2024-06-27-1100/external/el8_amd64_gcc12/data:/cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02843/el8_amd64_gcc12/cms/cmssw-patch/CMSSW_14_1_X_2024-06-27-1100/poison:/cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02843/el8_amd64_gcc12/cms/cmssw-patch/CMSSW_14_1_X_2024-06-27-1100/src:/cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02843/el8_amd64_gcc12/cms/cmssw-patch/CMSSW_14_1_X_2024-06-27-1100/external/el8_amd64_gcc12/data
Current directory is: /data/cmsbld/jenkins/workspace/ib-run-pr-relvals/matrix-results/29700.0_CloseByPGun_CE_H_Coarse_Scint+2026D110


At:
  /cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02843/el8_amd64_gcc12/cms/cmssw-patch/CMSSW_14_1_X_2024-06-27-1100/src/FWCore/ParameterSet/python/Types.py(1001): insertInto
  /cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02843/el8_amd64_gcc12/cms/cmssw-patch/CMSSW_14_1_X_2024-06-27-1100/src/FWCore/ParameterSet/python/Mixins.py(385): insertContentsInto
  /cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02843/el8_amd64_gcc12/cms/cmssw-patch/CMSSW_14_1_X_2024-06-27-1100/src/FWCore/ParameterSet/python/Mixins.py(520): insertInto
  /cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02843/el8_amd64_gcc12/cms/cmssw-patch/CMSSW_14_1_X_2024-06-27-1100/src/FWCore/ParameterSet/python/Modules.py(161): insertInto
  /cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02843/el8_amd64_gcc12/cms/cmssw-patch/CMSSW_14_1_X_2024-06-27-1100/src/FWCore/ParameterSet/python/Config.py(1217): _insertManyInto
  /cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02843/el8_amd64_gcc12/cms/cmssw-patch/CMSSW_14_1_X_2024-06-27-1100/src/FWCore/ParameterSet/python/Config.py(1490): fillProcessDesc
  <string>(2): <module>

----- End Fatal Exception -------------------------------------------------
----- Begin Fatal Exception 27-Jun-2024 19:42:59 CEST-----------------------
An exception of category 'ConfigFileReadError' occurred while
   [0] Processing the python configuration file named step3_RAW2DIGI_RECO_RECOSIM_PAT_VALIDATION_DQM.py
Exception Message:
 unknown python problem occurred.
RuntimeError: An exception of category 'FileInPathError' occurred.
Exception Message:
edm::FileInPath unable to find file RecoHGCal/TICL/data/superclustering/regression_v1.onnx anywhere in the search path.
The search path is defined by: CMSSW_SEARCH_PATH
${CMSSW_SEARCH_PATH} is: /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/45333/40131/CMSSW_14_1_X_2024-06-27-1100/poison:/cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/45333/40131/CMSSW_14_1_X_2024-06-27-1100/src:/cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/45333/40131/CMSSW_14_1_X_2024-06-27-1100/external/el8_amd64_gcc12/data:/cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02843/el8_amd64_gcc12/cms/cmssw-patch/CMSSW_14_1_X_2024-06-27-1100/poison:/cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02843/el8_amd64_gcc12/cms/cmssw-patch/CMSSW_14_1_X_2024-06-27-1100/src:/cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02843/el8_amd64_gcc12/cms/cmssw-patch/CMSSW_14_1_X_2024-06-27-1100/external/el8_amd64_gcc12/data
Current directory is: /data/cmsbld/jenkins/workspace/ib-run-pr-relvals/matrix-results/29696.0_CloseByPGun_CE_E_Front_120um+2026D110


At:
  /cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02843/el8_amd64_gcc12/cms/cmssw-patch/CMSSW_14_1_X_2024-06-27-1100/src/FWCore/ParameterSet/python/Types.py(1001): insertInto
  /cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02843/el8_amd64_gcc12/cms/cmssw-patch/CMSSW_14_1_X_2024-06-27-1100/src/FWCore/ParameterSet/python/Mixins.py(385): insertContentsInto
  /cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02843/el8_amd64_gcc12/cms/cmssw-patch/CMSSW_14_1_X_2024-06-27-1100/src/FWCore/ParameterSet/python/Mixins.py(520): insertInto
  /cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02843/el8_amd64_gcc12/cms/cmssw-patch/CMSSW_14_1_X_2024-06-27-1100/src/FWCore/ParameterSet/python/Modules.py(161): insertInto
  /cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02843/el8_amd64_gcc12/cms/cmssw-patch/CMSSW_14_1_X_2024-06-27-1100/src/FWCore/ParameterSet/python/Config.py(1217): _insertManyInto
  /cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02843/el8_amd64_gcc12/cms/cmssw-patch/CMSSW_14_1_X_2024-06-27-1100/src/FWCore/ParameterSet/python/Config.py(1490): fillProcessDesc
  <string>(2): <module>

----- End Fatal Exception -------------------------------------------------
----- Begin Fatal Exception 27-Jun-2024 19:45:49 CEST-----------------------
An exception of category 'ConfigFileReadError' occurred while
   [0] Processing the python configuration file named step3_RAW2DIGI_RECO_RECOSIM_PAT_VALIDATION_DQM.py
Exception Message:
 unknown python problem occurred.
RuntimeError: An exception of category 'FileInPathError' occurred.
Exception Message:
edm::FileInPath unable to find file RecoHGCal/TICL/data/superclustering/regression_v1.onnx anywhere in the search path.
The search path is defined by: CMSSW_SEARCH_PATH
${CMSSW_SEARCH_PATH} is: /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/45333/40131/CMSSW_14_1_X_2024-06-27-1100/poison:/cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/45333/40131/CMSSW_14_1_X_2024-06-27-1100/src:/cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/45333/40131/CMSSW_14_1_X_2024-06-27-1100/external/el8_amd64_gcc12/data:/cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02843/el8_amd64_gcc12/cms/cmssw-patch/CMSSW_14_1_X_2024-06-27-1100/poison:/cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02843/el8_amd64_gcc12/cms/cmssw-patch/CMSSW_14_1_X_2024-06-27-1100/src:/cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02843/el8_amd64_gcc12/cms/cmssw-patch/CMSSW_14_1_X_2024-06-27-1100/external/el8_amd64_gcc12/data
Current directory is: /data/cmsbld/jenkins/workspace/ib-run-pr-relvals/matrix-results/29634.0_TTbar_14TeV+2026D110


At:
  /cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02843/el8_amd64_gcc12/cms/cmssw-patch/CMSSW_14_1_X_2024-06-27-1100/src/FWCore/ParameterSet/python/Types.py(1001): insertInto
  /cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02843/el8_amd64_gcc12/cms/cmssw-patch/CMSSW_14_1_X_2024-06-27-1100/src/FWCore/ParameterSet/python/Mixins.py(385): insertContentsInto
  /cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02843/el8_amd64_gcc12/cms/cmssw-patch/CMSSW_14_1_X_2024-06-27-1100/src/FWCore/ParameterSet/python/Mixins.py(520): insertInto
  /cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02843/el8_amd64_gcc12/cms/cmssw-patch/CMSSW_14_1_X_2024-06-27-1100/src/FWCore/ParameterSet/python/Modules.py(161): insertInto
  /cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02843/el8_amd64_gcc12/cms/cmssw-patch/CMSSW_14_1_X_2024-06-27-1100/src/FWCore/ParameterSet/python/Config.py(1217): _insertManyInto
  /cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02843/el8_amd64_gcc12/cms/cmssw-patch/CMSSW_14_1_X_2024-06-27-1100/src/FWCore/ParameterSet/python/Config.py(1490): fillProcessDesc
  <string>(2): <module>

----- End Fatal Exception -------------------------------------------------
Expand to see more relval errors ...

@rovere
Copy link
Contributor

rovere commented Jun 28, 2024

@cmsbuild please test with cms-data/RecoHGCal-TICL#5

@cmsbuild
Copy link
Contributor

-1

Failed Tests: RelVals
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-d1a85e/40141/summary.html
COMMIT: e8b0e18
CMSSW: CMSSW_14_1_X_2024-06-27-2300/el8_amd64_gcc12
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/45333/40141/install.sh to create a dev area with all the needed externals and cmssw changes.

  • DAS Queries: The DAS query tests failed, see the summary page for details.

RelVals

----- Begin Fatal Exception 28-Jun-2024 12:01:27 CEST-----------------------
An exception of category 'ProductNotFound' occurred while
   [0] Processing  Event run: 1 lumi: 1 event: 1 stream: 0
   [1] Running path 'dqmofflineOnPAT_1_step'
   [2] Prefetching for module SingleTopTChannelLeptonDQM_miniAOD/'singleTopElectronMediumDQM_miniAOD'
   [3] Prefetching for module PATMuonSlimmer/'slimmedMuons'
   [4] Prefetching for module PATMuonSelector/'selectedPatMuons'
   [5] Prefetching for module PATMuonProducer/'patMuons'
   [6] Prefetching for module MuonProducer/'muons'
   [7] Prefetching for module PFCandidateListMerger/'particleFlowTmp'
   [8] Prefetching for module PFProducer/'particleFlowTmpBarrel'
   [9] Prefetching for module PFBlockProducer/'particleFlowBlock'
   [10] Prefetching for module PFElecTkProducer/'pfTrackElec'
   [11] Prefetching for module GsfTrackProducer/'electronGsfTracks'
   [12] Prefetching for module CkfTrackCandidateMaker/'electronCkfTrackCandidates'
   [13] Prefetching for module ElectronSeedMerger/'electronMergedSeeds'
   [14] Prefetching for module ElectronSeedProducer/'ecalDrivenElectronSeeds'
   [15] Calling method for module EGammaSuperclusterProducer/'particleFlowSuperClusterHGCal'
Exception Message:
Principal::getByToken: Found zero products matching all criteria
Looking for type: std::vector<ticl::Trackster>
Looking for module label: ticlTracksterLinksSuperclusteringDNN
Looking for productInstanceName: 

   Additional Info:
      [a] If you wish to continue processing events after a ProductNotFound exception,
add "TryToContinue = cms.untracked.vstring('ProductNotFound')" to the "options" PSet in the configuration.

----- End Fatal Exception -------------------------------------------------
----- Begin Fatal Exception 28-Jun-2024 12:01:34 CEST-----------------------
An exception of category 'ProductNotFound' occurred while
   [0] Processing  Event run: 1 lumi: 1 event: 1 stream: 0
   [1] Running path 'dqmofflineOnPAT_1_step'
   [2] Prefetching for module SingleTopTChannelLeptonDQM_miniAOD/'singleTopElectronMediumDQM_miniAOD'
   [3] Prefetching for module PATMuonSlimmer/'slimmedMuons'
   [4] Prefetching for module PATMuonSelector/'selectedPatMuons'
   [5] Prefetching for module PATMuonProducer/'patMuons'
   [6] Prefetching for module MuonProducer/'muons'
   [7] Prefetching for module PFCandidateListMerger/'particleFlowTmp'
   [8] Prefetching for module PFProducer/'particleFlowTmpBarrel'
   [9] Prefetching for module PFBlockProducer/'particleFlowBlock'
   [10] Prefetching for module PFElecTkProducer/'pfTrackElec'
   [11] Prefetching for module GsfTrackProducer/'electronGsfTracks'
   [12] Prefetching for module CkfTrackCandidateMaker/'electronCkfTrackCandidates'
   [13] Prefetching for module ElectronSeedMerger/'electronMergedSeeds'
   [14] Prefetching for module ElectronSeedProducer/'ecalDrivenElectronSeeds'
   [15] Calling method for module EGammaSuperclusterProducer/'particleFlowSuperClusterHGCal'
Exception Message:
Principal::getByToken: Found zero products matching all criteria
Looking for type: std::vector<ticl::Trackster>
Looking for module label: ticlTracksterLinksSuperclusteringDNN
Looking for productInstanceName: 

   Additional Info:
      [a] If you wish to continue processing events after a ProductNotFound exception,
add "TryToContinue = cms.untracked.vstring('ProductNotFound')" to the "options" PSet in the configuration.

----- End Fatal Exception -------------------------------------------------
----- Begin Fatal Exception 28-Jun-2024 12:04:37 CEST-----------------------
An exception of category 'ProductNotFound' occurred while
   [0] Processing  Event run: 1 lumi: 1 event: 1 stream: 0
   [1] Running path 'dqmofflineOnPAT_1_step'
   [2] Prefetching for module SingleTopTChannelLeptonDQM_miniAOD/'singleTopElectronMediumDQM_miniAOD'
   [3] Prefetching for module PATMuonSlimmer/'slimmedMuons'
   [4] Prefetching for module PATMuonSelector/'selectedPatMuons'
   [5] Prefetching for module PATMuonProducer/'patMuons'
   [6] Prefetching for module MuonProducer/'muons'
   [7] Prefetching for module PFCandidateListMerger/'particleFlowTmp'
   [8] Prefetching for module PFProducer/'particleFlowTmpBarrel'
   [9] Prefetching for module PFBlockProducer/'particleFlowBlock'
   [10] Prefetching for module PFElecTkProducer/'pfTrackElec'
   [11] Prefetching for module GsfTrackProducer/'electronGsfTracks'
   [12] Prefetching for module CkfTrackCandidateMaker/'electronCkfTrackCandidates'
   [13] Prefetching for module ElectronSeedMerger/'electronMergedSeeds'
   [14] Prefetching for module ElectronSeedProducer/'ecalDrivenElectronSeeds'
   [15] Calling method for module EGammaSuperclusterProducer/'particleFlowSuperClusterHGCal'
Exception Message:
Principal::getByToken: Found zero products matching all criteria
Looking for type: std::vector<ticl::Trackster>
Looking for module label: ticlTracksterLinksSuperclusteringDNN
Looking for productInstanceName: 

   Additional Info:
      [a] If you wish to continue processing events after a ProductNotFound exception,
add "TryToContinue = cms.untracked.vstring('ProductNotFound')" to the "options" PSet in the configuration.

----- End Fatal Exception -------------------------------------------------
Expand to see more relval errors ...

@tjavaid
Copy link

tjavaid commented Aug 13, 2024

+1

@antoniovilela
Copy link
Contributor

+operations

@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. @mandrenguyen, @sextonkennedy, @rappoccio, @antoniovilela (and backports should be raised in the release meeting by the corresponding L2)
Notice This PR was tested with additional Pull Request(s), please also merge them if necessary: cms-data/RecoHGCal-TICL#5

@antoniovilela
Copy link
Contributor

cms-data/RecoHGCal-TICL#5 merged.
cmsdist tag PR: cms-sw/cmsdist#9370

@antoniovilela
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.