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

Hydjet2 bugfixes #38443

Merged
merged 3 commits into from Aug 11, 2022
Merged

Conversation

wouf
Copy link
Contributor

@wouf wouf commented Jun 20, 2022

PR description:

This is bugfixes for Hydjet2 related to status codes and units issues. The default parameters was updated to Antares_pre tune

PR validation:

workflow 160

@SiewYan
Copy link
Contributor

SiewYan commented Jun 20, 2022

please test workflow 160

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-38443/30642

  • This PR adds an extra 32KB to repository

@cmsbuild
Copy link
Contributor

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

It involves the following packages:

  • GeneratorInterface/Hydjet2Interface (generators)

@alberto-sanchez, @SiewYan, @mkirsano, @Saptaparna, @GurpreetSinghChahal can you please review it and eventually sign? Thanks.
@alberto-sanchez, @mkirsano 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

@cmsbuild
Copy link
Contributor

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-e20d13/25644/summary.html
COMMIT: a3b5590
CMSSW: CMSSW_12_5_X_2022-06-20-1100/el8_amd64_gcc10
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/38443/25644/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

@slava77 comparisons for the following workflows were not done due to missing matrix map:

  • /data/cmsbld/jenkins/workspace/compare-root-files-short-matrix/data/PR-e20d13/160.0_Hydjet2Q_MinBias_5020GeV_2018_ppReco+Hydjet2Q_MinBias_5020GeV_2018_ppReco+DIGIHI2018PPRECO+RECOHI2018PPRECOMB+ALCARECOHI2018PPRECO+HARVESTHI2018PPRECO

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 0 differences found in the comparisons
  • DQMHistoTests: Total files compared: 51
  • DQMHistoTests: Total histograms compared: 3773778
  • DQMHistoTests: Total failures: 27863
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3745893
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 50 files compared)
  • Checked 213 log files, 45 edm output root files, 51 DQM output files
  • TriggerResults: found differences in 1 / 50 workflows

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.

Besides the bug fixes, you are also modifying several generator parameters in hydjet2DefaultParameters_cff.py
Please add it to the PR description, so that it can remain track of it and its purposes

double t = (hj2->GetT()).at(i);

// convert to mm (as in PYTHIA6)
double x = 0.000000000001 * (x0 * cosphi0_ - y0 * sinphi0_);
Copy link
Contributor

Choose a reason for hiding this comment

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

It is less error prone, and more intuitive, if you define the conversion in a contexpr parameter

Copy link
Contributor Author

Choose a reason for hiding this comment

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

How it is possible? We do not know the x0 and y0 at compile time...

Copy link
Contributor

Choose a reason for hiding this comment

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

e.g.

  double constexpr am_to_mm = 0.000000000001;  // or even 1e-12, which is more intuitive
  double x =  am_to_mm * (x0 * cosphi0_ - y0 * sinphi0_);

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ah, I see. But what is the reason of constexpr here? Why not just:

const double fm_to_mm = 1e-12; 
double x =  fm_to_mm * (x0 * cosphi0_ - y0 * sinphi0_);

?

Copy link
Contributor

Choose a reason for hiding this comment

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

Ah, I see. But what is the reason of constexpr here? Why not just:

const double fm_to_mm = 1e-12; 
double x =  fm_to_mm * (x0 * cosphi0_ - y0 * sinphi0_);

?

Well, constexpr is initialized at compile time, while const it is at runtime. Not a big difference here, let it as you updated it.

if ((abs(pdg_id) == 130) || (abs(pdg_id) == 310)) {
mass = 0.497611;
} else {
//cout<<"Error! Mass for "<< pdg_id <<" not found in PDT!!!"<<endl;
Copy link
Contributor

Choose a reason for hiding this comment

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

Does it makes sense to continue if there is a negative mass here?

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 using mass only for ET, so with negative mass we still can use other histograms. Anyway this analyser is used for tests and tuning only.

dheta->Fill(eta);

e_sum += e;
et_sum += et;
if (std::abs(eta) < 1.5) {
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 define (e.g.) etaMaxBarrel , etaMaxAlice , etaMaxCms it is easier to code, and modify afterwards would you ever need it

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Well, firstly we have to change detector then)) I thing it is useless to introduce variables like etaMaxBarrel. I prefer to leave it hardcoded in default section, to vary cuts from the configs, it is found userHistos_ section, see this line

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-38443/30663

  • This PR adds an extra 36KB to repository

@cmsbuild
Copy link
Contributor

Pull request #38443 was updated. @SiewYan, @mkirsano, @Saptaparna, @cmsbuild, @GurpreetSinghChahal, @alberto-sanchez can you please check and sign again.

@SiewYan
Copy link
Contributor

SiewYan commented Jun 27, 2022

please test workflow 160

@perrotta
Copy link
Contributor

@Saptaparna there are quite large changes in wf 160. Since you signed this when the test results were not available yet, could you please confirm that all these changes are as expected, due to the update of the default parameters to Antares_pre tune implemented in this PR?

@SiewYan
Copy link
Contributor

SiewYan commented Jul 26, 2022

Hello @perrotta , echoing from #38443 (comment), I think the large changes are expected as @wouf mentioned the Antares tune is preliminary. I suggest to merge it for now. What do you think @Saptaparna ?

@qliphy
Copy link
Contributor

qliphy commented Jul 28, 2022

@wouf @Saptaparna Please confirm whether large changes in wf 160 are expected or not. Thanks!

@wouf
Copy link
Contributor Author

wouf commented Jul 31, 2022

@wouf @Saptaparna Please confirm whether large changes in wf 160 are expected or not. Thanks!

What You mean by large changes? No changes in wf within this PR found. Or You mean changes in #PR36316 , in files

Configuration/PyReleaseValidation/python/relval_standard.py
Configuration/PyReleaseValidation/python/relval_steps.py

? If so, i guess, @mandrenguyen can comment used conditions for wf 160.

@wouf
Copy link
Contributor Author

wouf commented Jul 31, 2022

@qliphy
Copy link
Contributor

qliphy commented Aug 10, 2022

hold
to understand the difference on wf 160

@cmsbuild
Copy link
Contributor

Pull request has been put on hold by @qliphy
They need to issue an unhold command to remove the hold state or L1 can unhold it for all

@mandrenguyen
Copy link
Contributor

Apologies, I missed that this was waiting for my attention. Wf 160 is exactly the same as wf 158, expect with the new version of Hydjet instead of the old one.
There is no issue with wf 160 per se.

Hydjet is the baseline generator for PbPb events, it's hugely important for the heavy-ion program.
Hydjet++ is a completely rewritten version of this generator, and we're still trying to understand the performance.
IIUC this PR has some genuine bugfixes, as well as a new tuning. Big differences are expected, but Andrey should comment whether these changes go in the expected direction.

Note that even after this PR I don't believe the new generator is necessarily ready for production. There will likely be further tuning necessary, and possibly further bugfixes.

@wouf
Copy link
Contributor Author

wouf commented Aug 10, 2022

Thank You @mandrenguyen . @qliphy , I think we can go ahead, thanks!

@qliphy
Copy link
Contributor

qliphy commented Aug 10, 2022

unhold
thanks!

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

@qliphy
Copy link
Contributor

qliphy commented Aug 10, 2022

please test
to refresh the results

@cmsbuild
Copy link
Contributor

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-e20d13/26732/summary.html
COMMIT: fbba702
CMSSW: CMSSW_12_5_X_2022-08-09-2300/el8_amd64_gcc10
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/38443/26732/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: 51
  • DQMHistoTests: Total histograms compared: 3692476
  • DQMHistoTests: Total failures: 14
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3692440
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 50 files compared)
  • Checked 212 log files, 49 edm output root files, 51 DQM output files
  • TriggerResults: no differences found

@qliphy
Copy link
Contributor

qliphy commented Aug 11, 2022

+1

@cmsbuild cmsbuild merged commit 1ad0fb5 into cms-sw:master Aug 11, 2022
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