Skip to content

Preliminary Post Processing Tool and Script to Get MC Normalization variables

Spyridon Merianos requested to merge smeriano/easyjet:PmgImplement into main

PRELIMINARY IMPLEMENTATION.

  • XSectionData.yaml : Contains two paths.
    • One referring to an official PMG folder that contains .txt file with various cross section/kFactor/filterEfficiency values per DSID (dataset number)
    • A second one where a custom txt file is located. Same format and variables but different (probably NLO) values.
  • HHbbyyCustomXSections.txt is the custom file.
  • GetXSectionTool.h/.src : A PostProcessorTool which utilizes the IPMGCrossSectionTool with its methods --> getAMIXsection(int dsid), getKfactor(int dsid), getFilterEff(int dsid) .
  • bbyyPostProcess.py : Job options based on arguments.

What does the python script do? Basically runs on an easyjet produced ntuple called yybb_PHYSLITE_ntuple.root and produces another one called mcNormalisationVars.root which entails the branches AMIXsection, kFactor, FilterEff, luminosity and SumOfWeights (this one from the existing SOW post processing tool).

Assuming you have your run folder in the same directory as easyjet , you could do:

athena ../easyjet/bbyyAnalysis/bin/bbyyPostProcess.py - \
--inFile yybb_PHYSLITE_ntuple.root \
--xSectionsConfig ../easyjet/bbyyAnalysis/share/XSectionData.yaml \
--DSID 600021 
--mcYears 2015,2016

Notes :

  • Possibly the we can comment/uncomment one path in the XSectionData.yaml file instead of changing the path in the bbyyPostProcess script.
  • the mcYears and DSID argumments are a preliminary solution. We might try to save them at to the easyjet ntuples a priori.
Edited by Spyridon Merianos

Merge request reports

Loading