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

[HGC trigger] FE customization, OOT subtraction, separate HFNose sequence #29762

Merged
merged 5 commits into from May 17, 2020

Conversation

jbsauvan
Copy link
Contributor

@jbsauvan jbsauvan commented May 7, 2020

PR description:

  • More customisable frontend selection in the CEE, CEH-si and CEH-sci (@snwebb)
  • Possibility to configure out-of-time PU subtraction, switched off by default (@jbsauvan)
  • Separate HFNose and HGCAL in different sequences (@mariadalfonso)
  • Optimization of pow(2) in floating point compression initialization (@imranyusuff )

PR validation:

  • Each item in this PR has been validated separately looking at standard distributions. Physics performance studies were also performed when necessary.
  • Standard tests with V9, V10 and V11 worflows have been run
runTheMatrix.py -w upgrade -l 20034.0 --maxSteps=2
runTheMatrix.py -w upgrade -l 20434.0 --maxSteps=2
runTheMatrix.py -w upgrade -l 22034.0 --maxSteps=2

@cmsbuild
Copy link
Contributor

cmsbuild commented May 7, 2020

The code-checks are being triggered in jenkins.

@cmsbuild
Copy link
Contributor

cmsbuild commented May 7, 2020

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-29762/15209

  • This PR adds an extra 44KB to repository

@cmsbuild
Copy link
Contributor

cmsbuild commented May 7, 2020

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

@kpedro88
Copy link
Contributor

kpedro88 commented May 7, 2020

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented May 7, 2020

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-run-pr-tests/6161/console Started: 2020/05/07 17:55

@cmsbuild
Copy link
Contributor

cmsbuild commented May 7, 2020

+1
Tested at: 8074ea1
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-6599dd/6161/summary.html
CMSSW: CMSSW_11_1_X_2020-05-07-1100
SCRAM_ARCH: slc7_amd64_gcc820

@cmsbuild
Copy link
Contributor

cmsbuild commented May 7, 2020

Comparison job queued.

@cmsbuild
Copy link
Contributor

cmsbuild commented May 7, 2020

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

Comparison Summary:

  • No significant changes to the logs found
  • Reco comparison results: 0 differences found in the comparisons
  • DQMHistoTests: Total files compared: 34
  • DQMHistoTests: Total histograms compared: 2697527
  • DQMHistoTests: Total failures: 54
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 2697154
  • DQMHistoTests: Total skipped: 319
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 33 files compared)
  • Checked 147 log files, 16 edm output root files, 34 DQM output files

@@ -85,6 +85,13 @@ class HGCalTriggerTools {

static constexpr unsigned kScintillatorPseudoThicknessIndex_ = 3;

enum SubDetectorType {
Copy link
Contributor

Choose a reason for hiding this comment

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

This seems redundant with the enums already defined in https://github.com/cms-sw/cmssw/blob/master/DataFormats/ForwardDetId/interface/ForwardSubdetector.h. Is there a reason for it to be separate?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

In this case the enum values are used to index vectors. So we need values 0,1,2. The information encoded here is indeed redundant with enums in ForwardSubdetector.h, but we would need to manipulate them further if ForwardSubdetector or HGCalTriggerSubdetector were used.

}

if (coarsenTriggerCells_ || fixedDataSizePerHGCROC_) {
for (int subdet = 0; subdet < kNSubDetectors_; subdet++) {
if (selectionType[subdet] == "thresholdSelect") {
Copy link
Contributor

Choose a reason for hiding this comment

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

should these cases become a factory (as some other trigger algorithms are already)?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I am planning to make a global refactoring of the code in the near future. And definitely something should be done to better manage all the different types of algorithms we have in various places.

hgcalBackEndLayer2ProducerHFNose = hgcalBackEndLayer2Producer.clone()
hgcalBackEndLayer2ProducerHFNose.InputCluster = cms.InputTag('hgcalBackEndLayer1ProducerHFNose:HGCalBackendLayer1Processor2DClustering')

binSumsNose = cms.vuint32(13,11,9,9)
Copy link
Contributor

Choose a reason for hiding this comment

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

probably doesn't need to be a separate variable (just put the values in binSumsHisto a few lines below)



hgcalBackEndLayer2ProducerHFNose = hgcalBackEndLayer2Producer.clone()
hgcalBackEndLayer2ProducerHFNose.InputCluster = cms.InputTag('hgcalBackEndLayer1ProducerHFNose:HGCalBackendLayer1Processor2DClustering')
Copy link
Contributor

Choose a reason for hiding this comment

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

actually all of these parameter changes can be done within the clone statement (preferable)

@@ -160,3 +161,9 @@
InputTriggerSums = cms.InputTag('hgcalVFEProducer:HGCalVFEProcessorSums'),
ProcessorParameters = threshold_conc_proc.clone()
)


hgcalConcentratorProducerHFNose = hgcalConcentratorProducer.clone()
Copy link
Contributor

Choose a reason for hiding this comment

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

make parameter changes inside clone() statement

tdcLSB_sc_ = tdcsaturation_sc_ / pow(2., tdcnBits_sc_);
linnBits_(conf.getParameter<uint32_t>("linnBits")),
oot_coefficients_(conf.getParameter<std::vector<double>>("oot_coefficients")) {
const int kOot_order = 2;
Copy link
Contributor

Choose a reason for hiding this comment

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

constexpr

} else { //ADC mode
double data = frame[kIntimeSample].data();
// applies OOT PU subtraction only in the ADC mode
if (!frame[kIntimeSample - 1].mode()) {
Copy link
Contributor

Choose a reason for hiding this comment

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

maybe define kSampleN1 and kSampleN2 to reduce repetition?

vector<int> hgcdigi_isadc(digi.size());
for (int i = 0; i < digi.size(); i++) {
hgcdigi_data[i] = digi[i].data();
hgcdigi_isadc[i] = (digi[i].mode() ? 0 : 1);
Copy link
Contributor

Choose a reason for hiding this comment

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

could be just hgcdigi_isadc[i] = !digi[i].mode();

vector<int> hgcdigi_isadc(digi.size());
for (int i = 0; i < digi.size(); i++) {
hgcdigi_data[i] = digi[i].data();
hgcdigi_isadc[i] = (digi[i].mode() ? 0 : 1);
Copy link
Contributor

Choose a reason for hiding this comment

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

could be just hgcdigi_isadc[i] = !digi[i].mode();

vector<int> bhdigi_isadc(digi.size());
for (int i = 0; i < digi.size(); i++) {
bhdigi_data[i] = digi[i].data();
bhdigi_isadc[i] = (digi[i].mode() ? 0 : 1);
Copy link
Contributor

Choose a reason for hiding this comment

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

could be just hgcdigi_isadc[i] = !digi[i].mode();

@kpedro88
Copy link
Contributor

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented May 12, 2020

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-run-pr-tests/6248/console Started: 2020/05/12 15:20

@cmsbuild
Copy link
Contributor

+1
Tested at: f63610f
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-6599dd/6248/summary.html
CMSSW: CMSSW_11_1_X_2020-05-12-1100
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-6599dd/6248/summary.html

Comparison Summary:

  • No significant changes to the logs found
  • Reco comparison results: 6 differences found in the comparisons
  • DQMHistoTests: Total files compared: 34
  • DQMHistoTests: Total histograms compared: 2697527
  • DQMHistoTests: Total failures: 27
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 2697181
  • DQMHistoTests: Total skipped: 319
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 33 files compared)
  • Checked 147 log files, 16 edm output root files, 34 DQM output files

@kpedro88
Copy link
Contributor

+upgrade

@rekovic
Copy link
Contributor

rekovic commented May 17, 2020

+1

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

@silviodonato
Copy link
Contributor

+1

@cmsbuild cmsbuild merged commit 1f30a93 into cms-sw:master May 17, 2020
jbsauvan added a commit to PFCal-dev/cmssw that referenced this pull request May 19, 2020
jbsauvan added a commit to PFCal-dev/cmssw that referenced this pull request May 19, 2020
jbsauvan added a commit to PFCal-dev/cmssw that referenced this pull request May 19, 2020
jbsauvan added a commit to PFCal-dev/cmssw that referenced this pull request May 19, 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

8 participants