Update 'FCNC Fitter'
parent
0e165c7185
commit
93503a288a
@ -3,9 +3,23 @@ FCNC fitter was originally written by Christoph Langenbruch. Then, it was modifi
|
|||||||
|
|
||||||
## Table of Contents
|
## Table of Contents
|
||||||
* [Compilation](#compilation)
|
* [Compilation](#compilation)
|
||||||
|
* [Creating necessary folders](#creating-necessary-folders)
|
||||||
* [spdlog](#spdlog)
|
* [spdlog](#spdlog)
|
||||||
* [File structure](#file-structure)
|
* [git](#git)
|
||||||
|
* [Output](#output)
|
||||||
|
* [Known issues](#known-issues)
|
||||||
* [Running](#running)
|
* [Running](#running)
|
||||||
|
* [Tuple conversion](#tuple-conversion)
|
||||||
|
* [Parameters and constants](#parameters-and-constants)
|
||||||
|
* [Constants](#constants)
|
||||||
|
* [Parameters](#parameters)
|
||||||
|
* [Options](#options)
|
||||||
|
* [Fit models](#fit-models)
|
||||||
|
* [Running standalone scripts](#running-standalone-scripts)
|
||||||
|
* [Running jobs on condor](#running-jobs-on-condor)
|
||||||
|
* [Angular acceptance](#angular-acceptance)
|
||||||
|
* [File structure](#file-structure)
|
||||||
|
|
||||||
|
|
||||||
# Compilation
|
# Compilation
|
||||||
The compilation is done by using cmake. The include of [spdlog](#spdlog) and all the libraries is done in `CMakeLists.txt`. When you install [spdlog](#spdlog), check the path is properly included! Also, it will fail on `lhcba1`, run on `d0new`.
|
The compilation is done by using cmake. The include of [spdlog](#spdlog) and all the libraries is done in `CMakeLists.txt`. When you install [spdlog](#spdlog), check the path is properly included! Also, it will fail on `lhcba1`, run on `d0new`.
|
||||||
@ -181,8 +195,24 @@ There are many options how to put together the model that has to be fit. Therefo
|
|||||||
| toysfit.cc | Fits the distributions from toys. |
|
| toysfit.cc | Fits the distributions from toys. |
|
||||||
|
|
||||||
|
|
||||||
# Toys generation
|
# Running standalone scripts
|
||||||
|
The standalone scripts are saved in `sources/Scritps`. They can be ran using the file `RunningScripts.cc`. It is done by including the given header for your favorite script and then just call the function inside `runWhatever()`. This way, the mainfile does not need to know what script you use and does not have to be changed and recompiled all the time: only `RunningScripts` is then recompiled.
|
||||||
|
|
||||||
# Running jobs on condor
|
# Running jobs on condor
|
||||||
|
Condor is installed at `lhcba1`. The submission file is called `runToysHD.sub`. In this file, the number of calls is specified. If I want to generate 500 toys, I set
|
||||||
|
|
||||||
|
```
|
||||||
|
queue 500
|
||||||
|
```
|
||||||
|
|
||||||
|
It calls `condor.sh`. In this file, the working directory is set (you need to set this by hand to fit your needs) and also the path to `job.sh`. In `job.sh`, the paht to the FCNCfitter executable needs to be set by hand. In this file, the executable is called with given options.
|
||||||
|
|
||||||
|
No, I also do not know why there is 20 files calling each other, but it works and I had no time to fix it, so there you go. Yes, it woudl be easier to have some automatic input with the options, but again, no time.
|
||||||
|
|
||||||
|
Since I haven't figured out a nice way how to force condor to save it's output organized in folders, there is a script called `cleanup.sh`. It moves the log, error report and outputfiles into neat folders. The name corresponds to the jobID (the number condor gives to the job). It cleans up after jobs specified in the loop inside `cleanup.sh`.
|
||||||
|
|
||||||
|
For readers convenience, python script that checks the condor output, `checkConvergence.py`, is included. It loops through the outputfiles and checks for failed Hesse and failed Squared Hesse. The script is not perfect and very quickly written, however it should work more or less.
|
||||||
|
|
||||||
# Angular acceptance
|
# 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`.
|
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`.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user