PMA module code analysis » History » Version 2

« Previous - Version 2/4 (diff) - Next » - Current version
Erica Snider, 05/10/2016 02:44 PM

PMA module code analysis

PMA Code and Documentation Links

Aaron Higuera is maintaining systematic efficiency tests and writes code for it. Here is the last development, for the proton decay / atmospheric neutrino events: (note that PMA here is used together with Cluster Crawler for 2D clusters reconstruction)

Similar test are done for beam neutrinos, I expect that soon we'll have update on this using recent releases of reconstruction algorithms.

Redmine links for code:

Vertexing functionality is collected here:

The most basic functions for building, testing, extending tracks are here:

And all the building blocks for the track and vertex optimization are in the directory:

The cost of computations is mostly due to trajectory node optimization, done with finite-difference calculations of the gradient of the objective function with respect to the node position. If you'd like to have a look, the code is here:

void Optimize(float penaltyValue, float endSegWeight);

and functions:

double Pi(float endSegWeight, bool doAsymm) const;
double Penalty(float endSegWeight) const;
double Mse(void) const;
double MakeGradient(float penaltyValue, float endSegWeight);
double StepWithGradient(float alfa, float tol, float penalty, float weight);

The complexity on the higher level comes from scoring the tracks made of various (possible) matching of clusters in complementary 2D projections, this is done more or less here:

Working session materials