|
| JHondaFluxInterpolator () |
| Default constructor. More...
|
|
| JHondaFluxInterpolator (const char *fileName) |
| Constructor. More...
|
|
void | load (const char *const fileName) |
| Load oscillation probability table from file. More...
|
|
bool | is_valid () const override final |
| Check whether this interpolator is valid. More...
|
|
double | getFactor (const int type, const double log10E, const double costh, const double phi) const |
| Get diffuse flux for given particle PDG-identifier, energy, cosine zenith angle and azimuth angle. More...
|
|
double | getFlux (const int type, const double log10E, const double costh, const double phi) const |
| Get flux of given event. More...
|
|
double | operator() (const int type, const double log10E, const double costh, const double phi) const |
| Get diffuse flux for given particle PDG-identifier, energy, cosine zenith angle and azimuth angle. More...
|
|
double | getFactor (const Evt &evt) const override final |
| Get flux of given event. More...
|
|
double | getFlux (const Evt &event) const |
| Get flux of given event. More...
|
|
JProperties | getProperties (const JEquationParameters &eqpars=JEvtWeightFactor::getEquationParameters()) override final |
| Get properties of this class. More...
|
|
JProperties | getProperties (const JEquationParameters &eqpars=JEvtWeightFactor::getEquationParameters()) const override final |
| Get properties of this class. More...
|
|
std::istream & | read (std::istream &in) override final |
| Stream input. More...
|
|
const JMultiFunction & | getMultiFunction () const |
| Get multidimensional function. More...
|
|
JMultiFunction & | getMultiFunction () |
| Get multidimensional function. More...
|
|
template<class __JFunction_t , class __JMaplist_t , class __JDistance_t > |
void | insert (const JMultiFunction< __JFunction_t, __JMaplist_t, __JDistance_t > &input) |
| Insert multidimensional input. More...
|
|
template<class JHistogram_t , class __JMaplist_t , class __JDistance_t > |
void | insert (const JMultiHistogram< JHistogram_t, __JMaplist_t, __JDistance_t > &input) |
| Insert multidimensional input. More...
|
|
void | compile () |
| Compilation. More...
|
|
void | setExceptionHandler (const typename function_type::supervisor_type &supervisor) |
| Set the supervisor for handling of exceptions. More...
|
|
template<class ... Args> |
result_type | operator() (const Args &...args) const |
| Multi-dimensional interpolation method call. More...
|
|
virtual clone_type | clone () const override |
| Get clone of this object. More...
|
|
|
template<unsigned int N, class __JAbscissa_t , class __JContents_t , template< class, class, class > class __JMap_t, class __JDistance_t > |
void | insert (const JMultiKey< N, argument_type > &key, const JHistogramMap< __JAbscissa_t, __JContents_t, __JMap_t, __JDistance_t > &input) |
| Insert multidimensional histogram at multidimensional key. More...
|
|
template<class __JElement_t , template< class, class > class __JContainer_t, class __JDistance_t > |
void | insert (const JMultiKey< JMapLength< JMaplist_t >::value, argument_type > &key, const JHistogram1D< __JElement_t, __JContainer_t, __JDistance_t > &input) |
| Convert one-dimensional histogram to PDF and insert result at given multidimensional key. More...
|
|
template<class JHistogram_t , class __JMaplist_t , class __JDistance_t > |
void | insert (const JMultiKey< JMapLength< JMaplist_t >::value, argument_type > &key, const JMultiHistogram< JHistogram_t, __JMaplist_t, __JDistance_t > &input) |
| Convert multidimensional histogram to PDF and insert result at given multidimensional key. More...
|
|
template<class JPhiFunction_t = JConstantFunction1D<double, JArray<4, double> >, template< class, class, class > class JCoszFunctionalMap_t = JPolint1FunctionalMap, template< class, class, class > class JEnergyFunctionalMap_t = JPolint1FunctionalMap>
class JAANET::JHondaFluxInterpolator< JPhiFunction_t, JCoszFunctionalMap_t, JEnergyFunctionalMap_t >
Template definition for Honda flux table interpolator.
Definition at line 193 of file JHondaFluxInterpolator.hh.
template<class JPhiFunction_t = JConstantFunction1D<double, JArray<4, double> >, template< class, class, class > class JCoszFunctionalMap_t = JPolint1FunctionalMap, template< class, class, class > class JEnergyFunctionalMap_t = JPolint1FunctionalMap>
template<class JPhiFunction_t = JConstantFunction1D<double, JArray<4, double> >, template< class, class, class > class JCoszFunctionalMap_t = JPolint1FunctionalMap, template< class, class, class > class JEnergyFunctionalMap_t = JPolint1FunctionalMap>
template<class JPhiFunction_t = JConstantFunction1D<double, JArray<4, double> >, template< class, class, class > class JCoszFunctionalMap_t = JPolint1FunctionalMap, template< class, class, class > class JEnergyFunctionalMap_t = JPolint1FunctionalMap>
template<class JPhiFunction_t = JConstantFunction1D<double, JArray<4, double> >, template< class, class, class > class JCoszFunctionalMap_t = JPolint1FunctionalMap, template< class, class, class > class JEnergyFunctionalMap_t = JPolint1FunctionalMap>
template<class JPhiFunction_t = JConstantFunction1D<double, JArray<4, double> >, template< class, class, class > class JCoszFunctionalMap_t = JPolint1FunctionalMap, template< class, class, class > class JEnergyFunctionalMap_t = JPolint1FunctionalMap>
double JAANET::JHondaFluxInterpolator< JPhiFunction_t, JCoszFunctionalMap_t, JEnergyFunctionalMap_t >::getFactor |
( |
const int |
type, |
|
|
const double |
log10E, |
|
|
const double |
costh, |
|
|
const double |
phi |
|
) |
| const |
|
inline |
Get diffuse flux for given particle PDG-identifier, energy, cosine zenith angle and azimuth angle.
- Parameters
-
type | PDG particle type |
log10E | logarithmic neutrino energy [GeV] |
costh | cosine zenith angle |
phi | azimuth angle (defined clockwise w.r.t. the North) [deg] |
- Returns
- diffuse flux [GeV^-1 * m^-2 * sr^-1 * s^-1]
< [–]
< [deg]
< Honda azimuth angle is defined counterclockwise w.r.t. the South
(c.f. arXiv:1102.2688), so a conversion is necessary.
Definition at line 330 of file JHondaFluxInterpolator.hh.
338 static const double epsilon_costh = 1.0e-3;
339 static const double epsilon_phi = 1.0;
341 static const JRange_t mod(0.0, 360.0);
345 const double _costh = min(max(costh, -1.0), 1.0);
346 const double _phi = mod.mod(180.0 - phi);
353 lnFluxes =
function(log10E, _costh, _phi);
362 const result_type& y1 =
function(log10E, x1, _phi);
363 const result_type& y2 =
function(log10E, x2, _phi);
365 lnFluxes = y1 + ((y2 - y1) / (x2 - x1)) * (_costh - x1);
372 const result_type& y1 =
function(log10E, x1, _phi);
373 const result_type& y2 =
function(log10E, x2, _phi);
375 lnFluxes = y1 + ((y2 - y1) / (x2 - x1)) * (_costh - x1);
382 const result_type& y1 =
function(log10E, _costh, x1);
383 const result_type& y2 =
function(log10E, _costh, x2);
385 lnFluxes = y1 + ((y2 - y1) / (x2 - x1)) * (_phi - x1);
392 const result_type& y1 =
function(log10E, _costh, x1);
393 const result_type& y2 =
function(log10E, _costh, x2);
395 lnFluxes = y1 + ((y2 - y1) / (x2 - x1)) * (_phi - x1);
408 lnFluxes = y1 + ((y2 - y1) / (c2 -
c1) / (p2 -
p1)) * (_costh -
p1) * (_phi -
p1);
421 lnFluxes = y1 + ((y2 - y1) / (c2 -
c1) / (p2 -
p1)) * (_costh -
p1) * (_phi -
p1);
434 lnFluxes = y1 + ((y2 - y1) / (c2 -
c1) / (p2 -
p1)) * (_costh -
p1) * (_phi -
p1);
447 lnFluxes = y1 + ((y2 - y1) / (c2 -
c1) / (p2 -
p1)) * (_costh -
p1) * (_phi -
p1);
453 return exp(lnFluxes[0]);
455 return exp(lnFluxes[1]);
457 return exp(lnFluxes[2]);
459 return exp(lnFluxes[3]);
TCanvas * c1
Global variables to handle mouse events.
multifunction_type::abscissa_type abscissa_type
JMultiFunction< JPhiFunction_t, JFunctionalMaplist_t > multifunction_type
Type definition of range.
template<class JPhiFunction_t = JConstantFunction1D<double, JArray<4, double> >, template< class, class, class > class JCoszFunctionalMap_t = JPolint1FunctionalMap, template< class, class, class > class JEnergyFunctionalMap_t = JPolint1FunctionalMap>
double JAANET::JHondaFluxInterpolator< JPhiFunction_t, JCoszFunctionalMap_t, JEnergyFunctionalMap_t >::getFlux |
( |
const int |
type, |
|
|
const double |
log10E, |
|
|
const double |
costh, |
|
|
const double |
phi |
|
) |
| const |
|
inline |
Get flux of given event.
- Parameters
-
type | PDG particle type |
log10E | logarithmic neutrino energy [GeV] |
costh | cosine zenith angle |
phi | azimuth angle (defined clockwise w.r.t. the North) [deg] |
- Returns
- diffuse flux [GeV^-1 * m^-2 * sr^-1 * s^-1]
Definition at line 475 of file JHondaFluxInterpolator.hh.
480 return getFactor(type, log10E, costh, phi);
double getFactor(const int type, const double log10E, const double costh, const double phi) const
Get diffuse flux for given particle PDG-identifier, energy, cosine zenith angle and azimuth angle.
template<class JPhiFunction_t = JConstantFunction1D<double, JArray<4, double> >, template< class, class, class > class JCoszFunctionalMap_t = JPolint1FunctionalMap, template< class, class, class > class JEnergyFunctionalMap_t = JPolint1FunctionalMap>
double JAANET::JHondaFluxInterpolator< JPhiFunction_t, JCoszFunctionalMap_t, JEnergyFunctionalMap_t >::operator() |
( |
const int |
type, |
|
|
const double |
log10E, |
|
|
const double |
costh, |
|
|
const double |
phi |
|
) |
| const |
|
inline |
Get diffuse flux for given particle PDG-identifier, energy, cosine zenith angle and azimuth angle.
- Parameters
-
type | PDG particle type |
log10E | logarithmic neutrino energy [GeV] |
costh | cosine zenith angle |
phi | azimuth angle (defined clockwise w.r.t. the North) [deg] |
- Returns
- diffuse flux [GeV^-1 * m^-2 * sr^-1 * s^-1]
Definition at line 493 of file JHondaFluxInterpolator.hh.
498 return getFactor(type, log10E, costh, phi);
template<class JPhiFunction_t = JConstantFunction1D<double, JArray<4, double> >, template< class, class, class > class JCoszFunctionalMap_t = JPolint1FunctionalMap, template< class, class, class > class JEnergyFunctionalMap_t = JPolint1FunctionalMap>
Get flux of given event.
- Parameters
-
- Returns
- flux [GeV^-1 * m^-2 * sr^-1 * s^-1]
< The gSeaGen azimuth angle is defined clockwise w.r.t. the North (c.f. arXiv:2003.14040)
Definition at line 508 of file JHondaFluxInterpolator.hh.
512 const double log10E = log10(neutrino.
E);
513 const double costh = neutrino.
dir.
z;
516 const double phi = atan(neutrino.
dir.
y / neutrino.
dir.
x) * 180.0 / M_PI;
const Trk & get_neutrino(const Evt &evt)
Get incoming neutrino.
The Trk class represents a Monte Carlo (MC) particle as well as a reconstructed track/shower.
int type
MC: particle type in PDG encoding.
double E
Energy [GeV] (either MC truth or reconstructed)
template<class JPhiFunction_t = JConstantFunction1D<double, JArray<4, double> >, template< class, class, class > class JCoszFunctionalMap_t = JPolint1FunctionalMap, template< class, class, class > class JEnergyFunctionalMap_t = JPolint1FunctionalMap>
template<class JPhiFunction_t = JConstantFunction1D<double, JArray<4, double> >, template< class, class, class > class JCoszFunctionalMap_t = JPolint1FunctionalMap, template< class, class, class > class JEnergyFunctionalMap_t = JPolint1FunctionalMap>
Get properties of this class.
- Parameters
-
eqpars | equation parameters |
Definition at line 539 of file JHondaFluxInterpolator.hh.
541 return JHondaFluxInterpolatorHelper(*
this, eqpars);
template<class JPhiFunction_t = JConstantFunction1D<double, JArray<4, double> >, template< class, class, class > class JCoszFunctionalMap_t = JPolint1FunctionalMap, template< class, class, class > class JEnergyFunctionalMap_t = JPolint1FunctionalMap>
Get properties of this class.
- Parameters
-
eqpars | equation parameters |
Definition at line 550 of file JHondaFluxInterpolator.hh.
552 return JHondaFluxInterpolatorHelper(*
this, eqpars);
template<class JPhiFunction_t = JConstantFunction1D<double, JArray<4, double> >, template< class, class, class > class JCoszFunctionalMap_t = JPolint1FunctionalMap, template< class, class, class > class JEnergyFunctionalMap_t = JPolint1FunctionalMap>
Stream input.
- Parameters
-
- Returns
- input stream
Definition at line 562 of file JHondaFluxInterpolator.hh.
566 streampos pos = in.tellg();
568 if (!(in >>
table)) {
580 this->check_validity();
JProperties getProperties(const JEquationParameters &eqpars=JEvtWeightFactor::getEquationParameters()) override final
Get properties of this class.
Utility class to parse parameter values.
template<class JFunction_t , class JMaplist_t , class JDistance_t = JDistance<typename JFunction_t::argument_type>>
template<class __JFunction_t , class __JMaplist_t , class __JDistance_t >
Insert multidimensional input.
- Parameters
-
input | multidimensional function |
Definition at line 121 of file JMultiFunction.hh.
template<class JFunction_t , class JMaplist_t , class JDistance_t = JDistance<typename JFunction_t::argument_type>>
template<unsigned int N, class __JAbscissa_t , class __JContents_t , template< class, class, class > class __JMap_t, class __JDistance_t >
Insert multidimensional histogram at multidimensional key.
- Parameters
-
key | multidimensional key |
input | multidimensional histogram |
Definition at line 196 of file JMultiFunction.hh.
199 if (input.size() > 1) {
201 for (
auto j = input.begin(), i =
j++;
j != input.end(); ++i, ++
j) {
template<class JFunction_t , class JMaplist_t , class JDistance_t = JDistance<typename JFunction_t::argument_type>>
template<class __JElement_t , template< class, class > class __JContainer_t, class __JDistance_t >
Convert one-dimensional histogram to PDF and insert result at given multidimensional key.
- Parameters
-
key | multidimensional key |
input | histogram |
Definition at line 218 of file JMultiFunction.hh.
226 multimap_type::insert(key,
buffer);
template<class JFunction_t , class JMaplist_t , class JDistance_t = JDistance<typename JFunction_t::argument_type>>
template<class JHistogram_t , class __JMaplist_t , class __JDistance_t >
Convert multidimensional histogram to PDF and insert result at given multidimensional key.
- Parameters
-
key | multidimensional key |
input | multidimensional histogram |
Definition at line 237 of file JMultiFunction.hh.
244 multimap_type::insert(key,
buffer);
template<class JPhiFunction_t = JConstantFunction1D<double, JArray<4, double> >, template< class, class, class > class JCoszFunctionalMap_t = JPolint1FunctionalMap, template< class, class, class > class JEnergyFunctionalMap_t = JPolint1FunctionalMap>
template<class JPhiFunction_t = JConstantFunction1D<double, JArray<4, double> >, template< class, class, class > class JCoszFunctionalMap_t = JPolint1FunctionalMap, template< class, class, class > class JEnergyFunctionalMap_t = JPolint1FunctionalMap>
template<class JPhiFunction_t = JConstantFunction1D<double, JArray<4, double> >, template< class, class, class > class JCoszFunctionalMap_t = JPolint1FunctionalMap, template< class, class, class > class JEnergyFunctionalMap_t = JPolint1FunctionalMap>