Various changes
- New possibility to avoid running
insertSamples.py
every time a different sample list has to be used:- Define an environment variable for the folder containing all the JSON files, e.g.
export SAMPLE_JSONS=/t3home/swertz/swertz/CMSSW_10_2_16_NanoSkim/src/uzh_ttbb/NanoSkimmer/test/Jul2020NanoV6Production/
- Specify
--samples TEMPLATE.YML
tocontrolPlotter.py
, whereTEMPLATE.YML
can be e.g.config/samples_template.yml
or another "template" file with a subset of the samples. - Note that the behviour of
insertSamples.py
is not changed, and can still be used as before (-> don't specify the--samples
argument, and insert the file list to be used intoconfig/samples.yml
). - Also note that for technical reasons a
config/samples.yml
file still has to be present to be loaded intoconfig/analysis.yml
, even if that file is actually not used to build the sample list.
- Define an environment variable for the folder containing all the JSON files, e.g.
- Add new HT-binned samples to list
- Latest additions to
genMatchingStudies
(matching with reco level objets) - Rework (and rename) function that normalizes and sums MC contributions to also support systematics (with some caveats)
- Some changes and additions to plotting utilities:
-
simplePlotter.py
: reads simple YAML file (see e.g./t3home/swertz/swertz/bambooOutput/200701_genRecMatching_fixBug/comparisons.yml
), produces not-too-ugly plots with ratios for comparisons -
plot2DslicesFrom3D.py
: plot all 2D slices of a 3D histogram
-
-
bTagPlotter
:- Produce and use 3D b-tag SF patches
- Produce all comparison plots from the postprocessing function
-
controlPlotter
: use the 3D b-tag SF patches previously produced using thebTagPlotter
- Also, I was thinking about the problem of avoiding overlap between the 5FS and 4FS samples: in the
samples_template.yml
, you'll see that the 5FS samples only havettcc
andttjj
subprocess, while the 4FS sample only hasttB
: this is sufficient to avoid any double-counting. Some comments though:- In some cases we might still want to process the
ttB
component of the 5FS sample. We'll have to find another way to exclude it from plotIt (I'll come up with something) - When doing unfolding we don't want to enforce the
ttB
genTtbarCategory for building the signal templates, so the unfolding plotter musn't enforce it (FYI @kcormier, is that OK with you like this?)
- In some cases we might still want to process the
Given that there are more and more things added to the bamboo plotting modules (extra arguments, file list insertion, b-tag SF patches, ...), it might be good to have a common subclass for all our modules, to avoid forgetting things and making updates easier. But I'll leave that to a future PR to avoid too disruptive changes now.