some fixes

This commit is contained in:
darksnake 2017-04-25 13:57:08 +03:00
parent b7b9e09d40
commit f5548b7715
7 changed files with 17 additions and 14 deletions

View File

@ -22,7 +22,7 @@ println "Starting Grind shell"
if (cfgPath) { if (cfgPath) {
try { try {
GrindTerminal.dumb().launch { GrindTerminal.system().launch {
GrindWorkspaceBuilder numass = new GrindWorkspaceBuilder(it.shell.context).read(new File(cfgPath)).startup { GrindWorkspaceBuilder numass = new GrindWorkspaceBuilder(it.shell.context).read(new File(cfgPath)).startup {
it.loadTask(NumassPrepareTask) it.loadTask(NumassPrepareTask)
it.loadTask(NumassTableFilterTask) it.loadTask(NumassTableFilterTask)

View File

@ -27,6 +27,7 @@ import hep.dataforge.plots.PlotFrame;
import hep.dataforge.plots.PlotUtils; import hep.dataforge.plots.PlotUtils;
import hep.dataforge.plots.data.PlottableData; import hep.dataforge.plots.data.PlottableData;
import hep.dataforge.plots.data.PlottableXYFunction; import hep.dataforge.plots.data.PlottableXYFunction;
import hep.dataforge.stat.fit.FitResult;
import hep.dataforge.stat.fit.FitState; import hep.dataforge.stat.fit.FitState;
import hep.dataforge.stat.models.XYModel; import hep.dataforge.stat.models.XYModel;
import hep.dataforge.tables.NavigablePointSource; import hep.dataforge.tables.NavigablePointSource;
@ -41,14 +42,14 @@ import java.util.stream.StreamSupport;
@TypedActionDef(name = "plotFit", info = "Plot fit result", inputType = FitState.class, outputType = FitState.class) @TypedActionDef(name = "plotFit", info = "Plot fit result", inputType = FitState.class, outputType = FitState.class)
@NodeDef(name = "adapter", info = "adapter for DataSet being fitted. By default is taken from model.") @NodeDef(name = "adapter", info = "adapter for DataSet being fitted. By default is taken from model.")
@ValueDef(name = "plotTitle", def = "", info = "The title of the plot.") @ValueDef(name = "plotTitle", def = "", info = "The title of the plot.")
public class PlotFitResultAction extends OneToOneAction<FitState, FitState> { public class PlotFitResultAction extends OneToOneAction<FitResult, FitResult> {
@Override @Override
protected FitState execute(Context context, String name, FitState input, Laminate metaData) { protected FitResult execute(Context context, String name, FitResult input, Laminate metaData) {
NavigablePointSource data = input.getDataSet(); NavigablePointSource data = input.getDataSet();
if (!(input.getModel() instanceof XYModel)) { if (!(input.getModel() instanceof XYModel)) {
getReport(context, name).reportError("The fit model should be instance of XYModel for this action. Action failed!"); context.getLog(name).reportError("The fit model should be instance of XYModel for this action. Action failed!");
return input; return input;
} }
XYModel model = (XYModel) input.getModel(); XYModel model = (XYModel) input.getModel();

View File

@ -65,7 +65,7 @@ public class DebunchAction extends OneToOneAction<RawNMFile, RawNMFile> {
}); });
report(context, name, "File {} completed", source.getName()); report(context, name, "File {} completed", source.getName());
getReport(context, name).print(new PrintWriter(buildActionOutput(context, name))); context.getLog(name).print(new PrintWriter(buildActionOutput(context, name)));
// res.configure(source.meta()); // res.configure(source.meta());
return res; return res;

View File

@ -58,7 +58,7 @@ public class MonitorCorrectAction extends OneToOneAction<Table, Table> {
TreeMap<Instant, DataPoint> index = getMonitorIndex(monitor, sourceData); TreeMap<Instant, DataPoint> index = getMonitorIndex(monitor, sourceData);
if (index.isEmpty()) { if (index.isEmpty()) {
getReport(context, name).reportError("No monitor points found"); context.getLog(name).reportError("No monitor points found");
return sourceData; return sourceData;
} }
double norm = 0; double norm = 0;

View File

@ -11,6 +11,7 @@ import hep.dataforge.data.DataTree;
import hep.dataforge.meta.Meta; import hep.dataforge.meta.Meta;
import hep.dataforge.meta.MetaBuilder; import hep.dataforge.meta.MetaBuilder;
import hep.dataforge.stat.fit.FitAction; import hep.dataforge.stat.fit.FitAction;
import hep.dataforge.stat.fit.FitResult;
import hep.dataforge.stat.fit.FitState; import hep.dataforge.stat.fit.FitState;
import hep.dataforge.tables.Table; import hep.dataforge.tables.Table;
import hep.dataforge.values.Value; import hep.dataforge.values.Value;
@ -40,7 +41,7 @@ public class NumassFitScanTask extends AbstractTask<FitState> {
} else { } else {
scanValues = config.getValue("scan.values", Value.of("[2.5e5, 1e6, 2.25e6, 4e6, 6.25e6, 9e6]")); scanValues = config.getValue("scan.values", Value.of("[2.5e5, 1e6, 2.25e6, 4e6, 6.25e6, 9e6]"));
} }
Action<Table, FitState> action = new FitAction(); Action<Table, FitResult> action = new FitAction();
DataTree.Builder<FitState> resultBuilder = DataTree.builder(FitState.class); DataTree.Builder<FitState> resultBuilder = DataTree.builder(FitState.class);
DataNode<Table> sourceNode = data.getCheckedNode("prepare", Table.class); DataNode<Table> sourceNode = data.getCheckedNode("prepare", Table.class);
@ -65,7 +66,7 @@ public class NumassFitScanTask extends AbstractTask<FitState> {
.filter(par -> par.getString("name") == scanParameter).forEach(par -> par.setValue("value", val)); .filter(par -> par.getString("name") == scanParameter).forEach(par -> par.setValue("value", val));
} }
// Data<Table> newData = new Data<Table>(data.getGoal(),data.type(),overrideMeta); // Data<Table> newData = new Data<Table>(data.getGoal(),data.type(),overrideMeta);
DataNode<FitState> node = action.run(model.getContext(), DataNode.of("fit_" + i, table, Meta.empty()), overrideMeta); DataNode<FitResult> node = action.run(model.getContext(), DataNode.of("fit_" + i, table, Meta.empty()), overrideMeta);
resultBuilder.putData(table.getName() + ".fit_" + i, node.getData()); resultBuilder.putData(table.getName() + ".fit_" + i, node.getData());
} }
}); });

View File

@ -23,7 +23,7 @@ import hep.dataforge.meta.Meta;
import hep.dataforge.meta.MetaBuilder; import hep.dataforge.meta.MetaBuilder;
import hep.dataforge.plotfit.PlotFitResultAction; import hep.dataforge.plotfit.PlotFitResultAction;
import hep.dataforge.stat.fit.FitAction; import hep.dataforge.stat.fit.FitAction;
import hep.dataforge.stat.fit.FitState; import hep.dataforge.stat.fit.FitResult;
import hep.dataforge.tables.Table; import hep.dataforge.tables.Table;
import hep.dataforge.workspace.SingleActionTask; import hep.dataforge.workspace.SingleActionTask;
import hep.dataforge.workspace.TaskModel; import hep.dataforge.workspace.TaskModel;
@ -31,7 +31,7 @@ import hep.dataforge.workspace.TaskModel;
/** /**
* Created by darksnake on 16-Sep-16. * Created by darksnake on 16-Sep-16.
*/ */
public class NumassFitTask extends SingleActionTask<Table, FitState> { public class NumassFitTask extends SingleActionTask<Table, FitResult> {
@Override @Override
public String getName() { public String getName() {
@ -51,8 +51,8 @@ public class NumassFitTask extends SingleActionTask<Table, FitState> {
} }
@Override @Override
protected Action<Table, FitState> getAction(TaskModel model) { protected Action<Table, FitResult> getAction(TaskModel model) {
Action<Table, FitState> action = new FitAction(); Action<Table, FitResult> action = new FitAction();
if (model.meta().getBoolean("fit.plot", false)) { if (model.meta().getBoolean("fit.plot", false)) {
return ActionUtils.compose(action, new PlotFitResultAction()); return ActionUtils.compose(action, new PlotFitResultAction());
} else { } else {

View File

@ -29,6 +29,7 @@ import hep.dataforge.tables.MapPoint;
import hep.dataforge.tables.Table; import hep.dataforge.tables.Table;
import hep.dataforge.workspace.AbstractTask; import hep.dataforge.workspace.AbstractTask;
import hep.dataforge.workspace.TaskModel; import hep.dataforge.workspace.TaskModel;
import org.slf4j.LoggerFactory;
import java.io.OutputStream; import java.io.OutputStream;
import java.util.Optional; import java.util.Optional;
@ -77,7 +78,7 @@ public class NumassSubstractEmptySourceTask extends AbstractTask<Table> {
private Data<? extends Table> subtractBackground(Data<? extends Table> mergeData, Data<? extends Table> emptyData) { private Data<? extends Table> subtractBackground(Data<? extends Table> mergeData, Data<? extends Table> emptyData) {
return DataUtils.combine(Table.class, mergeData, emptyData, mergeData.meta(), (BiFunction<Table, Table, Table>) this::subtractBackground); return DataUtils.combine(mergeData, emptyData, Table.class, mergeData.meta(), (BiFunction<Table, Table, Table>) this::subtractBackground);
} }
private Table subtractBackground(Table merge, Table empty) { private Table subtractBackground(Table merge, Table empty) {
@ -90,7 +91,7 @@ public class NumassSubstractEmptySourceTask extends AbstractTask<Table> {
pointBuilder.putValue("CR", Math.max(0, point.getDouble("CR") - referencePoint.get().getDouble("CR"))); pointBuilder.putValue("CR", Math.max(0, point.getDouble("CR") - referencePoint.get().getDouble("CR")));
pointBuilder.putValue("CRerr", Math.sqrt(Math.pow(point.getDouble("CRerr"), 2d) + Math.pow(referencePoint.get().getDouble("CRerr"), 2d))); pointBuilder.putValue("CRerr", Math.sqrt(Math.pow(point.getDouble("CRerr"), 2d) + Math.pow(referencePoint.get().getDouble("CRerr"), 2d)));
} else { } else {
getLogger().warn("No reference point found for Uset = {}", point.getDouble("Uset")); LoggerFactory.getLogger(getClass()).warn("No reference point found for Uset = {}", point.getDouble("Uset"));
} }
builder.row(pointBuilder.build()); builder.row(pointBuilder.build());
}); });