From aa7fb7273342c1c716f21bf18cd3cebf70a6604e Mon Sep 17 00:00:00 2001 From: Tom Polakovic <tpolakovic@anl.gov> Date: Mon, 20 Jul 2020 17:31:00 -0500 Subject: [PATCH] histogram --- forward_ions_reader.cxx | 44 ++++++++++++++++++++++++++++++++ results/forward_ions_reader.pdf | Bin 0 -> 14230 bytes results/forward_ions_reader.png | Bin 0 -> 7185 bytes 3 files changed, 44 insertions(+) create mode 100644 forward_ions_reader.cxx create mode 100644 results/forward_ions_reader.pdf create mode 100644 results/forward_ions_reader.png diff --git a/forward_ions_reader.cxx b/forward_ions_reader.cxx new file mode 100644 index 0000000..a2886fd --- /dev/null +++ b/forward_ions_reader.cxx @@ -0,0 +1,44 @@ +#include "HepMC3/GenEvent.h" +#include "HepMC3/ReaderAscii.h" +#include "HepMC3/WriterAscii.h" +#include "HepMC3/Print.h" + +#include "TH1F.h" +#include <iostream> +using namespace HepMC3; + +void forward_ions_reader(){ + + //------------------------------------- + ReaderAscii hepmc_input("data/forward_ions.hepmc"); + int events_parsed = 0; + GenEvent evt(Units::GEV, Units::MM); + + TH1F* h_neutron_energy = new TH1F("eta","; eta",100,0,10); + + while(!hepmc_input.failed()) { + // Read event from input file + hepmc_input.read_event(evt); + + // If reading failed - exit loop + if( hepmc_input.failed() ) break; + + for(const auto& v : evt.vertices() ) { + for(const auto& p : v->particles_out() ) { + if(p->pid() == 2212) { + h_neutron_energy->Fill(p->momentum().eta()); + } + } + } + evt.clear(); + events_parsed++; + } + std::cout << "Events parsed and written: " << events_parsed << std::endl; + + TCanvas* c = new TCanvas(); + h_neutron_energy->Draw(); + c->SaveAs("results/forward_ions_reader.png"); + c->SaveAs("results/forward_ions_reader.pdf"); +} + + diff --git a/results/forward_ions_reader.pdf b/results/forward_ions_reader.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6a7612828b868aa753d40760f7aa3a5a3e4f455e GIT binary patch literal 14230 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 literal 0 HcmV?d00001 diff --git a/results/forward_ions_reader.png b/results/forward_ions_reader.png new file mode 100644 index 0000000000000000000000000000000000000000..415d7548df1a2bc463f6f4a7b6fa1848ec907979 GIT binary patch literal 7185 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 literal 0 HcmV?d00001 -- GitLab