Optimized version of OscCalcPMNS. More...
#include "/cvmfs/nova-development.opensciencegrid.org/novasoft/releases/N21-01-18/CAFAna/Core/StanTypedefs.h"
Classes | |
struct | Val_t |
Public Member Functions | |
_OscCalcPMNSOpt () | |
virtual | ~_OscCalcPMNSOpt () |
_IOscCalcAdjustable< T > * | Copy () const override |
T | P (int flavBefore, int flavAfter, double E) override |
E in GeV; flavors as PDG codes (so, neg==>antinu) More... | |
void | SetL (double L) override |
void | SetRho (double rho) override |
void | SetDmsq21 (const T &dmsq21) override |
void | SetDmsq32 (const T &dmsq32) override |
void | SetTh13 (const T &th13) override |
void | SetTh12 (const T &th12) override |
void | SetTh23 (const T &th23) override |
void | SetdCP (const T &dCP) override |
TMD5 * | GetParamsHash () const override |
Use to check two calculators are in the same state. More... | |
virtual double | GetL () const |
virtual double | GetRho () const |
virtual T | GetDmsq21 () const |
virtual T | GetDmsq32 () const |
virtual T | GetTh12 () const |
virtual T | GetTh13 () const |
virtual T | GetTh23 () const |
virtual T | GetdCP () const |
virtual void | InvalidateCache () |
Invalidate any caching used internally by the calculator. More... | |
virtual Eigen::Array< T, Eigen::Dynamic, 1 > | P (int flavBefore, int flavAfter, const std::vector< double > &E) |
virtual Eigen::Array< T, Eigen::Dynamic, 1 > | P (int flavBefore, int flavAfter, const Eigen::ArrayXd &E) |
Protected Member Functions | |
TMD5 * | GetParamsHashDefault (const std::string &txt) const |
This is only a safe implementation if your calculator only depends on these eight parameters. More... | |
Protected Attributes | |
long | fMixIdx |
long | fDmIdx |
long | fLRIdx |
std::unordered_map< double, Val_t > | fPMNSOpt [2] |
double | fRho |
double | fL |
T | fDmsq21 |
T | fDmsq32 |
T | fTh12 |
T | fTh13 |
T | fTh23 |
T | fdCP |
Optimized version of OscCalcPMNS.
Adapt the PMNSOpt calculator to standard interface
Definition at line 31 of file StanTypedefs.h.
osc::_OscCalcPMNSOpt< T >::_OscCalcPMNSOpt | ( | ) |
Definition at line 7 of file OscCalcPMNSOpt.cxx.
|
virtual |
Definition at line 14 of file OscCalcPMNSOpt.cxx.
References osc::_OscCalcPMNSOpt< T >::fPMNSOpt, MECModelEnuComparisons::i, and it.
|
overridevirtual |
Implements osc::_IOscCalcAdjustable< T >.
Definition at line 23 of file OscCalcPMNSOpt.cxx.
References osc::_OscCalcPMNSOpt< T >::fPMNSOpt, and runNovaSAM::ret.
|
inlinevirtualinherited |
Reimplemented in osc::OscCalcCPT.
Definition at line 95 of file IOscCalc.h.
Referenced by osc::CopyParams(), osc::OscCalcCPT::GetdCP(), getHists_FNEX(), joint_fit_2017_make_fc_slice(), joint_fit_2017_make_fc_surf(), jointsensitivity(), ana::ResetOscCalcToTemplate(), ana::ResetSterileCalcToDefault(), ana::SaveTo(), ana::FitSinSq2Theta13::SetValue(), test_ana(), and test_nue2018_fitter().
|
inlinevirtualinherited |
Reimplemented in osc::OscCalcCPT.
Definition at line 90 of file IOscCalc.h.
Referenced by osc::CopyParams(), ana::SolarConstraints::Dmsq21(), osc::OscCalcCPT::GetDmsq21(), ana::FitDmSq21::GetValue(), ana::ResetOscCalcToTemplate(), ana::ResetSterileCalcToDefault(), and ana::SaveTo().
|
inlinevirtualinherited |
Reimplemented in osc::OscCalcCPT.
Definition at line 91 of file IOscCalc.h.
Referenced by CAF_makeCAFSensitivities_for_FNEX(), cc(), ana::Dmsq32Constraint::ChiSq(), ana::AtmConstraint::ChiSq(), osc::CopyParams(), demoFitContours(), demoFitSlices(), getBestFit(), osc::OscCalcCPT::GetDmsq32(), getHists_FNEX(), ana::FitDmSq32::GetValue(), ana::FitDmSq32Scaled::GetValue(), ana::FitDmSq32NormalHierarchy::GetValue(), ana::FitDmSq32ScaledNH::GetValue(), ana::FitDmSq32ScaledIH::GetValue(), ana::FitDmSq32InvertedHierarchy::GetValue(), joint_fit_2017_contours(), joint_fit_2017_slices(), joint_fit_2018_contours(), joint_fit_2018_slices(), joint_fit_2019_contours(), joint_fit_2019_slices(), joint_fit_future_contour_univ(), jointsensitivity(), MakeCAFSensitivities_for_FNEX(), plot_3NDvsFD(), plot_NDvsFD_REW(), plot_NDvsFD_weights(), plot_nueFD_Signal_REWvsNOM(), ana::ResetOscCalcToTemplate(), ana::ResetSterileCalcToDefault(), run_joint_fit_2020_contours(), run_joint_fit_2020_slices(), ana::SaveTo(), sensitivity2018(), sensitivity2020(), test_nue2018_fitter(), test_nueextrapsyst(), Tutorial2019FitContours(), and Tutorial2019FitSlices().
|
inlinevirtualinherited |
Reimplemented in osc::OscCalcCPT, and osc::OscCalcSterile.
Definition at line 88 of file IOscCalc.h.
Referenced by ana::T2KToyExperiment::ChiSq(), osc::CopyParams(), osc::OscCalcCPT::GetL(), ana::ResetSterileCalcToDefault(), ana::SaveTo(), and ana::T2KToyExperiment::SetTruthParams().
|
inlineoverridevirtual |
Use to check two calculators are in the same state.
Reimplemented from osc::_IOscCalc< T >.
Definition at line 45 of file OscCalcPMNSOpt.h.
References osc::_IOscCalcAdjustable< T >::GetParamsHashDefault().
|
protectedinherited |
This is only a safe implementation if your calculator only depends on these eight parameters.
txt | A string to uniquely identify your calculator class |
Definition at line 49 of file IOscCalc.cxx.
References runNovaSAM::ret, and T.
Referenced by osc::_OscCalcPMNS< T >::GetParamsHash(), osc::_OscCalcPMNSOpt< T >::GetParamsHash(), and osc::analytic::_OscCalc< T >::GetParamsHash().
|
inlinevirtualinherited |
Reimplemented in osc::OscCalcCPT, and osc::OscCalcSterile.
Definition at line 89 of file IOscCalc.h.
Referenced by osc::CopyParams(), osc::OscCalcCPT::GetRho(), ana::ResetSterileCalcToDefault(), and ana::SaveTo().
|
inlinevirtualinherited |
Reimplemented in osc::OscCalcCPT.
Definition at line 92 of file IOscCalc.h.
Referenced by osc::CopyParams(), osc::OscCalcCPT::GetTh12(), ana::FitTanSqTheta12::GetValue(), ana::FitSinSq2Theta12::GetValue(), ana::ResetOscCalcToTemplate(), ana::ResetSterileCalcToDefault(), ana::SaveTo(), and ana::SolarConstraints::Th12().
|
inlinevirtualinherited |
Reimplemented in osc::OscCalcCPT.
Definition at line 93 of file IOscCalc.h.
Referenced by osc::CopyParams(), demoFitContours(), osc::OscCalcCPT::GetTh13(), ana::FitTheta13::GetValue(), ana::FitSinSq2Theta13::GetValue(), joint_fit_2018_contours(), joint_fit_future_bestfit_univ(), monoprob(), ana::ResetOscCalcToTemplate(), ana::ResetSterileCalcToDefault(), ana::SaveTo(), sensitivity2020(), test_ana(), and Tutorial2019FitContours().
|
inlinevirtualinherited |
Reimplemented in osc::OscCalcCPT.
Definition at line 94 of file IOscCalc.h.
Referenced by cc(), ana::AtmConstraint::ChiSq(), ana::Ssth23Constraint::ChiSq(), osc::CopyParams(), getBestFit(), osc::OscCalcCPT::GetTh23(), ana::FitSinSqTheta23::GetValue(), FitSinSqTheta23UO::GetValue(), ana::FitSinSqTheta23UpperOctant::GetValue(), FitSinSqTheta23LO::GetValue(), ana::FitSinSqTheta23LowerOctant::GetValue(), ana::FitSinSq2Theta23::GetValue(), FitSinSqTheta23MaxMix::GetValue(), FitSinSqTheta23LowerOctant::GetValue(), FitSinSqTheta23UpperOctant::GetValue(), jointsensitivity(), ana::ResetOscCalcToTemplate(), ana::ResetSterileCalcToDefault(), ana::SaveTo(), and test_nue2018_fitter().
|
inlinevirtualinherited |
Invalidate any caching used internally by the calculator.
Some calculators use a cache that can become stale in ways that the calculator may not know about (e.g., Stan var clearing). Default implementation does nothing.
Reimplemented in osc::_OscCalcDMP< T >.
Definition at line 102 of file IOscCalc.h.
|
virtualinherited |
Default implementation forwards to non-vector version using a simple loop. Override if your calculator has a more efficient implementation.
Reimplemented in osc::analytic::_OscCalc< T >, osc::OscCalcPMNSOptEigen, and osc::_OscCalcDMP< T >.
Definition at line 27 of file IOscCalc.cxx.
References MECModelEnuComparisons::i, osc::_IOscCalc< T >::P(), runNovaSAM::ret, and submit_hadd::u.
Referenced by osc::_IOscCalc< T >::P().
|
virtualinherited |
Default implementation forawrds to vector<double> version. Override if your calculator has a more efficient implementation.
Reimplemented in osc::analytic::_OscCalc< T >.
Definition at line 37 of file IOscCalc.cxx.
References P.
|
overridevirtual |
E in GeV; flavors as PDG codes (so, neg==>antinu)
Implements osc::_IOscCalc< T >.
Definition at line 38 of file OscCalcPMNSOpt.cxx.
References abs(), ana::assert(), calc, osc::_OscCalcPMNSOpt< T >::Val_t::dmIdx, osc::_IOscCalcAdjustable< T >::fdCP, osc::_OscCalcPMNSOpt< T >::fDmIdx, osc::_IOscCalcAdjustable< T >::fDmsq21, osc::_IOscCalcAdjustable< T >::fDmsq32, osc::_IOscCalcAdjustable< T >::fL, osc::_OscCalcPMNSOpt< T >::fLRIdx, osc::_OscCalcPMNSOpt< T >::fMixIdx, osc::_OscCalcPMNSOpt< T >::fPMNSOpt, osc::_IOscCalcAdjustable< T >::fRho, osc::_IOscCalcAdjustable< T >::fTh12, osc::_IOscCalcAdjustable< T >::fTh13, osc::_IOscCalcAdjustable< T >::fTh23, MECModelEnuComparisons::i, it, calib::j, osc::_OscCalcPMNSOpt< T >::Val_t::lrIdx, osc::_OscCalcPMNSOpt< T >::Val_t::mixIdx, osc::_OscCalcPMNSOpt< T >::Val_t::P, osc::_OscCalcPMNSOpt< T >::Val_t::pmns, and gen_hdf5record::size.
Referenced by Toy_analyses().
|
inlineoverridevirtual |
Implements osc::_IOscCalcAdjustable< T >.
Definition at line 43 of file OscCalcPMNSOpt.h.
References dCP, osc::_IOscCalcAdjustable< T >::fdCP, and osc::_OscCalcPMNSOpt< T >::fMixIdx.
Referenced by cc(), ComparisonPlots_MC(), demo3(), demo4(), demo5(), drawPlot(), FD_plots(), GetHistVectors(), make_quantile_cuts_predictions(), makePred(), modularextrap_demo_nue(), modularextrap_demo_numu(), nue_pid_effs_paper_numu_neweff(), plot_3NDvsFD(), plot_NDvsFD_REW(), plot_NDvsFD_weights(), plot_nueFD_Signal_REWvsNOM(), test_ana(), test_genie_systs(), and test_nueextrapsyst().
|
inlineoverridevirtual |
Implements osc::_IOscCalcAdjustable< T >.
Definition at line 38 of file OscCalcPMNSOpt.h.
References osc::_OscCalcPMNSOpt< T >::fDmIdx, and osc::_IOscCalcAdjustable< T >::fDmsq21.
Referenced by cc(), demo3(), demo4(), demo5(), getTimePeakPlots(), make_quantile_cuts_predictions(), modularextrap_demo_nue(), modularextrap_demo_numu(), nue_pid_effs_paper_numu_neweff(), test_ana(), and test_genie_systs().
|
inlineoverridevirtual |
Implements osc::_IOscCalcAdjustable< T >.
Definition at line 39 of file OscCalcPMNSOpt.h.
References dmsq32, osc::_OscCalcPMNSOpt< T >::fDmIdx, and osc::_IOscCalcAdjustable< T >::fDmsq32.
Referenced by cc(), ComparisonPlots_MC(), demo3(), demo4(), demo5(), drawPlot(), drawSystsShiftingNDdata(), drawSystsShiftingNDdata_updatedAna(), FD_plots(), GetHistVectors(), getPredictions(), getSensitivity(), getTimePeakPlots(), make_quantile_cuts_predictions(), makePred(), modularextrap_demo_nue(), modularextrap_demo_numu(), nue_pid_effs_paper_numu_neweff(), plot_3NDvsFD(), plot_NDvsFD_REW(), plot_NDvsFD_weights(), plot_nueFD_Signal_REWvsNOM(), test_ana(), test_genie_systs(), test_nueextrapsyst(), and Toy_analyses().
|
inlineoverridevirtual |
Implements osc::_IOscCalcAdjustable< T >.
Definition at line 36 of file OscCalcPMNSOpt.h.
References osc::_IOscCalcAdjustable< T >::fL, osc::_OscCalcPMNSOpt< T >::fLRIdx, and CLHEP::L.
Referenced by cc(), demo3(), demo4(), demo5(), make_quantile_cuts_predictions(), modularextrap_demo_nue(), modularextrap_demo_numu(), nue_pid_effs_paper_numu_neweff(), test_ana(), and test_genie_systs().
|
inlineoverridevirtual |
Implements osc::_IOscCalcAdjustable< T >.
Definition at line 37 of file OscCalcPMNSOpt.h.
References osc::_OscCalcPMNSOpt< T >::fLRIdx, and osc::_IOscCalcAdjustable< T >::fRho.
Referenced by cc(), demo3(), demo4(), demo5(), make_quantile_cuts_predictions(), modularextrap_demo_nue(), modularextrap_demo_numu(), nue_pid_effs_paper_numu_neweff(), test_ana(), and test_genie_systs().
|
inlineoverridevirtual |
Implements osc::_IOscCalcAdjustable< T >.
Definition at line 41 of file OscCalcPMNSOpt.h.
References osc::_OscCalcPMNSOpt< T >::fMixIdx, osc::_IOscCalcAdjustable< T >::fTh12, and th12.
Referenced by cc(), demo3(), demo4(), demo5(), getTimePeakPlots(), make_quantile_cuts_predictions(), modularextrap_demo_nue(), modularextrap_demo_numu(), nue_pid_effs_paper_numu_neweff(), test_ana(), and test_genie_systs().
|
inlineoverridevirtual |
Implements osc::_IOscCalcAdjustable< T >.
Definition at line 40 of file OscCalcPMNSOpt.h.
References osc::_OscCalcPMNSOpt< T >::fMixIdx, osc::_IOscCalcAdjustable< T >::fTh13, and th13.
Referenced by cc(), demo3(), demo4(), demo5(), getTimePeakPlots(), make_quantile_cuts_predictions(), modularextrap_demo_nue(), modularextrap_demo_numu(), nue_pid_effs_paper_numu_neweff(), test_ana(), and test_genie_systs().
|
inlineoverridevirtual |
Implements osc::_IOscCalcAdjustable< T >.
Definition at line 42 of file OscCalcPMNSOpt.h.
References osc::_OscCalcPMNSOpt< T >::fMixIdx, osc::_IOscCalcAdjustable< T >::fTh23, and th23.
Referenced by cc(), ComparisonPlots_MC(), demo3(), demo4(), demo5(), drawPlot(), drawSystsShiftingNDdata(), drawSystsShiftingNDdata_updatedAna(), FD_plots(), GetHistVectors(), getPredictions(), getSensitivity(), getTimePeakPlots(), make_quantile_cuts_predictions(), makePred(), modularextrap_demo_nue(), modularextrap_demo_numu(), nue_pid_effs_paper_numu_neweff(), plot_3NDvsFD(), plot_NDvsFD_REW(), plot_NDvsFD_weights(), plot_nueFD_Signal_REWvsNOM(), test_ana(), test_genie_systs(), test_nueextrapsyst(), and Toy_analyses().
|
protectedinherited |
Definition at line 119 of file IOscCalc.h.
Referenced by osc::analytic::_OscCalc< T >::_P(), osc::OscCalc::OscCalc(), osc::OscCalcPMNS_CPT::P(), osc::_OscCalcPMNS< T >::P(), osc::_OscCalcPMNSOpt< T >::P(), osc::OscCalcPMNS_CPT::SetdCP(), osc::OscCalcGeneral::SetdCP(), osc::_OscCalcPMNS< T >::SetdCP(), osc::_OscCalcPMNSOpt< T >::SetdCP(), osc::OscCalc::SetdCP(), osc::analytic::_OscCalc< T >::SetdCP(), and osc::OscCalc::UpdateEDep().
|
protected |
Definition at line 53 of file OscCalcPMNSOpt.h.
Referenced by osc::_OscCalcPMNSOpt< T >::P(), osc::_OscCalcPMNSOpt< T >::SetDmsq21(), and osc::_OscCalcPMNSOpt< T >::SetDmsq32().
|
protectedinherited |
Definition at line 114 of file IOscCalc.h.
Referenced by osc::OscCalc::OscCalc(), osc::OscCalcPMNS_CPT::P(), osc::_OscCalcPMNS< T >::P(), osc::_OscCalcPMNSOpt< T >::P(), osc::OscCalcGeneral::P(), osc::OscCalcGeneral::SetDmsq21(), osc::OscCalcPMNS_CPT::SetDmsq21(), osc::_OscCalcPMNS< T >::SetDmsq21(), osc::_OscCalcPMNSOpt< T >::SetDmsq21(), osc::OscCalc::SetDmsq21(), osc::analytic::_OscCalc< T >::SetDmsq21(), osc::analytic::SolveCubic(), and osc::OscCalc::UpdateBasic().
|
protectedinherited |
Definition at line 115 of file IOscCalc.h.
Referenced by osc::OscCalc::OscCalc(), osc::OscCalcPMNS_CPT::P(), osc::_OscCalcPMNS< T >::P(), osc::_OscCalcPMNSOpt< T >::P(), osc::OscCalcGeneral::P(), osc::OscCalcPMNS_CPT::SetDmsq32(), osc::OscCalcGeneral::SetDmsq32(), osc::_OscCalcPMNS< T >::SetDmsq32(), osc::_OscCalcPMNSOpt< T >::SetDmsq32(), osc::OscCalc::SetDmsq32(), osc::analytic::_OscCalc< T >::SetDmsq32(), osc::analytic::SolveCubic(), and osc::OscCalc::UpdateBasic().
|
protectedinherited |
Definition at line 113 of file IOscCalc.h.
Referenced by osc::analytic::_OscCalc< T >::_P(), osc::OscCalcPMNS_CPT::GetParamsHashDefaultBar(), osc::OscCalc::OscCalc(), osc::OscCalcPMNS_CPT::P(), osc::_OscCalcPMNS< T >::P(), osc::_OscCalcPMNSOpt< T >::P(), osc::OscCalcGeneral::P(), osc::OscCalcGeneral::SetL(), osc::OscCalcPMNS_CPT::SetL(), osc::_OscCalcPMNS< T >::SetL(), osc::_OscCalcPMNSOpt< T >::SetL(), osc::OscCalc::SetL(), osc::analytic::_OscCalc< T >::SetL(), and osc::OscCalc::UpdateEDep().
|
protected |
Definition at line 54 of file OscCalcPMNSOpt.h.
Referenced by osc::_OscCalcPMNSOpt< T >::P(), osc::_OscCalcPMNSOpt< T >::SetL(), and osc::_OscCalcPMNSOpt< T >::SetRho().
|
protected |
Definition at line 52 of file OscCalcPMNSOpt.h.
Referenced by osc::_OscCalcPMNSOpt< T >::P(), osc::_OscCalcPMNSOpt< T >::SetdCP(), osc::_OscCalcPMNSOpt< T >::SetTh12(), osc::_OscCalcPMNSOpt< T >::SetTh13(), and osc::_OscCalcPMNSOpt< T >::SetTh23().
|
protected |
Definition at line 70 of file OscCalcPMNSOpt.h.
Referenced by osc::_OscCalcPMNSOpt< T >::Copy(), osc::_OscCalcPMNSOpt< T >::P(), and osc::_OscCalcPMNSOpt< T >::~_OscCalcPMNSOpt().
|
protectedinherited |
Definition at line 112 of file IOscCalc.h.
Referenced by osc::analytic::_OscCalc< T >::GetParamsHash(), osc::OscCalcPMNS_CPT::GetParamsHashDefaultBar(), osc::OscCalc::OscCalc(), osc::OscCalcPMNS_CPT::P(), osc::_OscCalcPMNS< T >::P(), osc::_OscCalcPMNSOpt< T >::P(), osc::OscCalcGeneral::P(), osc::OscCalcGeneral::SetRho(), osc::OscCalcPMNS_CPT::SetRho(), osc::_OscCalcPMNS< T >::SetRho(), osc::_OscCalcPMNSOpt< T >::SetRho(), osc::OscCalc::SetRho(), osc::analytic::_OscCalc< T >::SetRho(), and osc::OscCalc::UpdateBasic().
|
protectedinherited |
Definition at line 116 of file IOscCalc.h.
Referenced by osc::analytic::_OscCalc< T >::_P(), osc::OscCalc::OscCalc(), osc::OscCalcPMNS_CPT::P(), osc::_OscCalcPMNS< T >::P(), osc::_OscCalcPMNSOpt< T >::P(), osc::OscCalcPMNS_CPT::SetTh12(), osc::OscCalcGeneral::SetTh12(), osc::_OscCalcPMNS< T >::SetTh12(), osc::_OscCalcPMNSOpt< T >::SetTh12(), osc::OscCalc::SetTh12(), osc::analytic::_OscCalc< T >::SetTh12(), and osc::OscCalc::UpdateBasic().
|
protectedinherited |
Definition at line 117 of file IOscCalc.h.
Referenced by osc::analytic::_OscCalc< T >::_P(), osc::OscCalc::OscCalc(), osc::OscCalcPMNS_CPT::P(), osc::_OscCalcPMNS< T >::P(), osc::_OscCalcPMNSOpt< T >::P(), osc::OscCalcPMNS_CPT::SetTh13(), osc::OscCalcGeneral::SetTh13(), osc::_OscCalcPMNS< T >::SetTh13(), osc::_OscCalcPMNSOpt< T >::SetTh13(), osc::OscCalc::SetTh13(), osc::analytic::_OscCalc< T >::SetTh13(), and osc::OscCalc::UpdateBasic().
|
protectedinherited |
Definition at line 118 of file IOscCalc.h.
Referenced by osc::analytic::_OscCalc< T >::_P(), osc::OscCalc::OscCalc(), osc::OscCalcPMNS_CPT::P(), osc::_OscCalcPMNS< T >::P(), osc::_OscCalcPMNSOpt< T >::P(), osc::OscCalcPMNS_CPT::SetTh23(), osc::OscCalcGeneral::SetTh23(), osc::_OscCalcPMNS< T >::SetTh23(), osc::_OscCalcPMNSOpt< T >::SetTh23(), osc::OscCalc::SetTh23(), osc::analytic::_OscCalc< T >::SetTh23(), and osc::OscCalc::UpdateBasic().