Bootstrap Method for JES in-situ Studies

Description

The Bootstrap Method can be used to determine statistical error on the evaluation of the systematic uncertainties, as well as the statistical uncertainty on the nominal in-situ measurement itself. For the statistical uncertainties on the systematics, it allows to account for the (strong) correlations between the nominal sample of events and another sample with some change in the selection (e.g. a different cut on the extra jets affecting a balance study). For the statistical uncertainty on the in-situ measurement it allows to cross-check the uncertainty evaluation from the fit.

This method uses a set of replicas of the nominal distribution, each produced by fluctuating every event in the sample by a Poisson distribution with mu = 1. The seed of the Poisson generator is based on the event and run number, as well as channel ID when MC is used. Therefore, all the common events in different samples are fluctuated coherently (one-to-one). At the same time, different events (in the same or in different samples) are fluctuated independently.

A working implementation of the Bootstrap method is available at:

svn co svn+ssh://svn.cern.ch/reps/atlasphys-sm/Physics/StandardModel/Common/BootstrapGenerator/tags/BootstrapGenerator-01-10-00 BootstrapGenerator

Instructions for the various compile methods are included in the README file, as well as instructions on how to run several example scripts included in the package.

Example Code:

Filling bootstrap:


Int_t nrep = 1000;
BootstrapGenerator* m_generator = new BootstrapGenerator ("Gen", "Gen", nreps);
BootstrapMap m_data;

for (unsigned int iSyst = 0; iSyst < systNames.size(); ++iSyst) {
    TH2DBootstrap *bootstrap = new TH2DBootstrap ("bootstrap_systName", "pT;Response", 
                                                   nPTbins, ptBins, nRespBins, respBins, 
                                                   nToys, m_generator);
    m_data[m_systNames.at(iSyst)] = bootstrap;
}

m_generator.Generate(runNumber, eventNumber);
m_data[systName]->Fill(pt, response, eventWeight);

Calculate systematics with stat uncertainty:

nominal = m_data["Nominal"]
systUp = m_data["syst_up"]
systDown = m_data["syst_down"]

systUp->Add(nominal, -1.);
systUp->Divide(nominal)
systDown->Add(nominal,-1.)
systDown->Divide(nominal)

Additional Resources

https://indico.cern.ch/event/237710/contribution/6/attachments/399183/555175/corel_jets.pdf https://indico.cern.ch/event/217082/contribution/2/attachments/348039/485254/MeyerChris_SMJetPhotonPhysics_Dijet2011Bootstrap_20130319.pdf

-- MeghanFrate - 2015-11-20

Edit | Attach | Watch | Print version | History: r3 < r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r3 - 2015-11-30 - BogdanMalaescu
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Sandbox All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright &© 2008-2023 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback