#include <MuonErrorMatrix.h>
Public Types | |
enum | action { use, constructor } |
enum type to define if the class is used as a tool or to be created More... | |
Public Member Functions | |
void | adjust (FreeTrajectoryState &state) |
adjust the error matrix on the state More... | |
void | adjust (TrajectoryStateOnSurface &state) |
adjust the error matrix on the state More... | |
void | close () |
close the root file attached to the class More... | |
void | complicatedTerm (const AlgebraicSymMatrix55 &input, AlgebraicSymMatrix55 &output) |
convert sigma/rho -> sigma2/COV More... | |
int | findBin (TAxis *axis, double value) |
method to get the bin index, taking care of under/overlow: first(1)/last(GetNbins())returned More... | |
CurvilinearTrajectoryError | get (GlobalVector momentum, bool convolute=true) |
main method to be used. Retrieve a 5x5 symetrical matrix according to parametrization of error or scale factor More... | |
TProfile3D * | get (int i, int j) |
actually get access to the TProfile3D used for the parametrization More... | |
CurvilinearTrajectoryError | getFast (GlobalVector momentum) |
unsigned int | index (int i, int j) |
MuonErrorMatrix (const edm::ParameterSet &pset) | |
constructor from a parameter set More... | |
void | simpleTerm (const AlgebraicSymMatrix55 &input, AlgebraicSymMatrix55 &output) |
convert sigma2/COV -> sigma/rho More... | |
~MuonErrorMatrix () | |
destructor More... | |
Static Public Member Functions | |
static bool | divide (CurvilinearTrajectoryError &num_error, const CurvilinearTrajectoryError &denom_error) |
divide term by term the two matrix More... | |
static void | multiply (CurvilinearTrajectoryError &initial_error, const CurvilinearTrajectoryError &scale_error) |
multiply term by term the two matrix More... | |
static double | Term (const AlgebraicSymMatrix55 &curv, int i, int j) |
provide the numerical value used. sigma or correlation factor More... | |
Static Public Attributes | |
static const TString | vars [5] = {"#frac{q}{|p|}", "#lambda", "#varphi_{0}", "X_{T}", "Y_{T}"} |
names of the variables of the 5x5 error matrix More... | |
Private Types | |
enum | TermAction { error, scale, assign } |
decide whether to scale of to assigne terms More... | |
Private Member Functions | |
TProfile3D * | Index (int i, int j) |
internal method to get access to the profiles More... | |
int | Pindex (int i, int j) |
internal methods to get the index of a matrix term. More... | |
double | Rms (GlobalVector &momentum, int i, int j) |
internal method that retreives the error on the value of the parametrization for term i,j More... | |
double | Value (GlobalVector &momentum, int i, int j, bool convolute=true) |
internal method that retreives the value of the parametrization for term i,j More... | |
Private Attributes | |
std::string | theCategory |
log category: "MuonErrorMatrix" More... | |
TDirectory * | theD |
the attached root file, where the parametrization is saved More... | |
TProfile3D * | theData [15] |
15 TProfile, each holding he parametrization of each term of the 5x5 More... | |
TProfile3D * | theData_fast [5][5] |
TermAction | theTermAction [15] |
This class holds an error matrix paramertization. Either the error matrix value or scale factors. The implementation uses TProfile3D with pt, eta, phi axis. Error/Scale factor matrix is obtained using get(GlobalVector momentum)
Definition at line 24 of file MuonErrorMatrix.h.
enum type to define if the class is used as a tool or to be created
Enumerator | |
---|---|
use | |
constructor |
Definition at line 27 of file MuonErrorMatrix.h.
|
private |
decide whether to scale of to assigne terms
Enumerator | |
---|---|
error | |
scale | |
assign |
Definition at line 83 of file MuonErrorMatrix.h.
MuonErrorMatrix::MuonErrorMatrix | ( | const edm::ParameterSet & | pset | ) |
constructor from a parameter set
Definition at line 17 of file MuonErrorMatrix.cc.
References a, assign, constructor, data, TrackerOfflineValidation_Dqm_cff::dirName, error, HLT_2022v15_cff::errorMatrixValuesPSet, edm::ParameterSet::exists(), beamvalidation::exit(), MillePedeFileConverter_cfg::fileName, reco_skim_cfg_mod::fullpath, edm::ParameterSet::getParameter(), mps_fire::i, dqmiolumiharvest::j, LogDebug, LogTrace, razorScouting_cff::maxEta, HLT_2022v15_cff::maxPhi, PV_cfg::maxPt, EgHLTOffEleSelection_cfi::minEta, HLT_2022v15_cff::minPhi, PV_cfg::minPt, MuonErrorMatrixAnalyzer_cfi::NEta, MuonErrorMatrixAnalyzer_cfi::NPhi, MuonErrorMatrixAnalyzer_cfi::NPt, packedPFCandidateRefMixer_cfi::pf, Pi, Pindex(), scale, str, AlCaHLTBitMon_QueryRunRegistry::string, theCategory, theD, theData, theData_fast, theTermAction, use, contentValuesCheck::values, multiplicitycorr_cfi::xBins, multiplicitycorr_cfi::yBins, and l1tTrackJets_cfi::zBins.
MuonErrorMatrix::~MuonErrorMatrix | ( | ) |
destructor
Definition at line 256 of file MuonErrorMatrix.cc.
References close().
void MuonErrorMatrix::adjust | ( | FreeTrajectoryState & | state | ) |
adjust the error matrix on the state
Definition at line 498 of file MuonErrorMatrix.cc.
References assign, complicatedTerm(), error, mps_fire::i, dqmiolumiharvest::j, LogDebug, makeMuonMisalignmentScenario::matrix, Pindex(), scale, simpleTerm(), theCategory, and theTermAction.
Referenced by TSGForRoadSearch::IPfts(), and TSGForRoadSearch::notAtIPtsos().
void MuonErrorMatrix::adjust | ( | TrajectoryStateOnSurface & | state | ) |
adjust the error matrix on the state
Definition at line 537 of file MuonErrorMatrix.cc.
References assign, complicatedTerm(), error, mps_fire::i, dqmiolumiharvest::j, LogDebug, makeMuonMisalignmentScenario::matrix, Pindex(), scale, simpleTerm(), theCategory, and theTermAction.
void MuonErrorMatrix::close | ( | void | ) |
close the root file attached to the class
Definition at line 240 of file MuonErrorMatrix.cc.
References mps_fire::i, theD, and theData.
Referenced by esMonitoring.AsyncLineReaderMixin::handle_close(), esMonitoring.FDJsonServer::handle_close(), and ~MuonErrorMatrix().
void MuonErrorMatrix::complicatedTerm | ( | const AlgebraicSymMatrix55 & | input, |
AlgebraicSymMatrix55 & | output | ||
) |
convert sigma/rho -> sigma2/COV
Definition at line 487 of file MuonErrorMatrix.cc.
References mps_fire::i, input, dqmiolumiharvest::j, and convertSQLitetoXML_cfg::output.
Referenced by adjust().
|
static |
divide term by term the two matrix
Definition at line 459 of file MuonErrorMatrix.cc.
References mps_fire::i, dqmiolumiharvest::j, and CurvilinearTrajectoryError::matrix().
int MuonErrorMatrix::findBin | ( | TAxis * | axis, |
double | value | ||
) |
method to get the bin index, taking care of under/overlow: first(1)/last(GetNbins())returned
Definition at line 322 of file MuonErrorMatrix.cc.
References mps_fire::result.
Referenced by getFast(), and Value().
CurvilinearTrajectoryError MuonErrorMatrix::get | ( | GlobalVector | momentum, |
bool | convolute = true |
||
) |
main method to be used. Retrieve a 5x5 symetrical matrix according to parametrization of error or scale factor
Definition at line 258 of file MuonErrorMatrix.cc.
References mps_fire::i, dqmiolumiharvest::j, cms::cuda::V, and Value().
Referenced by Options.Options::__getitem__(), betterConfigParser.BetterConfigParser::__updateDict(), submitPVValidationJobs.BetterConfigParser::__updateDict(), betterConfigParser.BetterConfigParser::getCompares(), betterConfigParser.BetterConfigParser::getGeneral(), betterConfigParser.BetterConfigParser::getResultingSection(), and submitPVValidationJobs.BetterConfigParser::getResultingSection().
|
inline |
actually get access to the TProfile3D used for the parametrization
Definition at line 48 of file MuonErrorMatrix.h.
References mps_fire::i, Index(), and dqmiolumiharvest::j.
Referenced by Options.Options::__getitem__(), betterConfigParser.BetterConfigParser::__updateDict(), submitPVValidationJobs.BetterConfigParser::__updateDict(), betterConfigParser.BetterConfigParser::getCompares(), betterConfigParser.BetterConfigParser::getGeneral(), betterConfigParser.BetterConfigParser::getResultingSection(), and submitPVValidationJobs.BetterConfigParser::getResultingSection().
CurvilinearTrajectoryError MuonErrorMatrix::getFast | ( | GlobalVector | momentum | ) |
Definition at line 269 of file MuonErrorMatrix.cc.
References PVValHelper::eta, PV3DBase< T, PVType, FrameType >::eta(), findBin(), mps_fire::i, dqmiolumiharvest::j, PV3DBase< T, PVType, FrameType >::perp(), phi, PV3DBase< T, PVType, FrameType >::phi(), pv::pT, theData_fast, cms::cuda::V, and contentValuesCheck::values.
|
inline |
Definition at line 49 of file MuonErrorMatrix.h.
References mps_fire::i, dqmiolumiharvest::j, and Pindex().
|
inlineprivate |
internal method to get access to the profiles
Definition at line 92 of file MuonErrorMatrix.h.
References mps_fire::i, dqmiolumiharvest::j, Pindex(), and theData.
Referenced by get(), Rms(), and Value().
|
static |
multiply term by term the two matrix
Definition at line 445 of file MuonErrorMatrix.cc.
References mps_fire::i, dqmiolumiharvest::j, and CurvilinearTrajectoryError::matrix().
Referenced by TSGFromPropagation::adjust(), and FastTSGFromPropagation::adjust().
|
inlineprivate |
internal methods to get the index of a matrix term.
Definition at line 87 of file MuonErrorMatrix.h.
References funct::abs(), mps_fire::i, dqmiolumiharvest::j, and hltrates_dqm_sourceclient-live_cfg::offset.
Referenced by adjust(), index(), Index(), and MuonErrorMatrix().
|
private |
internal method that retreives the error on the value of the parametrization for term i,j
Definition at line 396 of file MuonErrorMatrix.cc.
References PVValHelper::eta, PV3DBase< T, PVType, FrameType >::eta(), mps_fire::i, Index(), dqmiolumiharvest::j, LogDebug, PV3DBase< T, PVType, FrameType >::perp(), phi, PV3DBase< T, PVType, FrameType >::phi(), pv::pT, mps_fire::result, and theCategory.
void MuonErrorMatrix::simpleTerm | ( | const AlgebraicSymMatrix55 & | input, |
AlgebraicSymMatrix55 & | output | ||
) |
convert sigma2/COV -> sigma/rho
Definition at line 476 of file MuonErrorMatrix.cc.
References mps_fire::i, input, dqmiolumiharvest::j, convertSQLitetoXML_cfg::output, and mathSSE::sqrt().
Referenced by adjust().
|
static |
provide the numerical value used. sigma or correlation factor
Definition at line 417 of file MuonErrorMatrix.cc.
References mps_fire::i, dqmiolumiharvest::j, mps_fire::result, and mathSSE::sqrt().
|
private |
internal method that retreives the value of the parametrization for term i,j
Definition at line 332 of file MuonErrorMatrix.cc.
References alignCSCRings::corr, PVValHelper::eta, PV3DBase< T, PVType, FrameType >::eta(), findBin(), mps_fire::i, cuy::ii, Index(), dqmiolumiharvest::j, findQualityFiles::jj, LogDebug, PV3DBase< T, PVType, FrameType >::perp(), phi, PV3DBase< T, PVType, FrameType >::phi(), pv::pT, mps_fire::result, and theCategory.
Referenced by get().
|
private |
log category: "MuonErrorMatrix"
Definition at line 74 of file MuonErrorMatrix.h.
Referenced by adjust(), MuonErrorMatrix(), Rms(), and Value().
|
private |
the attached root file, where the parametrization is saved
Definition at line 77 of file MuonErrorMatrix.h.
Referenced by close(), and MuonErrorMatrix().
|
private |
15 TProfile, each holding he parametrization of each term of the 5x5
Definition at line 79 of file MuonErrorMatrix.h.
Referenced by close(), Index(), and MuonErrorMatrix().
|
private |
Definition at line 80 of file MuonErrorMatrix.h.
Referenced by getFast(), and MuonErrorMatrix().
|
private |
Definition at line 84 of file MuonErrorMatrix.h.
Referenced by adjust(), and MuonErrorMatrix().
|
static |
names of the variables of the 5x5 error matrix
Definition at line 52 of file MuonErrorMatrix.h.