19 #ifndef HITFIT_RUNHITFIT_H
20 #define HITFIT_RUNHITFIT_H
152 template <
class AElectron,
class AMuon,
class AJet,
class AMet>
341 _jets.push_back(jet);
413 std::stable_sort(jet_types.begin(), jet_types.end());
417 for (
int nusol = 0; nusol != 2; nusol++) {
419 bool nuz = bool(nusol);
430 for (
size_t j = 0;
j !=
_jets.size();
j++) {
460 }
while (std::next_permutation(jet_types.begin(), jet_types.end()));
505 #endif // #ifndef RUNHITFIT_H
std::vector< Lepjets_Event > GetUnfittedEvent()
Return the unfitted events for all permutations.
Hold the result of one kinematic fit.
JetTranslatorBase< AJet > _JetTranslator
std::vector< Fit_Result >::size_type FitAllPermutation()
Fit all permutations of the internal event. Returns the number of permutations.
Template class of function object to translate missing transverse energy physics object to HitFit's F...
Calculate and represent resolution for a physical quantity.
Hold on to parameters for the Top_Fit class.
LeptonTranslatorBase< AElectron > _ElectronTranslator
Resolution & kt_res()
Return a reference to the resolution.
Hold the result of one kinematic fit.
RunHitFit(const LeptonTranslatorBase< AElectron > &el, const LeptonTranslatorBase< AMuon > &mu, const JetTranslatorBase< AJet > &jet, const METTranslatorBase< AMet > &met, const std::string default_file, double lepw_mass, double hadw_mass, double top_mass)
Constructor.
bool set_jet_types(const std::vector< int > &)
Set the jet types in the event.
void add_lep(const Lepjets_Event_Lep &lep)
Add a new lepton to the event.
METTranslatorBase< AMet > _METTranslator
void SetKtResolution(const Resolution &res)
Set the resolution of the internal event.
A lightweight implementation of the Defaults interface that uses simple ASCII text files...
CLHEP::HepVector Column_Vector
static const unsigned int MIN_HITFIT_TTH
void SetMet(const AMet &met, bool useObjRes=false)
Set the missing transverse energy of the internal event.
void AddLepton(const AMuon &muon, bool useObjRes=false)
Add one muon into the internal event.
std::vector< Fit_Result > _Fit_Results
double fit_one_perm(Lepjets_Event &ev, bool &nuz, double &umwhad, double &utmass, double &mt, double &sigmt, Column_Vector &pullx, Column_Vector &pully)
Fit for a single jet permutation.
std::vector< Fit_Result > GetFitAllPermutation()
Return the results of fitting all permutations of the internal event.
static const unsigned int MAX_HITFIT_VAR
std::vector< Lepjets_Event > _Unfitted_Events
Represent a simple event consisting of lepton(s) and jet(s).
static const unsigned int MAX_HITFIT_JET
Represent a simple event consisting of lepton(s) and jet(s). An instance of this class holds a list o...
const Top_Fit & GetTopFit() const
Return a constant reference to the underlying Top_Fit object.
Template class of function object to translate missing transverse energy object to HitFit's Fourvec o...
Handle and fit jet permutations of an event. This is the primary interface between user's Lepjets_Eve...
LeptonTranslatorBase< AMuon > _MuonTranslator
Template class of experiment-independent interface to HitFit. This class is intended to be used insid...
static const unsigned int MAX_HITFIT
Template class of function object to translate jet physics object to HitFit's Lepjets_Event_Jet objec...
std::vector< AJet > _jets
Fourvec & met()
Return a reference to the missing transverse energy.
const Top_Fit_Args & args() const
Return a constant reference to the fit arguments.
Template class of function object to translate lepton physics object to HitFit's Lepjets_Event_Lep ob...
void SetMETResolution(const Resolution &res)
Set the resolution of the internal event.
Define a concrete interface for getting parameter settings from an ASCII text file.
void add_jet(const Lepjets_Event_Jet &jet)
Add a new jet to the event.
bool do_higgs_flag() const
Return the do_higgs_flag parameter.
Template class of function object to translate jet physics object to HitFit's Lepjets_Event_Jet objec...
Handle and fit jet permutations of an event. This is the primary interface between user's Lepjets_Eve...
void AddLepton(const AElectron &electron, bool useObjRes=false)
Add one electron into the internal event.
void clear()
Clear the internal event, fit results, and jets.
static const unsigned int MIN_HITFIT_JET
void AddJet(const AJet &jet, bool useObjRes=false)
Add one jet into the internal event. This function will do nothing if the internal event has already ...