Commit 590b9856 authored by Marcella Wijngaarden's avatar Marcella Wijngaarden

Priors for NRTidal for GW150914r

parent 36bdf235
Pipeline #196681 passed with stages
in 19 minutes and 25 seconds
......@@ -3029,9 +3029,9 @@ void set_bayescbc_priors(struct Net *net, struct bayesCBC *rundata)
{
// Tidal parameter ranges
rundata->lambda1min = 0.0; // Min/max for lambda1 and lambda2
rundata->lambda1max = 10.0; // 1000.0; // Only used if NRTidal_value != NoNRT_V and
rundata->lambda1max = 1000.0; // 1000.0; // Only used if NRTidal_value != NoNRT_V and
rundata->lambda2min = 0.0; // lambda_type_value = lambda
rundata->lambda2max = 10.0;
rundata->lambda2max = 1000.0;
rundata->lambdaTmin = 0.0; // Min/max for lambdaT and dlambdaT
rundata->lambdaTmax = 1000.0; // Only used if NRTidal_value != NoNRT_V and
......
......@@ -231,7 +231,7 @@ int main(int argc, char *argv[])
}
// Check that given PSD frequency is not lower than requested based on sample rate
if(isnan(psd[ifo][i])||!isfinite(psd[ifo][i])) {
if(!isfinite(psd[ifo][i]&&!data->bayesLineFlag)) {
fprintf(stderr,"Invalid PSD. Are you sure the PSD reaches up to the requested max frequency?\n");
fprintf(stderr," Exiting to system (1)\n");
exit(1);
......
......@@ -869,6 +869,37 @@ static void resume_sampler(struct Data *data, struct Chain *chain, struct Model
bayescbc->logLx[0] = log_likelihood_het(bayescbc->net, bayescbc->het, bayescbc->pallx[0], data->Tobs, bayescbc);
}
// Priors for GW150914 with NRTidal
if (LALInferenceGetProcParamVal(data->commandLine, "--NoNRT-burnin")) {
bayescbc->lambda1min = 0.0; // Min/max for lambda1 and lambda2
bayescbc->lambda1max = 10.0; // 1000.0; // Only used if NRTidal_value != NoNRT_V and
bayescbc->lambda2min = 0.0; // lambda_type_value = lambda
bayescbc->lambda2max = 10.0;
bayescbc->lambdaTmin = 0.0; // Min/max for lambdaT and dlambdaT
bayescbc->lambdaTmax = 10.0; // Only used if NRTidal_value != NoNRT_V and
bayescbc->dlambdaTmin = -0.1; // lambda_type_value = lambdaTilde
bayescbc->chi1min = -1.0; // Default min, max for chi1 and chi2
bayescbc->chi2min = -1.0;
bayescbc->chi1max = 1.0;
bayescbc->chi2max = 1.0;
bayescbc->mcmax = 174.0; // maximum chirp mass in Msun. Mc is at most 0.435 times Mt
bayescbc->mcmin = 0.23; // minimum chirp mass in Msun
bayescbc->mtmax = 400.0; // maximum total mass in Msun (should be not more than 2.3 times mcmax)
bayescbc->mtmin = 1.0; // minimum total mass in Msun
bayescbc->max[0] = log(bayescbc->mcmax*MSUN_SI); // Mc is at most 0.435 times Mt
bayescbc->max[1] = log(bayescbc->mtmax*MSUN_SI); // Mt
bayescbc->min[0] = log(bayescbc->mcmin*MSUN_SI); // Mc
bayescbc->min[1] = log(bayescbc->mtmin*MSUN_SI); // Mt
bayescbc->max[2] = bayescbc->chi1max; // chi1
bayescbc->max[3] = bayescbc->chi2max; // chi2
bayescbc->min[2] = bayescbc->chi1min; // chi1
bayescbc->min[3] = bayescbc->chi2min; // chi2
}
/****************************************************/
/* */
/* CLEAR OUT CHECKPOINT DIRECTORY */
......@@ -3159,6 +3190,15 @@ void burnin_cbc(struct bayesCBC *bayescbc, struct Data *data, struct Model **mod
bayescbc->NRTidal_version = (NRTidal_version_type) NRTidal_V;
initialize_bayescbc(bayescbc, data, chain, model[chain->index[0]]);
bayescbc->lambda1min = 0.0; // Min/max for lambda1 and lambda2
bayescbc->lambda1max = 10.0; // 1000.0; // Only used if NRTidal_value != NoNRT_V and
bayescbc->lambda2min = 0.0; // lambda_type_value = lambda
bayescbc->lambda2max = 10.0;
bayescbc->lambdaTmin = 0.0; // Min/max for lambdaT and dlambdaT
bayescbc->lambdaTmax = 10.0; // Only used if NRTidal_value != NoNRT_V and
bayescbc->dlambdaTmin = -0.1; // lambda_type_value = lambdaTilde
bayescbc->chi1min = -1.0; // Default min, max for chi1 and chi2
bayescbc->chi2min = -1.0;
bayescbc->chi1max = 1.0;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment