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.cxxas 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
ROOTCOREDIRis set, it should build withmake. - Test common tools:
- c-tagging SF code, which consists of three files:
src/CtagCalibration.cxxandinclude/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.shis used bymakefileto link to SUSYToolsCtagCalibrationis a wrapper for the c-tagging calibration data interface, hopefully a bit simpler to use.CutCounteris basically a map which keeps track of the order in which cuts are counted (so we can dump them in order)LinkDef.hhis used to tell ROOT how to read vectors from D3PDsSmartChainis derived fromTChain, but throws exceptions when things go wrong (rather than continuing on) and makes setting branches easier.SusyBufferholds the information that's read out of the D3PD. It's something like what comes out ofMakeClass, but with less garbage code.ctag_defs.hhcontains general definitions used byCtagCalibration.