-
Notifications
You must be signed in to change notification settings - Fork 5
05. Splines
Description of Splines and how to read them in.
MaCh3 supports both event-by-event and binned splines:
TODO!!
Format to initlaise event-by-event std::vector< std::vector<TSpline3_red*> > MasterSpline
with size [NEvents][NSplineParams]
. If the given event doesn't have a spline then it should be set to NULL
.
To speed up the process of loading files there is a function PrepareSplineFile()
which will dump spline information into a prepossed file with only relevant information. Then there is the prepared constructor SMonolith::SMonolith(std::string FileName)
.
Since the calcuatalion of event by event spline is quite often the bottleneck there is GPU support for these calculations. From developer and user point of view code works the same. If GPU support is enabled MaCh3 will copy spline information to GPU and perform calcaution there.
There is the possibility to use TF1 rather than cubic interpolation. Which helps significantly reduce RAM. However, it may not work for every spline. Therefore it is advised to check the LLH scan before making an analysis choice.
At MaCh3 following interpolation are available for cubic splines:
- TSpline3
- Linear
- Monotonic
- Akima
The MaCh3 Collaboration