virtual | ~TQSystematicsManager() |
static TClass* | Class() |
static void | error(TString message) |
TH1* | getHisto(TString path, bool verbose = true) |
TQSampleFolder* | getSampleFolder(TQTaggable* var) |
TH1* | getSysHisto(const TString& path, bool verbose = true) |
TH1* | getVarHisto(const TString& path, bool verbose = true) |
TH1* | getVarHisto(const TString& nameVariation, const TString& nameChannel, const TString& nameSample, bool verbose = true) |
bool | includeHistoSys(TQFolder* sysFolder, TQFolder* sys, const TString& nameChannel, const TString& nameSample) |
bool | includeOverallSys(TQFolder* sysFolder, TQFolder* sys, const TString& nameChannel, const TString& nameSample) |
static void | info(TString message) |
virtual TClass* | IsA() const |
bool | isBlacklistedSys(TQFolder* sys, const vector<TString>& systBlacklist, const vector<TString>& types = {"OverallSys", "HistoSys"}) |
bool | isNegligibleSys(TQFolder* sys, TQTaggable* parameters) |
bool | isProtectedSys(TQFolder* sys, TQTaggable* parameters, const TString& prefix) const |
Bool_t | isSystBlacklisted(TQFolder* sys, const vector<TString>& systBlacklist, const vector<TString>& types = {"OverallSys", "HistoSys"}) |
TQSystematicsManager& | operator=(const TQSystematicsManager&) |
bool | processHistoSys(TQTaggable* parameters, TQFolder* sys) |
bool | processHistoSys_checkCutoff(TQTaggable* parameters, TH1* ratio) |
bool | processHistoSys_isFlat(TQTaggable* parameters, TQFolder* sys, TH1* ratio) |
bool | processHistoSys_smoothVariation(TQTaggable* parameters, TQFolder* sys, TH1* nom, TH1* up, TH1* down) |
bool | processHistoSys_systsToSymmetrizeBins(TQTaggable* parameters, TQFolder* sys, TH1* nom, TH1* up, TH1* down) |
bool | processHistoSys_systsToSymmetrizeMaxBins(TQTaggable* parameters, TQFolder* sys, TH1* nom, TH1* up, TH1* down, bool force = false) |
bool | processOverallSys(TQTaggable* parameters, TQFolder* sys) |
TQFolder* | repository() |
void | setRepository(TQFolder* histos) |
void | setSampleFolder(const TString& path, TQSampleFolder* sf) |
void | setSystematicPrefix(const TString& prefix) |
void | setVariationPrefix(const TString& prefix) |
virtual void | ShowMembers(TMemberInspector& insp) const |
TString | storeSysHisto(TH1* histo, const TString& path) |
TString | storeSysHisto(TH1* histo, const TString& nameVariation, const TString& direction, const TString& nameChannel) |
TString | storeVarHisto(TH1* histo, const TString& path) |
TString | storeVarHisto(TH1* histo, const TString& nameVariation, const TString& nameChannel) |
virtual void | Streamer(TBuffer&) |
void | StreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b) |
TQSystematicsManager() | |
TQSystematicsManager(TQFolder* h) | |
TQSystematicsManager(const TQSystematicsManager&) | |
static void | warn(TString message) |
TH1* | computeHistogramVariation(TQFolder* computeFolder, const TString& nameChannel, const TString& nameSample) |
bool | emitError() |
vector<int> | getSmoothedBinBorders(TQFolder* sysConfig) |
void | magnifyShapeVariation(TH1*& shape_Var, const TH1* h_Nom, Double_t magnification) |
TH1* | normalizeShapeVariation(const TH1* h_Var, const TH1* h_Nom, const TH1* h_Sym) |
bool | smoothHist(const TString& alg, TH1* nom, TH1* var) |
virtual Bool_t | CheckTObjectHashConsistency() const |
map<TString,TQSampleFolder*> | _inputCache | |
TQFolder* | histos | |
int | nErrorThreshold | |
int | nErrors | |
TString | sysPrefix | |
TString | varPrefix |
Inheritance Chart: | |||||||||
|
register a sample folder to the given path
return true if a systematic matches the blacklist filter
include a normalization systematic
include a histogram systematic
process a systematic by smoothing it return true if a smoothing has been performed, false otherwise
Fix shape by symmetrizing maximum relative variation in each bin alternative to systsToSymmetrizeMaxBins return true if a symmetrization has been performed, false otherwise
Cut-off systs with artificially high bins return true if histogram is found to violate the cutoff, false if it is found to be ok
Check flatness of a shape histogram using a chi2 fit of a flat line return true if histogram is found to be flat, false otherwise
Fix shape by symmetrizing one-sided bins return true if a symmetrization has been performed, false otherwise
returns true if the systematic is kept, false causes the systematic to be dropped
checks if a systematic should be extempt from some treatment 'select.tag'/'select.name' specifies whitelist(s) for systematics that some treatment should be applied to 'except.tag'/'except.name' specifies blacklist(s) for systematics that some treatment should NOT be applied to
process the overall systematics, applying pruning and symmetrization
attempt to obtain a histogram from the folder
attempt to obtain a histogram from the folder
attempt to obtain a histogram from the folder
Pruning based on contribution of sample in channel. If a sample contributes less in the channel than 'threshold' percent of the specified total, the systematic attached to that sample is pruned.
compute the variation based on the information in the computeFolder @tag: [Mode] mode used for the computation of the Up/Down variations from the input variations. Possible values include: single,difference,minimum,maximum,envelope,stddev,hessian @tag: [Variations] list of input variations to use for the computation of the Up/Down variations @tag: [Baseline] baseline variation to be used (default: Nominal) @tag: [StatError] stat error histogram to be used @tag: [Direction] direction of this variation (+1 for Up, -1 for Down) @tag: [Scale] scale up or down this variation by some arbitrary factor @tag: [TransferRelative] transfer relative variation instead of absolute (default: true) @tag[Smoothing.SmoothBins]: A vector of integers specifying the bin boundaries to be used for calculating the relative variation between nominal and a variation. This relative variation is applied to the nominal histogram to get the smoothed variation. Example: Given a nominal histogram with 7 bins and the following tag applied Smoothing.SmoothBins={1, 2, 3, 5, 8} means the relative variation would be calculated for the last 3 bins merged, that is, the sum of bin 5, 6, 7 for nominal (Nom_567) and the variation (Var_567) is taken and the smoothed variational histogram bins will become: Var_5 = Var_567/Nom_567*Nom_5, Var_6=Var_567/Nom_567*Nom_6, ...
normalize histogram variation to get shape variation
set the prefix of all systematics histogram to use in the repository
set the prefix of all variations histogram to use in the repository
store a variation (input) histogram
store a variation (input) histogram
magnify a variation by an exponent