MARLEY (Model of Argon Reaction Low Energy Yields)  v1.1.0
A Monte Carlo event generator for tens-of-MeV neutrino-nucleus interactions in liquid argon
 All Classes Functions Variables Enumerations Pages
Public Member Functions | Protected Attributes | List of all members
marley::BetaFitNeutrinoSource Class Reference

"Beta-fit" neutrino source More...

#include <NeutrinoSource.hh>

Inheritance diagram for marley::BetaFitNeutrinoSource:
marley::NeutrinoSource

Public Member Functions

 BetaFitNeutrinoSource (int particle_id=marley_utils::ELECTRON_NEUTRINO, double Emin=0., double Emax=50., double Emean=13., double beta=4.5)
 
virtual double get_Emax () const override
 Get the maximum neutrino energy (MeV) that can be sampled by this source.
 
virtual double get_Emin () const override
 Get the minimum neutrino energy (MeV) that can be sampled by this source.
 
virtual double pdf (double E) override
 Probability density function describing the incident neutrino energy distribution. More...
 
- Public Member Functions inherited from marley::NeutrinoSource
 NeutrinoSource (int particle_id)
 
virtual int get_pid () const
 Get the PDG particle ID for the neutrino type produced by this source.
 
virtual double sample_incident_neutrino (int &pdg, marley::Generator &gen)
 Samples an incident neutrino energy and loads pdg with the PDG code of the appropriate neutrino type. More...
 

Protected Attributes

double beta_
 pinching parameter
 
double C_
 dimensionless normalization constant
 
double Emax_
 
double Emean_
 mean neutrino energy More...
 
double Emin_
 minimum neutrino energy (MeV)
 
- Protected Attributes inherited from marley::NeutrinoSource
int pid_
 PDG particle ID for the neutrinos produced by this source.
 

Additional Inherited Members

- Static Public Member Functions inherited from marley::NeutrinoSource
static bool pdg_is_allowed (const int pdg)
 

Detailed Description

"Beta-fit" neutrino source

Neutrino energies from this source are sampled from a "beta-fit" spectrum (see, for example, equation 7 in this preprint) with mean neutrino energy \(E_\text{mean}\) and fit parameter \(\beta\). The probability density function is given by

\begin{align*} P(E) &= C\left(E/\,E_\text{mean}\right)^{\beta - 1} \exp\left(-\beta\,E/\,E_\text{mean}\right) & \text{E}_\text{min} \leq E \leq \text{E}_\text{max} \end{align*}

where \(C\) is a normalization constant.

Constructor & Destructor Documentation

marley::BetaFitNeutrinoSource::BetaFitNeutrinoSource ( int  particle_id = marley_utils::ELECTRON_NEUTRINO,
double  Emin = 0.,
double  Emax = 50.,
double  Emean = 13.,
double  beta = 4.5 
)
Parameters
particle_idPDG particle ID for the neutrinos produced by this source
Eminminimum allowed neutrino energy (MeV)
Emaxmaximum allowed neutrino energy (MeV)
Emeanmean neutrino energy (MeV)
betadimensionless fit parameter
Todo:
Remove hard-coded number of integration subintervals in this function

Member Function Documentation

double marley::BetaFitNeutrinoSource::pdf ( double  E)
overridevirtual

Probability density function describing the incident neutrino energy distribution.

The neutrino spectrum produced by this source will be folded with the relevant cross sections by a Generator object during event creation

Parameters
Eneutrino energy (MeV)
Returns
Probability density (MeV -1)

Implements marley::NeutrinoSource.

Member Data Documentation

double marley::BetaFitNeutrinoSource::Emax_
protected

maximum neutrino energy (MeV)

double marley::BetaFitNeutrinoSource::Emean_
protected

mean neutrino energy

Note
This is exactly the mean neutrino energy only if \( E_\text{min} = 0 \) and \( Emax = \infty \). Truncating the distribution may alter the mean value appreciably.

The documentation for this class was generated from the following files: