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

Adding HepMC3 products to EDMProduct #38033

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

SiewYan
Copy link
Contributor

@SiewYan SiewYan commented May 21, 2022

PR description:

This PR trying to address the EDM addition in #37187 , using advises from twiki [*].
The HepMC3 package adapted new strategy to manipulate event records of High Energy Physics Monte Carlo Event Generators (MCEGs) [**], notably:

  1. Particles and vertices are stored separately in an ordered graph structure; all custom iterators were removed.
  2. Extension on the I/O functionality of the library.

[*] https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideCreatingNewProducts
[**] https://iopscience.iop.org/article/10.1088/1742-6596/1525/1/012017/pdf

The HepMC3 new data format poses challenges on defining the corresponding EDMProduct definition.

This PR depicts partial implementation, due to some technical error:

Error: Class shared_ptr<HepMC3::GenParticle> has been selected but currently the support for its I/O is not yet available. Note that shared_ptr<HepMC3::GenParticle>, even if not selected, will be available for interpreted code.
Error: Class shared_ptr<HepMC3::GenVertex> has been selected but currently the support for its I/O is not yet available. Note that shared_ptr<HepMC3::GenVertex>, even if not selected, will be available for interpreted code.

I am looking for advice(s) on how to solve the error. @smuzaffar, @mkirsano

Note: class version will be done accordingly after a successful compilation with the amended version classes_def.xml.

Related Issue/PR:

  1. Issue Migrate CMSSW from HepMC2 to HepMC3 #36662
  2. configure pythia8 to use hepmc3: #7677
  3. Add generator hepmc3 products #37187
  4. Add HepMC3 products and methods to Generator base clases #37689
  5. Add to Pythia8Interface the plugin that produces HepMC3 products #37753

PR validation:

No validation yet, to be finalized as the PR evolve..

if this PR is a backport please specify the original PR and why you need to backport that PR:

NA

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-38033/30110

@cmsbuild
Copy link
Contributor

cmsbuild commented May 21, 2022

A new Pull Request was created by @SiewYan (Siewyan Hoh 何守仁) for master.

It involves the following packages:

  • SimDataFormats/GeneratorProducts (generators)

@SiewYan, @mkirsano, @Saptaparna, @cmsbuild, @GurpreetSinghChahal, @alberto-sanchez can you please review it and eventually sign? Thanks.
@apsallid, @rovere, @bsunanda, @lecriste, @ebrondol, @fabiocos 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

@SiewYan
Copy link
Contributor Author

SiewYan commented May 21, 2022

FYI: @imranyusuff

@SiewYan
Copy link
Contributor Author

SiewYan commented May 21, 2022

please test

@cmsbuild
Copy link
Contributor

-1

Failed Tests: Build ClangBuild
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-10e534/24892/summary.html
COMMIT: 13c562c
CMSSW: CMSSW_12_5_X_2022-05-21-1100/el8_amd64_gcc10
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/38033/24892/install.sh to create a dev area with all the needed externals and cmssw changes.

Build

I found compilation error when building:

>> Compiling  /data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_12_5_X_2022-05-21-1100/src/SimDataFormats/GeneratorProducts/src/LHEXMLStringProduct.cc
>> Compiling  /data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_12_5_X_2022-05-21-1100/src/SimDataFormats/GeneratorProducts/src/hepmc_rootio.cc
>> Compiling  /data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_12_5_X_2022-05-21-1100/src/SimDataFormats/GeneratorProducts/src/HepEvt.F
Error: Class shared_ptr has been selected but currently the support for its I/O is not yet available. Note that shared_ptr, even if not selected, will be available for interpreted code.
Error: Class shared_ptr has been selected but currently the support for its I/O is not yet available. Note that shared_ptr, even if not selected, will be available for interpreted code.
gmake: *** [tmp/el8_amd64_gcc10/src/SimDataFormats/GeneratorProducts/src/SimDataFormatsGeneratorProducts/a/SimDataFormatsGeneratorProducts_xr.cc] Error 1
>> Compiling LCG dictionary: tmp/el8_amd64_gcc10/src/SimDataFormats/GeneratorProducts/src/SimDataFormatsGeneratorProducts/a/SimDataFormatsGeneratorProducts_xr.cc
c++: error: SimDataFormatsGeneratorProducts/a/SimDataFormatsGeneratorProducts_xr.cc: No such file or directory
c++: fatal error: no input files
compilation terminated.
gmake: *** [tmp/el8_amd64_gcc10/src/SimDataFormats/GeneratorProducts/src/SimDataFormatsGeneratorProducts/a/SimDataFormatsGeneratorProducts_xr.cc.o] Error 1


Clang Build

I found compilation error while trying to compile with clang. Command used:

USER_CUDA_FLAGS='--expt-relaxed-constexpr' USER_CXXFLAGS='-Wno-register -fsyntax-only' scram build -k -j 32 COMPILER='llvm compile'

>> Local Products Rules ..... started
>> Local Products Rules ..... done
>> Creating project symlinks
>> Entering Package SimDataFormats/GeneratorProducts
>> Compile sequence completed for CMSSW CMSSW_12_5_X_2022-05-21-1100
gmake: *** [There are compilation/build errors. Please see the detail log above.] Error 1
+ eval scram build outputlog '&&' '(python3' /data/cmsbld/jenkins/workspace/ib-run-pr-tests/cms-bot/buildLogAnalyzer.py --ignoreWarning=Wdeprecated-declarations --logDir /data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_12_5_X_2022-05-21-1100/tmp/el8_amd64_gcc10/cache/log/src '||' 'true)'
++ scram build outputlog
>> Entering Package SimDataFormats/GeneratorProducts
Entering library rule at SimDataFormats/GeneratorProducts
>> Compiling  /data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_12_5_X_2022-05-21-1100/src/SimDataFormats/GeneratorProducts/src/GenEventInfoProduct.cc


@SiewYan
Copy link
Contributor Author

SiewYan commented Jul 26, 2022

please test

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-38033/31271

@menglu21
Copy link
Contributor

menglu21 commented Jul 2, 2024

+1

@cmsbuild
Copy link
Contributor

cmsbuild commented Jul 2, 2024

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

@rappoccio
Copy link
Contributor

+1

@antoniovilela
Copy link
Contributor

-orp

@antoniovilela
Copy link
Contributor

hold

@cmsbuild
Copy link
Contributor

cmsbuild commented Jul 4, 2024

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

@kirsanov-protvino
Copy link

I looked again at this. Some combinations in classes_def.xml can compile, but the final check is to run pythia8hmc3ex2_cfg.py in Pythia8Interface/test. It exists in later CMSSW releases (together with the needed code in GeneratorInterface/Core). For example there are runtime errors like this:

Fatal Root Error: @sub=TStreamerInfo::Build
pair<string,shared_ptrHepMC3::Attribute >: shared_ptrHepMC3::Attribute has no streamer or dictionary, data member "second" will not be saved

An edm expert is needed to solve this. If needed, I can try this in CMSSW_14 and describe the full test action.

@cmsbuild
Copy link
Contributor

Milestone for this pull request has been moved to CMSSW_14_2_X. Please open a backport if it should also go in to CMSSW_14_1_X.

@bbilin
Copy link
Contributor

bbilin commented Sep 3, 2024

This is superseeded by #44603 and can be closed, thanks to @mseidel42

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.

10 participants