CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
TtSemiLepKinFitter Class Reference

#include <TtSemiLepKinFitter.h>

Inheritance diagram for TtSemiLepKinFitter:
TopKinFitter

Public Types

enum  Constraint {
  kWHadMass = 1, kWLepMass, kTopHadMass, kTopLepMass,
  kNeutrinoMass, kEqualTopMasses, kSumPt
}
 supported constraints More...
 
- Public Types inherited from TopKinFitter
enum  Param { kEMom, kEtEtaPhi, kEtThetaPhi }
 supported parameterizations More...
 

Public Member Functions

TtSemiEvtSolution addKinFitInfo (TtSemiEvtSolution *asol)
 add kin fit information to the old event solution (in for legacy reasons) More...
 
template<class LeptonType >
int fit (const std::vector< pat::Jet > &jets, const pat::Lepton< LeptonType > &leps, const pat::MET &met)
 kinematic fit interface for PAT objects More...
 
int fit (const TLorentzVector &p4HadP, const TLorentzVector &p4HadQ, const TLorentzVector &p4HadB, const TLorentzVector &p4LepB, const TLorentzVector &p4Lepton, const TLorentzVector &p4Neutrino, const int leptonCharge, const CovarianceMatrix::ObjectType leptonType)
 kinematic fit interface for plain 4-vecs More...
 
int fit (const TLorentzVector &p4HadP, const TLorentzVector &p4HadQ, const TLorentzVector &p4HadB, const TLorentzVector &p4LepB, const TLorentzVector &p4Lepton, const TLorentzVector &p4Neutrino, const TMatrixD &covHadP, const TMatrixD &covHadQ, const TMatrixD &covHadB, const TMatrixD &covLepB, const TMatrixD &covLepton, const TMatrixD &covNeutrino, const int leptonCharge)
 common core of the fit interface More...
 
const pat::Particle fittedHadB () const
 return hadronic b quark candidate More...
 
const pat::Particle fittedHadP () const
 return hadronic light quark candidate More...
 
const pat::Particle fittedHadQ () const
 return hadronic light quark candidate More...
 
const pat::Particle fittedLepB () const
 return leptonic b quark candidate More...
 
const pat::Particle fittedLepton () const
 return lepton candidate More...
 
const pat::Particle fittedNeutrino () const
 return neutrino candidate More...
 
 TtSemiLepKinFitter ()
 default constructor More...
 
 TtSemiLepKinFitter (Param jetParam, Param lepParam, Param metParam, int maxNrIter, double maxDeltaS, double maxF, const std::vector< Constraint > &constraints, double mW=80.4, double mTop=173., const std::vector< edm::ParameterSet > *udscResolutions=nullptr, const std::vector< edm::ParameterSet > *bResolutions=nullptr, const std::vector< edm::ParameterSet > *lepResolutions=nullptr, const std::vector< edm::ParameterSet > *metResolutions=nullptr, const std::vector< double > *jetEnergyResolutionScaleFactors=nullptr, const std::vector< double > *jetEnergyResolutionEtaBinning=nullptr)
 constructor initialized with built-in types and class enum's custom parameters More...
 
 ~TtSemiLepKinFitter ()
 default destructor More...
 
- Public Member Functions inherited from TopKinFitter
int fitNrIter () const
 return number of used iterations More...
 
double fitProb () const
 return fit probability More...
 
double fitS () const
 return chi2 of fit (not normalized to degrees of freedom) More...
 
void setVerbosity (const int verbosityLevel)
 allows to change the verbosity of the TKinFitter More...
 
 TopKinFitter (const int maxNrIter=200, const double maxDeltaS=5e-5, const double maxF=1e-4, const double mW=80.4, const double mTop=173.)
 default constructor More...
 
 ~TopKinFitter ()
 default destructor More...
 

Private Member Functions

void printSetup () const
 print fitter setup More...
 
void setupConstraints ()
 initialize constraints More...
 
void setupFitter ()
 setup fitter More...
 
void setupJets ()
 initialize jet inputs More...
 
void setupLeptons ()
 initialize lepton inputs More...
 

Private Attributes

const std::vector< edm::ParameterSet > * bResolutions_
 
bool constrainSumPt_
 internally use simple boolean for this constraint to reduce the per-event computing time More...
 
std::vector< ConstraintconstrList_
 vector of constraints to be used More...
 
CovarianceMatrixcovM_
 object used to construct the covariance matrices for the individual particles More...
 
pat::Particle fittedHadB_
 output particles More...
 
pat::Particle fittedHadP_
 
pat::Particle fittedHadQ_
 
pat::Particle fittedLepB_
 
pat::Particle fittedLepton_
 
pat::Particle fittedNeutrino_
 
TAbsFitParticlehadB_
 input particles More...
 
TAbsFitParticlehadP_
 
TAbsFitParticlehadQ_
 
const std::vector< double > * jetEnergyResolutionEtaBinning_
 
const std::vector< double > * jetEnergyResolutionScaleFactors_
 scale factors for the jet energy resolution More...
 
Param jetParam_
 jet parametrization More...
 
TAbsFitParticlelepB_
 
Param lepParam_
 lepton parametrization More...
 
const std::vector< edm::ParameterSet > * lepResolutions_
 
TAbsFitParticlelepton_
 
std::map< Constraint, TFitConstraintM * > massConstr_
 supported constraints More...
 
Param metParam_
 met parametrization More...
 
const std::vector< edm::ParameterSet > * metResolutions_
 
TAbsFitParticleneutrino_
 
TFitConstraintEpsumPxConstr_
 
TFitConstraintEpsumPyConstr_
 
const std::vector< edm::ParameterSet > * udscResolutions_
 resolutions More...
 

Additional Inherited Members

- Protected Member Functions inherited from TopKinFitter
std::string param (const Param &param) const
 convert Param to human readable form More...
 
- Protected Attributes inherited from TopKinFitter
TKinFitterfitter_
 kinematic fitter More...
 
double maxDeltaS_
 maximal allowed chi2 (not normalized to degrees of freedom) More...
 
double maxF_
 maximal allowed distance from constraints More...
 
int maxNrIter_
 maximal allowed number of iterations to be used for the fit More...
 
double mTop_
 top mass value used for constraints More...
 
double mW_
 W mass value used for constraints. More...
 

Detailed Description

Definition at line 32 of file TtSemiLepKinFitter.h.

Member Enumeration Documentation

◆ Constraint

supported constraints

Enumerator
kWHadMass 
kWLepMass 
kTopHadMass 
kTopLepMass 
kNeutrinoMass 
kEqualTopMasses 
kSumPt 

Definition at line 35 of file TtSemiLepKinFitter.h.

Constructor & Destructor Documentation

◆ TtSemiLepKinFitter() [1/2]

TtSemiLepKinFitter::TtSemiLepKinFitter ( )
explicit

default constructor

default configuration is: Parametrization kEMom, Max iterations = 200, deltaS<= 5e-5, maxF<= 1e-4, no constraints

Definition at line 15 of file TtSemiLepKinFitter.cc.

16  : TopKinFitter(),
17  hadB_(nullptr),
18  hadP_(nullptr),
19  hadQ_(nullptr),
20  lepB_(nullptr),
21  lepton_(nullptr),
22  neutrino_(nullptr),
23  udscResolutions_(nullptr),
24  bResolutions_(nullptr),
25  lepResolutions_(nullptr),
26  metResolutions_(nullptr),
31  metParam_(kEMom) {
32  setupFitter();
33 }

References setupFitter().

◆ TtSemiLepKinFitter() [2/2]

TtSemiLepKinFitter::TtSemiLepKinFitter ( Param  jetParam,
Param  lepParam,
Param  metParam,
int  maxNrIter,
double  maxDeltaS,
double  maxF,
const std::vector< Constraint > &  constraints,
double  mW = 80.4,
double  mTop = 173.,
const std::vector< edm::ParameterSet > *  udscResolutions = nullptr,
const std::vector< edm::ParameterSet > *  bResolutions = nullptr,
const std::vector< edm::ParameterSet > *  lepResolutions = nullptr,
const std::vector< edm::ParameterSet > *  metResolutions = nullptr,
const std::vector< double > *  jetEnergyResolutionScaleFactors = nullptr,
const std::vector< double > *  jetEnergyResolutionEtaBinning = nullptr 
)
explicit

constructor initialized with built-in types and class enum's custom parameters

Definition at line 35 of file TtSemiLepKinFitter.cc.

51  hadB_(nullptr),
52  hadP_(nullptr),
53  hadQ_(nullptr),
54  lepB_(nullptr),
55  lepton_(nullptr),
56  neutrino_(nullptr),
59  lepResolutions_(lepResolutions),
60  metResolutions_(metResolutions),
63  jetParam_(jetParam),
64  lepParam_(lepParam),
65  metParam_(metParam),
67  setupFitter();
68 }

References setupFitter().

◆ ~TtSemiLepKinFitter()

TtSemiLepKinFitter::~TtSemiLepKinFitter ( )

default destructor

Definition at line 70 of file TtSemiLepKinFitter.cc.

70  {
71  delete hadB_;
72  delete hadP_;
73  delete hadQ_;
74  delete lepB_;
75  delete lepton_;
76  delete neutrino_;
77  delete covM_;
78  for (std::map<Constraint, TFitConstraintM*>::iterator it = massConstr_.begin(); it != massConstr_.end(); ++it)
79  delete it->second;
80  delete sumPxConstr_;
81  delete sumPyConstr_;
82 }

References covM_, hadB_, hadP_, hadQ_, lepB_, lepton_, massConstr_, neutrino_, sumPxConstr_, and sumPyConstr_.

Member Function Documentation

◆ addKinFitInfo()

TtSemiEvtSolution TtSemiLepKinFitter::addKinFitInfo ( TtSemiEvtSolution asol)

add kin fit information to the old event solution (in for legacy reasons)

Definition at line 351 of file TtSemiLepKinFitter.cc.

351  {
352  TtSemiEvtSolution fitsol(*asol);
353 
354  std::vector<pat::Jet> jets;
355  jets.resize(4);
356  jets[TtSemiLepEvtPartons::LightQ] = fitsol.getCalHadp();
357  jets[TtSemiLepEvtPartons::LightQBar] = fitsol.getCalHadq();
358  jets[TtSemiLepEvtPartons::HadB] = fitsol.getCalHadb();
359  jets[TtSemiLepEvtPartons::LepB] = fitsol.getCalLepb();
360 
361  // perform the fit, either using the electron or the muon
362  if (fitsol.getDecay() == "electron")
363  fit(jets, fitsol.getCalLepe(), fitsol.getCalLepn());
364  if (fitsol.getDecay() == "muon")
365  fit(jets, fitsol.getCalLepm(), fitsol.getCalLepn());
366 
367  // add fitted information to the solution
368  if (fitter_->getStatus() == 0) {
369  // fill the fitted particles
370  fitsol.setFitHadb(fittedHadB());
371  fitsol.setFitHadp(fittedHadP());
372  fitsol.setFitHadq(fittedHadQ());
373  fitsol.setFitLepb(fittedLepB());
374  fitsol.setFitLepl(fittedLepton());
375  fitsol.setFitLepn(fittedNeutrino());
376  // store the fit's chi2 probability
377  fitsol.setProbChi2(fitProb());
378  }
379  return fitsol;
380 }

References fit(), TopKinFitter::fitProb(), fittedHadB(), fittedHadP(), fittedHadQ(), fittedLepB(), fittedLepton(), fittedNeutrino(), TopKinFitter::fitter_, TtSemiEvtSolution::getCalHadb(), TtSemiEvtSolution::getCalHadp(), TtSemiEvtSolution::getCalHadq(), TtSemiEvtSolution::getCalLepb(), TtSemiEvtSolution::getCalLepe(), TtSemiEvtSolution::getCalLepm(), TtSemiEvtSolution::getCalLepn(), TtSemiEvtSolution::getDecay(), TKinFitter::getStatus(), TtSemiLepEvtPartons::HadB, singleTopDQM_cfi::jets, TtSemiLepEvtPartons::LepB, TtSemiLepEvtPartons::LightQ, TtSemiLepEvtPartons::LightQBar, TtSemiEvtSolution::setFitHadb(), TtSemiEvtSolution::setFitHadp(), TtSemiEvtSolution::setFitHadq(), TtSemiEvtSolution::setFitLepb(), TtSemiEvtSolution::setFitLepl(), TtSemiEvtSolution::setFitLepn(), and TtSemiEvtSolution::setProbChi2().

Referenced by TtSemiEvtSolutionMaker::produce().

◆ fit() [1/3]

template<class LeptonType >
int TtSemiLepKinFitter::fit ( const std::vector< pat::Jet > &  jets,
const pat::Lepton< LeptonType > &  leps,
const pat::MET met 
)

kinematic fit interface for PAT objects

Definition at line 156 of file TtSemiLepKinFitter.h.

158  {
159  if (jets.size() < 4)
160  throw edm::Exception(edm::errors::Configuration, "Cannot run the TtSemiLepKinFitter with less than 4 jets");
161 
162  // get jets in right order
167 
168  // initialize particles
169  const TLorentzVector p4HadP(hadP.px(), hadP.py(), hadP.pz(), hadP.energy());
170  const TLorentzVector p4HadQ(hadQ.px(), hadQ.py(), hadQ.pz(), hadQ.energy());
171  const TLorentzVector p4HadB(hadB.px(), hadB.py(), hadB.pz(), hadB.energy());
172  const TLorentzVector p4LepB(lepB.px(), lepB.py(), lepB.pz(), lepB.energy());
173  const TLorentzVector p4Lepton(lepton.px(), lepton.py(), lepton.pz(), lepton.energy());
174  const TLorentzVector p4Neutrino(neutrino.px(), neutrino.py(), 0, neutrino.et());
175 
176  // initialize covariance matrices
177  TMatrixD covHadP = covM_->setupMatrix(hadP, jetParam_);
178  TMatrixD covHadQ = covM_->setupMatrix(hadQ, jetParam_);
179  TMatrixD covHadB = covM_->setupMatrix(hadB, jetParam_, "bjets");
180  TMatrixD covLepB = covM_->setupMatrix(lepB, jetParam_, "bjets");
181  TMatrixD covLepton = covM_->setupMatrix(lepton, lepParam_);
182  TMatrixD covNeutrino = covM_->setupMatrix(neutrino, metParam_);
183 
184  // now do the part that is fully independent of PAT features
185  return fit(p4HadP,
186  p4HadQ,
187  p4HadB,
188  p4LepB,
189  p4Lepton,
190  p4Neutrino,
191  covHadP,
192  covHadQ,
193  covHadB,
194  covLepB,
195  covLepton,
196  covNeutrino,
197  lepton.charge());
198 }

References edm::errors::Configuration, covM_, reco::LeafCandidate::energy(), reco::LeafCandidate::et(), TtSemiLepEvtPartons::HadB, jetParam_, singleTopDQM_cfi::jets, TtSemiLepEvtPartons::LepB, lepParam_, TtSemiLepEvtPartons::LightQ, TtSemiLepEvtPartons::LightQBar, metParam_, reco::LeafCandidate::px(), reco::LeafCandidate::py(), reco::LeafCandidate::pz(), and CovarianceMatrix::setupMatrix().

Referenced by addKinFitInfo(), fit(), and trackingPlots.Iteration::modules().

◆ fit() [2/3]

int TtSemiLepKinFitter::fit ( const TLorentzVector &  p4HadP,
const TLorentzVector &  p4HadQ,
const TLorentzVector &  p4HadB,
const TLorentzVector &  p4LepB,
const TLorentzVector &  p4Lepton,
const TLorentzVector &  p4Neutrino,
const int  leptonCharge,
const CovarianceMatrix::ObjectType  leptonType 
)

kinematic fit interface for plain 4-vecs

Definition at line 237 of file TtSemiLepKinFitter.cc.

244  {
245  // initialize covariance matrices
246  TMatrixD covHadP = covM_->setupMatrix(p4HadP, CovarianceMatrix::kUdscJet, jetParam_);
247  TMatrixD covHadQ = covM_->setupMatrix(p4HadQ, CovarianceMatrix::kUdscJet, jetParam_);
248  TMatrixD covHadB = covM_->setupMatrix(p4HadB, CovarianceMatrix::kBJet, jetParam_);
249  TMatrixD covLepB = covM_->setupMatrix(p4LepB, CovarianceMatrix::kBJet, jetParam_);
250  TMatrixD covLepton = covM_->setupMatrix(p4Lepton, leptonType, lepParam_);
251  TMatrixD covNeutrino = covM_->setupMatrix(p4Neutrino, CovarianceMatrix::kMet, metParam_);
252 
253  // now do the part that is fully independent of PAT features
254  return fit(p4HadP,
255  p4HadQ,
256  p4HadB,
257  p4LepB,
258  p4Lepton,
259  p4Neutrino,
260  covHadP,
261  covHadQ,
262  covHadB,
263  covLepB,
264  covLepton,
265  covNeutrino,
266  leptonCharge);
267 }

References covM_, fit(), jetParam_, CovarianceMatrix::kBJet, CovarianceMatrix::kMet, CovarianceMatrix::kUdscJet, lepParam_, objects.autophobj::leptonType, metParam_, and CovarianceMatrix::setupMatrix().

Referenced by trackingPlots.Iteration::modules().

◆ fit() [3/3]

int TtSemiLepKinFitter::fit ( const TLorentzVector &  p4HadP,
const TLorentzVector &  p4HadQ,
const TLorentzVector &  p4HadB,
const TLorentzVector &  p4LepB,
const TLorentzVector &  p4Lepton,
const TLorentzVector &  p4Neutrino,
const TMatrixD &  covHadP,
const TMatrixD &  covHadQ,
const TMatrixD &  covHadB,
const TMatrixD &  covLepB,
const TMatrixD &  covLepton,
const TMatrixD &  covNeutrino,
const int  leptonCharge 
)

common core of the fit interface

Definition at line 269 of file TtSemiLepKinFitter.cc.

281  {
282  // set the kinematics of the objects to be fitted
283  hadP_->setIni4Vec(&p4HadP);
284  hadQ_->setIni4Vec(&p4HadQ);
285  hadB_->setIni4Vec(&p4HadB);
286  lepB_->setIni4Vec(&p4LepB);
287  lepton_->setIni4Vec(&p4Lepton);
288  neutrino_->setIni4Vec(&p4Neutrino);
289 
290  hadP_->setCovMatrix(&covHadP);
291  hadQ_->setCovMatrix(&covHadQ);
292  hadB_->setCovMatrix(&covHadB);
293  lepB_->setCovMatrix(&covLepB);
294  lepton_->setCovMatrix(&covLepton);
295  neutrino_->setCovMatrix(&covNeutrino);
296 
297  if (constrainSumPt_) {
298  // setup Px and Py constraint for curent event configuration so that sum Pt will be conserved
299  sumPxConstr_->setConstraint(p4HadP.Px() + p4HadQ.Px() + p4HadB.Px() + p4LepB.Px() + p4Lepton.Px() +
300  p4Neutrino.Px());
301  sumPyConstr_->setConstraint(p4HadP.Py() + p4HadQ.Py() + p4HadB.Py() + p4LepB.Py() + p4Lepton.Py() +
302  p4Neutrino.Py());
303  }
304 
305  // now do the fit
306  fitter_->fit();
307 
308  // read back the resulting particles if the fit converged
309  if (fitter_->getStatus() == 0) {
310  // read back jet kinematics
312  0,
314  hadP_->getCurr4Vec()->X(), hadP_->getCurr4Vec()->Y(), hadP_->getCurr4Vec()->Z(), hadP_->getCurr4Vec()->E()),
315  math::XYZPoint()));
317  0,
319  hadQ_->getCurr4Vec()->X(), hadQ_->getCurr4Vec()->Y(), hadQ_->getCurr4Vec()->Z(), hadQ_->getCurr4Vec()->E()),
320  math::XYZPoint()));
322  0,
324  hadB_->getCurr4Vec()->X(), hadB_->getCurr4Vec()->Y(), hadB_->getCurr4Vec()->Z(), hadB_->getCurr4Vec()->E()),
325  math::XYZPoint()));
327  0,
329  lepB_->getCurr4Vec()->X(), lepB_->getCurr4Vec()->Y(), lepB_->getCurr4Vec()->Z(), lepB_->getCurr4Vec()->E()),
330  math::XYZPoint()));
331 
332  // read back lepton kinematics
335  lepton_->getCurr4Vec()->Y(),
336  lepton_->getCurr4Vec()->Z(),
337  lepton_->getCurr4Vec()->E()),
338  math::XYZPoint()));
339 
340  // read back the MET kinematics
343  neutrino_->getCurr4Vec()->Y(),
344  neutrino_->getCurr4Vec()->Z(),
345  neutrino_->getCurr4Vec()->E()),
346  math::XYZPoint()));
347  }
348  return fitter_->getStatus();
349 }

References constrainSumPt_, TKinFitter::fit(), fittedHadB_, fittedHadP_, fittedHadQ_, fittedLepB_, fittedLepton_, fittedNeutrino_, TopKinFitter::fitter_, TAbsFitParticle::getCurr4Vec(), TKinFitter::getStatus(), hadB_, hadP_, hadQ_, lepB_, lepton_, neutrino_, TFitConstraintEp::setConstraint(), TAbsFitParticle::setCovMatrix(), TAbsFitParticle::setIni4Vec(), sumPxConstr_, and sumPyConstr_.

Referenced by trackingPlots.Iteration::modules().

◆ fittedHadB()

const pat::Particle TtSemiLepKinFitter::fittedHadB ( ) const
inline

return hadronic b quark candidate

Definition at line 86 of file TtSemiLepKinFitter.h.

86 { return (fitter_->getStatus() == 0 ? fittedHadB_ : pat::Particle()); };

References fittedHadB_, TopKinFitter::fitter_, and TKinFitter::getStatus().

Referenced by addKinFitInfo().

◆ fittedHadP()

const pat::Particle TtSemiLepKinFitter::fittedHadP ( ) const
inline

return hadronic light quark candidate

Definition at line 88 of file TtSemiLepKinFitter.h.

88 { return (fitter_->getStatus() == 0 ? fittedHadP_ : pat::Particle()); };

References fittedHadP_, TopKinFitter::fitter_, and TKinFitter::getStatus().

Referenced by addKinFitInfo().

◆ fittedHadQ()

const pat::Particle TtSemiLepKinFitter::fittedHadQ ( ) const
inline

return hadronic light quark candidate

Definition at line 90 of file TtSemiLepKinFitter.h.

90 { return (fitter_->getStatus() == 0 ? fittedHadQ_ : pat::Particle()); };

References fittedHadQ_, TopKinFitter::fitter_, and TKinFitter::getStatus().

Referenced by addKinFitInfo().

◆ fittedLepB()

const pat::Particle TtSemiLepKinFitter::fittedLepB ( ) const
inline

return leptonic b quark candidate

Definition at line 92 of file TtSemiLepKinFitter.h.

92 { return (fitter_->getStatus() == 0 ? fittedLepB_ : pat::Particle()); };

References fittedLepB_, TopKinFitter::fitter_, and TKinFitter::getStatus().

Referenced by addKinFitInfo().

◆ fittedLepton()

const pat::Particle TtSemiLepKinFitter::fittedLepton ( ) const
inline

return lepton candidate

Definition at line 94 of file TtSemiLepKinFitter.h.

94 { return (fitter_->getStatus() == 0 ? fittedLepton_ : pat::Particle()); };

References fittedLepton_, TopKinFitter::fitter_, and TKinFitter::getStatus().

Referenced by addKinFitInfo().

◆ fittedNeutrino()

const pat::Particle TtSemiLepKinFitter::fittedNeutrino ( ) const
inline

return neutrino candidate

Definition at line 96 of file TtSemiLepKinFitter.h.

96  {
97  return (fitter_->getStatus() == 0 ? fittedNeutrino_ : pat::Particle());
98  };

References fittedNeutrino_, TopKinFitter::fitter_, and TKinFitter::getStatus().

Referenced by addKinFitInfo().

◆ printSetup()

void TtSemiLepKinFitter::printSetup ( ) const
private

print fitter setup

Definition at line 84 of file TtSemiLepKinFitter.cc.

84  {
85  std::stringstream constr;
86  for (unsigned int i = 0; i < constrList_.size(); ++i) {
87  switch (constrList_[i]) {
88  case kWHadMass:
89  constr << " * hadronic W-mass (" << mW_ << " GeV) \n";
90  break;
91  case kWLepMass:
92  constr << " * leptonic W-mass (" << mW_ << " GeV) \n";
93  break;
94  case kTopHadMass:
95  constr << " * hadronic t-mass (" << mTop_ << " GeV) \n";
96  break;
97  case kTopLepMass:
98  constr << " * leptonic t-mass (" << mTop_ << " GeV) \n";
99  break;
100  case kNeutrinoMass:
101  constr << " * neutrino mass (0 GeV) \n";
102  break;
103  case kEqualTopMasses:
104  constr << " * equal t-masses \n";
105  break;
106  case kSumPt:
107  constr << " * summed transverse momentum \n";
108  break;
109  }
110  }
111  edm::LogVerbatim("TtSemiLepKinFitter") << "\n"
112  << "+++++++++++ TtSemiLepKinFitter Setup ++++++++++++ \n"
113  << " Parametrization: \n"
114  << " * jet : " << param(jetParam_) << "\n"
115  << " * lep : " << param(lepParam_) << "\n"
116  << " * met : " << param(metParam_) << "\n"
117  << " Constraints: \n"
118  << constr.str() << " Max(No iterations): " << maxNrIter_ << "\n"
119  << " Max(deltaS) : " << maxDeltaS_ << "\n"
120  << " Max(F) : " << maxF_ << "\n"
121  << "+++++++++++++++++++++++++++++++++++++++++++++++++ \n";
122 }

References constrList_, mps_fire::i, jetParam_, kEqualTopMasses, kNeutrinoMass, kSumPt, kTopHadMass, kTopLepMass, kWHadMass, kWLepMass, lepParam_, TopKinFitter::maxDeltaS_, TopKinFitter::maxF_, TopKinFitter::maxNrIter_, metParam_, TopKinFitter::mTop_, TopKinFitter::mW_, and TopKinFitter::param().

Referenced by setupFitter().

◆ setupConstraints()

void TtSemiLepKinFitter::setupConstraints ( )
private

initialize constraints

Definition at line 175 of file TtSemiLepKinFitter.cc.

175  {
176  massConstr_[kWHadMass] = new TFitConstraintM("WMassHad", "WMassHad", nullptr, nullptr, mW_);
177  massConstr_[kWLepMass] = new TFitConstraintM("WMassLep", "WMassLep", nullptr, nullptr, mW_);
178  massConstr_[kTopHadMass] = new TFitConstraintM("TopMassHad", "TopMassHad", nullptr, nullptr, mTop_);
179  massConstr_[kTopLepMass] = new TFitConstraintM("TopMassLep", "TopMassLep", nullptr, nullptr, mTop_);
180  massConstr_[kNeutrinoMass] = new TFitConstraintM("NeutrinoMass", "NeutrinoMass", nullptr, nullptr, 0.);
181  massConstr_[kEqualTopMasses] = new TFitConstraintM("EqualTopMasses", "EqualTopMasses", nullptr, nullptr, 0.);
182  sumPxConstr_ = new TFitConstraintEp("SumPx", "SumPx", nullptr, TFitConstraintEp::pX, 0.);
183  sumPyConstr_ = new TFitConstraintEp("SumPy", "SumPy", nullptr, TFitConstraintEp::pY, 0.);
184 
185  massConstr_[kWHadMass]->addParticles1(hadP_, hadQ_);
186  massConstr_[kWLepMass]->addParticles1(lepton_, neutrino_);
187  massConstr_[kTopHadMass]->addParticles1(hadP_, hadQ_, hadB_);
188  massConstr_[kTopLepMass]->addParticles1(lepton_, neutrino_, lepB_);
189  massConstr_[kNeutrinoMass]->addParticle1(neutrino_);
190  massConstr_[kEqualTopMasses]->addParticles1(hadP_, hadQ_, hadB_);
194 
195  if (std::find(constrList_.begin(), constrList_.end(), kSumPt) != constrList_.end())
196  constrainSumPt_ = true;
197  constrainSumPt_ = false;
198 }

References TFitConstraintEp::addParticles(), constrainSumPt_, constrList_, spr::find(), hadB_, hadP_, hadQ_, kEqualTopMasses, kNeutrinoMass, kSumPt, kTopHadMass, kTopLepMass, kWHadMass, kWLepMass, lepB_, lepton_, massConstr_, TopKinFitter::mTop_, TopKinFitter::mW_, neutrino_, TFitConstraintEp::pX, TFitConstraintEp::pY, sumPxConstr_, and sumPyConstr_.

Referenced by setupFitter().

◆ setupFitter()

void TtSemiLepKinFitter::setupFitter ( )
private

setup fitter

Definition at line 200 of file TtSemiLepKinFitter.cc.

200  {
201  printSetup();
202 
203  setupJets();
204  setupLeptons();
206 
207  // add measured particles
214 
215  // add constraints
216  for (unsigned int i = 0; i < constrList_.size(); i++) {
217  if (constrList_[i] != kSumPt)
219  }
220  if (constrainSumPt_) {
223  }
224 
225  // initialize helper class used to bring the resolutions into covariance matrices
226  if (!udscResolutions_->empty() && !bResolutions_->empty() && !lepResolutions_->empty() && !metResolutions_->empty())
228  *bResolutions_,
233  else
234  covM_ = new CovarianceMatrix();
235 }

References TKinFitter::addConstraint(), TKinFitter::addMeasParticle(), bResolutions_, constrainSumPt_, constrList_, covM_, TopKinFitter::fitter_, hadB_, hadP_, hadQ_, mps_fire::i, jetEnergyResolutionEtaBinning_, jetEnergyResolutionScaleFactors_, kSumPt, lepB_, lepResolutions_, lepton_, massConstr_, metResolutions_, neutrino_, printSetup(), setupConstraints(), setupJets(), setupLeptons(), sumPxConstr_, sumPyConstr_, and udscResolutions_.

Referenced by TtSemiLepKinFitter().

◆ setupJets()

void TtSemiLepKinFitter::setupJets ( )
private

initialize jet inputs

Definition at line 124 of file TtSemiLepKinFitter.cc.

124  {
125  TMatrixD empty3x3(3, 3);
126  TMatrixD empty4x4(4, 4);
127  switch (jetParam_) { // setup jets according to parameterization
128  case kEMom:
129  hadB_ = new TFitParticleEMomDev("Jet1", "Jet1", nullptr, &empty4x4);
130  hadP_ = new TFitParticleEMomDev("Jet2", "Jet2", nullptr, &empty4x4);
131  hadQ_ = new TFitParticleEMomDev("Jet3", "Jet3", nullptr, &empty4x4);
132  lepB_ = new TFitParticleEMomDev("Jet4", "Jet4", nullptr, &empty4x4);
133  break;
134  case kEtEtaPhi:
135  hadB_ = new TFitParticleEtEtaPhi("Jet1", "Jet1", nullptr, &empty3x3);
136  hadP_ = new TFitParticleEtEtaPhi("Jet2", "Jet2", nullptr, &empty3x3);
137  hadQ_ = new TFitParticleEtEtaPhi("Jet3", "Jet3", nullptr, &empty3x3);
138  lepB_ = new TFitParticleEtEtaPhi("Jet4", "Jet4", nullptr, &empty3x3);
139  break;
140  case kEtThetaPhi:
141  hadB_ = new TFitParticleEtThetaPhi("Jet1", "Jet1", nullptr, &empty3x3);
142  hadP_ = new TFitParticleEtThetaPhi("Jet2", "Jet2", nullptr, &empty3x3);
143  hadQ_ = new TFitParticleEtThetaPhi("Jet3", "Jet3", nullptr, &empty3x3);
144  lepB_ = new TFitParticleEtThetaPhi("Jet4", "Jet4", nullptr, &empty3x3);
145  break;
146  }
147 }

References hadB_, hadP_, hadQ_, jetParam_, TopKinFitter::kEMom, TopKinFitter::kEtEtaPhi, TopKinFitter::kEtThetaPhi, and lepB_.

Referenced by setupFitter().

◆ setupLeptons()

void TtSemiLepKinFitter::setupLeptons ( )
private

initialize lepton inputs

Definition at line 149 of file TtSemiLepKinFitter.cc.

149  {
150  TMatrixD empty3x3(3, 3);
151  switch (lepParam_) { // setup lepton according to parameterization
152  case kEMom:
153  lepton_ = new TFitParticleEScaledMomDev("Lepton", "Lepton", nullptr, &empty3x3);
154  break;
155  case kEtEtaPhi:
156  lepton_ = new TFitParticleEtEtaPhi("Lepton", "Lepton", nullptr, &empty3x3);
157  break;
158  case kEtThetaPhi:
159  lepton_ = new TFitParticleEtThetaPhi("Lepton", "Lepton", nullptr, &empty3x3);
160  break;
161  }
162  switch (metParam_) { // setup neutrino according to parameterization
163  case kEMom:
164  neutrino_ = new TFitParticleEScaledMomDev("Neutrino", "Neutrino", nullptr, &empty3x3);
165  break;
166  case kEtEtaPhi:
167  neutrino_ = new TFitParticleEtEtaPhi("Neutrino", "Neutrino", nullptr, &empty3x3);
168  break;
169  case kEtThetaPhi:
170  neutrino_ = new TFitParticleEtThetaPhi("Neutrino", "Neutrino", nullptr, &empty3x3);
171  break;
172  }
173 }

References TopKinFitter::kEMom, TopKinFitter::kEtEtaPhi, TopKinFitter::kEtThetaPhi, lepParam_, lepton_, metParam_, and neutrino_.

Referenced by setupFitter().

Member Data Documentation

◆ bResolutions_

const std::vector<edm::ParameterSet>* TtSemiLepKinFitter::bResolutions_
private

Definition at line 124 of file TtSemiLepKinFitter.h.

Referenced by setupFitter().

◆ constrainSumPt_

bool TtSemiLepKinFitter::constrainSumPt_
private

internally use simple boolean for this constraint to reduce the per-event computing time

Definition at line 152 of file TtSemiLepKinFitter.h.

Referenced by fit(), setupConstraints(), and setupFitter().

◆ constrList_

std::vector<Constraint> TtSemiLepKinFitter::constrList_
private

vector of constraints to be used

Definition at line 150 of file TtSemiLepKinFitter.h.

Referenced by printSetup(), setupConstraints(), and setupFitter().

◆ covM_

CovarianceMatrix* TtSemiLepKinFitter::covM_
private

object used to construct the covariance matrices for the individual particles

Definition at line 131 of file TtSemiLepKinFitter.h.

Referenced by fit(), setupFitter(), and ~TtSemiLepKinFitter().

◆ fittedHadB_

pat::Particle TtSemiLepKinFitter::fittedHadB_
private

output particles

Definition at line 137 of file TtSemiLepKinFitter.h.

Referenced by fit(), and fittedHadB().

◆ fittedHadP_

pat::Particle TtSemiLepKinFitter::fittedHadP_
private

Definition at line 138 of file TtSemiLepKinFitter.h.

Referenced by fit(), and fittedHadP().

◆ fittedHadQ_

pat::Particle TtSemiLepKinFitter::fittedHadQ_
private

Definition at line 139 of file TtSemiLepKinFitter.h.

Referenced by fit(), and fittedHadQ().

◆ fittedLepB_

pat::Particle TtSemiLepKinFitter::fittedLepB_
private

Definition at line 140 of file TtSemiLepKinFitter.h.

Referenced by fit(), and fittedLepB().

◆ fittedLepton_

pat::Particle TtSemiLepKinFitter::fittedLepton_
private

Definition at line 141 of file TtSemiLepKinFitter.h.

Referenced by fit(), and fittedLepton().

◆ fittedNeutrino_

pat::Particle TtSemiLepKinFitter::fittedNeutrino_
private

Definition at line 142 of file TtSemiLepKinFitter.h.

Referenced by fit(), and fittedNeutrino().

◆ hadB_

TAbsFitParticle* TtSemiLepKinFitter::hadB_
private

input particles

Definition at line 116 of file TtSemiLepKinFitter.h.

Referenced by fit(), setupConstraints(), setupFitter(), setupJets(), and ~TtSemiLepKinFitter().

◆ hadP_

TAbsFitParticle* TtSemiLepKinFitter::hadP_
private

◆ hadQ_

TAbsFitParticle* TtSemiLepKinFitter::hadQ_
private

◆ jetEnergyResolutionEtaBinning_

const std::vector<double>* TtSemiLepKinFitter::jetEnergyResolutionEtaBinning_
private

Definition at line 129 of file TtSemiLepKinFitter.h.

Referenced by setupFitter().

◆ jetEnergyResolutionScaleFactors_

const std::vector<double>* TtSemiLepKinFitter::jetEnergyResolutionScaleFactors_
private

scale factors for the jet energy resolution

Definition at line 128 of file TtSemiLepKinFitter.h.

Referenced by setupFitter().

◆ jetParam_

Param TtSemiLepKinFitter::jetParam_
private

jet parametrization

Definition at line 144 of file TtSemiLepKinFitter.h.

Referenced by fit(), printSetup(), and setupJets().

◆ lepB_

TAbsFitParticle* TtSemiLepKinFitter::lepB_
private

◆ lepParam_

Param TtSemiLepKinFitter::lepParam_
private

lepton parametrization

Definition at line 146 of file TtSemiLepKinFitter.h.

Referenced by fit(), printSetup(), and setupLeptons().

◆ lepResolutions_

const std::vector<edm::ParameterSet>* TtSemiLepKinFitter::lepResolutions_
private

Definition at line 125 of file TtSemiLepKinFitter.h.

Referenced by setupFitter().

◆ lepton_

TAbsFitParticle* TtSemiLepKinFitter::lepton_
private

◆ massConstr_

std::map<Constraint, TFitConstraintM*> TtSemiLepKinFitter::massConstr_
private

supported constraints

Definition at line 133 of file TtSemiLepKinFitter.h.

Referenced by setupConstraints(), setupFitter(), and ~TtSemiLepKinFitter().

◆ metParam_

Param TtSemiLepKinFitter::metParam_
private

met parametrization

Definition at line 148 of file TtSemiLepKinFitter.h.

Referenced by fit(), printSetup(), and setupLeptons().

◆ metResolutions_

const std::vector<edm::ParameterSet>* TtSemiLepKinFitter::metResolutions_
private

Definition at line 126 of file TtSemiLepKinFitter.h.

Referenced by setupFitter().

◆ neutrino_

TAbsFitParticle* TtSemiLepKinFitter::neutrino_
private

◆ sumPxConstr_

TFitConstraintEp* TtSemiLepKinFitter::sumPxConstr_
private

Definition at line 134 of file TtSemiLepKinFitter.h.

Referenced by fit(), setupConstraints(), setupFitter(), and ~TtSemiLepKinFitter().

◆ sumPyConstr_

TFitConstraintEp* TtSemiLepKinFitter::sumPyConstr_
private

Definition at line 135 of file TtSemiLepKinFitter.h.

Referenced by fit(), setupConstraints(), setupFitter(), and ~TtSemiLepKinFitter().

◆ udscResolutions_

const std::vector<edm::ParameterSet>* TtSemiLepKinFitter::udscResolutions_
private

resolutions

Definition at line 123 of file TtSemiLepKinFitter.h.

Referenced by setupFitter().

TopKinFitter::kEtEtaPhi
Definition: TopKinFitter.h:20
TtSemiLepKinFitter::constrainSumPt_
bool constrainSumPt_
internally use simple boolean for this constraint to reduce the per-event computing time
Definition: TtSemiLepKinFitter.h:152
TFitParticleEMomDev
Definition: TFitParticleEMomDev.h:10
mps_fire.i
i
Definition: mps_fire.py:428
TtSemiLepEvtPartons::LightQBar
Definition: TtSemiLepEvtPartons.h:25
TopKinFitter::fitter_
TKinFitter * fitter_
kinematic fitter
Definition: TopKinFitter.h:47
TtSemiLepKinFitter::fittedNeutrino
const pat::Particle fittedNeutrino() const
return neutrino candidate
Definition: TtSemiLepKinFitter.h:96
TtSemiLepKinFitter::kSumPt
Definition: TtSemiLepKinFitter.h:35
TopKinFitter::maxNrIter_
int maxNrIter_
maximal allowed number of iterations to be used for the fit
Definition: TopKinFitter.h:49
TtSemiLepKinFitter::fittedHadP_
pat::Particle fittedHadP_
Definition: TtSemiLepKinFitter.h:138
TtFullHadKinFitProducer_cfi.udscResolutions
udscResolutions
Definition: TtFullHadKinFitProducer_cfi.py:83
TtSemiLepKinFitter::jetParam_
Param jetParam_
jet parametrization
Definition: TtSemiLepKinFitter.h:144
StEvtSolProducer_cfi.maxNrIter
maxNrIter
Definition: StEvtSolProducer_cfi.py:24
TtSemiLepEvtPartons::LepB
Definition: TtSemiLepEvtPartons.h:25
TtSemiLepKinFitter::fittedHadB
const pat::Particle fittedHadB() const
return hadronic b quark candidate
Definition: TtSemiLepKinFitter.h:86
TFitConstraintM
Definition: TFitConstraintM.h:11
TtSemiLepKinFitter::bResolutions_
const std::vector< edm::ParameterSet > * bResolutions_
Definition: TtSemiLepKinFitter.h:124
TtSemiLepKinFitter::metParam_
Param metParam_
met parametrization
Definition: TtSemiLepKinFitter.h:148
TtSemiLepKinFitter::metResolutions_
const std::vector< edm::ParameterSet > * metResolutions_
Definition: TtSemiLepKinFitter.h:126
TtSemiLepKinFitter::fit
int fit(const std::vector< pat::Jet > &jets, const pat::Lepton< LeptonType > &leps, const pat::MET &met)
kinematic fit interface for PAT objects
Definition: TtSemiLepKinFitter.h:156
TtSemiLepKinFitter::lepResolutions_
const std::vector< edm::ParameterSet > * lepResolutions_
Definition: TtSemiLepKinFitter.h:125
TtSemiLepKinFitter::constrList_
std::vector< Constraint > constrList_
vector of constraints to be used
Definition: TtSemiLepKinFitter.h:150
TopKinFitter::param
std::string param(const Param &param) const
convert Param to human readable form
Definition: TopKinFitter.cc:18
TtSemiLepKinFitter::fittedHadQ_
pat::Particle fittedHadQ_
Definition: TtSemiLepKinFitter.h:139
singleTopDQM_cfi.jets
jets
Definition: singleTopDQM_cfi.py:42
TtSemiLepKinFitter::setupFitter
void setupFitter()
setup fitter
Definition: TtSemiLepKinFitter.cc:200
TtSemiLepKinFitter::setupConstraints
void setupConstraints()
initialize constraints
Definition: TtSemiLepKinFitter.cc:175
spr::find
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:19
TFitConstraintEp::setConstraint
void setConstraint(Double_t constraint)
Definition: TFitConstraintEp.h:42
TtSemiLepKinFitter::fittedNeutrino_
pat::Particle fittedNeutrino_
Definition: TtSemiLepKinFitter.h:142
TtSemiLepKinFitter::jetEnergyResolutionEtaBinning_
const std::vector< double > * jetEnergyResolutionEtaBinning_
Definition: TtSemiLepKinFitter.h:129
TopKinFitter::kEMom
Definition: TopKinFitter.h:20
TopKinFitter::fitProb
double fitProb() const
return fit probability
Definition: TopKinFitter.h:37
edm::Exception
Definition: EDMException.h:77
TtSemiLepKinFitter::hadQ_
TAbsFitParticle * hadQ_
Definition: TtSemiLepKinFitter.h:118
TtSemiLepKinFitter::kEqualTopMasses
Definition: TtSemiLepKinFitter.h:35
CovarianceMatrix
math::Error< 5 >::type CovarianceMatrix
Definition: SeedToTrackProducer.h:48
TFitConstraintEp::pX
Definition: TFitConstraintEp.h:11
TopKinFitter::mW_
double mW_
W mass value used for constraints.
Definition: TopKinFitter.h:55
TtSemiLepKinFitter::fittedLepton
const pat::Particle fittedLepton() const
return lepton candidate
Definition: TtSemiLepKinFitter.h:94
pat::Jet
Analysis-level calorimeter jet class.
Definition: Jet.h:77
TKinFitter::fit
Int_t fit()
Definition: TKinFitter.cc:318
TtSemiLepKinFitter::printSetup
void printSetup() const
print fitter setup
Definition: TtSemiLepKinFitter.cc:84
TtSemiLepKinFitter::fittedHadQ
const pat::Particle fittedHadQ() const
return hadronic light quark candidate
Definition: TtSemiLepKinFitter.h:90
reco::LeafCandidate::py
double py() const final
y coordinate of momentum vector
Definition: LeafCandidate.h:142
TFitConstraintEp::pY
Definition: TFitConstraintEp.h:11
TtSemiLepHitFitProducer_Electrons_cfi.mTop
mTop
Definition: TtSemiLepHitFitProducer_Electrons_cfi.py:36
TtSemiLepKinFitter::covM_
CovarianceMatrix * covM_
object used to construct the covariance matrices for the individual particles
Definition: TtSemiLepKinFitter.h:131
TopKinFitter::TopKinFitter
TopKinFitter(const int maxNrIter=200, const double maxDeltaS=5e-5, const double maxF=1e-4, const double mW=80.4, const double mTop=173.)
default constructor
Definition: TopKinFitter.cc:4
TtSemiLepKinFitter::udscResolutions_
const std::vector< edm::ParameterSet > * udscResolutions_
resolutions
Definition: TtSemiLepKinFitter.h:123
TtSemiLepKinFitter::sumPxConstr_
TFitConstraintEp * sumPxConstr_
Definition: TtSemiLepKinFitter.h:134
TopKinFitter::maxDeltaS_
double maxDeltaS_
maximal allowed chi2 (not normalized to degrees of freedom)
Definition: TopKinFitter.h:51
TtSemiLepKinFitter::kTopHadMass
Definition: TtSemiLepKinFitter.h:35
TtSemiLepKinFitter::neutrino_
TAbsFitParticle * neutrino_
Definition: TtSemiLepKinFitter.h:121
CovarianceMatrix::kBJet
Definition: CovarianceMatrix.h:30
TtSemiLepKinFitter::kNeutrinoMass
Definition: TtSemiLepKinFitter.h:35
TtSemiLepKinFitter::fittedHadP
const pat::Particle fittedHadP() const
return hadronic light quark candidate
Definition: TtSemiLepKinFitter.h:88
TAbsFitParticle::getCurr4Vec
const TLorentzVector * getCurr4Vec()
Definition: TAbsFitParticle.h:31
TtSemiLepHitFitProducer_Electrons_cfi.mW
mW
Definition: TtSemiLepHitFitProducer_Electrons_cfi.py:35
CovarianceMatrix::kMet
Definition: CovarianceMatrix.h:30
TKinFitter::getStatus
Int_t getStatus()
Definition: TKinFitter.h:51
math::XYZPoint
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
TtSemiLepEvtPartons::HadB
Definition: TtSemiLepEvtPartons.h:25
TAbsFitParticle::setCovMatrix
virtual void setCovMatrix(const TMatrixD *theCovMatrix)
Definition: TAbsFitParticle.cc:98
TtSemiLepKinFitter::lepton_
TAbsFitParticle * lepton_
Definition: TtSemiLepKinFitter.h:120
TtSemiLepEvtPartons::LightQ
Definition: TtSemiLepEvtPartons.h:25
TtSemiLepKinFitter::setupJets
void setupJets()
initialize jet inputs
Definition: TtSemiLepKinFitter.cc:124
TtSemiLepKinFitter::fittedLepB
const pat::Particle fittedLepB() const
return leptonic b quark candidate
Definition: TtSemiLepKinFitter.h:92
TtSemiLepKinFitter::kWLepMass
Definition: TtSemiLepKinFitter.h:35
TFitConstraintEp
Definition: TFitConstraintEp.h:9
TtFullHadKinFitProducer_cfi.jetEnergyResolutionEtaBinning
jetEnergyResolutionEtaBinning
Definition: TtFullHadKinFitProducer_cfi.py:95
TopKinFitter::kEtThetaPhi
Definition: TopKinFitter.h:20
TtFullHadKinFitProducer_cfi.jetEnergyResolutionScaleFactors
jetEnergyResolutionScaleFactors
Definition: TtFullHadKinFitProducer_cfi.py:94
createBeamHaloJobs.constraints
string constraints
Definition: createBeamHaloJobs.py:229
TtSemiLepKinFitter::fittedLepton_
pat::Particle fittedLepton_
Definition: TtSemiLepKinFitter.h:141
StEvtSolProducer_cfi.maxDeltaS
maxDeltaS
Definition: StEvtSolProducer_cfi.py:25
TtSemiEvtSolution
Definition: TtSemiEvtSolution.h:31
TopKinFitter::mTop_
double mTop_
top mass value used for constraints
Definition: TopKinFitter.h:57
TKinFitter::addConstraint
void addConstraint(TAbsFitConstraint *constraint)
Definition: TKinFitter.cc:292
TFitConstraintEp::addParticles
void addParticles(TAbsFitParticle *p1, TAbsFitParticle *p2=nullptr, TAbsFitParticle *p3=nullptr, TAbsFitParticle *p4=nullptr, TAbsFitParticle *p5=nullptr, TAbsFitParticle *p6=nullptr, TAbsFitParticle *p7=nullptr, TAbsFitParticle *p8=nullptr, TAbsFitParticle *p9=nullptr, TAbsFitParticle *p10=nullptr)
Definition: TFitConstraintEp.cc:78
TFitParticleEScaledMomDev
Definition: TFitParticleEScaledMomDev.h:8
TtSemiLepKinFitter::lepParam_
Param lepParam_
lepton parametrization
Definition: TtSemiLepKinFitter.h:146
TopKinFitter::maxF_
double maxF_
maximal allowed distance from constraints
Definition: TopKinFitter.h:53
edm::LogVerbatim
Log< level::Info, true > LogVerbatim
Definition: MessageLogger.h:128
math::XYZTLorentzVector
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:29
TtSemiLepKinFitter::lepB_
TAbsFitParticle * lepB_
Definition: TtSemiLepKinFitter.h:119
TtFullHadKinFitProducer_cfi.bResolutions
bResolutions
Definition: TtFullHadKinFitProducer_cfi.py:84
TtSemiLepKinFitter::kTopLepMass
Definition: TtSemiLepKinFitter.h:35
TFitParticleEtEtaPhi
Definition: TFitParticleEtEtaPhi.h:8
TKinFitter::addMeasParticle
void addMeasParticle(TAbsFitParticle *particle)
Definition: TKinFitter.cc:194
TtSemiLepKinFitter::hadB_
TAbsFitParticle * hadB_
input particles
Definition: TtSemiLepKinFitter.h:116
CovarianceMatrix::kUdscJet
Definition: CovarianceMatrix.h:30
TtSemiLepKinFitter::hadP_
TAbsFitParticle * hadP_
Definition: TtSemiLepKinFitter.h:117
TtSemiLepKinFitter::kWHadMass
Definition: TtSemiLepKinFitter.h:35
reco::LeafCandidate::energy
double energy() const final
energy
Definition: LeafCandidate.h:125
TtSemiLepKinFitter::jetEnergyResolutionScaleFactors_
const std::vector< double > * jetEnergyResolutionScaleFactors_
scale factors for the jet energy resolution
Definition: TtSemiLepKinFitter.h:128
CovarianceMatrix::setupMatrix
TMatrixD setupMatrix(const pat::PATObject< T > &object, const TopKinFitter::Param param, const std::string &resolutionProvider="")
return covariance matrix for a PAT object
Definition: CovarianceMatrix.h:88
reco::LeafCandidate
Definition: LeafCandidate.h:16
TtSemiLepKinFitter::sumPyConstr_
TFitConstraintEp * sumPyConstr_
Definition: TtSemiLepKinFitter.h:135
TFitParticleEtThetaPhi
Definition: TFitParticleEtThetaPhi.h:8
TtSemiLepKinFitter::setupLeptons
void setupLeptons()
initialize lepton inputs
Definition: TtSemiLepKinFitter.cc:149
objects.autophobj.leptonType
leptonType
BASIC VERSION WITH ONLY MAIN LEPTON ID CRITERIA.
Definition: autophobj.py:48
TtSemiLepKinFitter::fittedLepB_
pat::Particle fittedLepB_
Definition: TtSemiLepKinFitter.h:140
TAbsFitParticle::setIni4Vec
virtual void setIni4Vec(const TLorentzVector *pini)=0
StEvtSolProducer_cfi.maxF
maxF
Definition: StEvtSolProducer_cfi.py:26
reco::LeafCandidate::px
double px() const final
x coordinate of momentum vector
Definition: LeafCandidate.h:140
reco::LeafCandidate::pz
double pz() const final
z coordinate of momentum vector
Definition: LeafCandidate.h:144
edm::errors::Configuration
Definition: EDMException.h:36
pat::Particle
Analysis-level particle class.
Definition: Particle.h:30
TtSemiLepKinFitter::massConstr_
std::map< Constraint, TFitConstraintM * > massConstr_
supported constraints
Definition: TtSemiLepKinFitter.h:133
TtSemiLepKinFitter::fittedHadB_
pat::Particle fittedHadB_
output particles
Definition: TtSemiLepKinFitter.h:137