diff --git a/SimDataFormats/GeneratorProducts/interface/HepMC3Product.h b/SimDataFormats/GeneratorProducts/interface/HepMC3Product.h index ca4c165c5950c..38b232f36067b 100644 --- a/SimDataFormats/GeneratorProducts/interface/HepMC3Product.h +++ b/SimDataFormats/GeneratorProducts/interface/HepMC3Product.h @@ -9,6 +9,8 @@ #include "DataFormats/Common/interface/Ref.h" #include #include +#include +#include #include namespace HepMC3 { @@ -57,11 +59,11 @@ namespace edm { // This allows edm::Refs to work with HepMC3Product namespace refhelper { template <> - struct FindTrait { + struct FindTrait { struct Find { using first_argument_type = edm::HepMC3Product const &; using second_argument_type = int; - using result_type = HepMC3::GenParticle const *; + using result_type = HepMC3::GenParticlePtr const *; result_type operator()(first_argument_type iContainer, second_argument_type iBarCode) { //return iContainer.getHepMCData().barcode_to_particle(iBarCode); @@ -73,11 +75,11 @@ namespace edm { }; template <> - struct FindTrait { + struct FindTrait { struct Find { using first_argument_type = edm::HepMC3Product const &; using second_argument_type = int; - using result_type = HepMC3::GenVertex const *; + using result_type = HepMC3::GenVertexPtr const *; result_type operator()(first_argument_type iContainer, second_argument_type iBarCode) { //return iContainer.getHepMCData().barcode_to_vertex(iBarCode); diff --git a/SimDataFormats/GeneratorProducts/src/classes.h b/SimDataFormats/GeneratorProducts/src/classes.h index f4ef658588213..47319d29706ad 100644 --- a/SimDataFormats/GeneratorProducts/src/classes.h +++ b/SimDataFormats/GeneratorProducts/src/classes.h @@ -11,16 +11,21 @@ #include "SimDataFormats/GeneratorProducts/interface/LHEXMLStringProduct.h" #include "SimDataFormats/GeneratorProducts/interface/HepMCProduct.h" +#include "SimDataFormats/GeneratorProducts/interface/HepMC3Product.h" #include "SimDataFormats/GeneratorProducts/interface/GenRunInfoProduct.h" #include "SimDataFormats/GeneratorProducts/interface/GenFilterInfo.h" #include "SimDataFormats/GeneratorProducts/interface/GenEventInfoProduct.h" +#include "SimDataFormats/GeneratorProducts/interface/GenEventInfoProduct3.h" #include "SimDataFormats/GeneratorProducts/interface/GenLumiInfoProduct.h" #include "SimDataFormats/GeneratorProducts/interface/GenLumiInfoHeader.h" #include "SimDataFormats/GeneratorProducts/interface/ExternalGeneratorLumiInfo.h" #include "SimDataFormats/GeneratorProducts/interface/ExternalGeneratorEventInfo.h" #include +#include +#include +#include //needed for backward compatibility between HepMC 2.06.xx and 2.05.yy namespace hepmc_rootio { diff --git a/SimDataFormats/GeneratorProducts/src/classes_def.xml b/SimDataFormats/GeneratorProducts/src/classes_def.xml index 8713c2309ca58..95056c4cd959f 100644 --- a/SimDataFormats/GeneratorProducts/src/classes_def.xml +++ b/SimDataFormats/GeneratorProducts/src/classes_def.xml @@ -97,6 +97,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + @@ -185,6 +215,17 @@ + + + + + + + + + + +