fixes
This commit is contained in:
parent
d5a04116e1
commit
de5e302f76
@ -17,17 +17,18 @@ String cfgPath = cli.parse(args).c;
|
|||||||
println "Loading config file from $cfgPath"
|
println "Loading config file from $cfgPath"
|
||||||
println "Starting Grind shell"
|
println "Starting Grind shell"
|
||||||
|
|
||||||
if (cfgPath) {
|
|
||||||
try {
|
try {
|
||||||
GrindTerminal.system().launch {
|
GrindTerminal.system().launch {
|
||||||
|
if (cfgPath) {
|
||||||
GrindWorkspaceBuilder numass = new GrindWorkspaceBuilder(context).read(new File(cfgPath))
|
GrindWorkspaceBuilder numass = new GrindWorkspaceBuilder(context).read(new File(cfgPath))
|
||||||
bind("numass", numass)
|
bind("numass", numass)
|
||||||
|
} else {
|
||||||
|
println "No configuration path. Provide path via --config option"
|
||||||
}
|
}
|
||||||
} catch (Exception ex) {
|
|
||||||
ex.printStackTrace();
|
|
||||||
} finally {
|
|
||||||
Global.terminate();
|
|
||||||
}
|
}
|
||||||
} else {
|
} catch (Exception ex) {
|
||||||
println "No configuration path. Provide path via --config option"
|
ex.printStackTrace();
|
||||||
}
|
} finally {
|
||||||
|
Global.terminate();
|
||||||
|
}
|
||||||
|
@ -15,8 +15,8 @@ import inr.numass.storage.NumassStorage
|
|||||||
import inr.numass.utils.UnderflowCorrection
|
import inr.numass.utils.UnderflowCorrection
|
||||||
|
|
||||||
//File rootDir = new File("D:\\Work\\Numass\\data\\2016_10\\Fill_1")
|
//File rootDir = new File("D:\\Work\\Numass\\data\\2016_10\\Fill_1")
|
||||||
//File rootDir = new File("D:\\Work\\Numass\\data\\2016_10\\Fill_2_wide")
|
File rootDir = new File("D:\\Work\\Numass\\data\\2016_10\\Fill_2_wide")
|
||||||
File rootDir = new File("D:\\Work\\Numass\\data\\2017_01\\Fill_2_wide")
|
//File rootDir = new File("D:\\Work\\Numass\\data\\2017_01\\Fill_2_wide")
|
||||||
|
|
||||||
NumassStorage storage = NumassStorage.buildLocalNumassRoot(rootDir, true);
|
NumassStorage storage = NumassStorage.buildLocalNumassRoot(rootDir, true);
|
||||||
|
|
||||||
|
@ -5,16 +5,21 @@
|
|||||||
*/
|
*/
|
||||||
package inr.numass.models.sterile;
|
package inr.numass.models.sterile;
|
||||||
|
|
||||||
|
import hep.dataforge.context.Context;
|
||||||
|
import hep.dataforge.maths.MathPlugin;
|
||||||
import hep.dataforge.meta.Meta;
|
import hep.dataforge.meta.Meta;
|
||||||
import hep.dataforge.stat.parametric.AbstractParametricBiFunction;
|
import hep.dataforge.stat.parametric.AbstractParametricBiFunction;
|
||||||
import hep.dataforge.values.NamedValueSet;
|
import hep.dataforge.values.NamedValueSet;
|
||||||
import inr.numass.models.ResolutionFunction;
|
import inr.numass.models.ResolutionFunction;
|
||||||
|
import inr.numass.utils.ExpressionUtils;
|
||||||
import org.apache.commons.math3.analysis.BivariateFunction;
|
import org.apache.commons.math3.analysis.BivariateFunction;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import static java.lang.Math.sqrt;
|
import static java.lang.Math.sqrt;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @author <a href="mailto:altavir@gmail.com">Alexander Nozik</a>
|
* @author <a href="mailto:altavir@gmail.com">Alexander Nozik</a>
|
||||||
*/
|
*/
|
||||||
public class NumassResolution extends AbstractParametricBiFunction {
|
public class NumassResolution extends AbstractParametricBiFunction {
|
||||||
@ -25,13 +30,28 @@ public class NumassResolution extends AbstractParametricBiFunction {
|
|||||||
private double resB = 0;
|
private double resB = 0;
|
||||||
private BivariateFunction tailFunction = ResolutionFunction.getConstantTail();
|
private BivariateFunction tailFunction = ResolutionFunction.getConstantTail();
|
||||||
|
|
||||||
public NumassResolution(Meta meta) {
|
public NumassResolution(Context context, Meta meta) {
|
||||||
super(list);
|
super(list);
|
||||||
this.resA = meta.getDouble("A", 8.3e-5);
|
this.resA = meta.getDouble("A", 8.3e-5);
|
||||||
this.resB = meta.getDouble("B", 0);
|
this.resB = meta.getDouble("B", 0);
|
||||||
if (meta.hasValue("tailAlpha")) {
|
if (meta.hasValue("tailAlpha")) {
|
||||||
//add polinomial function here
|
//add polinomial function here
|
||||||
tailFunction = ResolutionFunction.getAngledTail(meta.getDouble("tailAlpha"), meta.getDouble("tailBeta", 0));
|
double alpha = meta.getDouble("tailAlpha");
|
||||||
|
double beta = meta.getDouble("tailBeta", 0);
|
||||||
|
tailFunction = (double E, double U) -> 1 - (E - U) * (alpha + E / 1000d * beta) / 1000d;
|
||||||
|
} else if (meta.hasValue("tail")) {
|
||||||
|
String tailFunctionStr = meta.getString("tail");
|
||||||
|
if (tailFunctionStr.startsWith("function::")) {
|
||||||
|
tailFunction = MathPlugin.buildFrom(context).buildBivariateFunction(tailFunctionStr.substring(10));
|
||||||
|
} else {
|
||||||
|
tailFunction = (E, U) -> {
|
||||||
|
Map<String, Object> binding = new HashMap<>();
|
||||||
|
binding.put("E", E);
|
||||||
|
binding.put("U", U);
|
||||||
|
binding.put("D", U - E);
|
||||||
|
return ExpressionUtils.function(tailFunctionStr, binding);
|
||||||
|
};
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
tailFunction = ResolutionFunction.getConstantTail();
|
tailFunction = ResolutionFunction.getConstantTail();
|
||||||
}
|
}
|
||||||
|
@ -73,7 +73,7 @@ public class SterileNeutrinoSpectrum extends AbstractParametricFunction {
|
|||||||
}
|
}
|
||||||
|
|
||||||
transmission = new NumassTransmission(context, configuration.getMetaOrEmpty("transmission"));
|
transmission = new NumassTransmission(context, configuration.getMetaOrEmpty("transmission"));
|
||||||
resolution = new NumassResolution(configuration.getMeta("resolution", Meta.empty()));
|
resolution = new NumassResolution(context, configuration.getMeta("resolution", Meta.empty()));
|
||||||
this.fast = configuration.getBoolean("fast", true);
|
this.fast = configuration.getBoolean("fast", true);
|
||||||
transRes = new TransRes();
|
transRes = new TransRes();
|
||||||
}
|
}
|
||||||
@ -148,16 +148,16 @@ public class SterileNeutrinoSpectrum extends AbstractParametricFunction {
|
|||||||
}
|
}
|
||||||
|
|
||||||
UnivariateIntegrator integrator;
|
UnivariateIntegrator integrator;
|
||||||
if(fast){
|
if (fast) {
|
||||||
if (eMax - u < 300) {
|
if (eMax - u < 300) {
|
||||||
integrator = NumassIntegrator.getFastInterator();
|
integrator = NumassIntegrator.getFastInterator();
|
||||||
} else if(eMax - u > 2000){
|
} else if (eMax - u > 2000) {
|
||||||
integrator = NumassIntegrator.getHighDensityIntegrator();
|
integrator = NumassIntegrator.getHighDensityIntegrator();
|
||||||
} else {
|
} else {
|
||||||
integrator = NumassIntegrator.getDefaultIntegrator();
|
integrator = NumassIntegrator.getDefaultIntegrator();
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
integrator = NumassIntegrator.getHighDensityIntegrator();
|
integrator = NumassIntegrator.getHighDensityIntegrator();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user