This code performs staged BDT analyses using root files as in- and output format.
ROOTversion ≥ 6.05.02 and compiled withTMVAandMathMorefastjetfastjet contrib(must be compiled withCXXFLAGS=-fPIC)Boost(Optional,Range,Units,Operators)
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 and mac installations
mkdir build
cd build
cmake ..
make
- for quicker compilation (install ccache and ninja-build)
mkdir build
cd build
cmake -G Ninja ..
ninja
- for mac (still install ccache)
mkdir build
cd build
cmake -G Xcode ..
xcodebuild
- if you have trouble installing
ROOT≥ 6 withGCC≥ 5 you can configure it with
cmake -DCMAKE_CXX_FLAGS=-D_GLIBCXX_USE_CXX11_ABI=0 -Dmathmore=ON -Dbuiltin_gsl=ON -GNinja..
Examples are listed here.
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 source code documentation including all classes and functions can be found here.
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.
If you use this code to publish analyses please cite:
- Jan Hajer, Ying-Ying Li, Tao Liu, John F. H. Shiu: Heavy Higgs Bosons at 14 TeV and 100 TeV, April 2015
- Nathaniel Craig, Jan Hajer, Ying-Ying Li, Tao Liu, Hao Zhang: Heavy Higgs Bosons at Low tan β: from the LHC to 100 TeV, May 2016
BoCa is licenced under the GPL 3.
- 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