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

Producer and filter for jet timing trigger #35724

Merged
merged 20 commits into from Nov 3, 2021

Conversation

mcitron
Copy link
Contributor

@mcitron mcitron commented Oct 19, 2021

PR description:

This PR adds the producer and filter needed to define an HLT path for delayed jets. The necessary information is added via value maps.

TSG presentation: https://indico.cern.ch/event/1080507/#39-delayed-jet-hlt-trigger

PR validation:

runTheMatrix.py -l limited -i all --ibeos
32 0 0 0 0 0 0 0 0 tests passed, 8 32 0 0 0 0 0 0 0 failed

@cmsbuild
Copy link
Contributor

-code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-35724/26048

  • This PR adds an extra 16KB to repository

Code check has found code style and quality issues which could be resolved by applying following patch(s)

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-35724/26049

  • This PR adds an extra 20KB to repository

@cmsbuild
Copy link
Contributor

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

It involves the following packages:

  • HLTrigger/JetMET (hlt)

@cmsbuild, @missirol, @Martin-Grunewald can you please review it and eventually sign? Thanks.
@Martin-Grunewald, @missirol, @silviodonato this is something you requested to watch as well.
@perrotta, @dpiparo, @qliphy you are the release manager for this.

cms-bot commands are listed here

@missirol
Copy link
Contributor

Hi @mcitron , I'll add a review on the code in the next days. In the meantime, I add here two general comments:

  • please merge the header (.h) and source (.cc) files, and move the two new files under plugins/, to comply with the coding rules (sections 6.6 and 6.7);

  • how can these new plugins be tested? Running the standard PR tests won't exercise these new classes. Could you please provide a simple cfg file under test/ that allows to test this new producer+filter?

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-35724/26079

  • This PR adds an extra 20KB to repository

  • Found files with invalid states:

@cmsbuild
Copy link
Contributor

Pull request #35724 was updated. @cmsbuild, @missirol, @Martin-Grunewald can you please check and sign again.

@mcitron
Copy link
Contributor Author

mcitron commented Oct 20, 2021

@missirol thanks for the comments. The header and source files have been merged into new files in the plugins directory and a test config has been added. This produces an output that contains an edm::TriggerResults object which accepts 73/722 events of the input file.

edm::EDGetTokenT<reco::CaloJetCollection> jetInputToken;
edm::EDGetTokenT<edm::ValueMap<float>> jetTimesInputToken;
edm::EDGetTokenT<edm::ValueMap<unsigned int>> jetCellsForTimingInputToken;
edm::EDGetTokenT<edm::ValueMap<float>> jetEcalEtForTimingInputToken;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All class variables could probably be made const.

// class declaration
//
class HLTCaloJetTimingFilter : public HLTFilter {
public:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This filter does not seem to make use of HLTFilter features (eg, filling the filterproduct), so should then just be an EDFilter.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just noting that this point is still open. For examples on the use of HLTFilter and filterproduct, see the many examples in HLTrigger/HLTfilters/.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks for the comment - I have updated the code to use the filterproduct

HLTrigger/JetMET/plugins/HLTCaloJetTimingFilter.cc Outdated Show resolved Hide resolved
edm::EDGetTokenT<reco::CaloJetCollection> jetInputToken;
edm::EDGetTokenT<edm::SortedCollection<EcalRecHit, edm::StrictWeakOrdering<EcalRecHit>>> ecalRecHitsEBToken;
edm::EDGetTokenT<edm::SortedCollection<EcalRecHit, edm::StrictWeakOrdering<EcalRecHit>>> ecalRecHitsEEToken;
};
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As above, member variables look like they could be const.

HLTrigger/JetMET/plugins/HLTCaloJetTimingProducer.cc Outdated Show resolved Hide resolved
Copy link
Contributor

@missirol missirol left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mcitron, here are the suggested changes. They partly overlap with Martin's. They are largely technical (outputs should be unchanged), but they were done on GH without testing (the code may very well not compile). Please review them carefully, and retest the code.

HLTrigger/JetMET/plugins/HLTCaloJetTimingFilter.cc Outdated Show resolved Hide resolved
HLTrigger/JetMET/plugins/HLTCaloJetTimingFilter.cc Outdated Show resolved Hide resolved
HLTrigger/JetMET/plugins/HLTCaloJetTimingFilter.cc Outdated Show resolved Hide resolved
HLTrigger/JetMET/plugins/HLTCaloJetTimingFilter.cc Outdated Show resolved Hide resolved
HLTrigger/JetMET/plugins/HLTCaloJetTimingFilter.cc Outdated Show resolved Hide resolved
HLTrigger/JetMET/plugins/HLTCaloJetTimingProducer.cc Outdated Show resolved Hide resolved
HLTrigger/JetMET/test/hltCaloJetTimingFilter_cfg.py Outdated Show resolved Hide resolved
HLTrigger/JetMET/test/hltCaloJetTimingFilter_cfg.py Outdated Show resolved Hide resolved
HLTrigger/JetMET/test/hltCaloJetTimingFilter_cfg.py Outdated Show resolved Hide resolved
HLTrigger/JetMET/plugins/HLTCaloJetTimingProducer.cc Outdated Show resolved Hide resolved
Applying all suggested changes for testing/updating as needed

Co-authored-by: Marino Missiroli <m.missiroli@cern.ch>
@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-35724/26317

@cmsbuild
Copy link
Contributor

Pull request #35724 was updated. @cmsbuild, @missirol, @Martin-Grunewald can you please check and sign again.

@missirol
Copy link
Contributor

Just a note: I remembered from #33204 (comment) that addWithDefaultLabel will also return exclusive cfis for templated classes, using the name of the instantiated class itself (instead of "TemplateClassTemplateType"); in that case, the cfis would have been

hltCaloJetTimingFilter_cfi.py
hltCaloJetTimingProducer_cfi.py
hltpfJetTimingFilter_cfi.py
hltpfJetTimingProducer_cfi.py

I don't think I have any further comments; I'll re-trigger the tests (which are anyway not testing this new module beyond compiling).

@missirol
Copy link
Contributor

please test with #35890

the other PR is only needed in order to avoid a timeout in wf 138.3

@cmsbuild
Copy link
Contributor

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-c4be56/20095/summary.html
COMMIT: 188ab90
CMSSW: CMSSW_12_2_X_2021-10-29-1100/slc7_amd64_gcc900
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/35724/20095/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 6 differences found in the comparisons
  • DQMHistoTests: Total files compared: 42
  • DQMHistoTests: Total histograms compared: 2901440
  • DQMHistoTests: Total failures: 7
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 2901411
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 41 files compared)
  • Checked 177 log files, 37 edm output root files, 42 DQM output files
  • TriggerResults: no differences found

@missirol
Copy link
Contributor

missirol commented Nov 3, 2021

+hlt

  • adds two plugins targeting HLT, but not currently used in any workflow
    (this is why I don't think it's necessary to rerun the tests with a more recent IB)
  • a standalone config file to test the new modules is added in test/
  • despite the label, this PR did not really require any externals
    (the other PR was needed only in order to avoid a timeout in a PR test)

@cmsbuild
Copy link
Contributor

cmsbuild commented Nov 3, 2021

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

Copy link
Contributor

@perrotta perrotta left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not fundamental comments, but since I already wrote them...

#include "HLTrigger/HLTcore/interface/HLTFilter.h"

#include "FWCore/Framework/interface/Event.h"
#include "FWCore/Framework/interface/MakerMacros.h"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you want to keep separated .h and .cc files, this can be included in the implementation file

#include "FWCore/Framework/interface/stream/EDProducer.h"

#include "FWCore/Framework/interface/Event.h"
#include "FWCore/Framework/interface/MakerMacros.h"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you want to keep separated .h and .cc files, this can be included in the implementation file

@perrotta
Copy link
Contributor

perrotta commented Nov 3, 2021

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

None yet

6 participants