14#ifndef ZMASSCONSTRAINT_CONSTRAINTFIT_H
15#define ZMASSCONSTRAINT_CONSTRAINTFIT_H
76 const TLorentzVector& fsr4Vec,
96 double getMassError(
const std::vector<TLorentzVector>& particles,
97 const std::vector<
AmgMatrix(3,3)>& covariances);
103 const AmgMatrix(5,5)& covard0z0PhiThetaP,
#define AmgMatrix(rows, cols)
Amg::MatrixX m_parametersInit
StatusCode doMassFit(const ConstraintFitInput &input, ConstraintFitOutput &output)
Perform the constrained mass fit.
void addFSRParticle(const xAOD::IParticle &part, const TLorentzVector &fsr4Vec, ConstraintFitInput &input)
Add in FSR photon to input, (energy resolution is obtain in method)
unsigned int m_parameters
double getMassError(const ConstraintFitInput &firstInput, const ConstraintFitInput &secondInput=ConstraintFitInput())
Calculate the mass error without fit - use just the inputs.
int massFitInterface(const ConstraintFitInput &theInput)
void massFitRun(ConstraintFitOutput &output, double zresol=-1.)
void convertCovd0z0PhiThetaPToXYZ(const TLorentzVector &fourVec, const AmgMatrix(5, 5)&covard0z0PhiThetaP, AmgMatrix(5, 5)&covarXYZ) const
float retrieve_eta_calo(const xAOD::IParticle &part) const
ConstraintFitInput m_theInput
ConstraintFit(const std::string &name)
Create a proper constructor for Athena.
StatusCode initialize()
Initialize constraint fit.
Amg::MatrixX m_covarianceInit
bool doSanityChecksOnCovariance(const TLorentzVector &vector, const AmgMatrix(5, 5)&covar) const
void addParticle(const xAOD::Muon &part, ConstraintFitInput &input, MassConstraintMuonType muonType=isCombMCMT)
Add muon to input, must provide the resolution Scale Factor.
double likelihoodMass2(void)
ToolHandle< CP::IEgammaCalibrationAndSmearingTool > m_energyRescaler
double massFitCalculation(const Amg::MatrixX &var, double mass, Amg::MatrixX &p0)
void convertCovXYZTod0z0PhiThetaP(const std::vector< TLorentzVector > &particleList, const Amg::MatrixX &covarXYZ, Amg::MatrixX &covard0z0PhiThetaP) const
double massFit(const Amg::MatrixX &, const Amg::MatrixX &var, double mass, Amg::MatrixX &pOut, Amg::MatrixX &)
std::vector< double > m_objmass
Amg::MatrixX m_parametersFinal
Amg::MatrixX m_covarianceFinal
double likelihoodMass(double)
ToolHandle< CP::IMuonCalibrationAndSmearingTool > m_mu_resolSFTool
Class providing the definition of the 4-vector interface.
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Muon_v1 Muon
Reference the current persistent version:
Electron_v1 Electron
Definition of the current "egamma version".