KLFitter
v1.3.2
Documentation of the KLFitter library -- The Kinematic Likelihood Fitter
|
A class implementing a likelihood to reconstruct the hemisphere of one single top quark that decays hadronically. More...
#include <LikelihoodOneHadronicTop.h>
Public Types | |
enum | Parameters { parBhadE, parLQ1E, parLQ2E, parTopM } |
Enumerator for the fitted parameters of this likelihood. More... | |
![]() | |
enum | BtaggingMethod { kNotag, kVeto, kVetoNoFit, kVetoNoFitLight, kVetoNoFitBoth, kVetoHybridNoFit, kWorkingPoint, kVetoLight, kVetoBoth } |
Enumerate for b-tagging possibilities. | |
Public Member Functions | |
Constructors and destructors | |
LikelihoodOneHadronicTop () | |
The default constructor. More... | |
~LikelihoodOneHadronicTop () | |
The (defaulted) destructor. | |
Member functions (Set) | |
void | SetFlagTopMassFixed (bool flag) |
Set a flag. More... | |
void | SetFlagGetParSigmasFromTFs (bool flag) |
Set a flag. More... | |
Member functions (BAT) | |
void | DefineParameters () override |
Define the parameters of the fit. More... | |
std::vector< double > | GetInitialParameters () override |
Get initial values for the parameters. More... | |
double | LogLikelihood (const std::vector< double > ¶meters) override |
The posterior probability definition, overloaded from BCModel. More... | |
std::vector< double > | LogLikelihoodComponents (std::vector< double > parameters) override |
The posterior probability definition, overloaded from BCModel. More... | |
Member functions (misc) | |
int | SetET_miss_XY_SumET (double, double, double) override |
For events with missing ET this function would set the x and y components. More... | |
void | RequestResolutionFunctions () override |
Request the necessary resolution functions from the detector. | |
![]() | |
LikelihoodBase (Particles **particles=0) | |
The default constructor. More... | |
virtual | ~LikelihoodBase () |
The default destructor. | |
KLFitter::PhysicsConstants * | PhysicsConstants () |
Return the table of physics constants. More... | |
KLFitter::DetectorBase * | Detector () |
Return the detector. More... | |
KLFitter::Particles ** | PParticlesPermuted () |
Return the set of measured particles. More... | |
KLFitter::Particles * | ParticlesModel () |
Return the set of model particles. More... | |
int | NParticlesModel () |
Return the number of model particles. More... | |
int | NParameters () |
Return the number of parameters. More... | |
double | ParMin (int index) |
Return the lower boundary of a parameter. More... | |
double | ParMax (int index) |
Return the upper boundary of a parameter. More... | |
BtaggingMethod | GetBTagging () |
Get flag to use b-tagging or not. More... | |
bool | FlagIntegrate () |
int | SetPhysicsConstants (KLFitter::PhysicsConstants *physicsconstants) |
Set the physics constants. More... | |
virtual int | SetDetector (KLFitter::DetectorBase **detector) |
Set the detector. More... | |
int | SetParticlesPermuted (KLFitter::Particles **particles) |
Set the measured particles. More... | |
int | SetPermutations (std::unique_ptr< KLFitter::Permutations > *permutations) |
Set the permutation object. More... | |
int | SetParameterRange (int index, double parmin, double parmax) |
Set the range of a model parameter. More... | |
int | SetInitialParameters (std::vector< double > const ¶meters) |
Set the initial values for the minimization, etc. More... | |
int | SetInitialParametersNChains (std::vector< double > const ¶meters, unsigned int nchains) |
Set the initial values for the minimization, etc. More... | |
int | SetBTagging (BtaggingMethod btagmethod) |
Set which b-tagging you wish to use. More... | |
int | SetFlagBTagging (bool flag) |
THIS IS AN OUTDATED METHOD - JUST HERE FOR BACKWARD COMPATIBILITY. More... | |
int | SetFlagIsNan (bool flag) |
Set flag FlagIsNan. More... | |
bool | GetFlagIsNan (void) |
Get flag FlagIsNan. More... | |
int | SetFlagIntegrate (bool flag) |
Set flag to integrate or not. More... | |
void | SetFlagUseJetMass (bool flag) |
Set flag to use measured jet masses (true) instead of parton masses (false);. | |
virtual int | Initialize () |
Initialize the likelihood for the event. More... | |
void | PropagateBTaggingInformation () |
Propagate the b-tagging information from the permuted (measured) particles to the model particles. | |
virtual double | LogAPrioriProbability (const std::vector< double > &) override |
The prior probability definition, overloaded from BCModel. More... | |
virtual double | LogEventProbability () |
Return the log of the event probability fof the current combination. More... | |
virtual double | LogEventProbabilityBTag () |
Return the contribution from b tagging to the log of the event probability for the current combination. More... | |
virtual int | RemoveForbiddenParticlePermutations () |
Remove forbidden particle permutations. More... | |
virtual bool | NoTFProblem (std::vector< double > parameters) |
Check if there are TF problems. More... | |
std::vector< double > | GetBestFitParameters () |
Returns the best fit parameters, overloaded from BCModel. More... | |
std::vector< double > | GetBestFitParameterErrors () |
Returns the errors of the best fit parameters, overloaded from BCModel. More... | |
double | GetBestFitParameter (unsigned int index) |
Returns the best fit parameters, overloaded from BCModel. More... | |
double | GetBestFitParameterError (unsigned int index) |
Returns the errors of the best fit parameter i, overloaded from BCModel. More... | |
virtual int | LHInvariantPermutationPartner (int, int, int *, int *) |
Check if the permutation is LH invariant. More... | |
int | GetParametersFromCache (int iperm) |
Write parameters from fCachedParametersVector.at(iperm) to fCachedParameters. More... | |
int | SetParametersToCache (int iperm, int nperms) |
Write parameters to fCachedParametersVector.at(iperm) from GetBestFitParameter() More... | |
double | GetIntegral () |
int | ResetCache () |
Resets the values of all parameter cache vectors. More... | |
Protected Member Functions | |
int | AdjustParameterRanges () override |
Adjust ranges of the parameters. More... | |
int | BuildModelParticles () override |
Build the model particles from the best fit parameters. More... | |
int | CalculateLorentzVectors (std::vector< double > const ¶meters) override |
Update 4-vector values of the model particles. More... | |
int | DefineModelParticles () override |
Define the model particles. More... | |
int | RemoveInvariantParticlePermutations () override |
Remove the invariant particle permutations. More... | |
int | SavePermutedParticles () override |
Save permuted particles. More... | |
int | SaveResolutionFunctions () override |
Save the resolution functions from the detector to the internal pointers. More... | |
![]() | |
double | SetPartonMass (double jetmass, double quarkmass, double *px, double *py, double *pz, double e) |
Set model parton mass according to fFlagUseJetMass. More... | |
Protected Attributes | |
Member attributes | |
bool | m_flag_top_mass_fixed |
A flag for using a fixed top mass (true) or not (false). | |
bool | m_flag_get_par_sigmas_from_TFs |
Flag for using ResolutionBase::GetSigma() to retrieve the parameter ranges. | |
ResolutionBase * | m_res_energy_bhad |
Pointer to resolution function for hadronic b quark. | |
ResolutionBase * | m_res_energy_lq1 |
Pointer to resolution function for first light quark jet. | |
ResolutionBase * | m_res_energy_lq2 |
Pointer to resolution function for second light quark jet. | |
Member attributes (measured parameters) | |
double | m_bhad_meas_e |
double | m_bhad_meas_p |
double | m_bhad_meas_m |
double | m_bhad_meas_deteta |
double | m_bhad_meas_eta |
double | m_bhad_meas_phi |
double | m_bhad_meas_px |
double | m_bhad_meas_py |
double | m_bhad_meas_pz |
double | m_lq1_meas_e |
double | m_lq1_meas_p |
double | m_lq1_meas_m |
double | m_lq1_meas_deteta |
double | m_lq1_meas_eta |
double | m_lq1_meas_phi |
double | m_lq1_meas_px |
double | m_lq1_meas_py |
double | m_lq1_meas_pz |
double | m_lq2_meas_e |
double | m_lq2_meas_p |
double | m_lq2_meas_m |
double | m_lq2_meas_deteta |
double | m_lq2_meas_eta |
double | m_lq2_meas_phi |
double | m_lq2_meas_px |
double | m_lq2_meas_py |
double | m_lq2_meas_pz |
Member attributes (fitted parameters) | |
double | m_bhad_fit_e |
double | m_bhad_fit_px |
double | m_bhad_fit_py |
double | m_bhad_fit_pz |
double | m_lq1_fit_e |
double | m_lq1_fit_px |
double | m_lq1_fit_py |
double | m_lq1_fit_pz |
double | m_lq2_fit_e |
double | m_lq2_fit_px |
double | m_lq2_fit_py |
double | m_lq2_fit_pz |
double | m_whad_fit_e |
double | m_whad_fit_px |
double | m_whad_fit_py |
double | m_whad_fit_pz |
double | m_whad_fit_m |
double | m_thad_fit_m |
![]() | |
KLFitter::Particles ** | fParticlesPermuted |
A pointer to the measured particles. | |
std::unique_ptr< KLFitter::Permutations > * | fPermutations |
A pointer to the permutation object. | |
std::unique_ptr< KLFitter::Particles > | fParticlesModel |
A pointer to the model particles. | |
KLFitter::PhysicsConstants | fPhysicsConstants |
A pointer to the table of physics constants. | |
KLFitter::DetectorBase ** | fDetector |
A pointer to the detector. | |
std::vector< double > | fEventProbability |
The event probabilities for the different permutations. | |
bool | fFlagIntegrate |
A flag to integrate over the likelihood or not. | |
bool | fFlagIsNan |
A flag for knowing that Minuit gave parameters with NaN values to LogLikelihood. | |
bool | fFlagUseJetMass |
A flag for using the measured jet masses (true) instead of parton masses (false);. | |
bool | fTFgood |
Global variable for TF problems. | |
BtaggingMethod | fBTagMethod |
Name of btagging enum. | |
std::vector< double > | fCachedParameters |
The cached parameters used for the current permutation. | |
std::vector< double > | fCachedParameterErrors |
The cached parameter errors used for the current permutation. | |
std::vector< std::vector< double > > | fCachedParametersVector |
A vector of cached parameters, one for each permutation. More... | |
std::vector< std::vector< double > > | fCachedParameterErrorsVector |
A vector of cached parameter errors, one for each permutation. More... | |
double | fCachedNormalization |
The cached normalization, needed for the overloaded BCIntegrate::GetIntegral. | |
std::vector< double > | fCachedNormalizationVector |
A vector of cached parameters, one for each permutation. More... | |
A class implementing a likelihood to reconstruct the hemisphere of one single top quark that decays hadronically.
Can be used for various types of final states, e.g. ttbar (allhadronic, l+jets) or single-top production.
KLFitter::LikelihoodOneHadronicTop::LikelihoodOneHadronicTop | ( | ) |
The default constructor.
This initializes all member attributes and calls the functions DefineModelParticles() and DefineParameters().
|
overrideprotectedvirtual |
Adjust ranges of the parameters.
This either takes the parameter sigmas from the transfer functions, if m_flag_get_par_sigmas_from_TFs is set. Otherwise, a fixed sigma is used to calculate the parameter ranges. Then, SetParameterRange() is called to set the range. If m_flag_top_mass_fixed is set, the top mass will be fixed to the pole mass.
Implements KLFitter::LikelihoodBase.
|
overrideprotectedvirtual |
Build the model particles from the best fit parameters.
This sets the particles of fParticlesModel to the fitted parameter values. The W boson and top quark parameters are combined from the other particles.
Implements KLFitter::LikelihoodBase.
|
overrideprotectedvirtual |
Update 4-vector values of the model particles.
This updates the internal variables, such as #m_bhad_fit_px or #m_thad_fit_m to the latest values from the fit. These variables are for example used in the log likelihood calculation.
Implements KLFitter::LikelihoodBase.
|
overrideprotectedvirtual |
Define the model particles.
Create the object fParticlesModel and add all particles of this likelihood. The 4-vector components are set to zero.
Implements KLFitter::LikelihoodBase.
|
overridevirtual |
Define the parameters of the fit.
This calls BCModel::AddParameter() for all parameters in the enum Parameters.
Implements KLFitter::LikelihoodBase.
|
overridevirtual |
Get initial values for the parameters.
This calls GetInitialParametersWoNeutrinoPz() and retrieves the neutrino solutions via GetNeutrinoPzSolutions(). The initial values are then set accordingly.
Implements KLFitter::LikelihoodBase.
|
overridevirtual |
The posterior probability definition, overloaded from BCModel.
parameters | A vector of parameters (double values). |
Implements KLFitter::LikelihoodBase.
|
overridevirtual |
The posterior probability definition, overloaded from BCModel.
Instead of the final log likelihood value as in LogLikelihood(), this returns all subcomponents.
parameters | A vector of parameters (double values). |
Implements KLFitter::LikelihoodBase.
|
overrideprotectedvirtual |
Remove the invariant particle permutations.
In particular, this removes permutations where the two light jets are swapped. In addition, in case two types of leptons were added, only permutations with leptons of type #m_lepton_type are kept.
Implements KLFitter::LikelihoodBase.
|
overrideprotectedvirtual |
Save permuted particles.
This takes the permuted particles, stored in fParticlesPermuted, and saves their values in the internal variables, such as #m_bhad_meas_eta.
Implements KLFitter::LikelihoodBase.
|
overrideprotectedvirtual |
Save the resolution functions from the detector to the internal pointers.
This sets the internal pointers, such as m_res_energy_bhad to the resolution objects stored in the detector.
Implements KLFitter::LikelihoodBase.
|
inlineoverridevirtual |
For events with missing ET this function would set the x and y components.
In this class, the function is only implemented as a trivial function as MET is not used in the likelihood.
Implements KLFitter::LikelihoodBase.
|
inline |
Set a flag.
If flag is true, take the parameter sigma values from the transfer functions.
flag | The flag. |
|
inline |
Set a flag.
If flag is true the invariant top quark mass is fixed to the pole mass.
flag | The flag. |