41 std::vector<HepMC::GenVertexPtr> lambda_vertices_to_remove;
42 for (
auto part: **evt){
43 const int abspid = std::abs(part->pdg_id());
44 if (abspid != 310 && abspid != 3122 && abspid != 3222 && abspid != 3112 && abspid != 3322 && abspid != 3312 && abspid != 3334 )
continue;
45 if (!part->end_vertex())
continue;
46 lambda_vertices_to_remove.push_back(part->end_vertex());
49 for (
auto v: lambda_vertices_to_remove) (*evt)->remove_vertex(std::move(v));
54 return StatusCode::FAILURE;
60 auto pdfinfo = evt->pdf_info();
61 auto ion = evt->heavy_ion();
63 std::cout <<
"PdfInfo: "
64 << pdfinfo->parton_id[0] <<
", "
65 << pdfinfo->parton_id[1] <<
", "
66 << pdfinfo->x[0] <<
", "
67 << pdfinfo->x[1] <<
", "
68 << pdfinfo->scale <<
", "
69 << pdfinfo->xf[0] <<
", "
70 << pdfinfo->xf[1] <<
", "
71 << pdfinfo->pdf_id[0] <<
", "
77 std::cout << std::endl;
78 std::cout <<
"Heavy Ion: "
79 << ion->Ncoll_hard <<
", "
80 << ion->Npart_proj <<
" , "
81 << ion->Npart_targ<<
", "
83 << ion->spectator_neutrons <<
", "
84 << ion->spectator_protons <<
", "
85 << ion->N_Nwounded_collisions <<
", "
86 << ion->Nwounded_N_collisions <<
", "
87 << ion->Nwounded_Nwounded_collisions <<
", "
88 << ion->impact_parameter <<
", "
89 << ion->event_plane_angle <<
", "
90 << ion->eccentricity <<
", "
96 HepMC::Print::line(std::cout,*evt);
99 for (
auto part: *evt) {
100 double rapid =part->momentum().pseudoRapidity();
101 double phi = part->momentum().phi();
102 double et=part->momentum().perp();
103 int p_stat=part->status();
104 int p_id = part->pdg_id();
105 std::cout <<
" eta = " << rapid<<
" Phi = " <<
phi <<
" Et = " <<
et/
GeV <<
" Status= " << p_stat <<
" PDG ID= "<< p_id << std::endl;
109 for (
const auto& pitr: *evt) {
110 int p_stat=pitr->status();
111 if(p_stat==2 && pitr->production_vertex() && pitr->end_vertex()) {
112 const auto& prodVtx = pitr->production_vertex()->position();
113 const auto& endVtx = pitr->end_vertex()->position();
114 const CLHEP::HepLorentzVector lv0( prodVtx.x(), prodVtx.y(), prodVtx.z(), prodVtx.t() );
115 const CLHEP::HepLorentzVector lv1( endVtx.x(), endVtx.y(), endVtx.z(), endVtx.t() );
117 CLHEP::HepLorentzVector dist4D(lv1);
119 CLHEP::Hep3Vector dist3D=dist4D.vect();
120 if(dist3D.mag()>1*Gaudi::Units::mm) {
121 const auto& GenMom = pitr->momentum();
122 const CLHEP::HepLorentzVector mom( GenMom.x(), GenMom.y(), GenMom.z(), GenMom.t() );
126 ATH_MSG_INFO(
" gamma(Momentum)="<<mom.gamma()<<
" gamma(Vertices)="<<dist4D.gamma());
133 return StatusCode::SUCCESS;