126 const marley::Particle& nu =
event.projectile();
127 const marley::Particle& lep =
event.ejectile();
128 double qx = nu.px() - lep.px();
129 double qy = nu.py() - lep.py();
130 double qz = nu.pz() - lep.pz();
131 double Enu = nu.total_energy();
132 double Elep = lep.total_energy();
133 double Q2 = qx*qx + qy*qy + qz*qz -
std::pow(Enu - Elep, 2);
137 double bjorken_x = Q2 / (2 *
event.target().mass() * (Enu - Elep));
138 double inelasticity_y = 1. - Elep / Enu;
144 const marley::Particle& res =
event.residue();
145 double hadronic_mass_W = res.mass() +
event.Ex();
152 marley_utils::get_nucleus_pid(18, 40),
153 marley_utils::NEUTRON,
155 hadronic_mass_W * MeV_to_GeV,
161 if ( marley_event ) *marley_event =
event;
std::unique_ptr< marley::Generator > fMarleyGenerator
void add_marley_particles(simb::MCTruth &truth, const std::vector< marley::Particle * > &particles, const TLorentzVector &vtx_pos, bool track)
double Q2(const Interaction *const i)
void SetOrigin(simb::Origin_t origin)
void SetNeutrino(int CCNC, int mode, int interactionType, int target, int nucleon, int quark, double w, double x, double y, double qsqr)
std::stringstream fMarleyLogStream
#define MF_LOG_INFO(category)
n.b.: this group is similar but not quite, entirely unlike GENIE ScatteringType convention ...
void line(double t, double *p, double &x, double &y, double &z)
Event generator information.
Event finding and building.