CMS 3D CMS Logo

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

#include <StKinFitter.h>

Inheritance diagram for StKinFitter:
TopKinFitter

Public Member Functions

StEvtSolution addKinFitInfo (StEvtSolution *asol)
 
 StKinFitter ()
 
 StKinFitter (int jetParam, int lepParam, int metParam, int maxNrIter, double maxDeltaS, double maxF, const std::vector< int > &constraints)
 
 StKinFitter (Param jetParam, Param lepParam, Param metParam, int maxNrIter, double maxDeltaS, double maxF, const std::vector< int > &constraints)
 
 ~StKinFitter ()
 
- 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 setupFitter ()
 

Private Attributes

std::unique_ptr< TFitConstraintMcons1_
 
std::unique_ptr< TFitConstraintMcons2_
 
std::unique_ptr< TFitConstraintMcons3_
 
std::vector< int > constraints_
 
std::unique_ptr< TAbsFitParticlefitBottom_
 
std::unique_ptr< TAbsFitParticlefitLepton_
 
std::unique_ptr< TAbsFitParticlefitLight_
 
std::unique_ptr< TAbsFitParticlefitNeutrino_
 
Param jetParam_
 
Param lepParam_
 
Param metParam_
 

Additional Inherited Members

- Public Types inherited from TopKinFitter
enum  Param { kEMom, kEtEtaPhi, kEtThetaPhi }
 supported parameterizations More...
 
- 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
std::unique_ptr< 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 20 of file StKinFitter.h.

Constructor & Destructor Documentation

◆ StKinFitter() [1/3]

StKinFitter::StKinFitter ( )

Definition at line 27 of file StKinFitter.cc.

References setupFitter().

void setupFitter()
Definition: StKinFitter.cc:245
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
Param metParam_
Definition: StKinFitter.h:55
Param lepParam_
Definition: StKinFitter.h:55
Param jetParam_
Definition: StKinFitter.h:55

◆ StKinFitter() [2/3]

StKinFitter::StKinFitter ( int  jetParam,
int  lepParam,
int  metParam,
int  maxNrIter,
double  maxDeltaS,
double  maxF,
const std::vector< int > &  constraints 
)

Definition at line 29 of file StKinFitter.cc.

References setupFitter().

37  jetParam_((Param)jetParam),
38  lepParam_((Param)lepParam),
39  metParam_((Param)metParam),
41  setupFitter();
42 }
Param
supported parameterizations
Definition: TopKinFitter.h:22
void setupFitter()
Definition: StKinFitter.cc:245
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
Param metParam_
Definition: StKinFitter.h:55
std::vector< int > constraints_
Definition: StKinFitter.h:56
Param lepParam_
Definition: StKinFitter.h:55
Param jetParam_
Definition: StKinFitter.h:55

◆ StKinFitter() [3/3]

StKinFitter::StKinFitter ( Param  jetParam,
Param  lepParam,
Param  metParam,
int  maxNrIter,
double  maxDeltaS,
double  maxF,
const std::vector< int > &  constraints 
)

Definition at line 44 of file StKinFitter.cc.

References setupFitter().

52  jetParam_(jetParam),
53  lepParam_(lepParam),
54  metParam_(metParam),
56  setupFitter();
57 }
void setupFitter()
Definition: StKinFitter.cc:245
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
Param metParam_
Definition: StKinFitter.h:55
std::vector< int > constraints_
Definition: StKinFitter.h:56
Param lepParam_
Definition: StKinFitter.h:55
Param jetParam_
Definition: StKinFitter.h:55

◆ ~StKinFitter()

StKinFitter::~StKinFitter ( )
default

Member Function Documentation

◆ addKinFitInfo()

StEvtSolution StKinFitter::addKinFitInfo ( StEvtSolution asol)

Definition at line 61 of file StKinFitter.cc.

References reco::LeafCandidate::energy(), reco::LeafCandidate::et(), res::HelperMuon::eta(), res::HelperElectron::eta(), res::HelperJet::eta(), PVValHelper::eta, reco::LeafCandidate::eta(), fitBottom_, fitLepton_, fitLight_, fitNeutrino_, TopKinFitter::fitProb(), TopKinFitter::fitter_, StEvtSolution::getBottom(), StEvtSolution::getDecay(), StEvtSolution::getElectron(), StEvtSolution::getLight(), StEvtSolution::getMuon(), StEvtSolution::getNeutrino(), jetParam_, res::HelperJet::kB, TopKinFitter::kEMom, TopKinFitter::kEtEtaPhi, TopKinFitter::kEtThetaPhi, res::HelperJet::kUds, lepParam_, callgraph::m2, res::HelperMET::met(), BTaggingMonitor_cfi::met, metParam_, res::HelperMuon::phi(), res::HelperElectron::phi(), res::HelperJet::phi(), res::HelperMET::phi(), conifer::pow(), res::HelperMuon::pt(), res::HelperElectron::pt(), res::HelperJet::pt(), DiDispStaMuonMonitor_cfi::pt, reco::LeafCandidate::pt(), reco::LeafCandidate::px(), reco::LeafCandidate::py(), reco::LeafCandidate::pz(), StEvtSolution::setChi2Prob(), StEvtSolution::setFitBottom(), StEvtSolution::setFitLepton(), StEvtSolution::setFitLight(), and StEvtSolution::setFitNeutrino().

61  {
62  StEvtSolution fitsol(*asol);
63 
64  TMatrixD m1(3, 3), m2(3, 3);
65  TMatrixD m1b(4, 4), m2b(4, 4);
66  TMatrixD m3(3, 3), m4(3, 3);
67  m1.Zero();
68  m2.Zero();
69  m1b.Zero();
70  m2b.Zero();
71  m3.Zero();
72  m4.Zero();
73 
74  TLorentzVector bottomVec(
75  fitsol.getBottom().px(), fitsol.getBottom().py(), fitsol.getBottom().pz(), fitsol.getBottom().energy());
76  TLorentzVector lightVec(
77  fitsol.getLight().px(), fitsol.getLight().py(), fitsol.getLight().pz(), fitsol.getLight().energy());
78  TLorentzVector leplVec;
79  if (fitsol.getDecay() == "electron")
80  leplVec = TLorentzVector(
81  fitsol.getElectron().px(), fitsol.getElectron().py(), fitsol.getElectron().pz(), fitsol.getElectron().energy());
82  if (fitsol.getDecay() == "muon")
83  leplVec =
84  TLorentzVector(fitsol.getMuon().px(), fitsol.getMuon().py(), fitsol.getMuon().pz(), fitsol.getMuon().energy());
85  TLorentzVector lepnVec(fitsol.getNeutrino().px(), fitsol.getNeutrino().py(), 0, fitsol.getNeutrino().et());
86 
87  // jet resolutions
88  {
89  //FIXME this dirty hack needs a clean solution soon!
90  double pt = fitsol.getBottom().pt();
91  double eta = fitsol.getBottom().eta();
92  res::HelperJet jetRes;
93  if (jetParam_ == kEMom) {
94  m1b(0, 0) = pow(jetRes.pt(pt, eta, res::HelperJet::kB), 2);
95  m1b(1, 1) = pow(jetRes.pt(pt, eta, res::HelperJet::kB), 2);
96  m1b(2, 2) = pow(jetRes.pt(pt, eta, res::HelperJet::kB), 2);
97  m1b(3, 3) = pow(jetRes.pt(pt, eta, res::HelperJet::kB), 2);
98  m2b(0, 0) = pow(jetRes.pt(pt, eta, res::HelperJet::kUds), 2);
99  m2b(1, 1) = pow(jetRes.pt(pt, eta, res::HelperJet::kUds), 2);
100  m2b(2, 2) = pow(jetRes.pt(pt, eta, res::HelperJet::kUds), 2);
101  m2b(3, 3) = pow(jetRes.pt(pt, eta, res::HelperJet::kUds), 2);
102  } else if (jetParam_ == kEtEtaPhi) {
103  m1(0, 0) = pow(jetRes.pt(pt, eta, res::HelperJet::kB), 2);
104  m1(1, 1) = pow(jetRes.eta(pt, eta, res::HelperJet::kB), 2);
105  m1(2, 2) = pow(jetRes.phi(pt, eta, res::HelperJet::kB), 2);
106  m2(0, 0) = pow(jetRes.pt(pt, eta, res::HelperJet::kUds), 2);
107  m2(1, 1) = pow(jetRes.eta(pt, eta, res::HelperJet::kUds), 2);
108  m2(2, 2) = pow(jetRes.phi(pt, eta, res::HelperJet::kUds), 2);
109  } else if (jetParam_ == kEtThetaPhi) {
110  m1(0, 0) = pow(jetRes.pt(pt, eta, res::HelperJet::kB), 2);
111  m1(1, 1) = pow(jetRes.eta(pt, eta, res::HelperJet::kB), 2);
112  m1(2, 2) = pow(jetRes.phi(pt, eta, res::HelperJet::kB), 2);
113  m2(0, 0) = pow(jetRes.pt(pt, eta, res::HelperJet::kUds), 2);
114  m2(1, 1) = pow(jetRes.eta(pt, eta, res::HelperJet::kUds), 2);
115  m2(2, 2) = pow(jetRes.phi(pt, eta, res::HelperJet::kUds), 2);
116  }
117  }
118  // lepton resolutions
119  {
120  //FIXME this dirty hack needs a clean solution soon!
121  double pt = fitsol.getElectron().pt();
122  double eta = fitsol.getElectron().eta();
123  res::HelperMuon muonRes;
124  res::HelperElectron elecRes;
125  if (lepParam_ == kEMom) {
126  if (fitsol.getDecay() == "electron") {
127  m3(0, 0) = pow(elecRes.pt(pt, eta), 2);
128  m3(1, 1) = pow(elecRes.pt(pt, eta), 2);
129  m3(2, 2) = pow(elecRes.pt(pt, eta), 2);
130  }
131  if (fitsol.getDecay() == "muon") {
132  m3(0, 0) = pow(muonRes.pt(pt, eta), 2);
133  m3(1, 1) = pow(muonRes.pt(pt, eta), 2);
134  m3(2, 2) = pow(muonRes.pt(pt, eta), 2);
135  }
136  } else if (lepParam_ == kEtEtaPhi) {
137  if (fitsol.getDecay() == "electron") {
138  m3(0, 0) = pow(elecRes.pt(pt, eta), 2);
139  m3(1, 1) = pow(elecRes.eta(pt, eta), 2);
140  m3(2, 2) = pow(elecRes.phi(pt, eta), 2);
141  }
142  if (fitsol.getDecay() == "muon") {
143  m3(0, 0) = pow(muonRes.pt(pt, eta), 2);
144  m3(1, 1) = pow(muonRes.eta(pt, eta), 2);
145  m3(2, 2) = pow(muonRes.phi(pt, eta), 2);
146  }
147  } else if (lepParam_ == kEtThetaPhi) {
148  if (fitsol.getDecay() == "electron") {
149  m3(0, 0) = pow(elecRes.pt(pt, eta), 2);
150  m3(1, 1) = pow(elecRes.eta(pt, eta), 2);
151  m3(2, 2) = pow(elecRes.phi(pt, eta), 2);
152  }
153  if (fitsol.getDecay() == "muon") {
154  m3(0, 0) = pow(muonRes.pt(pt, eta), 2);
155  m3(1, 1) = pow(muonRes.eta(pt, eta), 2);
156  m3(2, 2) = pow(muonRes.phi(pt, eta), 2);
157  }
158  }
159  }
160  // neutrino resolutions
161  {
162  //FIXME this dirty hack needs a clean solution soon!
163  double met = fitsol.getNeutrino().pt();
164  res::HelperMET metRes;
165  if (metParam_ == kEMom) {
166  m4(0, 0) = pow(metRes.met(met), 2);
167  m4(1, 1) = pow(9999., 2);
168  m4(2, 2) = pow(metRes.met(met), 2);
169  } else if (metParam_ == kEtEtaPhi) {
170  m4(0, 0) = pow(metRes.met(met), 2);
171  m4(1, 1) = pow(9999., 2);
172  m4(2, 2) = pow(metRes.phi(met), 2);
173  } else if (metParam_ == kEtThetaPhi) {
174  m4(0, 0) = pow(metRes.met(met), 2);
175  m4(1, 1) = pow(9999., 2);
176  m4(2, 2) = pow(metRes.phi(met), 2);
177  }
178  }
179  // set the kinematics of the objects to be fitted
180  fitBottom_->setIni4Vec(&bottomVec);
181  fitLight_->setIni4Vec(&lightVec);
182  fitLepton_->setIni4Vec(&leplVec);
183  fitNeutrino_->setIni4Vec(&lepnVec);
184  if (jetParam_ == kEMom) {
185  fitBottom_->setCovMatrix(&m1b);
186  fitLight_->setCovMatrix(&m2b);
187  } else {
188  fitBottom_->setCovMatrix(&m1);
189  fitLight_->setCovMatrix(&m2);
190  }
191  fitLepton_->setCovMatrix(&m3);
192  fitNeutrino_->setCovMatrix(&m4);
193 
194  // perform the fit!
195  fitter_->fit();
196 
197  // add fitted information to the solution
198  if (fitter_->getStatus() == 0) {
199  // read back the jet kinematics and resolutions
200  pat::Particle aFitBottom(reco::LeafCandidate(0,
201  math::XYZTLorentzVector(fitBottom_->getCurr4Vec()->X(),
202  fitBottom_->getCurr4Vec()->Y(),
203  fitBottom_->getCurr4Vec()->Z(),
204  fitBottom_->getCurr4Vec()->E()),
205  math::XYZPoint()));
207  math::XYZTLorentzVector(fitLight_->getCurr4Vec()->X(),
208  fitLight_->getCurr4Vec()->Y(),
209  fitLight_->getCurr4Vec()->Z(),
210  fitLight_->getCurr4Vec()->E()),
211  math::XYZPoint()));
212 
213  // read back the lepton kinematics and resolutions
214  pat::Particle aFitLepton(reco::LeafCandidate(0,
215  math::XYZTLorentzVector(fitLepton_->getCurr4Vec()->X(),
216  fitLepton_->getCurr4Vec()->Y(),
217  fitLepton_->getCurr4Vec()->Z(),
218  fitLepton_->getCurr4Vec()->E()),
219  math::XYZPoint()));
220 
221  // read back the MET kinematics and resolutions
222  pat::Particle aFitNeutrino(reco::LeafCandidate(0,
223  math::XYZTLorentzVector(fitNeutrino_->getCurr4Vec()->X(),
224  fitNeutrino_->getCurr4Vec()->Y(),
225  fitNeutrino_->getCurr4Vec()->Z(),
226  fitNeutrino_->getCurr4Vec()->E()),
227  math::XYZPoint()));
228 
229  // finally fill the fitted particles
230  fitsol.setFitBottom(aFitBottom);
231  fitsol.setFitLight(aFitLight);
232  fitsol.setFitLepton(aFitLepton);
233  fitsol.setFitNeutrino(aFitNeutrino);
234 
235  // store the fit's chi2 probability
236  fitsol.setChi2Prob(fitProb());
237  }
238 
239  return fitsol;
240 }
double pt(double pt, double eta, Flavor flav)
Definition: Jet.h:26
double phi(double pt, double eta, Flavor flav)
Definition: Jet.h:282
double phi(double pt, double eta)
Definition: Electron.h:160
std::unique_ptr< TKinFitter > fitter_
kinematic fitter
Definition: TopKinFitter.h:49
double phi(double pt)
Definition: MET.h:51
double pt(double pt, double eta)
Definition: Electron.h:24
double eta(double pt, double eta)
Definition: Electron.h:210
constexpr int pow(int x)
Definition: conifer.h:24
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:29
std::unique_ptr< TAbsFitParticle > fitLight_
Definition: StKinFitter.h:47
Param metParam_
Definition: StKinFitter.h:55
double fitProb() const
return fit probability
Definition: TopKinFitter.h:39
std::unique_ptr< TAbsFitParticle > fitNeutrino_
Definition: StKinFitter.h:49
double eta(double pt, double eta, Flavor flav)
Definition: Jet.h:378
std::unique_ptr< TAbsFitParticle > fitLepton_
Definition: StKinFitter.h:48
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
Analysis-level particle class.
Definition: Particle.h:30
Param lepParam_
Definition: StKinFitter.h:55
double eta(double pt, double eta)
Definition: Muon.h:204
std::unique_ptr< TAbsFitParticle > fitBottom_
Definition: StKinFitter.h:46
double pt(double pt, double eta)
Definition: Muon.h:24
Param jetParam_
Definition: StKinFitter.h:55
double phi(double pt, double eta)
Definition: Muon.h:154
double met(double met)
Definition: MET.h:24

◆ setupFitter()

void StKinFitter::setupFitter ( )
private

Definition at line 245 of file StKinFitter.cc.

References cons1_, cons2_, cons3_, constraints_, gather_cfg::cout, fitBottom_, fitLepton_, fitLight_, fitNeutrino_, TopKinFitter::fitter_, mps_fire::i, jetParam_, TopKinFitter::kEMom, TopKinFitter::kEtEtaPhi, TopKinFitter::kEtThetaPhi, lepParam_, TopKinFitter::maxDeltaS_, TopKinFitter::maxF_, TopKinFitter::maxNrIter_, metParam_, TopKinFitter::mTop_, TopKinFitter::mW_, and TopKinFitter::param().

Referenced by StKinFitter().

245  {
246  // FIXME: replace by messagelogger!!!
247 
248  std::cout << std::endl << std::endl << "+++++++++++ KINFIT SETUP ++++++++++++" << std::endl;
249  std::cout << " jet parametrisation: " << param(jetParam_) << std::endl;
250  std::cout << " lepton parametrisation: " << param(lepParam_) << std::endl;
251  std::cout << " met parametrisation: " << param(metParam_) << std::endl;
252  std::cout << " constraints: " << std::endl;
253  for (unsigned int i = 0; i < constraints_.size(); i++) {
254  if (constraints_[i] == 1)
255  std::cout << " - hadronic W-mass" << std::endl;
256  if (constraints_[i] == 2)
257  std::cout << " - leptonic W-mass" << std::endl;
258  if (constraints_[i] == 3)
259  std::cout << " - hadronic top mass" << std::endl;
260  if (constraints_[i] == 4)
261  std::cout << " - leptonic top mass" << std::endl;
262  if (constraints_[i] == 5)
263  std::cout << " - neutrino mass" << std::endl;
264  }
265  std::cout << "Max. number of iterations: " << maxNrIter_ << std::endl;
266  std::cout << "Max. deltaS: " << maxDeltaS_ << std::endl;
267  std::cout << "Max. F: " << maxF_ << std::endl;
268  std::cout << "++++++++++++++++++++++++++++++++++++++++++++" << std::endl << std::endl << std::endl;
269 
270  TMatrixD empty3(3, 3);
271  TMatrixD empty4(4, 4);
272  if (jetParam_ == kEMom) {
273  fitBottom_ = std::make_unique<TFitParticleEMomDev>("Jet1", "Jet1", nullptr, &empty4);
274  fitLight_ = std::make_unique<TFitParticleEMomDev>("Jet2", "Jet2", nullptr, &empty4);
275  } else if (jetParam_ == kEtEtaPhi) {
276  fitBottom_ = std::make_unique<TFitParticleEtEtaPhi>("Jet1", "Jet1", nullptr, &empty3);
277  fitLight_ = std::make_unique<TFitParticleEtEtaPhi>("Jet2", "Jet2", nullptr, &empty3);
278  } else if (jetParam_ == kEtThetaPhi) {
279  fitBottom_ = std::make_unique<TFitParticleEtThetaPhi>("Jet1", "Jet1", nullptr, &empty3);
280  fitLight_ = std::make_unique<TFitParticleEtThetaPhi>("Jet2", "Jet2", nullptr, &empty3);
281  }
282  if (lepParam_ == kEMom) {
283  fitLepton_ = std::make_unique<TFitParticleEScaledMomDev>("Lepton", "Lepton", nullptr, &empty3);
284  } else if (lepParam_ == kEtEtaPhi) {
285  fitLepton_ = std::make_unique<TFitParticleEtEtaPhi>("Lepton", "Lepton", nullptr, &empty3);
286  } else if (lepParam_ == kEtThetaPhi) {
287  fitLepton_ = std::make_unique<TFitParticleEtThetaPhi>("Lepton", "Lepton", nullptr, &empty3);
288  }
289  if (metParam_ == kEMom) {
290  fitNeutrino_ = std::make_unique<TFitParticleEScaledMomDev>("Neutrino", "Neutrino", nullptr, &empty3);
291  } else if (metParam_ == kEtEtaPhi) {
292  fitNeutrino_ = std::make_unique<TFitParticleEtEtaPhi>("Neutrino", "Neutrino", nullptr, &empty3);
293  } else if (metParam_ == kEtThetaPhi) {
294  fitNeutrino_ = std::make_unique<TFitParticleEtThetaPhi>("Neutrino", "Neutrino", nullptr, &empty3);
295  }
296 
297  cons1_ = std::make_unique<TFitConstraintM>("MassConstraint", "Mass-Constraint", nullptr, nullptr, mW_);
298  cons1_->addParticles1(fitLepton_.get(), fitNeutrino_.get());
299  cons2_ = std::make_unique<TFitConstraintM>("MassConstraint", "Mass-Constraint", nullptr, nullptr, mTop_);
300  cons2_->addParticles1(fitLepton_.get(), fitNeutrino_.get(), fitBottom_.get());
301  cons3_ = std::make_unique<TFitConstraintM>("MassConstraint", "Mass-Constraint", nullptr, nullptr, 0.);
302  cons3_->addParticle1(fitNeutrino_.get());
303 
304  for (unsigned int i = 0; i < constraints_.size(); i++) {
305  if (constraints_[i] == 1)
306  fitter_->addConstraint(cons1_.get());
307  if (constraints_[i] == 2)
308  fitter_->addConstraint(cons2_.get());
309  if (constraints_[i] == 3)
310  fitter_->addConstraint(cons3_.get());
311  }
312  fitter_->addMeasParticle(fitBottom_.get());
313  fitter_->addMeasParticle(fitLight_.get());
314  fitter_->addMeasParticle(fitLepton_.get());
315  fitter_->addMeasParticle(fitNeutrino_.get());
316 }
std::string param(const Param &param) const
convert Param to human readable form
Definition: TopKinFitter.cc:18
std::unique_ptr< TKinFitter > fitter_
kinematic fitter
Definition: TopKinFitter.h:49
std::unique_ptr< TFitConstraintM > cons1_
Definition: StKinFitter.h:51
int maxNrIter_
maximal allowed number of iterations to be used for the fit
Definition: TopKinFitter.h:51
std::unique_ptr< TFitConstraintM > cons3_
Definition: StKinFitter.h:53
std::unique_ptr< TAbsFitParticle > fitLight_
Definition: StKinFitter.h:47
Param metParam_
Definition: StKinFitter.h:55
std::unique_ptr< TFitConstraintM > cons2_
Definition: StKinFitter.h:52
std::unique_ptr< TAbsFitParticle > fitNeutrino_
Definition: StKinFitter.h:49
std::vector< int > constraints_
Definition: StKinFitter.h:56
double mW_
W mass value used for constraints.
Definition: TopKinFitter.h:57
double maxDeltaS_
maximal allowed chi2 (not normalized to degrees of freedom)
Definition: TopKinFitter.h:53
std::unique_ptr< TAbsFitParticle > fitLepton_
Definition: StKinFitter.h:48
Param lepParam_
Definition: StKinFitter.h:55
std::unique_ptr< TAbsFitParticle > fitBottom_
Definition: StKinFitter.h:46
Param jetParam_
Definition: StKinFitter.h:55
double mTop_
top mass value used for constraints
Definition: TopKinFitter.h:59
double maxF_
maximal allowed distance from constraints
Definition: TopKinFitter.h:55

Member Data Documentation

◆ cons1_

std::unique_ptr<TFitConstraintM> StKinFitter::cons1_
private

Definition at line 51 of file StKinFitter.h.

Referenced by setupFitter().

◆ cons2_

std::unique_ptr<TFitConstraintM> StKinFitter::cons2_
private

Definition at line 52 of file StKinFitter.h.

Referenced by setupFitter().

◆ cons3_

std::unique_ptr<TFitConstraintM> StKinFitter::cons3_
private

Definition at line 53 of file StKinFitter.h.

Referenced by setupFitter().

◆ constraints_

std::vector<int> StKinFitter::constraints_
private

Definition at line 56 of file StKinFitter.h.

Referenced by setupFitter().

◆ fitBottom_

std::unique_ptr<TAbsFitParticle> StKinFitter::fitBottom_
private

Definition at line 46 of file StKinFitter.h.

Referenced by addKinFitInfo(), and setupFitter().

◆ fitLepton_

std::unique_ptr<TAbsFitParticle> StKinFitter::fitLepton_
private

Definition at line 48 of file StKinFitter.h.

Referenced by addKinFitInfo(), and setupFitter().

◆ fitLight_

std::unique_ptr<TAbsFitParticle> StKinFitter::fitLight_
private

Definition at line 47 of file StKinFitter.h.

Referenced by addKinFitInfo(), and setupFitter().

◆ fitNeutrino_

std::unique_ptr<TAbsFitParticle> StKinFitter::fitNeutrino_
private

Definition at line 49 of file StKinFitter.h.

Referenced by addKinFitInfo(), and setupFitter().

◆ jetParam_

Param StKinFitter::jetParam_
private

Definition at line 55 of file StKinFitter.h.

Referenced by addKinFitInfo(), and setupFitter().

◆ lepParam_

Param StKinFitter::lepParam_
private

Definition at line 55 of file StKinFitter.h.

Referenced by addKinFitInfo(), and setupFitter().

◆ metParam_

Param StKinFitter::metParam_
private

Definition at line 55 of file StKinFitter.h.

Referenced by addKinFitInfo(), and setupFitter().