|
ATLAS Offline Software
|
Go to the documentation of this file.
9 #ifndef ANALYSISCALIBRATIONDATAINTERFACEEVVARIATIONS_H
10 #define ANALYSISCALIBRATIONDATAINTERFACEEVVARIATIONS_H
18 #include "TMatrixDSym.h"
25 class CalibrationDataHistogramContainer;
40 virtual void initialize(
double min_variance = 1.0
E-20);
94 std::map<std::string, std::map<std::string, float>> &coefficientMap);
162 bool getNamedVariation(
unsigned int nameIndex,
const std::string& flavour, TH1*&
up, TH1*& down);
189 std::map<std::string, std::vector<std::pair<TH1*, TH1*>>>
m_flav_eigen;
196 #endif // ANALYSISCALIBRATIONDATAINTERFACEEVVARIATIONS_H
TMatrixDSym getEigenCovarianceMatrix()
also provide (some) access to the underlying information: covariance matrix corresponding to eigenvec...
bool isExtrapolationVariation(unsigned int nameIndex) const
flag whether the given index corresponds to an extrapolation variation
unsigned int getNamedVariationIndex(const std::string &name) const
retrieve the integer index corresponding to the named variation.
void excludeNamedUncertainty(const std::string &name, CalibrationDataContainer *cnt)
exclude the source of uncertainty indicated by name from eigenvector calculations
std::vector< std::pair< TH1 *, TH1 * > > m_named
std::map< std::string, std::vector< std::pair< TH1 *, TH1 * > > > m_flav_named
bool m_initialized
flag whether the initialization has been carried out
unsigned int getNumberOfEigenVariations()
retrieve the number of eigenvector variations
bool m_statVariations
indicate whether statistical uncertainties are stored as variations
bool EigenVectorRecomposition(const std::string &label, std::map< std::string, std::map< std::string, float >> &coefficientMap)
Eigenvector recomposition method.
bool isExtrapolationVariation(unsigned int nameIndex, const std::string &flavour) const
CalibrationDataGlobalEigenVariations(const std::string &cdipath, const std::string &tagger, const std::string &wp, const std::string &jetcollection, const std::vector< std::string > &flavours, CalibrationDataHistogramContainer *cnt, bool excludeRecommendedUncertaintySet=false)
bool getNamedVariation(const std::string &flavour, const std::string &name, TH1 *&up, TH1 *&down)
virtual void initialize(double min_variance=1.0E-20)
carry out the eigenvector computations.
void mergeVariationsFrom(const size_t &index)
merge all variations starting from the given index
TMatrixD getJacobianReductionMatrix()
matrix to remove unecessary rows and columns from covariance
void mergeVariationsFrom(const size_t &index, std::string &flav)
virtual TMatrixDSym getEigenCovarianceMatrix()
also provide (some) access to the underlying information: covariance matrix corresponding to eigenvec...
std::set< IndexSet > IndexSuperSet
std::set< size_t > IndexSet
std::vector< std::pair< TH1 *, TH1 * > > m_eigen
eigenvector variations
~CalibrationDataGlobalEigenVariations()
void mergeVariations(const IndexSet &set, std::string &flav)
std::set< std::string > m_all_shared_systematics
double m_capturedvariance
std::vector< std::string > m_flavours
std::map< std::string, unsigned int > m_namedIndices
named variations
bool getEigenvectorVariation(unsigned int variation, TH1 *&up, TH1 *&down)
obtain the "up" and "down" variations for the given eigenvector number.
std::map< std::string, Analysis::CalibrationDataHistogramContainer * > m_histcontainers
void excludeNamedUncertainty(const std::string &name, const std::string &flavour)
constexpr std::enable_if_t< is_bitmask_v< E >, E & > set(E &lhs, E rhs)
Convenience function to set bits in a class enum bitmask.
unsigned int getNamedVariationIndex(const std::string &name, const std::string &flavour) const
std::vector< std::string > listNamedVariations() const
list the named variations
The namespace of all packages in PhysicsAnalysis/JetTagging.
void removeVariations(const IndexSet &set)
remove all variations in the given set
void initialize(double min_variance=1.0E-6)
carry out the eigenvector computations.
std::map< std::string, std::vector< int > > m_flavour_combinations
virtual ~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.
TMatrixDSym getEigenCovarianceMatrixFromVariations()
covariance matrix corresponding to eigenvector variations constructed from the eigen-variation
int m_namedExtrapolation
named variation index for the special case of extrapolation uncertainties
void removeVariations(const IndexSet &set, std::string &flav)
bool getEigenvectorVariation(const std::string &flavour, unsigned int variation, TH1 *&up, TH1 *&down)
std::map< std::string, std::vector< std::pair< TH1 *, TH1 * > > > m_flav_eigen
unsigned int getNumberOfNamedVariations() const
retrieve the number of named variations
bool getNamedVariation(const std::string &name, TH1 *&up, TH1 *&down)
obtain the "up" and "down" variations for the named uncertainty.
CalibrationDataHistogramContainer * m_cnt
container object containing the basic information
void mergeVariations(const IndexSet &set)
merge all variations in the given set
std::map< std::string, std::map< std::string, unsigned int > > m_flav_namedIndices
Define macros for attributes used to control the static checker.
std::set< std::string > m_only_shared_systematics
std::map< std::string, int > m_flav_namedExtrapolation