230 likes | 429 Views
Non-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: A A A A A. Outline.
E N D
Non-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
Outline • Introduction:Different levels in GLoBES • Probability level and the simulation of non-standard physics • Systematics level • Physics level and user-defined priors • Summary GLoBES Workshop - Walter Winter
Different 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) GLoBES Workshop - Walter Winter
Probability level Hamiltonian in constant matter density layer: “Evolution“ operator in one layer, being diagonalized: Probability calculation: GLoBES Workshop - Walter Winter
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: GLoBES Workshop - Walter Winter
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 widthCan be implemented analytically in quasi-vacuum (short L) (J. Kopp for GLoBES 3.0) GLoBES Workshop - Walter Winter
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);return 0;} Set oscillationparametersfrom internalstructure Get oscillationparametersfrom internalstructure GLoBES Workshop - Walter Winter
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) GLoBES Workshop - Walter Winter
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 GLoBES Workshop - Walter Winter
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); 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); } Correlations True values: q13=se=0(Original figure from hep-ph/0502147) GLoBES Workshop - Walter Winter
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) More physics examples computed with GLoBES GLoBES Workshop - Walter Winter
Systematics level • Discussed in Joachim Kopp´s talk … User-defined? GLoBES Workshop - Walter Winter
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: GLoBES Workshop - Walter Winter
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); } } /* 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
Example: Astrophysical sources … for neutrino oscillations? • Astrophysical neutrino sources producecertain 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!?) GLoBES Workshop - Walter Winter
Complementarity to beams • Use R to obtaininformation onosc. parameters?Difficult, since • Low statistics • No spectral info (Serpico, Kachelriess, 2005;Serpico, 2005) • But: Complementarydependence on dCPHere: Constant-rates/ constant-R curves • Combine the information from two “low-statistics”sources? Best-fit (Winter, hep-ph/0604191) GLoBES Workshop - Walter Winter
Implementation 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_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))); 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); Global variables Calculate,for example,RNeutronanalytically: Add as externalGaussianmeasurement Always together! GLoBES Workshop - Walter Winter
Reactor experiment+astrophysical source (Winter, hep-ph/0604191) • Double Choozcould be thefirst experiment toobserve dCP (1s, 90% CL; 1 d.o.f.) GLoBES Workshop - Walter Winter
Mass hierarchy • Astrophysical source may help mass hierarchy measurement at superbeam:20% prec. good (Winter, hep-ph/0604191) 10% 5% 20% No ext. info GLoBES Workshop - Walter Winter
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! GLoBES Workshop - Walter Winter
Summary: GLoBES 3.0 Probability level User-definedprobabilities MaximumflexibilityinGLoBES Systematics level User-definedsystematics (Joachim’s talk) Correlation anddegeneracy level (Huber, Kopp, Lindner, Rolinec, Winter, hep ph/0701187) http://www.mpi-hd.mpg.de/lin/globes/ User-definedpriors GLoBES Workshop - Walter Winter