Skip to content
Snippets Groups Projects
Commit ff138c7b authored by Adam Edward Barton's avatar Adam Edward Barton
Browse files

Merge branch 'HepmC3_BeamEffects' into 'master'

Adapt BEamEffects package to HEPMC3

See merge request atlas/athena!36778
parents ac10b889 f4a476f2
No related branches found
No related tags found
No related merge requests found
...@@ -83,19 +83,19 @@ namespace Simulation ...@@ -83,19 +83,19 @@ namespace Simulation
{ {
//Ensure that we have a valid signal_process_vertex //Ensure that we have a valid signal_process_vertex
#ifdef HEPMC3 #ifdef HEPMC3
if( !HepMC::signal_process_vertex(ge) ) { if( !HepMC::signal_process_vertex(&ge) ) {
if(m_ISFRun) { if(m_ISFRun) {
ATH_MSG_DEBUG("No signal_process_vertex found - creating a dummy GenVertex."); ATH_MSG_DEBUG("No signal_process_vertex found - creating a dummy GenVertex.");
HepMC::FourVector signalPos( 0.0, 0.0, 0.0, 0.0); HepMC::FourVector signalPos( 0.0, 0.0, 0.0, 0.0);
HepMC::GenVertexPtr signalVertex = HepMC::newGenVertexPtr( signalPos ); HepMC::GenVertexPtr signalVertex = HepMC::newGenVertexPtr( signalPos );
// ge will now take ownership of the signal process vertex // ge will now take ownership of the signal process vertex
HepMC::set_signal_process_vertex(ge, signalVertex ); HepMC::set_signal_process_vertex(&ge, signalVertex );
} }
else { else {
if (!ge.vertices_empty()) { if (!ge.vertices().empty()) {
ATH_MSG_DEBUG("No signal_process_vertex found - using the first GenVertex in the event."); ATH_MSG_DEBUG("No signal_process_vertex found - using the first GenVertex in the event.");
HepMC::GenVertexPtr signalVertex = ge.vertices().front(); HepMC::GenVertexPtr signalVertex = ge.vertices().front();
HepMC::set_signal_process_vertex(ge,signalVertex ); HepMC::set_signal_process_vertex(&ge,signalVertex );
} }
} }
if( !HepMC::signal_process_vertex(&ge) ) { // Insanity check if( !HepMC::signal_process_vertex(&ge) ) { // Insanity check
......
...@@ -76,7 +76,7 @@ namespace Simulation ...@@ -76,7 +76,7 @@ namespace Simulation
ATH_MSG_WARNING("No first event found in the McEventCollection input collection, use default weight="<<weight); ATH_MSG_WARNING("No first event found in the McEventCollection input collection, use default weight="<<weight);
break; break;
} }
HepMC::GenVertex *signalVertex = GetSignalProcessVertex(*currentGenEvent); auto signalVertex = GetSignalProcessVertex(*currentGenEvent);
if(signalVertex) { if(signalVertex) {
//now calculate weight //now calculate weight
...@@ -130,17 +130,17 @@ namespace Simulation ...@@ -130,17 +130,17 @@ namespace Simulation
return StatusCode::SUCCESS; return StatusCode::SUCCESS;
} }
HepMC::GenVertex* BeamSpotReweightingAlg::GetSignalProcessVertex(const HepMC::GenEvent& ge) const HepMC::ConstGenVertexPtr BeamSpotReweightingAlg::GetSignalProcessVertex(const HepMC::GenEvent& ge) const
{ {
//Ensure that we have a valid signal_process_vertex //Ensure that we have a valid signal_process_vertex
#ifdef HEPMC3 #ifdef HEPMC3
if( !HepMC::signal_process_vertex(ge) ) { if( !HepMC::signal_process_vertex(&ge) ) {
if (!ge.vertices_empty()) { if (!ge.vertices().empty()) {
ATH_MSG_DEBUG("No signal_process_vertex found - using the first GenVertex in the event."); ATH_MSG_DEBUG("No signal_process_vertex found - using the first GenVertex in the event.");
HepMC::GenVertexPtr signalVertex = ge.vertices().front(); auto signalVertex = ge.vertices().front();
return signalVertex; return signalVertex;
} }
if( !HepMC::signal_process_vertex(ge) ) { // Insanity check if( !HepMC::signal_process_vertex(&ge) ) { // Insanity check
if (!ge.vertices().empty()) { if (!ge.vertices().empty()) {
ATH_MSG_ERROR("Failed to set signal_process_vertex for GenEvent!!"); ATH_MSG_ERROR("Failed to set signal_process_vertex for GenEvent!!");
return nullptr; return nullptr;
...@@ -151,7 +151,7 @@ namespace Simulation ...@@ -151,7 +151,7 @@ namespace Simulation
} }
else { else {
ATH_MSG_DEBUG("signal_process_vertex set by Generator."); ATH_MSG_DEBUG("signal_process_vertex set by Generator.");
return HepMC::signal_process_vertex(ge); return HepMC::signal_process_vertex(&ge);
} }
#else #else
if( !ge.signal_process_vertex() ) { if( !ge.signal_process_vertex() ) {
......
...@@ -53,7 +53,7 @@ namespace Simulation ...@@ -53,7 +53,7 @@ namespace Simulation
private: private:
/** Ensure that the GenEvent::signal_process_vertex has been set */ /** Ensure that the GenEvent::signal_process_vertex has been set */
HepMC::GenVertex* GetSignalProcessVertex(const HepMC::GenEvent& ge) const; HepMC::ConstGenVertexPtr GetSignalProcessVertex(const HepMC::GenEvent& ge) const;
SG::ReadHandleKey<McEventCollection> m_inputMcEventCollection { this, "InputMcEventCollection", "TruthEvent", "The name of the input McEventCollection" }; SG::ReadHandleKey<McEventCollection> m_inputMcEventCollection { this, "InputMcEventCollection", "TruthEvent", "The name of the input McEventCollection" };
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment