|
ATLAS Offline Software
|
Go to the documentation of this file.
9 #ifndef ANALYSISCALIBRATIONDATACONTAINER_H
10 #define ANALYSISCALIBRATIONDATACONTAINER_H
17 #include "THashList.h"
82 std::map<std::string, Analysis::UncertaintyResult>&
all);
177 std::vector<std::pair<double, double> >
getBounds();
370 Bin(
unsigned int dimension,
const double* low,
const double*
up);
432 TObject*
obj = 0,
bool =
false);
virtual CalibrationStatus getUncertainty(const std::string &unc, const CalibrationDataVariables &x, UncertaintyResult &result, TObject *obj=0)
retrieve the calibration uncertainty due to the given source.
CalibrationStatus getUncertainties(const CalibrationDataVariables &x, std::map< std::string, Analysis::UncertaintyResult > &all)
retrieve the list of "uncertainties" accessible to this object.
virtual CalibrationStatus getUncertainty(const std::string &unc, const CalibrationDataVariables &x, UncertaintyResult &result, TObject *obj=0)=0
retrieve the calibration uncertainty due to the given source.
CalibrationParametrization
virtual CalibrationStatus getResult(const CalibrationDataVariables &x, double &result, TObject *obj=0, bool=false)
retrieve the calibration result.
Bin & operator=(const Bin &other)
bool isRangeRestricted() const
allow the user to inspect the above information
CalibrationDataMappedHistogramContainer(const char *name="default")
virtual ~CalibrationDataMappedHistogramContainer()
unsigned int getDimension() const
double getInterpolatedUncertainty(TH1 *hist) const
Retrieve interpolated result (utility function)
virtual void computeVariableTypes()
decode the 'uncertainty' objects' names to determine the relevant variable types
virtual int getTagWeightAxis()
Test whether this calibration object is one for "continuous" calibration (this has some subtle conseq...
CalibrationDataContainer(const char *name="default")
bool m_restrict
persistency not needed for this variable
void setExcludedUncertainties(const std::string &text)
insert the set of uncertainties that are recommended for removal from the eigenvector decomposition.
bool isBinCorrelated(const std::string &unc) const
Indicate whether the given uncertainty is correlated from bin to bin or not (note that this function ...
std::vector< double > m_upperBounds
ClassDef(CalibrationDataFunctionContainer, 1)
bool contains(const double *x) const
std::string getExcludedUncertainties() const
retrieve the (semicolon-separated) set of uncertainties that are recommended for removal from the eig...
CalibrationDataHistogramContainer(const char *name="default")
bool m_interpolate
If true, interpolate between bins rather than doing a straight bin-wise evaluation.
virtual void computeVariableTypes()=0
decode the 'uncertainty' objects' names to determine the relevant variable types
void setLowerBound(int vartype, double bound)
Set the lower bound of validity for the given variable.
TObject * m_objSystematics
don't persistify
virtual CalibrationStatus getStatUncertainty(const CalibrationDataVariables &x, double &result)
retrieve the calibration statistical uncertainty.
void setComment(const std::string &text)
insert the given text as comment for this calibration
CalibrationStatus getSystUncertainty(const CalibrationDataVariables &x, UncertaintyResult &result, TObject *obj=0)
retrieve the calibration total systematic uncertainty
virtual CalibrationStatus getResult(const CalibrationDataVariables &x, double &result, TObject *obj=0, bool extrapolate=false)=0
retrieve the calibration result.
double getLowerBound(unsigned int vartype, bool extrapolate=false) const
retrieve the lower bound of validity for the requested variable type
virtual void computeVariableTypes()
cached
double getUpperBound(unsigned int dim) const
virtual CalibrationStatus getUncertainty(const std::string &unc, const CalibrationDataVariables &x, UncertaintyResult &result, TObject *obj=0)
retrieve the calibration uncertainty due to the given source.
double getLowerBound(unsigned int dim) const
std::vector< std::string > m_mapped
mapped variables.
void setMappedVariables(const std::vector< std::string > &variables)
Set (by hand) the variables that will be mapped onto a single histogram axis.
ClassDef(CalibrationDataMappedHistogramContainer, 1)
virtual ~CalibrationDataFunctionContainer()
CalibrationDataFunctionContainer(const char *name="default")
std::vector< unsigned int > m_variables
don't persistify
virtual std::vector< double > getBinBoundaries(unsigned int vartype)
Retrieve the bin boundaries for the specified variable type (which should be a CalibrationParametriza...
virtual ~CalibrationDataHistogramContainer()
double m_vars[MaxCalibrationVars]
don't persistify
CalibrationStatus computeVariables(const CalibrationDataVariables &x, bool extrapolate=false)
Compute the variables to be used.
Helper class for the specification of custom binning.
std::vector< std::string > listUncertainties() const
retrieve the list of "uncertainties" accessible to this object.
unsigned int getNMappedBins() const
return the number of mapped bins
virtual bool isInterpolated() const
Indicate whether histogram interpolation is used or not.
void setHadronisation(const std::string &text)
insert the given text as the 'hadronisation reference' for this calibration
THashList m_uncorrelatedSyst
no need to persistify
std::map< unsigned int, std::vector< double > > m_binBoundaries
Cache for bin boundary information.
void setResult(TObject *obj)
insert the main object for this calibration
unsigned int addBin(const Bin &bin)
Add mapping bin.
std::pair< double, double > UncertaintyResult
The following typedef is for convenience: most uncertainties can be asymmetric.
virtual CalibrationStatus getResult(const CalibrationDataVariables &x, double &result, TObject *obj=0, bool extrapolate=false)
retrieve the calibration result.
ClassDef(CalibrationDataHistogramContainer, 2)
TObject * m_objStatistics
double getInterpolatedResult(TH1 *hist) const
Retrieve interpolated result (utility function)
virtual void computeVariableTypes()
decode the 'uncertainty' objects' names to determine the relevant variable types
ClassDef(CalibrationDataContainer, 1)
Int_t findBin()
don't persistify
TObject * m_objResult
(possibly looser) upper validity bounds for extrapolation
std::vector< double > m_lowerBoundsExtrapolated
void setUpperBound(int vartype, double bound)
Set the lower bound of validity for the given variable.
The namespace of all packages in PhysicsAnalysis/JetTagging.
std::vector< Bin > m_bins
don't persistify
std::vector< unsigned int > getVariableTypes()
utility to retrieve variable types
std::string getHadronisation() const
retrieve the 'hadronisation reference' entered for this calibration, if any
std::vector< double > m_lowerBounds
void restrictToRange(bool restrict)
If true, this will restrict the variables used to be within the (specified) range of validity.
const unsigned int MaxCalibrationVars
Maximum dimensionality of the calibration parametrisation.
int typeFromString(const std::string &key) const
Connection between variable names (on histogram axes etc.) and variable 'types' as used in actual eva...
void checkBounds()
check the bounds of validity for this calibration object
void setUncertainty(const std::string &unc, TObject *obj)
insert the relevant object for the requested source of 'uncertainty'
virtual int getTagWeightAxis()
Test whether this calibration object is one for "continuous" calibration (this has some subtle conseq...
virtual CalibrationStatus getResult(const CalibrationDataVariables &x, double &result, TObject *obj=0, bool extrapolate=false)
retrieve the calibration result.
virtual bool isInterpolated() const
Indicate whether histogram interpolation is used or not.
static bool isNearlyEqual(double a, double b)
utility for comparison of doubles
unsigned int m_beginMapped
starting position of mapped variables
const std::vector< std::string > & getMappedVariables() const
List which variables get mapped onto a single histogram axis.
void checkBounds()
check the bounds of validity for this calibration object
void setUncorrelated(const std::string &unc)
Indicate that the given uncertainty is to be treated uncorrelated from bin to bin (note that the defa...
virtual CalibrationStatus getUncertainty(const std::string &unc, const CalibrationDataVariables &x, UncertaintyResult &result, TObject *obj=0)
retrieve the calibration uncertainty due to the given source.
std::string getComment() const
retrieve the comments entered for this calibration, if any
virtual ~CalibrationDataContainer()
double getUpperBound(unsigned int vartype, bool extrapolate=false) const
retrieve the upper bound of validity for the requested variable type
std::vector< std::pair< double, double > > getBounds()
allow the user to inspect the bounds of validity
void setInterpolated(bool doInterpolate)
Indicate whether results are to be interpolated between bins or not (this feature is thought to be us...
Int_t findMappedBin(const double *x)
float extrapolate(const MuonLayerHough::Maximum &ref, const MuonLayerHough::Maximum &ex, bool doparabolic=false)
virtual CalibrationStatus getStatUncertainty(const CalibrationDataVariables &x, double &result)
retrieve the calibration statistical uncertainty.
virtual int getEigenvectorReduction(unsigned int choice) const
Retrieve the number of eigenvectors to be retained for the purpose of eigenvector variation reduction...
virtual CalibrationStatus getStatUncertainty(const CalibrationDataVariables &x, double &result)
retrieve the calibration statistical uncertainty.
virtual CalibrationStatus getStatUncertainty(const CalibrationDataVariables &x, double &result)=0
retrieve the calibration statistical uncertainty.
std::vector< double > m_upperBoundsExtrapolated
(possibly looser) lower validity bounds for extrapolation
virtual std::vector< double > getBinBoundaries(unsigned int vartype)
Retrieve the bin boundaries for the specified variable type (which should be a CalibrationParametriza...