37 #ifndef HITFIT_BASE_CONSTRAINER_H
38 #define HITFIT_BASE_CONSTRAINER_H
343 virtual std::ostream&
print (std::ostream&
s)
const;
414 #endif // not HITFIT_BASE_CONSTRAINER_H
CLHEP::HepVector Column_Vector
Define matrix types for the HitFit package, and supply a few additional operations.
Abstract base class for evaluating constraints. Users derive from this class and implement the eval()...
Constraint_Calculator(int nconstraints)
Base class for constrained fitter.
Base_Constrainer(const Base_Constrainer_Args &args)
virtual ~Base_Constrainer()
friend std::ostream & operator<<(std::ostream &s, const Base_Constrainer &f)
Output stream operator, print the content of this Base_Constrainer to an output stream.
bool call_constraint_fcn(Constraint_Calculator &constraint_calculator, const Column_Vector &x, const Column_Vector &y, Row_Vector &F, Matrix &Bx, Matrix &By) const
Helper function to evaluate constraints. This takes care of checking what the user function returns a...
virtual ~Constraint_Calculator()
Base_Constrainer_Args(const Defaults &defs)
Hold on to parameters for the Base_Constrainer class.
virtual bool eval(const Column_Vector &x, const Column_Vector &y, Row_Vector &F, Matrix &Bx, Matrix &By)=0
Evaluate constraints at the point described by x and y (well-measured and poorly-measured variables...
CLHEP::HepDiagMatrix Diagonal_Matrix
virtual double fit(Constraint_Calculator &constraint_calculator, const Column_Vector &xm, Column_Vector &x, const Column_Vector &ym, Column_Vector &y, const Matrix &G_i, const Diagonal_Matrix &Y, Column_Vector &pullx, Column_Vector &pully, Matrix &Q, Matrix &R, Matrix &S)=0
Perform the constrained fit.
double S(const TLorentzVector &, const TLorentzVector &)
const Base_Constrainer_Args _args
Define an interface for getting parameter settings.
static uInt32 F(BLOWFISH_CTX *ctx, uInt32 x)
virtual std::ostream & print(std::ostream &s) const
Print out internal state to output stream.
bool test_gradient() const
Row-vector class. CLHEP doesn't have a row-vector class, so HitFit uses its own. This is only a simpl...