Skip to content

Migrate CMSSW from HepMC2 to HepMC3 #36662

Open
@mkirsano

Description

@mkirsano

HepMC is a HEP event record used in CMSSW. HepMC2 is currently used.
HepMC3 is a completely rewritten version. Many methods are different from HepMC2. These two records can live together in one program. I have a partly working prototype (working at ~10% functionality, pythia8 only) in my private area.
The evolving plan follows

  1. Cope with library structure. By default the HepMC3 libraries structures are lib64/libHepMC3.so->libHepMC3.so.3. CMSSW does not understand it, I have to copy this structure in CMSSW_12_3_0_pre2/external/slc7_amd64_gcc10/lib by hands. - done
  2. Rewrite code created for ExternalDecays. Seems still to be needed for the photos++ package (tauola++?)
  3. Create GenEventInfoProduct3 class similarly to GenEventInfoProduct. Some methods need rewriting. - done privately
  4. Create HepMC3Product similarly to HepMCProduct - done privately
  5. Rewrite the code where the HepMC record is fed in G4. Seems to be here (Siewyan):https://github.com/cms-sw/cmssw/blob/master/SimG4Core/Generators/src/Generator.cc#L112. Problem: SimG4Core compiled locally does not work. In contact with V. Ivanchenko
  6. At some point a special CMSSW branch will be needed?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions