|
BmnRoot
|
Classes | |
| class | AlignLayer |
Functions | |
| TensorDataset | load_dataset (str path) |
| tuple[float, float, float] | train_one (TensorDataset dataset, str det_id, int epochs, float lr, int batch, str out_dir, torch.device device) |
| main () | |
Variables | |
| str | DEFAULT_GLOB = "/home/igor/DATA/bmn/nn/data_det*.csv" |
| int | DEFAULT_EPOCHS = 100 |
| int | DEFAULT_LR = 1e-3 |
| int | DEFAULT_BATCH = 256 |
| str | DEFAULT_OUT_DIR = "models" |
| iX | |
| iY | |
| iZ | |
| iXA | |
| iXB | |
| iYA | |
| iYB | |
| list | INPUT_COLS = [iZ, iXA, iYA, iXB, iYB] |
| list | OUTPUT_COLS = [iX, iY] |
BM@N alignment routine
BM@N experiment at NICA complex, JINR, 2025
Department: Math & Soft Group of HEP lab
Author: Igor Polev, polev@jinr.ru
MSE minimization of alignment problem using NN training techniques.
For each alignable detector element we prepare a custom single-layer NN model
and train it to get trained NN weights as a solution for alignment parameters.
Custom layer consists of measuremets model for defined experiment setup.
Datasets are prepared by expdataNN.C from original hits and tracks
alignment data in form of separate CSV files for each detector element:
inputs (5): z, xA, xB, yA, yB — columns [2..6]
outputs (2): x, y — columns [0..1]
where xA, xB, yA, yB are coefficients of straight-line fit:
x = xA + xB*z, y = yA + yB*z
This fit is computed from non-aligned data using ordinary linear regression
during data export procedure (see expdataNN.C).
| TensorDataset train.load_dataset | ( | str | path | ) |
| train.main | ( | ) |
Definition at line 142 of file train.py.
References load_dataset(), main(), and train_one().
Referenced by main().
| tuple[float, float, float] train.train_one | ( | TensorDataset | dataset, |
| str | det_id, | ||
| int | epochs, | ||
| float | lr, | ||
| int | batch, | ||
| str | out_dir, | ||
| torch.device | device | ||
| ) |
| str train.DEFAULT_GLOB = "/home/igor/DATA/bmn/nn/data_det*.csv" |