1 #ifndef TtFullHadKinFitter_h 2 #define TtFullHadKinFitter_h 6 #include "TLorentzVector.h" 48 const std::vector<edm::ParameterSet>*
bResolutions =
nullptr,
60 const std::vector<edm::ParameterSet>*
bResolutions =
nullptr,
67 int fit(
const std::vector<pat::Jet>&
jets);
99 std::unique_ptr<TAbsFitParticle>
b_;
100 std::unique_ptr<TAbsFitParticle>
bBar_;
112 std::map<Constraint, std::unique_ptr<TFitConstraintM>>
massConstr_;
126 std::unique_ptr<CovarianceMatrix>
covM_;
165 unsigned int jetParam,
199 unsigned int jetParam,
224 std::list<TtFullHadKinFitter::KinFitResult>
fit(
const std::vector<pat::Jet>&
jets);
228 bool doBTagging(
const std::vector<pat::Jet>&
jets,
const unsigned int& bJetCounter, std::vector<int>& combi);
237 std::vector<TtFullHadKinFitter::Constraint>
constraints(
const std::vector<unsigned int>& configParameters);
284 std::unique_ptr<TtFullHadKinFitter>
fitter;
const pat::Particle fittedLightQBar() const
return fitted light quark candidate
void setResolutions(const std::vector< edm::ParameterSet > &udscResolutions, const std::vector< edm::ParameterSet > &bResolutions, const std::vector< double > &jetEnergyResolutionScaleFactors, const std::vector< double > &jetEnergyResolutionEtaBinning)
set resolutions
double maxF_
maximal deviation for contstraints
const std::vector< double > * jetEnergyResolutionEtaBinning_
double maxDeltaS_
maximal chi2 equivalent
TtFullHadKinFitter::Param param(unsigned int configParameter)
Param
supported parameterizations
void setupConstraints()
initialize constraints
void setFitter(int maxNJets, unsigned int maxNrIter, double maxDeltaS, double maxF, unsigned int jetParam, const std::vector< unsigned > &constraints, double mW, double mTop)
set parameters for fitter
TtHadEvtSolution addKinFitInfo(TtHadEvtSolution *asol)
add kin fit information to the old event solution (in for legacy reasons)
std::unique_ptr< TAbsFitParticle > lightPBar_
void setBTagging(bool useBTagging, unsigned int bTags, std::string bTagAlgo, double minBTagValueBJet, double maxBTagValueNonBJet)
set all parameters for b-tagging
int maxNComb_
maximal number of combinations to be written to the event
TtFullHadKinFitter::Constraint constraint(unsigned int configParameter)
void printSetup() const
print fitter setup
std::unique_ptr< TKinFitter > fitter_
kinematic fitter
pat::Particle fittedLightPBar_
const pat::Particle fittedB() const
return fitted b quark candidate
void setUseOnlyMatch(bool useOnlyMatch)
set useOnlyMatch
pat::Particle fittedB_
output particles
jetEnergyResolutionScaleFactors
int fit(const std::vector< pat::Jet > &jets)
kinematic fit interface
double mW_
W mass value used for constraints.
std::vector< unsigned > constraints_
numbering of different possible kinematic constraints
pat::Particle fittedLightQBar_
const std::vector< double > * jetEnergyResolutionScaleFactors_
scale factors for the jet energy resolution
std::list< TtFullHadKinFitter::KinFitResult > fit(const std::vector< pat::Jet > &jets)
do the fitting and return fit result
std::vector< double > jetEnergyResolutionScaleFactors_
scale factors for the jet energy resolution
std::vector< edm::ParameterSet > udscResolutions_
store the resolutions for the jets
class that does the fitting
std::vector< edm::ParameterSet > bResolutions_
std::string jetCorrectionLevel_
correction level for jets
std::map< Constraint, std::unique_ptr< TFitConstraintM > > massConstr_
supported constraints
void setJEC(std::string jetCorrectionLevel)
set jec level
bool doBTagging(const std::vector< pat::Jet > &jets, const unsigned int &bJetCounter, std::vector< int > &combi)
pat::Jet corJet(const pat::Jet &jet, const std::string &quarkType)
helper function to construct the proper corrected jet for its corresponding quarkType ...
std::vector< double > jetEnergyResolutionEtaBinning_
std::unique_ptr< TAbsFitParticle > lightP_
unsigned int bTags_
minimal number of b-jets
Constraint
supported constraints
void setMatch(const std::vector< int > &match)
set match to be used
unsigned int maxNrIter_
maximal number of iterations to be performed for the fit
std::vector< int > match_
the combination that should be used
std::vector< TtFullHadKinFitter::Constraint > intToConstraint(const std::vector< unsigned int > &constraints)
used to convert vector of int's to vector of constraints (just used in TtFullHadKinFitter(int, int, double, double, std::vector<unsigned int>))
~TtFullHadKinFitter()
default destructor
const pat::Particle fittedLightP() const
return fitted light quark candidate
const std::vector< edm::ParameterSet > * bResolutions_
const pat::Particle fittedLightPBar() const
return fitted light quark candidate
jetEnergyResolutionEtaBinning
double minBTagValueBJet_
min value of bTag for a b-jet
std::vector< TtFullHadKinFitter::Constraint > constraints(const std::vector< unsigned int > &configParameters)
pat::Particle fittedLightP_
pat::Particle fittedBBar_
std::unique_ptr< TAbsFitParticle > b_
input particles
double mTop_
top mass value used for constraints
std::vector< Constraint > constraints_
vector of constraints to be used
std::vector< int > JetCombi
Param jetParam_
jet parametrization
pat::Particle fittedLightQ_
void setupFitter()
setup fitter
~KinFit()
default destructor
Analysis-level particle class.
std::string bTagAlgo_
input tag for b-tagging algorithm
const std::vector< edm::ParameterSet > * udscResolutions_
resolutions
const pat::Particle fittedLightQ() const
return fitted light quark candidate
Analysis-level calorimeter jet class.
void setOutput(int maxNComb)
set number of combinations of output
unsigned int jetParam_
numbering of different possible jet parametrizations
bool useOnlyMatch_
fit or only a certain combination
int maxNJets_
maximal number of jets (-1 possible to indicate 'all')
TtFullHadKinFitter()
default constructor
std::unique_ptr< CovarianceMatrix > covM_
get object resolutions and put them into a matrix
void setupJets()
initialize jet inputs
std::unique_ptr< TAbsFitParticle > lightQBar_
const pat::Particle fittedBBar() const
return fitted b quark candidate
std::unique_ptr< TtFullHadKinFitter > fitter
kinematic fit interface
std::pair< typename Association::data_type::first_type, double > match(Reference key, Association association, bool bestMatchByMaxValue)
Generic matching function.
std::unique_ptr< TAbsFitParticle > lightQ_
bool operator<(const KinFitResult &rhs)
double maxBTagValueNonBJet_
max value of bTag for a non-b-jet
bool invalidMatch_
match is invalid
KinFit()
default constructor
std::unique_ptr< TAbsFitParticle > bBar_
void setMatchInvalidity(bool invalidMatch)
set the validity of a match