Update 'FCNC Fitter'

Renata Kopecná 2022-02-04 18:28:59 +01:00
parent 26be2f50e7
commit 2a8398c2a9

@ -54,6 +54,9 @@ There are possible 6 levels of verbosity, which follows the spdlog standard. The
| 4) Error | red | Prints only error messages |
| 5) Critical | full red | Prints only very serious error messages, the program should end/or crash after such message |
The plots are saved in `./plots/ `folder. There are a lot of subfolders for easier organization of the plots.
# Known issues
The running per year is not working flawlessly as it wasn't really ever used. The paths are sometimes wrongly configured due to this and hence the loading of files sometimes fails.
@ -96,6 +99,15 @@ python run.py -dontCompile -Run 12 -v 2 -fit -Ref -nBins 1
* The last step is to fit the data, J/psi channel in 4 dimensions (B+ mass, cos(thetal), cos(thetak), phi)
# Tuple conversion
The functions used to convert and tne load the converted TTrees are defined in event.cc. It takes the output from the selection and converts it into a tuple with branch names that make the fitter's life easier. The correct path is saved in paths.cc, function `getSelectedTuplePath(int dataset, int run, int year)`.
To run the conversion for all the samples, do
```
python run.py -convert -all -Run 1
python run.py -convert -all -Run 2
```
# Parameters and constants
## Constants
@ -143,6 +155,10 @@ The class definition of the parameters used in the fitter is in `parameters.cc`.
*
The parameters used in the fitter are then defined in `bu2kstarmumu_parameters.hh`. The functions defined there inititialize the parameters either to the defualt or based on the given fit model. The functions can also load parameters from files, which is handy when fixing parameters to the reference channel or when generating toys. Helper functions used to retrieve the data from files are also defined there.
## Options
Most of the fit options are stored in the class defined in opitons.hh. In the class init, the default values are set. As this is a legacy code, there is A LOT of unused options or options that just don't do anything.
# Fit models
There are many options how to put together the model that has to be fit. Therefore, separate files with definitions of the model for given case are saved in given source files. The files that were actually used are listed in the neat table below. For the full details, [consult my thesis](http://www.physi.uni-heidelberg.de/Publications/thesis_Kopecna_final.pdf).
@ -156,10 +172,10 @@ There are many options how to put together the model that has to be fit. Therefo
| toysfit.cc | Fits the distributions from toys. |
# Toys generation
# Running jobs on condor
# Angular acceptance
The angular acceptance functions are defined in `angularcorr.cc`. The range of the polynomials is set in the `get_scan_low(bool quickTest, bool only_1D_chi2)` and `get_scan_high(bool quickTest, bool only_1D_chi2)` functions. The actual math is done in `bu2kstarmumu_pdf.cc`.
# File structure
Currently, the file structure is as follows. All the `.cc` source files also have their corresponding header with the same `name.hh`.
@ -178,7 +194,7 @@ Currently, the file structure is as follows. All the `.cc` source files also hav
* bu2kstarmumu_plotter.cc
* events.cc
* fitter.cc
* folder.cc
* folder.cc (Folds the events, does not have to do anything with file folders :))
* funcs.cc
* integrals.cc
* options.cc