Skip to content

WIP: Histogram replicas with BootstrapGenerator (QFramework)

Tae Hyoun Park requested to merge bootstrap-histograms into master

ROOT's TH1 objects are produced at analyzed.py by booking them through a custom syntax histograms config file:

TH1F("hist","title",nbins,xmin,xmax) << (  [TQObservable] : 'observable title' );
@Cut: hist

This MR aims to produce TH1Bootstrap objects through much of the same way:

# needed for BootstrapGenerator(nreps)->Generate(runNumber,eventNumber,mcChannelNumber);
BootstrapGenerator("boot","bootTitle",nreps) << ( [runNumber], [eventNumber], $(isData) ? [mcChannelNumber] : 0 );
# filling histogram proceeds exactly the same way
TH1FBootstrap("hist","histTitle",nbins,xmin,xmax) << ( [TQObservable] : 'observable title' );
@Cut: hist
  • Add BootstrapGenerator module
  • Add TQBootstrapUtils helpers
  • Support for bootstrap histograms in TQBoostrapMakerAnalysisJob to run at analyze.py
  • Support for bootstrap histograms in TQSampleDataReader
  • Optional dependency in QFramework (CMake)

More information about the bootstrap technique & the code can be found here. Note: this should add support in QFramework to process bootstrap histograms; their handling in SFramework will be a separate (likely more complex) task.

Edited by Tae Hyoun Park

Merge request reports