This code performs staged BDT analyses using root files as in- and output format.
ROOT
version >= 6 and compiled with TMVA and MathMorefastjet
fastjet contrib
(must be compiled withCXXFLAGS=-fPIC
)Boost
(Optional
,Range
,Units
)
The BoCA code makes heavy use of modern c++ features. The limiting factor for the minimal supportet compiler version is given by the use of return type deduction. Therefore the compiler version must be
- GCC version >= 4.9
- Clang version >= 3.3
- the following is tested on recent ubuntu installations
mkdir build
cd build
cmake ..
make
- for quicker compilation (install ccache and ninja-build)
mkdir build
cd build
cmake -G Ninja ..
ninja
Each analysis needs a dedicated Analysis
class, a set of Tagger
classess and a main.cpp
file.
The Analysis
class contains the global information of the analysis, such as file names, path names, variables names etc.
Every Tagger
class tags or reconstructs one specific particle or signature. Each analysis needs at least one dedicated Tagger
.
The main.cpp
defines the order in which each Tagger
is passed to the Analysis
.
The acceptances for Standard model particles at a future 100 TeV collider are presented here. These plots represent some examples of the power of this code.
The source code documentation including all classes and functions can be found here.
BoCa is licenced under the GPL 3.
Please cite: Hajer, Jan, Li, Ying-Ying, Liu, Tao, Shiu, John F. H.: Heavy Higgs Bosons at 14 TeV and 100 TeV, April 2015
- initial download of the project
git clone git@github.com:BoostedColliderAnalysis/BoCA.git
- downloading updates from the server
git pull
- save changes of specific files
git commit FILES
- save changes in to all files
git commit -a
- upload changes to server
git push
- change branches
git checkout BRANCH
- create new branch
git checkout -b NEWBRANCH
- merge branches
git merge BRANCH
- save unfinished work on stash
git stash
- get stash changes back
git stash pop
- use standard library when possible
- avoid heap allocation
new
- prefer references
&
over pointers*
- Classes and functions are written in CamelCase
- variables are written small_with_underscore
- member_variables_ and TemplateParamter_ end on an underscore