CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
TtFullHadKinFitter::KinFit Class Reference

class that does the fitting More...

#include <TtFullHadKinFitter.h>

Public Member Functions

std::list< TtFullHadKinFitter::KinFitResultfit (const std::vector< pat::Jet > &jets)
 do the fitting and return fit result More...
 
 KinFit ()
 default constructor More...
 
 KinFit (bool useBTagging, unsigned int bTags, std::string bTagAlgo, double minBTagValueBJet, double maxBTagValueNonBJet, const std::vector< edm::ParameterSet > &udscResolutions, const std::vector< edm::ParameterSet > &bResolutions, const std::vector< double > &jetEnergyResolutionScaleFactors, const std::vector< double > &jetEnergyResolutionEtaBinning, std::string jetCorrectionLevel, int maxNJets, int maxNComb, unsigned int maxNrIter, double maxDeltaS, double maxF, unsigned int jetParam, const std::vector< unsigned > &constraints, double mW, double mTop)
 special constructor More...
 
void setBTagging (bool useBTagging, unsigned int bTags, std::string bTagAlgo, double minBTagValueBJet, double maxBTagValueNonBJet)
 set all parameters for b-tagging More...
 
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 More...
 
void setJEC (std::string jetCorrectionLevel)
 set jec level More...
 
void setMatch (const std::vector< int > &match)
 set match to be used More...
 
void setMatchInvalidity (bool invalidMatch)
 set the validity of a match More...
 
void setOutput (int maxNComb)
 set number of combinations of output More...
 
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 More...
 
void setUseOnlyMatch (bool useOnlyMatch)
 set useOnlyMatch More...
 
 ~KinFit ()
 default destructor More...
 

Private Member Functions

TtFullHadKinFitter::Constraint constraint (unsigned int configParameter)
 
std::vector< TtFullHadKinFitter::Constraintconstraints (const std::vector< unsigned int > &configParameters)
 
pat::Jet corJet (const pat::Jet &jet, const std::string &quarkType)
 helper function to construct the proper corrected jet for its corresponding quarkType More...
 
bool doBTagging (const std::vector< pat::Jet > &jets, const unsigned int &bJetCounter, std::vector< int > &combi)
 
TtFullHadKinFitter::Param param (unsigned int configParameter)
 

Private Attributes

std::vector< edm::ParameterSetbResolutions_
 
std::string bTagAlgo_
 input tag for b-tagging algorithm More...
 
unsigned int bTags_
 minimal number of b-jets More...
 
std::vector< unsigned > constraints_
 numbering of different possible kinematic constraints More...
 
std::unique_ptr< TtFullHadKinFitterfitter
 kinematic fit interface More...
 
bool invalidMatch_
 match is invalid More...
 
std::string jetCorrectionLevel_
 correction level for jets More...
 
std::vector< double > jetEnergyResolutionEtaBinning_
 
std::vector< double > jetEnergyResolutionScaleFactors_
 scale factors for the jet energy resolution More...
 
unsigned int jetParam_
 numbering of different possible jet parametrizations More...
 
std::vector< int > match_
 the combination that should be used More...
 
double maxBTagValueNonBJet_
 max value of bTag for a non-b-jet More...
 
double maxDeltaS_
 maximal chi2 equivalent More...
 
double maxF_
 maximal deviation for contstraints More...
 
int maxNComb_
 maximal number of combinations to be written to the event More...
 
int maxNJets_
 maximal number of jets (-1 possible to indicate 'all') More...
 
unsigned int maxNrIter_
 maximal number of iterations to be performed for the fit More...
 
double minBTagValueBJet_
 min value of bTag for a b-jet More...
 
double mTop_
 top mass value used for constraints More...
 
double mW_
 W mass value used for constraints. More...
 
std::vector< edm::ParameterSetudscResolutions_
 store the resolutions for the jets More...
 
bool useBTagging_
 
bool useOnlyMatch_
 fit or only a certain combination More...
 

Detailed Description

class that does the fitting

Definition at line 145 of file TtFullHadKinFitter.h.

Constructor & Destructor Documentation

◆ KinFit() [1/2]

TtFullHadKinFitter::KinFit::KinFit ( )

default constructor

Definition at line 308 of file TtFullHadKinFitter.cc.

References constraints_.

309  : useBTagging_(true),
310  bTags_(2),
311  bTagAlgo_("trackCountingHighPurBJetTags"),
312  minBTagValueBJet_(3.41),
313  maxBTagValueNonBJet_(3.41),
314  udscResolutions_(std::vector<edm::ParameterSet>(0)),
315  bResolutions_(std::vector<edm::ParameterSet>(0)),
318  jetCorrectionLevel_("L3Absolute"),
319  maxNJets_(-1),
320  maxNComb_(1),
321  maxNrIter_(500),
322  maxDeltaS_(5e-5),
323  maxF_(0.0001),
324  jetParam_(1),
325  mW_(80.4),
326  mTop_(173.),
327  useOnlyMatch_(false),
328  match_(std::vector<int>(0)),
329  invalidMatch_(false) {
330  constraints_.push_back(1);
331  constraints_.push_back(2);
332  constraints_.push_back(5);
333 }
double maxF_
maximal deviation for contstraints
double maxDeltaS_
maximal chi2 equivalent
int maxNComb_
maximal number of combinations to be written to the event
double mW_
W mass value used for constraints.
std::vector< unsigned > constraints_
numbering of different possible kinematic constraints
std::vector< double > jetEnergyResolutionScaleFactors_
scale factors for the jet energy resolution
std::vector< edm::ParameterSet > udscResolutions_
store the resolutions for the jets
std::vector< edm::ParameterSet > bResolutions_
std::string jetCorrectionLevel_
correction level for jets
std::vector< double > jetEnergyResolutionEtaBinning_
unsigned int bTags_
minimal number of b-jets
unsigned int maxNrIter_
maximal number of iterations to be performed for the fit
std::vector< int > match_
the combination that should be used
double minBTagValueBJet_
min value of bTag for a b-jet
double mTop_
top mass value used for constraints
std::string bTagAlgo_
input tag for b-tagging algorithm
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 &#39;all&#39;)
double maxBTagValueNonBJet_
max value of bTag for a non-b-jet
bool invalidMatch_
match is invalid

◆ KinFit() [2/2]

TtFullHadKinFitter::KinFit::KinFit ( bool  useBTagging,
unsigned int  bTags,
std::string  bTagAlgo,
double  minBTagValueBJet,
double  maxBTagValueNonBJet,
const std::vector< edm::ParameterSet > &  udscResolutions,
const std::vector< edm::ParameterSet > &  bResolutions,
const std::vector< double > &  jetEnergyResolutionScaleFactors,
const std::vector< double > &  jetEnergyResolutionEtaBinning,
std::string  jetCorrectionLevel,
int  maxNJets,
int  maxNComb,
unsigned int  maxNrIter,
double  maxDeltaS,
double  maxF,
unsigned int  jetParam,
const std::vector< unsigned > &  constraints,
double  mW,
double  mTop 
)

special constructor

Definition at line 336 of file TtFullHadKinFitter.cc.

References bResolutions_, constraints(), constraints_, fitter, jetEnergyResolutionEtaBinning_, jetEnergyResolutionScaleFactors_, jetParam_, maxDeltaS_, maxF_, maxNrIter_, mTop_, mW_, param(), and udscResolutions_.

356  bTags_(bTags),
369  maxF_(maxF),
370  jetParam_(jetParam),
372  mW_(mW),
373  mTop_(mTop),
374  useOnlyMatch_(false),
375  invalidMatch_(false) {
376  // define kinematic fit interface
377  fitter = std::make_unique<TtFullHadKinFitter>(param(jetParam_),
378  maxNrIter_,
379  maxDeltaS_,
380  maxF_,
382  mW_,
383  mTop_,
385  &bResolutions_,
388 }
double maxF_
maximal deviation for contstraints
double maxDeltaS_
maximal chi2 equivalent
TtFullHadKinFitter::Param param(unsigned int configParameter)
int maxNComb_
maximal number of combinations to be written to the event
double mW_
W mass value used for constraints.
std::vector< unsigned > constraints_
numbering of different possible kinematic constraints
std::vector< double > jetEnergyResolutionScaleFactors_
scale factors for the jet energy resolution
std::vector< edm::ParameterSet > udscResolutions_
store the resolutions for the jets
std::vector< edm::ParameterSet > bResolutions_
std::string jetCorrectionLevel_
correction level for jets
std::vector< double > jetEnergyResolutionEtaBinning_
unsigned int bTags_
minimal number of b-jets
unsigned int maxNrIter_
maximal number of iterations to be performed for the fit
double minBTagValueBJet_
min value of bTag for a b-jet
std::vector< TtFullHadKinFitter::Constraint > constraints(const std::vector< unsigned int > &configParameters)
double mTop_
top mass value used for constraints
std::string bTagAlgo_
input tag for b-tagging algorithm
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 &#39;all&#39;)
std::unique_ptr< TtFullHadKinFitter > fitter
kinematic fit interface
double maxBTagValueNonBJet_
max value of bTag for a non-b-jet
bool invalidMatch_
match is invalid

◆ ~KinFit()

TtFullHadKinFitter::KinFit::~KinFit ( )
default

default destructor

Member Function Documentation

◆ constraint()

TtFullHadKinFitter::Constraint TtFullHadKinFitter::KinFit::constraint ( unsigned int  configParameter)
private

Definition at line 636 of file TtFullHadKinFitter.cc.

References Exception, TtFullHadKinFitter::kEqualTopMasses, TtFullHadKinFitter::kTopBarMass, TtFullHadKinFitter::kTopMass, TtFullHadKinFitter::kWMinusMass, TtFullHadKinFitter::kWPlusMass, and mps_fire::result.

636  {
638  switch (configParameter) {
641  break;
644  break;
647  break;
650  break;
653  break;
654  default:
655  throw cms::Exception("Configuration") << "Chosen fit constraint is not supported: " << configParameter << "\n";
656  break;
657  }
658  return result;
659 }
Constraint
supported constraints

◆ constraints()

std::vector< TtFullHadKinFitter::Constraint > TtFullHadKinFitter::KinFit::constraints ( const std::vector< unsigned int > &  configParameters)
private

Definition at line 661 of file TtFullHadKinFitter.cc.

References HLT_2024v13_cff::constraint, mps_fire::i, and mps_fire::result.

Referenced by KinFit(), and setFitter().

662  {
663  std::vector<TtFullHadKinFitter::Constraint> result;
664  for (unsigned i = 0; i < configParameters.size(); ++i) {
665  result.push_back(constraint(configParameters[i]));
666  }
667  return result;
668 }
TtFullHadKinFitter::Constraint constraint(unsigned int configParameter)

◆ corJet()

pat::Jet TtFullHadKinFitter::KinFit::corJet ( const pat::Jet jet,
const std::string &  quarkType 
)
private

helper function to construct the proper corrected jet for its corresponding quarkType

Definition at line 450 of file TtFullHadKinFitter.cc.

References metsig::jet, and runTheMatrix::ret.

450  {
451  // jetCorrectionLevel was not configured
452  if (jetCorrectionLevel_.empty())
453  throw cms::Exception("Configuration")
454  << "Unconfigured jetCorrectionLevel. Please use an appropriate, non-empty string.\n";
455 
456  // quarkType is unknown
457  if (!(quarkType == "wMix" || quarkType == "uds" || quarkType == "charm" || quarkType == "bottom"))
458  throw cms::Exception("Configuration") << quarkType << " is unknown as a quarkType for the jetCorrectionLevel.\n";
459 
460  float jecFactor = 1.;
461  if (quarkType == "wMix")
462  jecFactor = 0.75 * jet.jecFactor(jetCorrectionLevel_, "uds") + 0.25 * jet.jecFactor(jetCorrectionLevel_, "charm");
463  else
464  jecFactor = jet.jecFactor(jetCorrectionLevel_, quarkType);
465 
466  pat::Jet ret = jet;
467  ret.setP4(ret.p4() * jecFactor);
468  return ret;
469 }
ret
prodAgent to be discontinued
std::string jetCorrectionLevel_
correction level for jets
Analysis-level calorimeter jet class.
Definition: Jet.h:77

◆ doBTagging()

bool TtFullHadKinFitter::KinFit::doBTagging ( const std::vector< pat::Jet > &  jets,
const unsigned int &  bJetCounter,
std::vector< int > &  combi 
)
private

Definition at line 393 of file TtFullHadKinFitter.cc.

References TtFullHadEvtPartons::B, TtFullHadEvtPartons::BBar, Exception, PDWG_EXODelayedJetMET_cff::jets, TtFullHadEvtPartons::LightP, TtFullHadEvtPartons::LightPBar, TtFullHadEvtPartons::LightQ, and TtFullHadEvtPartons::LightQBar.

395  {
396  if (!useBTagging_) {
397  return true;
398  }
399  if (bTags_ == 2 && jets[combi[TtFullHadEvtPartons::B]].bDiscriminator(bTagAlgo_) >= minBTagValueBJet_ &&
400  jets[combi[TtFullHadEvtPartons::BBar]].bDiscriminator(bTagAlgo_) >= minBTagValueBJet_ &&
405  return true;
406  } else if (bTags_ == 1) {
407  if (bJetCounter == 1 &&
408  (jets[combi[TtFullHadEvtPartons::B]].bDiscriminator(bTagAlgo_) >= minBTagValueBJet_ ||
409  jets[combi[TtFullHadEvtPartons::BBar]].bDiscriminator(bTagAlgo_) >= minBTagValueBJet_) &&
414  return true;
415  } else if (bJetCounter > 1 && jets[combi[TtFullHadEvtPartons::B]].bDiscriminator(bTagAlgo_) >= minBTagValueBJet_ &&
416  jets[combi[TtFullHadEvtPartons::BBar]].bDiscriminator(bTagAlgo_) >= minBTagValueBJet_ &&
421  return true;
422  }
423  } else if (bTags_ == 0) {
424  if (bJetCounter == 0) {
425  return true;
426  } else if (bJetCounter == 1 &&
427  (jets[combi[TtFullHadEvtPartons::B]].bDiscriminator(bTagAlgo_) >= minBTagValueBJet_ ||
428  jets[combi[TtFullHadEvtPartons::BBar]].bDiscriminator(bTagAlgo_) >= minBTagValueBJet_) &&
433  return true;
434  } else if (bJetCounter > 1 && jets[combi[TtFullHadEvtPartons::B]].bDiscriminator(bTagAlgo_) >= minBTagValueBJet_ &&
435  jets[combi[TtFullHadEvtPartons::BBar]].bDiscriminator(bTagAlgo_) >= minBTagValueBJet_ &&
440  return true;
441  }
442  } else if (bTags_ > 2) {
443  throw cms::Exception("Configuration") << "Wrong number of bTags (" << bTags_ << " bTags not supported)!\n";
444  return true;
445  }
446  return false;
447 }
unsigned int bTags_
minimal number of b-jets
double minBTagValueBJet_
min value of bTag for a b-jet
std::string bTagAlgo_
input tag for b-tagging algorithm
double maxBTagValueNonBJet_
max value of bTag for a non-b-jet

◆ fit()

std::list< TtFullHadKinFitter::KinFitResult > TtFullHadKinFitter::KinFit::fit ( const std::vector< pat::Jet > &  jets)

do the fitting and return fit result


skip events with less jets than partons or invalid match



analyze different jet combinations using the KinFitter (or only a given jet combination if useOnlyMatch=true)

feed out result starting with the JetComb having the smallest chi2

Definition at line 471 of file TtFullHadKinFitter.cc.

References TtFullHadEvtPartons::B, TtFullHadEvtPartons::BBar, mps_fire::i, heavyIonCSV_trainingSettings::idx, createfilelist::int, metsig::jet, PDWG_EXODelayedJetMET_cff::jets, TtFullHadEvtPartons::LightP, TtFullHadEvtPartons::LightPBar, TtFullHadEvtPartons::LightQ, TtFullHadEvtPartons::LightQBar, stdcomb::next_combination(), nPartons, mps_fire::result, and mps_update::status.

Referenced by trackingPlots.Iteration::modules().

471  {
472  std::list<TtFullHadKinFitter::KinFitResult> fitResults;
473 
480  if (jets.size() < nPartons || invalidMatch_) {
481  // indices referring to the jet combination
482  std::vector<int> invalidCombi;
483  for (unsigned int i = 0; i < nPartons; ++i)
484  invalidCombi.push_back(-1);
485 
486  KinFitResult result;
487  // status of the fitter
488  result.Status = -1;
489  // chi2
490  result.Chi2 = -1.;
491  // chi2 probability
492  result.Prob = -1.;
493  // the kinFit getters return empty objects here
494  result.B = fitter->fittedB();
495  result.BBar = fitter->fittedBBar();
496  result.LightQ = fitter->fittedLightQ();
497  result.LightQBar = fitter->fittedLightQBar();
498  result.LightP = fitter->fittedLightP();
499  result.LightPBar = fitter->fittedLightPBar();
500  result.JetCombi = invalidCombi;
501  // push back fit result
502  fitResults.push_back(result);
503  return fitResults;
504  }
505 
511  std::vector<int> jetIndices;
512  if (!useOnlyMatch_) {
513  for (unsigned int idx = 0; idx < jets.size(); ++idx) {
514  if (maxNJets_ >= (int)nPartons && maxNJets_ == (int)idx)
515  break;
516  jetIndices.push_back(idx);
517  }
518  }
519 
520  std::vector<int> combi;
521  for (unsigned int idx = 0; idx < nPartons; ++idx) {
522  useOnlyMatch_ ? combi.push_back(match_[idx]) : combi.push_back(idx);
523  }
524 
525  unsigned int bJetCounter = 0;
526  for (std::vector<pat::Jet>::const_iterator jet = jets.begin(); jet < jets.end(); ++jet) {
527  if (jet->bDiscriminator(bTagAlgo_) >= minBTagValueBJet_)
528  ++bJetCounter;
529  }
530 
531  do {
532  for (int cnt = 0; cnt < TMath::Factorial(combi.size()); ++cnt) {
533  // take into account indistinguishability of the two jets from the two W decays,
534  // and the two decay branches, this reduces the combinatorics by a factor of 2*2*2
538  useOnlyMatch_) &&
539  doBTagging(jets, bJetCounter, combi)) {
540  std::vector<pat::Jet> jetCombi;
541  jetCombi.resize(nPartons);
544  jetCombi[TtFullHadEvtPartons::B] = corJet(jets[combi[TtFullHadEvtPartons::B]], "bottom");
545  jetCombi[TtFullHadEvtPartons::BBar] = corJet(jets[combi[TtFullHadEvtPartons::BBar]], "bottom");
548 
549  // do the kinematic fit
550  int status = fitter->fit(jetCombi);
551 
552  if (status == 0) {
553  // fill struct KinFitResults if converged
555  result.Status = status;
556  result.Chi2 = fitter->fitS();
557  result.Prob = fitter->fitProb();
558  result.B = fitter->fittedB();
559  result.BBar = fitter->fittedBBar();
560  result.LightQ = fitter->fittedLightQ();
561  result.LightQBar = fitter->fittedLightQBar();
562  result.LightP = fitter->fittedLightP();
563  result.LightPBar = fitter->fittedLightPBar();
564  result.JetCombi = combi;
565  // push back fit result
566  fitResults.push_back(result);
567  }
568  }
569  // don't go through combinatorics if useOnlyMatch was chosen
570  if (useOnlyMatch_) {
571  break;
572  }
573  // next permutation
574  std::next_permutation(combi.begin(), combi.end());
575  }
576  // don't go through combinatorics if useOnlyMatch was chosen
577  if (useOnlyMatch_) {
578  break;
579  }
580  } while (stdcomb::next_combination(jetIndices.begin(), jetIndices.end(), combi.begin(), combi.end()));
581 
582  // sort results w.r.t. chi2 values
583  fitResults.sort();
584 
590  if ((unsigned)fitResults.size() < 1) {
591  // in case no fit results were stored in the list (i.e. when all fits were aborted)
592 
593  KinFitResult result;
594  // status of the fitter
595  result.Status = -1;
596  // chi2
597  result.Chi2 = -1.;
598  // chi2 probability
599  result.Prob = -1.;
600  // the kinFit getters return empty objects here
601  result.B = fitter->fittedB();
602  result.BBar = fitter->fittedBBar();
603  result.LightQ = fitter->fittedLightQ();
604  result.LightQBar = fitter->fittedLightQBar();
605  result.LightP = fitter->fittedLightP();
606  result.LightPBar = fitter->fittedLightPBar();
607  // indices referring to the jet combination
608  std::vector<int> invalidCombi(nPartons, -1);
609  result.JetCombi = invalidCombi;
610  // push back fit result
611  fitResults.push_back(result);
612  }
613  return fitResults;
614 }
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< int > match_
the combination that should be used
double minBTagValueBJet_
min value of bTag for a b-jet
std::string bTagAlgo_
input tag for b-tagging algorithm
static const unsigned int nPartons
bool useOnlyMatch_
fit or only a certain combination
int maxNJets_
maximal number of jets (-1 possible to indicate &#39;all&#39;)
std::unique_ptr< TtFullHadKinFitter > fitter
kinematic fit interface
bool invalidMatch_
match is invalid
bool next_combination(BidIt n_begin, BidIt n_end, BidIt r_begin, BidIt r_end)
Definition: combination.h:19

◆ param()

TtFullHadKinFitter::Param TtFullHadKinFitter::KinFit::param ( unsigned int  configParameter)
private

Definition at line 616 of file TtFullHadKinFitter.cc.

References Exception, TopKinFitter::kEMom, TopKinFitter::kEtEtaPhi, TopKinFitter::kEtThetaPhi, and mps_fire::result.

Referenced by KinFit().

616  {
618  switch (configParameter) {
621  break;
624  break;
627  break;
628  default:
629  throw cms::Exception("Configuration")
630  << "Chosen jet parametrization is not supported: " << configParameter << "\n";
631  break;
632  }
633  return result;
634 }
Param
supported parameterizations
Definition: TopKinFitter.h:22

◆ setBTagging()

void TtFullHadKinFitter::KinFit::setBTagging ( bool  useBTagging,
unsigned int  bTags,
std::string  bTagAlgo,
double  minBTagValueBJet,
double  maxBTagValueNonBJet 
)
inline

set all parameters for b-tagging

Definition at line 173 of file TtFullHadKinFitter.h.

References TtSemiLepHitFitProducer_Electrons_cfi::bTagAlgo, bTagAlgo_, TtFullHadKinFitProducer_cfi::bTags, bTags_, TtFullHadKinFitProducer_cfi::maxBTagValueNonBJet, maxBTagValueNonBJet_, TtFullHadKinFitProducer_cfi::minBTagValueBJet, minBTagValueBJet_, TtSemiLepHitFitProducer_Electrons_cfi::useBTagging, and useBTagging_.

◆ setFitter()

void TtFullHadKinFitter::KinFit::setFitter ( int  maxNJets,
unsigned int  maxNrIter,
double  maxDeltaS,
double  maxF,
unsigned int  jetParam,
const std::vector< unsigned > &  constraints,
double  mW,
double  mTop 
)
inline

set parameters for fitter

Definition at line 195 of file TtFullHadKinFitter.h.

References constraints(), constraints_, jetParam_, StEvtSolProducer_cfi::maxDeltaS, maxDeltaS_, StEvtSolProducer_cfi::maxF, maxF_, SUSYDQMAnalyzer_cfi::maxNJets, maxNJets_, StEvtSolProducer_cfi::maxNrIter, maxNrIter_, TtSemiLepHitFitProducer_Electrons_cfi::mTop, mTop_, TtSemiLepHitFitProducer_Electrons_cfi::mW, and mW_.

202  {
206  maxF_ = maxF;
207  jetParam_ = jetParam;
209  mW_ = mW;
210  mTop_ = mTop;
211  }
double maxF_
maximal deviation for contstraints
double maxDeltaS_
maximal chi2 equivalent
double mW_
W mass value used for constraints.
std::vector< unsigned > constraints_
numbering of different possible kinematic constraints
unsigned int maxNrIter_
maximal number of iterations to be performed for the fit
std::vector< TtFullHadKinFitter::Constraint > constraints(const std::vector< unsigned int > &configParameters)
double mTop_
top mass value used for constraints
unsigned int jetParam_
numbering of different possible jet parametrizations
int maxNJets_
maximal number of jets (-1 possible to indicate &#39;all&#39;)

◆ setJEC()

void TtFullHadKinFitter::KinFit::setJEC ( std::string  jetCorrectionLevel)
inline

◆ setMatch()

void TtFullHadKinFitter::KinFit::setMatch ( const std::vector< int > &  match)
inline

set match to be used

Definition at line 217 of file TtFullHadKinFitter.h.

References match(), and match_.

217 { match_ = match; }
std::vector< int > match_
the combination that should be used
std::pair< typename Association::data_type::first_type, double > match(Reference key, Association association, bool bestMatchByMaxValue)
Generic matching function.
Definition: Utils.h:10

◆ setMatchInvalidity()

void TtFullHadKinFitter::KinFit::setMatchInvalidity ( bool  invalidMatch)
inline

set the validity of a match

Definition at line 219 of file TtFullHadKinFitter.h.

References invalidMatch_.

219 { invalidMatch_ = invalidMatch; }
bool invalidMatch_
match is invalid

◆ setOutput()

void TtFullHadKinFitter::KinFit::setOutput ( int  maxNComb)
inline

set number of combinations of output

Definition at line 221 of file TtFullHadKinFitter.h.

References TtSemiLepHitFitProducer_Electrons_cfi::maxNComb, and maxNComb_.

221 { maxNComb_ = maxNComb; }
int maxNComb_
maximal number of combinations to be written to the event

◆ setResolutions()

void TtFullHadKinFitter::KinFit::setResolutions ( const std::vector< edm::ParameterSet > &  udscResolutions,
const std::vector< edm::ParameterSet > &  bResolutions,
const std::vector< double > &  jetEnergyResolutionScaleFactors,
const std::vector< double > &  jetEnergyResolutionEtaBinning 
)
inline

set resolutions

Definition at line 185 of file TtFullHadKinFitter.h.

References TtFullHadKinFitProducer_cfi::bResolutions, bResolutions_, TtFullHadKinFitProducer_cfi::jetEnergyResolutionEtaBinning, jetEnergyResolutionEtaBinning_, TtFullHadKinFitProducer_cfi::jetEnergyResolutionScaleFactors, jetEnergyResolutionScaleFactors_, TtFullHadKinFitProducer_cfi::udscResolutions, and udscResolutions_.

◆ setUseOnlyMatch()

void TtFullHadKinFitter::KinFit::setUseOnlyMatch ( bool  useOnlyMatch)
inline

set useOnlyMatch

Definition at line 215 of file TtFullHadKinFitter.h.

References TtFullHadKinFitProducer_cfi::useOnlyMatch, and useOnlyMatch_.

Member Data Documentation

◆ bResolutions_

std::vector<edm::ParameterSet> TtFullHadKinFitter::KinFit::bResolutions_
private

Definition at line 252 of file TtFullHadKinFitter.h.

Referenced by KinFit(), and setResolutions().

◆ bTagAlgo_

std::string TtFullHadKinFitter::KinFit::bTagAlgo_
private

input tag for b-tagging algorithm

Definition at line 246 of file TtFullHadKinFitter.h.

Referenced by setBTagging().

◆ bTags_

unsigned int TtFullHadKinFitter::KinFit::bTags_
private

minimal number of b-jets

Definition at line 244 of file TtFullHadKinFitter.h.

Referenced by setBTagging().

◆ constraints_

std::vector<unsigned> TtFullHadKinFitter::KinFit::constraints_
private

numbering of different possible kinematic constraints

Definition at line 271 of file TtFullHadKinFitter.h.

Referenced by KinFit(), and setFitter().

◆ fitter

std::unique_ptr<TtFullHadKinFitter> TtFullHadKinFitter::KinFit::fitter
private

kinematic fit interface

Definition at line 284 of file TtFullHadKinFitter.h.

Referenced by KinFit().

◆ invalidMatch_

bool TtFullHadKinFitter::KinFit::invalidMatch_
private

match is invalid

Definition at line 281 of file TtFullHadKinFitter.h.

Referenced by setMatchInvalidity().

◆ jetCorrectionLevel_

std::string TtFullHadKinFitter::KinFit::jetCorrectionLevel_
private

correction level for jets

Definition at line 257 of file TtFullHadKinFitter.h.

Referenced by setJEC().

◆ jetEnergyResolutionEtaBinning_

std::vector<double> TtFullHadKinFitter::KinFit::jetEnergyResolutionEtaBinning_
private

Definition at line 255 of file TtFullHadKinFitter.h.

Referenced by KinFit(), and setResolutions().

◆ jetEnergyResolutionScaleFactors_

std::vector<double> TtFullHadKinFitter::KinFit::jetEnergyResolutionScaleFactors_
private

scale factors for the jet energy resolution

Definition at line 254 of file TtFullHadKinFitter.h.

Referenced by KinFit(), and setResolutions().

◆ jetParam_

unsigned int TtFullHadKinFitter::KinFit::jetParam_
private

numbering of different possible jet parametrizations

Definition at line 269 of file TtFullHadKinFitter.h.

Referenced by KinFit(), and setFitter().

◆ match_

std::vector<int> TtFullHadKinFitter::KinFit::match_
private

the combination that should be used

Definition at line 279 of file TtFullHadKinFitter.h.

Referenced by setMatch().

◆ maxBTagValueNonBJet_

double TtFullHadKinFitter::KinFit::maxBTagValueNonBJet_
private

max value of bTag for a non-b-jet

Definition at line 250 of file TtFullHadKinFitter.h.

Referenced by setBTagging().

◆ maxDeltaS_

double TtFullHadKinFitter::KinFit::maxDeltaS_
private

maximal chi2 equivalent

Definition at line 265 of file TtFullHadKinFitter.h.

Referenced by KinFit(), and setFitter().

◆ maxF_

double TtFullHadKinFitter::KinFit::maxF_
private

maximal deviation for contstraints

Definition at line 267 of file TtFullHadKinFitter.h.

Referenced by KinFit(), and setFitter().

◆ maxNComb_

int TtFullHadKinFitter::KinFit::maxNComb_
private

maximal number of combinations to be written to the event

Definition at line 261 of file TtFullHadKinFitter.h.

Referenced by setOutput().

◆ maxNJets_

int TtFullHadKinFitter::KinFit::maxNJets_
private

maximal number of jets (-1 possible to indicate 'all')

Definition at line 259 of file TtFullHadKinFitter.h.

Referenced by setFitter().

◆ maxNrIter_

unsigned int TtFullHadKinFitter::KinFit::maxNrIter_
private

maximal number of iterations to be performed for the fit

Definition at line 263 of file TtFullHadKinFitter.h.

Referenced by KinFit(), and setFitter().

◆ minBTagValueBJet_

double TtFullHadKinFitter::KinFit::minBTagValueBJet_
private

min value of bTag for a b-jet

Definition at line 248 of file TtFullHadKinFitter.h.

Referenced by setBTagging().

◆ mTop_

double TtFullHadKinFitter::KinFit::mTop_
private

top mass value used for constraints

Definition at line 275 of file TtFullHadKinFitter.h.

Referenced by KinFit(), and setFitter().

◆ mW_

double TtFullHadKinFitter::KinFit::mW_
private

W mass value used for constraints.

Definition at line 273 of file TtFullHadKinFitter.h.

Referenced by KinFit(), and setFitter().

◆ udscResolutions_

std::vector<edm::ParameterSet> TtFullHadKinFitter::KinFit::udscResolutions_
private

store the resolutions for the jets

Definition at line 252 of file TtFullHadKinFitter.h.

Referenced by KinFit(), and setResolutions().

◆ useBTagging_

bool TtFullHadKinFitter::KinFit::useBTagging_
private

switch to tell whether all possible combinations should be used for the switch to tell whether to use b-tagging or not

Definition at line 242 of file TtFullHadKinFitter.h.

Referenced by setBTagging().

◆ useOnlyMatch_

bool TtFullHadKinFitter::KinFit::useOnlyMatch_
private

fit or only a certain combination

Definition at line 277 of file TtFullHadKinFitter.h.

Referenced by setUseOnlyMatch().