Non-standard physics and user- defined priors in GLoBES GLoBES software

Download Report

Transcript Non-standard physics and user- defined priors in GLoBES GLoBES software

Non-standard physics and userdefined 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
Outline
 Introduction:
Different levels in GLoBES
 Probability level and the simulation of
non-standard physics
 Systematics level
 Physics level and user-defined priors
 Summary
January 24, 2007
GLoBES Workshop - Walter Winter
2
Different levels in GLoBES
AEDL:
Channel
Probability level
Additional “nuisance“ parameters.
Example:
Rule
Systematics level
(Fogli et al, 2002)
Experiment(s)
Correlation and
degeneracy level
January 24, 2007
Projection onto sub-space/marginalization:
GLoBES Workshop - Walter Winter
3
Probability level
Hamiltonian in constant matter density layer:
“Evolution“ operator in one layer, being diagonalized:
Probability calculation:
January 24, 2007
GLoBES Workshop - Walter Winter
4
Non-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:
January 24, 2007
GLoBES Workshop - Walter Winter
5
Example: 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 width
Can be implemented analytically in quasi-vacuum (short L)
(J. Kopp for GLoBES 3.0)
January 24, 2007
GLoBES Workshop - Walter Winter
6
Modification of the access functions

Define access functions for the oscillation parameters:
const int GLB_SIGMA_E = 6;
double 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 0;
int my_get_oscillation_parameters(glb_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, sdm*1.0e18, GLB_DM_21);
glbSetOscParams(p, ldm*1.0e18, GLB_DM_31);
glbSetOscParams(p, sigma_E, GLB_SIGMA_E);
}
Set oscillation
parameters
from internal
structure
Get oscillation
parameters
from internal
structure
return 0;
January 24, 2007
GLoBES Workshop - Walter Winter
7
Definition of a probability engine
int my_probability_matrix(double P[3][3], 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 (i=0; i < 3; i++) for (j=0; j < 3; j++) P[i][j] = 0.0;
/* Calculate total baseline from the input lists*/
L = 0.0; for (i=0; i < psteps; i++) L += length[i];
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 * t;Delta31 = ldm * t;Delta32 = Delta31 - Delta21;
t = M_SQRT2 * sigma_E / E;
D21 = exp(-square( Delta21 * t )); D31 = exp(-square( Delta31 * t ));
D32 = exp(-square( Delta32 * t ));
P[0][0] = square(square(c13)) * ( 1 - 2.0*square(s12*c12)* (1–D21*
cos(2.0*Delta21))) + 2.0*square(s13*c13) * ( D31*square(c12) *
cos(2.0*Delta31) + D32*square(s12) * cos(2.0*Delta32) ) +
square(square(s13));
return 0;
(GLoBES 3.0,
example6.c)
}
January 24, 2007
GLoBES Workshop - Walter Winter
8
Using 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
January 24, 2007
GLoBES Workshop - Walter Winter
9
Results 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);
Correlations
for(x=0; x < 0.05+0.001; x+=0.005)
/* th13 */
for(y=0.0; y < 0.010+0.001; y+=0.001)
/* sigma_E */
{
/* Set vector of test=fit values */
thetheta13=asin(sqrt(x))/2.0;
glbSetOscParams(test_values,thetheta13,
GLB_THETA_13);
glbSetOscParams(test_values,y,GLB_SIGMA_E);
/* Compute Chi^2 with correlations */
res=glbChiNP(test_values,NULL,GLB_ALL);
AddToOutput(x,y,res);
True values: q13=se=0
}
(Original figure from hep-ph/0502147)
January 24, 2007
GLoBES Workshop - Walter Winter
10
More physics examples computed with
GLoBES

Simulation of
Hamiltonian-level effects
(Blennow, Ohlsson, Winter,
hep-ph/0508175;
also: Kopp, Lindner, Ota, in prep.)
January 24, 2007

Mass-varying neutrinos:
Environment-dependence
of neutrino mass
(Schwetz, Winter, hep-ph/0511177)
GLoBES Workshop - Walter Winter
11
Systematics level
User-defined?

Discussed in Joachim Kopp´s talk …
January 24, 2007
GLoBES Workshop - Walter Winter
12
Correlation 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

User-defined priors:
January 24, 2007
GLoBES Workshop - Walter Winter
13
How 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(central_values);
glbGetInputErrors(input_errors);
glbGetProjection(p);
int i;
double pv = 0.0;
double fitvalue,centralvalue,inputerror;
/* Add oscillation parameter priors */
for(i=0;i<glbGetNumOfOscParams();i++)
if(glbGetProjectionFlag(p,i)==GLB_FREE)
{
fitvalue=glbGetOscParams(in,i);
centralvalue=glbGetOscParams(central_values,i);
inputerror=glbGetOscParams(input_errors,i);
if(inputerror>1e-12)
{
if(i==GLB_THETA_12) pv+=square((
square(startvalue-sin(fitvalue)))/inputerror);
else
pv+=square((startvalue-fitvalue)/inputerror);
}
}
January 24, 2007
/* Add matter parameter priors */
for(i=0;i<glb_num_of_exps;i++)
if(glbGetDensityProjectionFlag(p,i)==GLB_FREE)
{
fitvalue=glbGetDensityParams(in,i);
inputerror=glbGetDensityParams(input_errors,i);
if(inputerror>1e-12)
pv+=square((fitvalue-1.0)/inputerror);
}
glbFreeParams(central_values);
glbFreeParams(input_errors);
glbFreeProjection(p);
/* Add any input from other experiments: */
/* pv+= ... */
return pv;
}
In main():
glbInit(argv[0]);
glbRegisterPriorFunction(my_prior,
NULL,NULL,NULL);
GLoBES Workshop - Walter Winter
14
Example: Astrophysical sources
… for neutrino oscillations?

Astrophysical neutrino sources produce
certain flavor ratios of neutrinos (ne:nm:nt):
Neutron decays: (1:0:0)
Muon damped sources: (0:1:0)
Pion decays: (1:2:0)
These ratios are changed through averaged
neutrino oscillations:
Only CP-conserving effects remaining ~ cos dCP
 Measure muon track to shower ratio at neutrino
telescope: R = fm/(fe+ft)
(conservative, since in future also flavors!?)

January 24, 2007
GLoBES Workshop - Walter Winter
15
Complementarity to beams

Use R to obtain
information on
osc. parameters?
Difficult, since
– Low statistics
– No spectral info
(Serpico, Kachelriess, 2005;
Serpico, 2005)


But: Complementary
dependence on dCP
Here: Constant-rates/
constant-R curves
Combine the
information from two
“low-statistics”
sources?
January 24, 2007
GLoBES Workshop - Walter Winter
Best-fit
(Winter, hep-ph/0604191)
16
Implementation in GLoBES
double R_neutron_true;
double relerror = 0.2;
/* Simulated/true R */
/* Relative error */
Global variables
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_23);double deltacp = glbGetOscParams(in,GLB_DELTA_CP);
double sdm = glbGetOscParams(in,GLB_DM_21);double ldm = glbGetOscParams(in,GLB_DM_31);
double R=
(pow(cos(theta13),2.0)*(8.0*pow(cos(theta12),2.0)* pow(cos(theta23),2.0)*
pow(sin(theta12),2.0) + sin(theta13)*((7.0 + cos(4.0*theta12))*sin(theta13)*
pow(sin(theta23),2.0) + cos(deltacp)*sin(4.0*theta12)*sin(2.0*theta23))))/
(4.0 + 2.0*pow(cos(theta13),2.0)*(2.0*pow(cos(theta12),4.0)*cos(2.0*theta23)*
pow(sin(theta13),2.0) + pow(cos(theta12),2.0)*(-2.0*(cos(2.0*theta13) +
cos(2.0*theta23))*pow(sin(theta12),2.0) + (-3.0 + cos(2.0*theta12))*
pow(sin(theta13),2.0)) + 4.0*cos(deltacp)*cos(theta12)*cos(theta23)*
pow(sin(theta12),3.0)*sin(theta13)*sin(theta23) -4.0*pow(sin(theta12),2.0)*
pow(sin(theta13),2.0)*pow(sin(theta23),2.0) – 2.0*cos(deltacp)*pow(cos(theta12),3.0)*
sin(theta12)*sin(theta13)*sin(2.0*theta23)));
Calculate,
for example,
RNeutron
analytically:
return R;
}
double my_prior(const glb_params in, void* user_data)
{
[...]
/* Standard GLoBES prior */
/* Astrophysical information */
pv+=square((R_neutron(in)-R_neutron_true)/(R_neutron_true*relerror);
return pv;
}
glbSetRates(true_values);R_neutron_true = R_neutron(true_values);
January 24, 2007
GLoBES Workshop - Walter Winter
Add as external
Gaussian
measurement
Always together!
17
Reactor experiment+astrophysical source
(Winter, hep-ph/0604191)

Double Chooz
could be the
first experiment to
observe dCP
(1s, 90% CL; 1 d.o.f.)
January 24, 2007
GLoBES Workshop - Walter Winter
18
Mass hierarchy

Astrophysical source may
help mass hierarchy
measurement at superbeam:
20% prec. good (Winter, hep-ph/0604191)
5%
10%
20%
No ext. info
January 24, 2007
GLoBES Workshop - Walter Winter
19
Further 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 localization:
E.g. add penalty if in wrong octant
(Schwetz priors)
 Tutorial „Finding parameter degeneracies“
tomorrow!

January 24, 2007
GLoBES Workshop - Walter Winter
20
Summary: GLoBES 3.0
Probability level
Systematics level
User-defined
probabilities
User-defined
systematics
(Joachim’s talk)
Correlation and
degeneracy level
January 24, 2007
User-defined
priors
GLoBES Workshop - Walter Winter
Maximum
flexibility
in
GLoBES
(Huber, Kopp, Lindner, Rolinec,
Winter, hep ph/0701187)
http://www.mpihd.mpg.de/lin/globes/
21