ATLAS Offline Software
|
Classes | |
struct | CovarianceSum |
Helper struct to hold the sum over pileup objects and its covariance. More... | |
Functions | |
void | trimmedMeanAndVariance (const std::vector< double > &sorted, double trimFraction, double &mean, double &variance) |
Calculate the trimmed mean and variance for a vector of tower sumEts. More... | |
void | trimmedMeanAndVariance (const PufitGrid &grid, double trimFraction, double &mean, double &variance) |
Calculate the trimmed mean and variance for a vector of tower sumEts. More... | |
void | unmaskedMeanAndVariance (const PufitGrid &grid, double &mean, double &variance) |
Calculate the mean and variance of unmasked towers. More... | |
GridDisplacement | selectGrid (const PufitGridSet &grids) |
Select the grid with the highest masked sumEt. More... | |
Eigen::VectorXd | pufit (const Eigen::Vector2d &pileupSum, const Eigen::Matrix2d &pileupCovariance, const Eigen::VectorXd &towerExpectations, const Eigen::VectorXd &towerVariances, const Eigen::VectorXd &correctionDirections, double constraintImportance=1) |
Perform the pile-up fit. More... | |
Eigen::VectorXd | pufit (const Eigen::Vector2d &pileupSum, const Eigen::Matrix2d &pileupCovariance, double towerMean, double towerVariance, const Eigen::VectorXd &correctionDirections, double constraintImportance=1) |
Perform the pile-up fit. More... | |
Eigen::VectorXd | pufit (const Eigen::Vector2d &pileupSum, const Eigen::Matrix2d &pileupCovariance, const Eigen::VectorXd &towerExpectations, const Eigen::VectorXd &towerVariances, const Eigen::Matrix< double, 2, Eigen::Dynamic > &cosSin, double constraintImportance=1) |
Perform the pile-up fit. More... | |
Eigen::VectorXd | pufit (const Eigen::Vector2d &pileupSum, const Eigen::Matrix2d &pileupCovariance, double towerMean, double towerVariance, const Eigen::Matrix< double, 2, Eigen::Dynamic > &cosSin, double constraintImportance=1) |
Perform the pile-up fit. More... | |
std::vector< SignedKinematics > | pufit (const Eigen::Vector2d &pileupSum, const Eigen::Matrix2d &pileupCovariance, const std::vector< double > &towerExpectations, const std::vector< double > &towerVariances, const std::vector< SignedKinematics > &toCorrect, double constraintImportance=1) |
Perform the pile-up fit. More... | |
std::vector< SignedKinematics > | pufit (const Eigen::Vector2d &pileupSum, const Eigen::Matrix2d &pileupCovariance, double towerMean, double towerVariance, const std::vector< SignedKinematics > &toCorrect, double constraintImportance=1) |
Perform the pile-up fit. More... | |
template<std::size_t N> | |
void | trimmedMeanAndVariance (const PufitMultiGrid< N > &grid, std::size_t type, double trimFraction, double &mean, double &variance) |
Calculate the trimmed mean and variance for a vector of tower sumEts. More... | |
template<std::size_t N> | |
void | unmaskedMeanAndVariance (const PufitMultiGrid< N > &grid, int type, double &mean, double &variance) |
Calculate the mean and variance of unmasked towers. More... | |
template<typename Grid > | |
GridDisplacement | selectGrid (const PufitMultiGridSet< Grid > &grids, std::size_t type) |
Select the grid with the highest masked sumEt. More... | |
Eigen::VectorXd HLT::MET::PufitUtils::pufit | ( | const Eigen::Vector2d & | pileupSum, |
const Eigen::Matrix2d & | pileupCovariance, | ||
const Eigen::VectorXd & | towerExpectations, | ||
const Eigen::VectorXd & | towerVariances, | ||
const Eigen::Matrix< double, 2, Eigen::Dynamic > & | cosSin, | ||
double | constraintImportance = 1 |
||
) |
Perform the pile-up fit.
pileupSum | 2-vector sum over the pileup contributions |
pileupCovariance | Covariance matrix of the pileup sum |
towerExpectations | Expected values for each tower based on the pileup energy density |
towerVariances | Expected values for the variances of each tower based on variances of background towers |
cosSin | The cosines and sines of the objects to correct |
The | relative importance of the constraints. |
This variant directly provides the cos-sin matrix for the correction, potentially allowing many cos/sin calls to be avoided. This variant provides individual estimates of the expected energy in each tower and the corresponding variances - these are for cases where the areas of each object are different.
Definition at line 158 of file PufitUtils.cxx.
Eigen::VectorXd HLT::MET::PufitUtils::pufit | ( | const Eigen::Vector2d & | pileupSum, |
const Eigen::Matrix2d & | pileupCovariance, | ||
const Eigen::VectorXd & | towerExpectations, | ||
const Eigen::VectorXd & | towerVariances, | ||
const Eigen::VectorXd & | correctionDirections, | ||
double | constraintImportance = 1 |
||
) |
Perform the pile-up fit.
pileupSum | 2-vector sum over the pileup contributions |
pileupCovariance | Covariance matrix of the pileup sum |
towerExpectations | Expected values for each tower based on the pileup energy density |
towerVariances | Expected values for the variances of each tower based on variances of background towers |
correctionDirections | The directions of the objects to correct |
The | relative importance of the constraints. |
This variant provides individual estimates of the expected energy in each tower and the corresponding variances - these are for cases where the areas of each object are different.
Definition at line 114 of file PufitUtils.cxx.
std::vector< SignedKinematics > HLT::MET::PufitUtils::pufit | ( | const Eigen::Vector2d & | pileupSum, |
const Eigen::Matrix2d & | pileupCovariance, | ||
const std::vector< double > & | towerExpectations, | ||
const std::vector< double > & | towerVariances, | ||
const std::vector< SignedKinematics > & | toCorrect, | ||
double | constraintImportance = 1 |
||
) |
Perform the pile-up fit.
pileupSum | 2-vector sum over the pileup contributions |
pileupCovariance | Covariance matrix of the pileup sum |
towerExpectations | Expected values for each tower based on the pileup energy density |
towerVariances | Expected values for the variances of each tower based on variances of background towers |
toCorrect | Kinematics of the objects to correct |
The | relative importance of the constraints. |
Note that this version still returns the corrections that should be applied, not the corrected objects. The corrections are returned using the negatives of the value calculated by the fit - i.e. you should add the returned objects and let them act as negative energy objects (unless the sign of the correction was negative in which case it will act as a positive energy object). This variant provides individual estimates of the expected energy in each tower and the corresponding variances - these are for cases where the areas of each object are different.
Definition at line 217 of file PufitUtils.cxx.
Eigen::VectorXd HLT::MET::PufitUtils::pufit | ( | const Eigen::Vector2d & | pileupSum, |
const Eigen::Matrix2d & | pileupCovariance, | ||
double | towerMean, | ||
double | towerVariance, | ||
const Eigen::Matrix< double, 2, Eigen::Dynamic > & | cosSin, | ||
double | constraintImportance = 1 |
||
) |
Perform the pile-up fit.
pileupSum | 2-vector sum over the pileup contributions |
pileupCovariance | Covariance matrix of the pileup sum |
towerMean | Estimate of the mean pileup tower transverse energy |
towerVariance | Estimate of the variance of pileup tower transverse energies |
cosSin | The cosines and sines of the objects to correct |
The | relative importance of the constraints. |
This variant directly provides the cos-sin matrix for the correction, potentially allowing many cos/sin calls to be avoided.
Definition at line 199 of file PufitUtils.cxx.
Eigen::VectorXd HLT::MET::PufitUtils::pufit | ( | const Eigen::Vector2d & | pileupSum, |
const Eigen::Matrix2d & | pileupCovariance, | ||
double | towerMean, | ||
double | towerVariance, | ||
const Eigen::VectorXd & | correctionDirections, | ||
double | constraintImportance = 1 |
||
) |
Perform the pile-up fit.
pileupSum | 2-vector sum over the pileup contributions |
pileupCovariance | Covariance matrix of the pileup sum |
towerMean | Estimate of the mean pileup tower transverse energy |
towerVariance | Estimate of the variance of pileup tower transverse energies |
correctionDirections | The directions of the objects to correct |
The | relative importance of the constraints. |
Definition at line 140 of file PufitUtils.cxx.
std::vector< SignedKinematics > HLT::MET::PufitUtils::pufit | ( | const Eigen::Vector2d & | pileupSum, |
const Eigen::Matrix2d & | pileupCovariance, | ||
double | towerMean, | ||
double | towerVariance, | ||
const std::vector< SignedKinematics > & | toCorrect, | ||
double | constraintImportance = 1 |
||
) |
Perform the pile-up fit.
pileupSum | 2-vector sum over the pileup contributions |
pileupCovariance | Covariance matrix of the pileup sum |
towerMean | Estimate of the mean pileup tower transverse energy |
towerVariance | Estimate of the variance of pileup tower transverse energies |
toCorrect | Kinematics of the objects to correct |
The | relative importance of the constraints. |
Note that this version still returns the corrections that should be applied, not the corrected objects. The corrections are returned using the negatives of the value calculated by the fit - i.e. you should add the returned objects and let them act as negative energy objects (unless the sign of the correction was negative in which case it will act as a positive energy object).
Definition at line 259 of file PufitUtils.cxx.
GridDisplacement HLT::MET::PufitUtils::selectGrid | ( | const PufitGridSet & | grids | ) |
GridDisplacement HLT::MET::PufitUtils::selectGrid | ( | const PufitMultiGridSet< Grid > & | grids, |
std::size_t | type | ||
) |
Select the grid with the highest masked sumEt.
void HLT::MET::PufitUtils::trimmedMeanAndVariance | ( | const PufitGrid & | grid, |
double | trimFraction, | ||
double & | mean, | ||
double & | variance | ||
) |
Calculate the trimmed mean and variance for a vector of tower sumEts.
grid | The grid to calculate | |
trimFraction | The fraction of towers to use in the calculation | |
[out] | mean | The calculated mean |
[out] | variance | The calculated variance |
Definition at line 57 of file PufitUtils.cxx.
void HLT::MET::PufitUtils::trimmedMeanAndVariance | ( | const PufitMultiGrid< N > & | grid, |
std::size_t | type, | ||
double | trimFraction, | ||
double & | mean, | ||
double & | variance | ||
) |
Calculate the trimmed mean and variance for a vector of tower sumEts.
grid | The grid to calculate | |
type | The int mask of subgrid types | |
trimFraction | The fraction of twoers to use in the calculation | |
[out] | mean | The calculated mean |
[out] | variance | The calculated variance |
void HLT::MET::PufitUtils::trimmedMeanAndVariance | ( | const std::vector< double > & | sorted, |
double | trimFraction, | ||
double & | mean, | ||
double & | variance | ||
) |
Calculate the trimmed mean and variance for a vector of tower sumEts.
sorted | The sumEts for all towers, sorted in ascending order | |
trimFraction | The fraction of towers to use in the calculation | |
[out] | mean | The calculated mean |
[out] | variance | The calculated variance |
Definition at line 35 of file PufitUtils.cxx.
void HLT::MET::PufitUtils::unmaskedMeanAndVariance | ( | const PufitGrid & | grid, |
double & | mean, | ||
double & | variance | ||
) |
Calculate the mean and variance of unmasked towers.
grid | The grid to calculate | |
[out] | mean | The calculated mean |
[out] | variance | The calculated variance |
Definition at line 72 of file PufitUtils.cxx.
void HLT::MET::PufitUtils::unmaskedMeanAndVariance | ( | const PufitMultiGrid< N > & | grid, |
int | type, | ||
double & | mean, | ||
double & | variance | ||
) |
Calculate the mean and variance of unmasked towers.
grid | The grid to calculate | |
type | The int mask of subgrid types | |
[out] | mean | The calculated mean |
[out] | variance | The calculated variance |