WIP: Amarini dev
Adding:
- Snapshot
- JSON filtering (todo: import all jsons and define the three years).
- debug genWeights and some checks (tchain is not empty).
- additional cleaning of make files
JSON Filtering Documentation. As simple as:
import CMGRDF.extensions.goodlumis as goodlumis
Flow( [ ...
goodlumis.goodlumi2017, goodlumis.select_goodlumi2017
...
]
- POGSF implementation through correctionlib. It is indisputably ugly. correctionlib needs to be recompiled in standard lxplus8 environment. (it maybe the gcc). One can point to it with the PYTHONPATH. (on SWAN, correctionlib seems to work.) To test correctionlib just run (from the doc):
wget https://raw.githubusercontent.com/cms-nanoAOD/correctionlib/master/src/demo.cc
g++ $(correction config --cflags --ldflags --rpath) demo.cc -o demo
Additionally, ROOT is compiled with c++14 while correctionlib needs c++17. I moved everything that need c++17 in the .cc
file, and compiling it alone with the option seems to work. (and also evaluators are in a global map variable for the same reason).
I tested the running (not the meaningfulness) of pureweight and the pseudo-muon SF (actually jets, because I have that at the moment). Errors are incomprehensible: if a variable is outside the binning the thing crash w/o explanation. I don't know if RDF catches exception w/o telling us more.
Note: I'm not referring to AFS location, e.g. for the json files, since SWAN doesn't have AFS access.
Edited by Andrea Carlo Marini