#include <PileupReweightingTool.h>
Public Member Functions | |
virtual UInt_t | GetRandomLumiBlockNumber (UInt_t runNumber) |
Get a random lumiblock number for the given run number. | |
virtual Double_t | GetIntegratedLumi (UInt_t start, UInt_t end) |
Get the integrated luminosity (in pb-1) between start and end run (inclusive). | |
virtual Double_t | GetIntegratedLumi (const TString &trigger) |
Total lumi (in pb-1) for a given trigger combination .. leave blank for the unprescaled. | |
virtual Double_t | GetIntegratedLumi (Int_t periodNumber, UInt_t start, UInt_t end) |
virtual Double_t | GetIntegratedLumiFraction (Int_t periodNumber, UInt_t start, UInt_t end) |
virtual Double_t | GetIntegratedLumiFraction (Int_t periodNumber, Double_t mu, UInt_t start, UInt_t end) |
virtual Int_t | AddPeriod (Int_t periodNumber, UInt_t start, UInt_t end) |
use these methods when generating config files | |
virtual Int_t | SetBinning (Int_t nbinsx, Double_t *xbins, Int_t nbinsy=0, Double_t *ybins=0) |
virtual Int_t | SetUniformBinning (Int_t nbinsx, Double_t xlow, Double_t xup, Int_t nbinsy=0, Double_t ylow=0, Double_t yup=0) |
virtual Int_t | SetBinning (TH1 *hist) |
virtual Double_t | GetSumOfEventWeights (Int_t channel) |
helpful alternative to using the EventBookkeepers info ... assuming you made your PRW Config file!! | |
virtual Double_t | GetNumberOfEvents (Int_t channel) |
PileupReweightingTool (const std::string &name) | |
Constructor for standalone usage. | |
virtual StatusCode | initialize () |
Function initialising the tool. | |
virtual StatusCode | finalize () |
Finalize - can call the WriteToFile for us. | |
virtual StatusCode | apply (const xAOD::EventInfo &eventInfo, bool mu_dependent) |
virtual float | getCombinedWeight (const xAOD::EventInfo &eventInfo) |
Return combined pileup weight. | |
virtual float | getCombinedWeight (const xAOD::EventInfo &eventInfo, Double_t x, Double_t y) |
Same as above, but for a 'custom weight' variable. | |
virtual float | getCombinedWeight (const xAOD::EventInfo &eventInfo, const TString &trigger, bool mu_dependent) |
get combined weight (i.e. pileup weight) but with a 1./dataWeight factor applied, this if used for 'prescaling' MC | |
virtual ULong64_t | getPRWHash (const xAOD::EventInfo &eventInfo) |
return the prw hash used for fast updates of weights at the post-processing level ... see the share/makeWeightTree.C script for usage | |
virtual float | getCorrectedAverageInteractionsPerCrossing (const xAOD::EventInfo &eventInfo, bool includeDataScaleFactor) |
Get the mu of a lumiblock ... needed to 'correct' the number in datasets. | |
virtual float | getCorrectedActualInteractionsPerCrossing (const xAOD::EventInfo &eventInfo, bool includeDataScaleFactor) |
Get the corrected 'actual' interactions per crossing. | |
virtual double | getLumiBlockIntegratedLumi (const xAOD::EventInfo &eventInfo) |
Get the integrated lumi of a lumiblock (in pb-1). | |
virtual float | getUnrepresentedDataWeight (const xAOD::EventInfo &eventInfo) |
When using UnrepresentedDataAction=2, you may want to apply this additional weight to ensure sum of weights are preserved. | |
virtual float | getDataWeight (const xAOD::EventInfo &eventInfo, const TString &trigger, bool mu_dependent) |
Get the dataWeight used to 'unprescale' data collected from a given trigger combination. mu_dependency is recommended to be true. | |
virtual int | getRandomRunNumber (const xAOD::EventInfo &eventInfo, bool mu_dependent) |
Get a random run number for this MC event, using mu-dependent randomization by default ... jetetmiss seem to like it muchly. | |
virtual int | fill (const xAOD::EventInfo &eventInfo) |
Call this method once per event when in config file generating mode and you want standard mu reweighting. | |
virtual int | fill (const xAOD::EventInfo &eventInfo, Double_t x, Double_t y) |
Use this method if you want to do a generic reweighting instead. | |
virtual CP::TPileupReweighting * | expert () |
Get pointer to the underlying tool - expert use only. Will require include "PileupReweighting/TPileupReweighting.h". | |
bool | isAffectedBySystematic (const CP::SystematicVariation &systematic) const |
The ISystematicsTool methods. | |
CP::SystematicSet | affectingSystematics () const |
returns: the list of all systematics this tool can be affected by | |
CP::SystematicSet | recommendedSystematics () const |
returns: the list of all systematics this tool recommends to use | |
CP::SystematicCode | applySystematicVariation (const CP::SystematicSet &systConfig) |
void | updateHandler (Property &) |
Static Public Member Functions | |
static Version_t | Class_Version () |
Protected Member Functions | |
virtual bool | runLbnOK (Int_t runNbr, Int_t lbn) |
virtual bool | passTriggerBeforePrescale (const TString &trigger) const |
Implementation of the PileupReweighting tool
StatusCode CP::PileupReweightingTool::apply | ( | const xAOD::EventInfo & | eventInfo, | |
bool | mu_dependent | |||
) | [virtual] |
Decorates with: MC: PileupWeight (CombinedWeight[*UnrepresentedDataWeight if action=2]), RandomRunNumber, RandomLumiBlockNumber Data: corrected_averageInteractionsPerCrossing mu_dependent says if the mu_dependency should be used for random run numbers or the data weights. You will get random run numbers of 0 for events with zero pileup weight
Implements CP::IPileupReweightingTool.
CP::SystematicCode CP::PileupReweightingTool::applySystematicVariation | ( | const CP::SystematicSet & | systConfig | ) | [virtual] |
effects: configure this tool for the given list of systematic variations. any requested systematics that are not affecting this tool will be silently ignored (unless they cause other errors). failures: systematic unknown failures: requesting multiple variations on the same systematic (e.g. up & down) failures: requesting an unsupported variation on an otherwise supported systematic (e.g. a 2 sigma variation and the tool only supports 1 sigma variations) failures: unsupported combination of supported systematic failures: other tool specific errors
Implements CP::ISystematicsTool.
virtual Double_t CP::PileupReweightingTool::GetIntegratedLumi | ( | Int_t | periodNumber, | |
UInt_t | start, | |||
UInt_t | end | |||
) | [inline, virtual] |
similar to above, but for only the given mcRunNumber/periodNumber
Implements CP::IPileupReweightingTool.
virtual Double_t CP::PileupReweightingTool::GetIntegratedLumiFraction | ( | Int_t | periodNumber, | |
Double_t | mu, | |||
UInt_t | start, | |||
UInt_t | end | |||
) | [inline, virtual] |
return fraction of lumi assigned to periodNumber (or mcRunNumber) with given mu, that is between start and end data run numbers
Implements CP::IPileupReweightingTool.
virtual Double_t CP::PileupReweightingTool::GetIntegratedLumiFraction | ( | Int_t | periodNumber, | |
UInt_t | start, | |||
UInt_t | end | |||
) | [inline, virtual] |
return fraction of lumi assigned to periodNumber (or mcRunNumber) that is between start and end data run numbers
Implements CP::IPileupReweightingTool.
int CP::PileupReweightingTool::getRandomRunNumber | ( | const xAOD::EventInfo & | eventInfo, | |
bool | mu_dependent | |||
) | [virtual] |
Get a random run number for this MC event, using mu-dependent randomization by default ... jetetmiss seem to like it muchly.
Get a random run number for this MC event, mu_dependency is not recommended for this.
Implements CP::IPileupReweightingTool.