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

[HGCAL trigger] Updated trigger towers (+minor updates) #30883

Merged
merged 7 commits into from Aug 7, 2020

Conversation

jbsauvan
Copy link
Contributor

PR description:

  • The main update is a more realistic implementation of trigger towers based on module sums instead of trigger cells (@echapon).
  • This PR also includes minor changes: a change in the digis samples filling format in the analysis ntuples (@dnoonan08), and a fix in the config of the Best Choice selection algorithm (which is not used by default).

PR validation:

Workflows tested: 23234.0, 27034.0, 28234.0

@cmsbuild
Copy link
Contributor

The code-checks are being triggered in jenkins.

@cmsbuild
Copy link
Contributor

-code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-30883/17263

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

@cmsbuild
Copy link
Contributor

The code-checks are being triggered in jenkins.

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-30883/17264

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @jbsauvan (Jean-Baptiste Sauvan) for master.

It involves the following packages:

L1Trigger/L1THGCal
L1Trigger/L1THGCalUtilities

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

cms-bot commands are listed here

void buildTowerMap2D(const std::vector<edm::Ptr<T>>& ptrs, l1t::HGCalTowerMapBxCollection& towerMaps) {
std::unordered_map<int, l1t::HGCalTowerMap> towerMapsTmp = newTowerMaps();

for (auto ptr : ptrs) {
Copy link
Contributor

Choose a reason for hiding this comment

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

better as const auto& ptr

towerMapsTmp[layer].addEt(towerGeometryHelper_.getTriggerTower(*ptr), etEm, etHad);
}

/* store towerMaps in the persistent collection */
Copy link
Contributor

Choose a reason for hiding this comment

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

why is the towerMapsTmp needed at all? can't this algorithm just fill towerMaps directly?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

We have one tower map per trigger layer, so not every layer. It was easier to fill in a map rather than in a vector of tower maps.

std::vector<edm::Ptr<l1t::HGCalTriggerCell>> trigCellVec;
for (unsigned i = 0; i < unclTCsCollHandle->size(); ++i) {
edm::Ptr<l1t::HGCalCluster> ptr(unclTCsCollHandle, i);
for (auto itTC : ptr->constituents()) {
Copy link
Contributor

Choose a reason for hiding this comment

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

const auto&

}

void HGCalHistoClusteringImpl::finalizeClusters(std::vector<l1t::HGCalMulticluster>& multiclusters_in,
std::vector<l1t::HGCalCluster>& rejected_clusters_in,
Copy link
Contributor

Choose a reason for hiding this comment

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

const?

const HGCalTriggerGeometryBase& triggerGeometry) const {
for (auto& tc : rejected_clusters_in) {
Copy link
Contributor

Choose a reason for hiding this comment

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

const auto&

@@ -133,6 +145,10 @@ void HGCalHistoClusteringImpl::finalizeClusters(std::vector<l1t::HGCalMulticlust
multicluster.saveHOverE();

multiclusters_out.push_back(0, multicluster);
} else {
for (auto& tc : multicluster.constituents()) {
Copy link
Contributor

Choose a reason for hiding this comment

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

const auto&

@@ -75,6 +78,17 @@ DEFINE_EDM_PLUGIN(HGCalTriggerNtupleFactory, HGCalTriggerNtupleHGCDigis, "HGCalT

HGCalTriggerNtupleHGCDigis::HGCalTriggerNtupleHGCDigis(const edm::ParameterSet& conf) : HGCalTriggerNtupleBase(conf) {
is_Simhit_comp_ = conf.getParameter<bool>("isSimhitComp");
digiBXselect_ = conf.getParameter<std::vector<unsigned int>>("digiBXselect");

if (*std::max_element(digiBXselect_.begin(), digiBXselect_.end()) >= kDigiSize_) {
Copy link
Contributor

Choose a reason for hiding this comment

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

for safety, check if the vector is non-empty first

@@ -50,7 +50,8 @@
eeSimHits = cms.InputTag('g4SimHits:HGCHitsEE'),
fhSimHits = cms.InputTag('g4SimHits:HGCHitsHEfront'),
bhSimHits = cms.InputTag('g4SimHits:HcalHits'),
isSimhitComp = cms.bool(False)
isSimhitComp = cms.bool(False),
digiBXselect = cms.vuint32([2])
Copy link
Contributor

Choose a reason for hiding this comment

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

can just be cms.vuint32(2)

@kpedro88
Copy link
Contributor

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Jul 23, 2020

The tests are being triggered in jenkins.

@cmsbuild
Copy link
Contributor

+1
Tested at: a7fa581
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-fce48e/8248/summary.html
CMSSW: CMSSW_11_2_X_2020-07-22-2300
SCRAM_ARCH: slc7_amd64_gcc820

@cmsbuild
Copy link
Contributor

Comparison job queued.

@cmsbuild
Copy link
Contributor

The code-checks are being triggered in jenkins.

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-30883/17388

  • This PR adds an extra 36KB to repository

@cmsbuild
Copy link
Contributor

Pull request #30883 was updated. @cmsbuild, @rekovic, @benkrikler, @kpedro88 can you please check and sign again.

@cmsbuild cmsbuild mentioned this pull request Jul 29, 2020
@kpedro88
Copy link
Contributor

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Jul 29, 2020

The tests are being triggered in jenkins.

@cmsbuild
Copy link
Contributor

+1
Tested at: babb254
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-fce48e/8394/summary.html
CMSSW: CMSSW_11_2_X_2020-07-28-2300
SCRAM_ARCH: slc7_amd64_gcc820

@cmsbuild
Copy link
Contributor

Comparison job queued.

@cmsbuild
Copy link
Contributor

Comparison is ready
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-fce48e/8394/summary.html

Comparison Summary:

  • No significant changes to the logs found
  • Reco comparison results: 4 differences found in the comparisons
  • DQMHistoTests: Total files compared: 34
  • DQMHistoTests: Total histograms compared: 2525444
  • DQMHistoTests: Total failures: 7
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 2525390
  • DQMHistoTests: Total skipped: 47
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 33 files compared)
  • Checked 144 log files, 17 edm output root files, 34 DQM output files

@kpedro88
Copy link
Contributor

+upgrade

@silviodonato
Copy link
Contributor

Kind reminder @cms-sw/l1-l2

@silviodonato
Copy link
Contributor

merge

@cmsbuild cmsbuild merged commit 0a1af44 into cms-sw:master Aug 7, 2020
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

7 participants