[PWGHF] HFInvMassFitter enhancement#15860
[PWGHF] HFInvMassFitter enhancement#15860lubynets wants to merge 26 commits intoAliceO2Group:masterfrom
Conversation
|
O2 linter results: ❌ 0 errors, |
|
All checks except for O2Physics build are passed. Since this PR does not affect files compiled within O2Physics, the pending test do not make sense for it, therefore the PR is converted to draft to prevent the server from unnecessary job. |
Hi @lubynets , do you mean that you request a review + approval before marking the PR as ready for review because you want to avoid starting the build tests unnecessarily? |
Yes, effectively my PR is ready for review. I marked it as |
OK, thanks for clarification. @stefanopolitano @zhangbiao-phy Please have a look. |
Detailed explanation: it was observed that the raw yield as a function of BDT NP score lower-value cut demonstrates non-smooth behavior (see some outlier points in left panel as well as points with error bars larger than the neighbor points have). It was assumed to happen due to possible fit's convergence to a local minimum instead of the global one exactly at this NP score cut. In order to avoid this, the initial fit parameters are now randomized around their original values, using the
TRandom3class seeded withRandomSeedconfigurable. It turns out that for 100 trials most of raw yield values clusterize at a certain value (which is belived to be a "true" value), wile some number of outliers is present (middle panel). The median out of 100 trials value of each variable of interest (raw yield, mean, sigma, or statistical error on them) can be extracted, then the raw yield vs NP score cut distribution does not have outliers (right panel). This is critically important for stability of the cut variation method implemented in cut_variation.py.Added double-sided Crystal Ball function to possible signal functions.
Configuration via json made more user- and reading-friendly:
vector of values (of the size of number of slice intervals) can be replaced with a single number when all vector components are equal;
check for correct parsing the config added (to replace the json package error message with the custom one);
histograms which are optional in some mode (e.g. MC) are not requested to be present in the config.
Bugs and code imperfections cleaned