simple cutflow for scharm to charm analysis
This code was designed to do several things:
- Serve as a reference: I've tried to keep
src/cutflow.cxx
as simple and readable as possible. Most of the cuts are hard-coded, and I've tried to use functions only when they make things more clear. - Compile anywhere: Assuming you have ROOT and SUSYTools installed, and that
ROOTCOREDIR
is set, it should build withmake
. - Test common tools:
- c-tagging SF code, which consists of three files:
src/CtagCalibration.cxx
andinclude/CtagCalibration.hh
: a wrapper forCalibrationDataInterface
(the official b-tagging scalefactor package), which applies the "medium" JetFitterCharm scale factors and hides some of the ugliness of the underlying package.include/ctag_defs.hh
: lightweight miscellaneous c-tag definitions.
mctlib
: copied from the sbottom analysis, formt2
,mct
, etc.
This isn't a framework. It's not supposed to be used to fill histograms, create ntuples, optimize selections, lookup cross sections, or set limits. It's not supposed to have any dependencies that SUSYTools doesn't have.
If you have SUSYTools installed and ROOTCOREDIR
is set, you should be able to type
make
which will produce an executable called cutflow
. Running
./cutflow root_file1.root root_file2.root ...
will run the cutflow over these root files and print a summary.
The executable expects several extra files in the run directory (it's probably easiest to sotflink them to the appropriate files):
grl.xml
: good runs list (only used with data)cdi.root
: b-tagging calibration file. For JetFitterCharm it should be2013-Winter-rel17.2.1.4_MC12-83.root
Aside from the familiar makefile
to build, and the cutflow.cxx
file itself there are a few extra files kicking around:
map_libs.sh
is used bymakefile
to link to SUSYToolsCtagCalibration
is a wrapper for the c-tagging calibration data interface, hopefully a bit simpler to use.CutCounter
is basically a map which keeps track of the order in which cuts are counted (so we can dump them in order)LinkDef.hh
is used to tell ROOT how to read vectors from D3PDsSmartChain
is derived fromTChain
, but throws exceptions when things go wrong (rather than continuing on) and makes setting branches easier.SusyBuffer
holds the information that's read out of the D3PD. It's something like what comes out ofMakeClass
, but with less garbage code.ctag_defs.hh
contains general definitions used byCtagCalibration
.