ATLAS Offline Software
|
#include <CalibrationDataEigenVariations.h>
Public Types | |
typedef std::set< size_t > | IndexSet |
typedef std::set< IndexSet > | IndexSuperSet |
Public Member Functions | |
CalibrationDataEigenVariations (const std::string &cdipath, const std::string &tagger, const std::string &wp, const std::string &jetcollection, CalibrationDataHistogramContainer *cnt, bool excludeRecommendedUncertaintySet=false, bool base=true) | |
normal constructor. More... | |
virtual | ~CalibrationDataEigenVariations () |
void | excludeNamedUncertainty (const std::string &name, CalibrationDataContainer *cnt) |
exclude the source of uncertainty indicated by name from eigenvector calculations More... | |
virtual void | initialize (double min_variance=1.0E-20) |
carry out the eigenvector computations. More... | |
void | removeVariations (const IndexSet &set) |
remove all variations in the given set More... | |
void | removeVariations (const IndexSuperSet &set) |
remove all variations in any of the given sets More... | |
void | mergeVariationsFrom (const size_t &index) |
merge all variations starting from the given index More... | |
void | mergeVariations (const IndexSet &set) |
merge all variations in the given set More... | |
void | mergeVariations (const IndexSuperSet &set) |
merge all variations in any of the given sets More... | |
unsigned int | getNumberOfNamedVariations () const |
retrieve the number of named variations More... | |
std::vector< std::string > | listNamedVariations () const |
list the named variations More... | |
unsigned int | getNamedVariationIndex (const std::string &name) const |
retrieve the integer index corresponding to the named variation. More... | |
unsigned int | getNumberOfEigenVariations () |
retrieve the number of eigenvector variations More... | |
bool | getEigenvectorVariation (unsigned int variation, TH1 *&up, TH1 *&down) |
obtain the "up" and "down" variations for the given eigenvector number. More... | |
bool | getNamedVariation (const std::string &name, TH1 *&up, TH1 *&down) |
obtain the "up" and "down" variations for the named uncertainty. More... | |
bool | getNamedVariation (unsigned int nameIndex, TH1 *&up, TH1 *&down) |
obtain the "up" and "down" variations for the source uncertainty pointed to by the given index (which is assumed to correspond to the value retrieved using getNamedVariationIndex()). More... | |
bool | isExtrapolationVariation (unsigned int nameIndex) const |
flag whether the given index corresponds to an extrapolation variation More... | |
virtual TMatrixDSym | getEigenCovarianceMatrix () |
also provide (some) access to the underlying information: covariance matrix corresponding to eigenvector variations More... | |
TMatrixDSym | getEigenCovarianceMatrixFromVariations () |
covariance matrix corresponding to eigenvector variations constructed from the eigen-variation More... | |
TMatrixD | getJacobianReductionMatrix () |
matrix to remove unecessary rows and columns from covariance More... | |
bool | EigenVectorRecomposition (const std::string &label, std::map< std::string, std::map< std::string, float >> &coefficientMap) |
Eigenvector recomposition method. More... | |
void | setVerbose (bool) |
Protected Attributes | |
bool | m_initialized |
flag whether the initialization has been carried out More... | |
bool | m_validate |
std::map< std::string, unsigned int > | m_namedIndices |
named variations More... | |
std::vector< std::pair< TH1 *, TH1 * > > | m_named |
int | m_namedExtrapolation |
named variation index for the special case of extrapolation uncertainties More... | |
std::vector< std::pair< TH1 *, TH1 * > > | m_eigen |
eigenvector variations More... | |
bool | m_statVariations |
indicate whether statistical uncertainties are stored as variations More... | |
std::string | m_cdipath |
std::string | m_taggername |
std::string | m_wp |
std::string | m_jetauthor |
double | m_totalvariance |
double | m_capturedvariance |
bool | m_verbose |
Private Attributes | |
CalibrationDataHistogramContainer * | m_cnt |
container object containing the basic information More... | |
Definition at line 27 of file CalibrationDataEigenVariations.h.
typedef std::set<size_t> Analysis::CalibrationDataEigenVariations::IndexSet |
Definition at line 29 of file CalibrationDataEigenVariations.h.
typedef std::set<IndexSet> Analysis::CalibrationDataEigenVariations::IndexSuperSet |
Definition at line 30 of file CalibrationDataEigenVariations.h.
Analysis::CalibrationDataEigenVariations::CalibrationDataEigenVariations | ( | const std::string & | cdipath, |
const std::string & | tagger, | ||
const std::string & | wp, | ||
const std::string & | jetcollection, | ||
CalibrationDataHistogramContainer * | cnt, | ||
bool | excludeRecommendedUncertaintySet = false , |
||
bool | base = true |
||
) |
normal constructor.
The second argument, if true, will attempt to retrieve a 'recommended' set of uncertainties to be excluded from EV decomposition
|
virtual |
Definition at line 355 of file CalibrationDataEigenVariations.cxx.
bool CalibrationDataEigenVariations::EigenVectorRecomposition | ( | const std::string & | label, |
std::map< std::string, std::map< std::string, float >> & | coefficientMap | ||
) |
Eigenvector recomposition method.
Definition at line 1109 of file CalibrationDataEigenVariations.cxx.
void CalibrationDataEigenVariations::excludeNamedUncertainty | ( | const std::string & | name, |
CalibrationDataContainer * | cnt | ||
) |
exclude the source of uncertainty indicated by name from eigenvector calculations
Definition at line 371 of file CalibrationDataEigenVariations.cxx.
|
virtual |
also provide (some) access to the underlying information: covariance matrix corresponding to eigenvector variations
Reimplemented in Analysis::CalibrationDataGlobalEigenVariations.
Definition at line 416 of file CalibrationDataEigenVariations.cxx.
TMatrixDSym CalibrationDataEigenVariations::getEigenCovarianceMatrixFromVariations | ( | ) |
covariance matrix corresponding to eigenvector variations constructed from the eigen-variation
Definition at line 473 of file CalibrationDataEigenVariations.cxx.
bool CalibrationDataEigenVariations::getEigenvectorVariation | ( | unsigned int | variation, |
TH1 *& | up, | ||
TH1 *& | down | ||
) |
obtain the "up" and "down" variations for the given eigenvector number.
The return value will be false if the eigenvector number is invalid.
Definition at line 1018 of file CalibrationDataEigenVariations.cxx.
TMatrixD CalibrationDataEigenVariations::getJacobianReductionMatrix | ( | ) |
matrix to remove unecessary rows and columns from covariance
Definition at line 500 of file CalibrationDataEigenVariations.cxx.
bool CalibrationDataEigenVariations::getNamedVariation | ( | const std::string & | name, |
TH1 *& | up, | ||
TH1 *& | down | ||
) |
obtain the "up" and "down" variations for the named uncertainty.
The return value will be false if the given name is not listed as being excluded from the eigenvector calculations.
Definition at line 1043 of file CalibrationDataEigenVariations.cxx.
bool CalibrationDataEigenVariations::getNamedVariation | ( | unsigned int | nameIndex, |
TH1 *& | up, | ||
TH1 *& | down | ||
) |
obtain the "up" and "down" variations for the source uncertainty pointed to by the given index (which is assumed to correspond to the value retrieved using getNamedVariationIndex()).
The return value will be false if the index is out of bounds.
Definition at line 1063 of file CalibrationDataEigenVariations.cxx.
unsigned int CalibrationDataEigenVariations::getNamedVariationIndex | ( | const std::string & | name | ) | const |
retrieve the integer index corresponding to the named variation.
This can be used to speed up computations by avoiding string comparisons. Note that this function is not protected against passing an invalid name.
Definition at line 1088 of file CalibrationDataEigenVariations.cxx.
unsigned int CalibrationDataEigenVariations::getNumberOfEigenVariations | ( | ) |
retrieve the number of eigenvector variations
Definition at line 1010 of file CalibrationDataEigenVariations.cxx.
unsigned int CalibrationDataEigenVariations::getNumberOfNamedVariations | ( | ) | const |
retrieve the number of named variations
Definition at line 988 of file CalibrationDataEigenVariations.cxx.
|
virtual |
carry out the eigenvector computations.
Exclusion of any source of uncertainty has to be done before calling this method
Reimplemented in Analysis::CalibrationDataGlobalEigenVariations.
Definition at line 637 of file CalibrationDataEigenVariations.cxx.
bool CalibrationDataEigenVariations::isExtrapolationVariation | ( | unsigned int | nameIndex | ) | const |
flag whether the given index corresponds to an extrapolation variation
Definition at line 1099 of file CalibrationDataEigenVariations.cxx.
vector< string > CalibrationDataEigenVariations::listNamedVariations | ( | ) | const |
list the named variations
Definition at line 997 of file CalibrationDataEigenVariations.cxx.
merge all variations in the given set
Definition at line 877 of file CalibrationDataEigenVariations.cxx.
void CalibrationDataEigenVariations::mergeVariations | ( | const IndexSuperSet & | set | ) |
merge all variations in any of the given sets
Definition at line 886 of file CalibrationDataEigenVariations.cxx.
void CalibrationDataEigenVariations::mergeVariationsFrom | ( | const size_t & | index | ) |
merge all variations starting from the given index
Definition at line 863 of file CalibrationDataEigenVariations.cxx.
remove all variations in the given set
Definition at line 835 of file CalibrationDataEigenVariations.cxx.
void CalibrationDataEigenVariations::removeVariations | ( | const IndexSuperSet & | set | ) |
remove all variations in any of the given sets
Definition at line 849 of file CalibrationDataEigenVariations.cxx.
void CalibrationDataEigenVariations::setVerbose | ( | bool | verbose | ) |
Definition at line 1247 of file CalibrationDataEigenVariations.cxx.
|
protected |
Definition at line 137 of file CalibrationDataEigenVariations.h.
|
protected |
Definition at line 129 of file CalibrationDataEigenVariations.h.
|
private |
container object containing the basic information
Definition at line 100 of file CalibrationDataEigenVariations.h.
|
protected |
eigenvector variations
Definition at line 116 of file CalibrationDataEigenVariations.h.
|
protected |
flag whether the initialization has been carried out
Definition at line 105 of file CalibrationDataEigenVariations.h.
|
protected |
Definition at line 132 of file CalibrationDataEigenVariations.h.
|
protected |
Definition at line 110 of file CalibrationDataEigenVariations.h.
|
protected |
named variation index for the special case of extrapolation uncertainties
Definition at line 113 of file CalibrationDataEigenVariations.h.
|
protected |
named variations
Definition at line 109 of file CalibrationDataEigenVariations.h.
|
protected |
indicate whether statistical uncertainties are stored as variations
Definition at line 119 of file CalibrationDataEigenVariations.h.
|
protected |
Definition at line 130 of file CalibrationDataEigenVariations.h.
|
protected |
Definition at line 136 of file CalibrationDataEigenVariations.h.
|
protected |
Definition at line 106 of file CalibrationDataEigenVariations.h.
|
protected |
Definition at line 139 of file CalibrationDataEigenVariations.h.
|
protected |
Definition at line 131 of file CalibrationDataEigenVariations.h.