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

Replace the access to track reference with a more robust approach #42690

Merged
merged 1 commit into from
Sep 4, 2023

Conversation

ArturAkh
Copy link

PR description:

Replacing access to track reference with a more robust approach, which doesn't rely on indices in a list.

More details in #42110

Please note, that this change does not introduce any differences into the usual workflows, while allowing correct behaviour for tau embedding, where parts of the simulated content (simulation of empty detector except of 2 particles) needs to be re-evaluated under data conditions later on. This lead to inconsistencies between the number of GSF tracks considered in the producer, and the number of preid's, such that access by index number was not possible anymore.

More details on the problem on slide 11 of the following presentation:

https://indico.cern.ch/event/1301309/#26-tau-embedding-integration-i

PR validation:

As mentioned in #42110 and if looking at

https://github.com/cms-sw/cmssw/blob/master/RecoEgamma/EgammaElectronProducers/plugins/LowPtGsfElectronSeedProducer.cc

it can be concluded, that the change leads to an equivalent behaviour by construction. Please refer for this to the following code snippets from the produce method of LowPtGsfElectronSeedProducer:

CTF track set for the seed

    // Create ElectronSeed
    reco::ElectronSeed seed(*(trackRef->seedRef()));
    if (seed.nHits() == 0) {  //if DeepCore is used in jetCore iteration the seed are hitless, in case skip
      continue;
    }
    seed.setCtfTrack(trackRef);

Setting the same track for preId's

    // Create PreIds
    unsigned int nModels = globalCache()->modelNames().size();
    reco::PreId ecalPreId(nModels);
    reco::PreId hcalPreId(nModels);

    // Add track ref to PreId
    ecalPreId.setTrack(trackRef);
    hcalPreId.setTrack(trackRef);

Storing outputs

    // Store PreId
    ecalPreIds.push_back(ecalPreId);
    hcalPreIds.push_back(hcalPreId);
    trksToPreIdIndx[trackRef.index()] = ecalPreIds.size() - 1;

    // Store ElectronSeed and corresponding edm::Ref<PreId>.index()
    seeds.push_back(seed);

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-42690/36784

  • This PR adds an extra 16KB to repository

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @ArturAkh (Artur Gottmann) for master.

It involves the following packages:

  • RecoEgamma/EgammaElectronProducers (reconstruction)

@cmsbuild, @mandrenguyen, @clacaputo can you please review it and eventually sign? Thanks.
@Sam-Harper, @jainshilpi, @sameasy, @valsdav, @rovere, @lgray, @missirol, @sobhatta, @afiqaize, @a-kapoor, @Prasant1993, @varuns23, @ram1123 this is something you requested to watch as well.
@rappoccio, @dpiparo, @antoniovilela you are the release manager for this.

cms-bot commands are listed here

@mandrenguyen
Copy link
Contributor

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Sep 1, 2023

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-aa04ef/34574/summary.html
COMMIT: a87d5fb
CMSSW: CMSSW_13_3_X_2023-08-31-2300/el8_amd64_gcc11
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/42690/34574/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

  • You potentially added 8 lines to the logs
  • Reco comparison results: 337 differences found in the comparisons
  • DQMHistoTests: Total files compared: 48
  • DQMHistoTests: Total histograms compared: 3153350
  • DQMHistoTests: Total failures: 116
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3153212
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 47 files compared)
  • Checked 207 log files, 159 edm output root files, 48 DQM output files
  • TriggerResults: no differences found

@mandrenguyen
Copy link
Contributor

+1

@cmsbuild
Copy link
Contributor

cmsbuild commented Sep 3, 2023

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

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

4 participants