From 6b173524c3a1294535c2d2510f40dfaffd8fbb94 Mon Sep 17 00:00:00 2001
From: Andrii Verbytskyi <averbyts@cern.ch>
Date: Fri, 4 Dec 2020 15:38:18 +0100
Subject: [PATCH 1/2] Migrate TruthParticleContainer tests

---
 .../test/TruthEtIsolationsCnv_p1_test.cxx      | 12 ++++++++++++
 .../test/TruthParticleContainerCnv_p5_test.cxx | 17 +++++++++++++++++
 .../test/TruthParticleContainerCnv_p6_test.cxx | 18 ++++++++++++++++++
 3 files changed, 47 insertions(+)

diff --git a/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/test/TruthEtIsolationsCnv_p1_test.cxx b/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/test/TruthEtIsolationsCnv_p1_test.cxx
index 06167120af78..ed5a2ad7ed59 100644
--- a/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/test/TruthEtIsolationsCnv_p1_test.cxx
+++ b/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/test/TruthEtIsolationsCnv_p1_test.cxx
@@ -57,6 +57,17 @@ void test1 (SGTest::TestStore& store)
   evcoll->push_back (std::make_unique<HepMC::GenEvent>());
 
   auto ge = std::make_unique<HepMC::GenEvent>();
+#ifdef HEPMC3
+  auto gv=HepMC::newGenVertexPtr() ;
+  std::vector<HepMC::GenParticlePtr> parts;
+  for (size_t i = 0; i < 5; i++) {
+    auto gp = HepMC::newGenParticlePtr(HepMC::FourVector(i*10 + 1.5,i*10 + 2.5,i*10 + 3.5,i*10 + 4.5),i+20);
+    HepMC::suggest_barcode(gp,1000+i);
+    parts.push_back (gp);
+    gv->add_particle_out(gp);
+  }
+  ge->add_vertex (gv);
+#else
   auto gv = std::make_unique<HepMC::GenVertex>();
   std::vector<HepMC::GenParticle*> parts;
   for (size_t i = 0; i < 5; i++) {
@@ -71,6 +82,7 @@ void test1 (SGTest::TestStore& store)
     gv->add_particle_out (gp.release());
   }
   ge->add_vertex (gv.release());
+#endif
   evcoll->push_back (std::move(ge));
   store.record (std::move(evcoll), "mcevt");
   ElementLink<McEventCollection> evlink ("mcevt", 2);
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/test/TruthParticleContainerCnv_p5_test.cxx b/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/test/TruthParticleContainerCnv_p5_test.cxx
index 09a28a1d645d..f77fdab6c617 100644
--- a/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/test/TruthParticleContainerCnv_p5_test.cxx
+++ b/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/test/TruthParticleContainerCnv_p5_test.cxx
@@ -92,6 +92,22 @@ void test1 (SGTest::TestStore& store)
   std::cout << "test1\n";
 
   auto evcoll = std::make_unique<McEventCollection>();
+#ifdef HEPMC3
+  //Signal process id is obsolete in HepMC3
+  evcoll->push_back (std::make_unique<HepMC::GenEvent>());
+  evcoll.back()->set_event_number(4);
+  evcoll->push_back (std::make_unique<HepMC::GenEvent>());
+  evcoll.back()->set_event_number(5);
+  auto ge = std::make_unique<HepMC::GenEvent>();
+  ge->set_event_number(7);
+  std::vector<HepMC::GenParticlePtr> parts;
+  for (size_t i = 0; i < 5; i++) {
+    auto gp = HepMC::newGenParticlePtr(HepMC::FourVector (i*10 + 1.5,i*10 + 2.5,i*10 + 3.5,i*10 + 4.5),i+20);
+    parts.push_back (gp);
+    gv->add_particle_out (gp);
+  }
+  ge->add_vertex (gv);
+#else
   evcoll->push_back (std::make_unique<HepMC::GenEvent>(1000082, 4));
   evcoll->push_back (std::make_unique<HepMC::GenEvent>(1000087, 5));
 
@@ -109,6 +125,7 @@ void test1 (SGTest::TestStore& store)
     gv->add_particle_out (gp.release());
   }
   ge->add_vertex (gv.release());
+#endif
   evcoll->push_back (std::move(ge));
   store.record (std::move(evcoll), "GEN_AOD");
   // create a dummy EventContext
diff --git a/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/test/TruthParticleContainerCnv_p6_test.cxx b/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/test/TruthParticleContainerCnv_p6_test.cxx
index fcb94b06dda1..e0aacbd1d354 100644
--- a/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/test/TruthParticleContainerCnv_p6_test.cxx
+++ b/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/test/TruthParticleContainerCnv_p6_test.cxx
@@ -79,6 +79,23 @@ void test1 (SGTest::TestStore& store)
   std::cout << "test1\n";
 
   auto evcoll = std::make_unique<McEventCollection>();
+#ifdef HEPMC3
+  //Signal process id is obsolete in HepMC3
+  evcoll->push_back (std::make_unique<HepMC::GenEvent>());
+  evcoll.back()->set_event_number(4);
+  evcoll->push_back (std::make_unique<HepMC::GenEvent>());
+  evcoll.back()->set_event_number(5);
+  auto ge = std::make_unique<HepMC::GenEvent>();
+  ge->set_event_number(7);
+  auto gv = HepMC::newGenVertexPtr();
+  std::vector<HepMC::GenParticlePtr> parts;
+  for (size_t i = 0; i < 5; i++) {
+    auto gp = HepMC::newGenParticlePtr(HepMC::FourVector(i*10 + 1.5, i*10 + 2.5, i*10 +3.5, i*10 + 4.5), i+20);
+    parts.push_back (gp);
+    gv->add_particle_out (gp);
+  }
+  ge->add_vertex (gv);
+#else
   evcoll->push_back (std::make_unique<HepMC::GenEvent>(1000082, 4));
   evcoll->push_back (std::make_unique<HepMC::GenEvent>(1000087, 5));
 
@@ -96,6 +113,7 @@ void test1 (SGTest::TestStore& store)
     gv->add_particle_out (gp.release());
   }
   ge->add_vertex (gv.release());
+#endif
   evcoll->push_back (std::move(ge));
   store.record (std::move(evcoll), "GEN_AOD");
   // create a dummy EventContext
-- 
GitLab


From 408d68c235075b8178d16f6f95dccccbf2f81418 Mon Sep 17 00:00:00 2001
From: Andrii Verbytskyi <averbyts@cern.ch>
Date: Fri, 4 Dec 2020 15:50:12 +0100
Subject: [PATCH 2/2] Fix comp

---
 .../test/TruthParticleContainerCnv_p5_test.cxx               | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/test/TruthParticleContainerCnv_p5_test.cxx b/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/test/TruthParticleContainerCnv_p5_test.cxx
index f77fdab6c617..ab48c241e0cd 100644
--- a/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/test/TruthParticleContainerCnv_p5_test.cxx
+++ b/PhysicsAnalysis/TruthParticleID/McParticleEventTPCnv/test/TruthParticleContainerCnv_p5_test.cxx
@@ -95,11 +95,12 @@ void test1 (SGTest::TestStore& store)
 #ifdef HEPMC3
   //Signal process id is obsolete in HepMC3
   evcoll->push_back (std::make_unique<HepMC::GenEvent>());
-  evcoll.back()->set_event_number(4);
+  evcoll->back()->set_event_number(4);
   evcoll->push_back (std::make_unique<HepMC::GenEvent>());
-  evcoll.back()->set_event_number(5);
+  evcoll->back()->set_event_number(5);
   auto ge = std::make_unique<HepMC::GenEvent>();
   ge->set_event_number(7);
+  auto gv = HepMC::newGenVertexPtr();
   std::vector<HepMC::GenParticlePtr> parts;
   for (size_t i = 0; i < 5; i++) {
     auto gp = HepMC::newGenParticlePtr(HepMC::FourVector (i*10 + 1.5,i*10 + 2.5,i*10 + 3.5,i*10 + 4.5),i+20);
-- 
GitLab