Title: Non-standard physics and user-defined priors in GLoBES
1Non-standard physics and user-defined priors in
GLoBES
- Workshop on physics and applications of the
GLoBES software - Max-Planck-Institut für Kernphysik
- January 24, 2007
- Walter Winter
- Universität Würzburg
TexPoint fonts used in EMF AAAAA
2Outline
- IntroductionDifferent levels in GLoBES
- Probability level and the simulation of
non-standard physics - Systematics level
- Physics level and user-defined priors
- Summary
3Different levels in GLoBES
AEDL
Probability level
Channel
Additional nuisance parameters. Example
Systematics level
Rule
(Fogli et al, 2002)
Correlation anddegeneracy level
Projection onto sub-space/marginalization
Experi-ment(s)
4Probability level
Hamiltonian in constant matter density layer
Evolution operator in one layer, being
diagonalized
Probability calculation
5Non-standard physics in GLoBES
1. Modify the Hamiltonian, probability
calculation, etc. Example Non-standard
matter effect in e-t-sector
2. GLoBES now carries k more oscillation
parameters, which need to be maintained
6Example Decoherence at reactor exp.
- Oscillation probabilities with damping effects
- Damping factors for (wave packet) decoherence
(Blennow, Ohlsson, Winter, hep-ph/0502147)
sE Intrinsic wave packet widthCan be
implemented analytically in quasi-vacuum (short L)
(J. Kopp for GLoBES 3.0)
7Modification of the access functions
- Define access functions for the oscillation
parameters
- const int GLB_SIGMA_E 6double th12,
th13,th23,deltacp,sdm,ldm,sigma_E - int my_set_oscillation_parameters(glb_params p,
void user_data) th12 glbGetOscParams(p,
GLB_THETA_12) th13 glbGetOscParams(p,
GLB_THETA_13) th23 glbGetOscParams(p,
GLB_THETA_23) deltacp glbGetOscParams(p,
GLB_DELTA_CP) sdm glbGetOscParams(p,
GLB_DM_21) 1.0e-18 ldm
glbGetOscParams(p, GLB_DM_31) 1.0e-18
sigma_E glbGetOscParams(p, GLB_SIGMA_E)
return 0int my_get_oscillation_parameters(gl
b_params p, void user_data)
glbSetOscParams(p, th12, GLB_THETA_12)
glbSetOscParams(p, th13, GLB_THETA_13)
glbSetOscParams(p, th23, GLB_THETA_23)
glbSetOscParams(p, deltacp, GLB_DELTA_CP)
glbSetOscParams(p, sdm1.0e18, GLB_DM_21)
glbSetOscParams(p, ldm1.0e18, GLB_DM_31)
glbSetOscParams(p, sigma_E, GLB_SIGMA_E)
return 0
Set oscillationparametersfrom internalstructure
Get oscillationparametersfrom internalstructure
8Definition of a probability engine
int my_probability_matrix(double P33, int
cp_sign, double E, int psteps,
const double length, const double
density, double
filter_sigma, void user_data) int i, j
double L, Delta21, Delta31, Delta32, D21, D31,
D32, s13, c13, s12, c12, t / Set all
probabilities to zero initially / for (i0 i
lt 3 i) for (j0 j lt 3 j) Pij 0.0
/ Calculate total baseline from the input
lists/ L 0.0 for (i0 i lt psteps i) L
lengthi L GLB_KM_TO_EV(L) 1.0e9
/ Convert to GeV-1 / / Compute P_ee
analytically with a piece of code/ s12
sin(th12)c12 cos(th12)s13 sin(th13)c13
cos(th13) t L / (4.0 E) Delta21 sdm
tDelta31 ldm tDelta32 Delta31 - Delta21
t M_SQRT2 sigma_E / E D21 exp(-square(
Delta21 t )) D31 exp(-square( Delta31 t
)) D32 exp(-square( Delta32 t ))
P00 square(square(c13)) ( 1 -
2.0square(s12c12) (1D21
cos(2.0Delta21))) 2.0square(s13c13) (
D31square(c12) cos(2.0Delta31)
D32square(s12) cos(2.0Delta32) )
square(square(s13)) return 0
(GLoBES 3.0, example6.c)
9Using the new probability engine
- Register the new probability engine and access
functions
glbRegisterProbabilityEngine(7, // Number of
params my_probability_matrix,
my_set_oscillation_parameters,
my_get_oscillation_parameters, NULL)
- Maintain the new oscillation parameter(s)
- Use glbSetOscParams and glbGetOscParams to access
the non-standard parameter(s) - Always use glbChiNP (instead of glbChiTheta13
etc.)to define how the non-standard degrees of
freedom behave - Define your non-standard behavior in the
projection with glbSetProjectionFlag
10Results for our example
glbDefineProjection(myproj, GLB_FREE,
GLB_FIXED, GLB_FIXED, GLB_FIXED, GLB_FREE,
GLB_FREE) glbSetDensityProjectionFlag(myproj,
GLB_FIXED,
GLB_ALL) glbSetProjectionFlag(myproj,GLB_FIXED,
GLB_SIGMA_E) glbSetProjection(myproj)
for(x0 x lt 0.050.001 x0.005) / th13
/ for(y0.0 y lt 0.0100.001 y0.001) /
sigma_E / / Set vector of testfit
values / thetheta13asin(sqrt(x))/2.0
glbSetOscParams(test_values,thetheta13,
GLB_THETA_13)
glbSetOscParams(test_values,y,GLB_SIGMA_E)
/ Compute Chi2 with correlations /
resglbChiNP(test_values,NULL,GLB_ALL)
AddToOutput(x,y,res)
Correlations
True values q13se0(Original figure from
hep-ph/0502147)
11More physics examples computed with GLoBES
- Simulation of Hamiltonian-level effects
- (Blennow, Ohlsson, Winter,
- hep-ph/0508175
- also Kopp, Lindner, Ota, in prep.)
- Mass-varying neutrinos Environment-dependence of
neutrino mass -
- (Schwetz, Winter, hep-ph/0511177)
12Systematics level
User-defined?
- Discussed in Joachim Kopps talk
13Correlation and degeneracy level and the
inclusion of external input
- Projection onto sub-space/marginalization
- Standard GLoBES Include of external input by
Gaussian priors, e.g., for q12 with an error sq12
14How to define user-defined priors
- Define a prior function and register it.Example
Gaussian error in sin2q12 (instead of q12)
double my_prior(const glb_params in, void
user_data) glb_params central_values
glbAllocParams() glb_params input_errors
glbAllocParams() glb_projection p
glbAllocProjection() glbGetCentralValues(centr
al_values) glbGetInputErrors(input_errors)
glbGetProjection(p) int i double pv
0.0 double fitvalue,centralvalue,inputerror
/ Add oscillation parameter priors /
for(i0iltglbGetNumOfOscParams()i)
if(glbGetProjectionFlag(p,i)GLB_FREE)
fitvalueglbGetOscParams(in,i)
centralvalueglbGetOscParams(central_values,i)
inputerrorglbGetOscParams(input_errors,i)
if(inputerrorgt1e-12)
if(iGLB_THETA_12) pvsquare((
square(startvalue-sin(fitvalue)))/inputerror)
else pvsquare((startvalue-fitvalue)/
inputerror)
/ Add matter parameter priors /
for(i0iltglb_num_of_expsi)
if(glbGetDensityProjectionFlag(p,i)GLB_FREE)
fitvalueglbGetDensityParams(in,i)
inputerrorglbGetDensityParams(input_errors,i)
if(inputerrorgt1e-12)
pvsquare((fitvalue-1.0)/inputerror)
glbFreeParams(central_values)
glbFreeParams(input_errors)
glbFreeProjection(p) / Add any input from
other experiments / / pv ... / return
pv In main() glbInit(argv0)
glbRegisterPriorFunction(my_prior,
NULL,NULL,NULL)
15Example Astrophysical sources for neutrino
oscillations?
- Astrophysical neutrino sources producecertain
flavor ratios of neutrinos (nenmnt)Neutron
decays (100)Muon damped sources (010)Pion
decays (120) - These ratios are changed through averaged
neutrino oscillationsOnly CP-conserving effects
remaining cos dCP - Measure muon track to shower ratio at neutrino
telescope R fm/(feft)(conservative, since in
future also flavors!?)
16Complementarity to beams
- Use R to obtaininformation onosc.
parameters?Difficult, since - Low statistics
- No spectral info
- (Serpico, Kachelriess, 2005Serpico, 2005)
- But Complementarydependence on dCPHere
Constant-rates/ constant-R curves - Combine the information from two
low-statisticssources?
Best-fit
(Winter, hep-ph/0604191)
17Implementation in GLoBES
double R_neutron_true / Simulated/true R
/double relerror 0.2 / Relative error
/ double R_neutron(const glb_params in)
double theta12 glbGetOscParams(in,GLB_THETA_12)
double theta13 glbGetOscParams(in,GLB_THETA_13)
double theta23 glbGetOscParams(in,GLB_THETA_2
3)double deltacp glbGetOscParams(in,GLB_DELTA_C
P) double sdm glbGetOscParams(in,GLB_DM_21)d
ouble ldm glbGetOscParams(in,GLB_DM_31)
double R (pow(cos(theta13),2.0)(8.0pow(cos(t
heta12),2.0) pow(cos(theta23),2.0)
pow(sin(theta12),2.0) sin(theta13)((7.0
cos(4.0theta12))sin(theta13)
pow(sin(theta23),2.0) cos(deltacp)sin(4.0theta
12)sin(2.0theta23))))/ (4.0
2.0pow(cos(theta13),2.0)(2.0pow(cos(theta12),4.
0)cos(2.0theta23) pow(sin(theta13),2.0)
pow(cos(theta12),2.0)(-2.0(cos(2.0theta13)
cos(2.0theta23))pow(sin(theta12),2.0) (-3.0
cos(2.0theta12)) pow(sin(theta13),2.0))
4.0cos(deltacp)cos(theta12)cos(theta23)
pow(sin(theta12),3.0)sin(theta13)sin(theta23)
-4.0pow(sin(theta12),2.0)
pow(sin(theta13),2.0)pow(sin(theta23),2.0)
2.0cos(deltacp)pow(cos(theta12),3.0)
sin(theta12)sin(theta13)sin(2.0theta23)))
return Rdouble my_prior(const glb_params
in, void user_data) ... /
Standard GLoBES prior / / Astrophysical
information / pvsquare((R_neutron(in)-R_neutr
on_true)/(R_neutron_truerelerror) return
pvglbSetRates(true_values)R_neutron_true
R_neutron(true_values)
Global variables
Calculate,for example,RNeutron analytically
Add as externalGaussianmeasurement
Always together!
18Reactor experimentastrophysical source
(Winter, hep-ph/0604191)
- Double Choozcould be thefirst experiment
toobserve dCP
(1s, 90 CL 1 d.o.f.)
19Mass hierarchy
- Astrophysical source may help mass hierarchy
measurement at superbeam20 prec. good
(Winter, hep-ph/0604191)
10
5
20
No ext. info
20Further physics applications
- Combination with other external measurements,
such as atmospheric neutrinos(Huber, Maltoni,
Schwetz, hep-ph/0501037 Campagne, Maltoni,
Mezzetto, Schwetz, hep-ph/0603172) - Penalties for degeneracy localizationE.g. add
penalty if in wrong octant(Schwetz priors) - Tutorial Finding parameter degeneraciestomorrow
!
21Summary GLoBES 3.0
Probability level
User-definedprobabilities
MaximumflexibilityinGLoBES
Systematics level
User-definedsystematics
(Joachims talk)
Correlation anddegeneracy level
(Huber, Kopp, Lindner, Rolinec, Winter, hep
ph/0701187) http//www.mpi-hd.mpg.de/lin/globes/
User-definedpriors