Skip to content

MapCollaboration/MonteRosa

Repository files navigation

monterosa

MonteRosa

MonteRosa is a code adapted from MontBlanc which aims at the extraction of collinear Dihadron Fragmentation Functions (DiFFs). So far, it has been only used to extract unpolarized DiFFs using experimental data for e+e- annihilation. Details concerning this fit of FFs in particular and the methodology in general can be found in the reference below.

Requirements

In order for the code to be compiled, the following dependencies need to be preinstalled:

(*) ceres-solver modification: See ceres_modification folder and LICENSE

Compilation and installation

The MonteRosa library only relies on cmake for configuration and installation. This is done by following the standard procedure:

mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=<installation path> ..
make -j
make install

The library can be uninstalled by running:

make clean
xargs rm < install_manifest.txt

Usage

The relevant source code to perform a fit and analyse the results can be found in the run/ folder. However, in the following we assume to be in the build/run/ folder that will be created after the cmake procedure detailed above and that contains the executables. In this folder we need to create a subfolder called fit/ that will be used to store the results. A short description of each code is as follows:

  1. Optimize: this code is responsible for performing the fit. An example of the usage of this code is:

    ./Optimize 1 ../../config/dihadron/MR_BELLEonly.yaml ../../data/ fit/

    The first argument indicates the Monte Carlo replica index, the second points to the input card containing the main parameters of the fit as well as the data sets to be fitted (see here for a commented example and here for additional information concerning the data sets), the third points to the folder where the data files are contained, and the last argument is the folder where the results of the fit will be dumped. This code produces in the folder fit/MR_BELLEonly (fit/<config name>) a file called BestParameters.yaml that contains the best fit parameters of the NN/analytic parameterisation along with some additional information such as the training, validation, and global χ2's. In addition, this code will place in the fit/MR_BELLEonly folder two additional subfolders, log/ and data/, containing respectively the log file of the fit and the data files for the fitted experimental sets. If a new fit with a different Monte Carlo replica index is run specifying the fit/ as a destination for the results, the best fit parameters of this new fit will be appended to the BestParameters.yaml file and a new log file will be created in the fit/log/ subfolder. Notice that Monte Carlo replica indices equal or larger than one correspond to actual random fluctuations of the central values of the experimental data, while the index 0 corresponds to a fit to the central values, i.e. no fluctuations are performed. If the code Optimize is run without any arugments it will prompt a short usage description.

  2. LHAPDFGrid: this code produces an LHAPDF grid for a given fit. In order to produce a grid for the fit in the fit/MR_BELLEonly folder, the syntax is:

    ./LHAPDFGrid fit/MR_BELLEonly

    The produced grid can be found in the fit/MR_BELLEonly folder under the name LHAPDFSet and corresponds to NP DiFFs. Each discrete value of Mh defined in the Mhgrid in the configuration file corresponds to a subfolder with the format LHAPDFSet_MhXYZT where X.YZT is the numerical value of Mh (e.g Mh = 0.700 GeV/c2 → LHAPDFSet_Mh0700). Each of these subfolders contains the values of NP DiFFs in the standard LHAPDF format (grid in z and Q) at fixed Mh. By default, all replicas with a total χ2 lower than 3 are included. It is possible to customise the output by providing the script with additional options. Specifically, it is possible to change the maximum χ2, to change the set name and to specify the number of replicas to be produced. The last option is applicable only when the number of user-provided replicas does not exceed the number of fits surviving the χ2 cut. The general format is thus:

    ./LHAPDFGrid <path to fit folder> [<maximum chi2> (default: 3.0)] [<set name> (default: LHAPDFSet)] [<Nmembers> (default: all)]

    For example, assuming to have performed 100 fits, 83 of them with a χ2 below 2, the following:

    ./LHAPDFGrid fit/MR_BELLEonly 2 LHAPDFSet_chi2_2_Nmembers_80 80
    

    will produce a grid with 80 replicas, each satisfying the criterion χ2 < 2, under the name LHAPDFSet_chi2_2_Nmembers_80.

  3. ComputeChi2s: as the name says, the code computes the χ2's using the fit results. The syntax is:

    ./ComputeChi2s fit/MR_BELLEonly

    This code relies on the presence of an LHAPDF grid in the fit folder named LHAPDFSet and will result in the creation of the file fit/MR_BELLEonly/Chi2s.yaml containing the χ2 for the single experiments included in the fit. It is also possible to change the name of the FF set to be used to compute the χ2's. For example:

    ./ComputeChi2s fit/ LHAPDFSet_chi2_2_Nmembers_80

    will compute the χ2's using the LHAPDFSet_chi2_2_Nmembers_80 set that has to be either in the fit/MR_BELLEonly folder or in the LHAPDF data directory (that can be retrieved by running the command lhapdf-config --datadir from shell).

  4. Predictions: this code computes the predictions for all the points included in the fit. It is used as:

    ./Predictions fit/MR_BELLEonly

    Also this code relies on the presence of an LHAPDF grid in the fit folder named LHAPDFSet and will produce the file fit/Predictions.yaml. Again, it is possible to use a different name for the FF set to be used to compute the predictions. For example:

    ./Predictions fit/MR_BELLEonly LHAPDFSet_chi2_2_Nmembers_80

    will compute the predictions using the LHAPDFSet_chi2_2_Nmembers_80 set that has to be either in the fit/MR_BELLEonly/ folder or in the LHAPDF data directory.

  5. Predictions_irep: this code computes the predictions with uncertainty bands defined as the central $68%$ replicas' predictions. It is used as:

    ./Predictions_irep <path to fit folder> [<set name> (default: LHAPDFSet)]

The results produced by the codes described above can finally be visualised by copying the files DiFF_analysis.ipynb, pred_68.ipynb and Chi2s.ipynb from analysis into the fit/ folder, and running the template jupyter notebook/lab. A compiled example can be seen in Results

Public Results

MAPDiFF10 grids

Grids of unpolarized di-hadron fragmentation functions for positive and negative pion pairs. The grides have been obtained by fitting BELLE data, with and without Neural Networks. They are provided at LO, NLO, and NNLO.

LHAPDF Grids at LO, NLO, NNLO.

Use of DiFF grids

The link contains a Python notebook that the user can run to read the grids and display the values of the DiFFs.

Reference

This code is based on MontBlanc whose results have been published in the following references:

  • Rabah Abdul Khalek, Valerio Bertone, Emanuele R. Nocera, "A determination of unpolarised pion fragmentation functions using semi-inclusive deep-inelastic-scattering data: MAPFF1.0", arXiv:2105.08725
  • Rabah Abdul Khalek, Valerio Bertone, Alice Khoudli, Emanuele R. Nocera, "Pion and kaon fragmentation functions at next-to-next-to-leading order", arXiv:2105.08725

Contacts

For additional information or questions on MonteRosa, contact:

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages