CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TtSemiLepKinFitter.h
Go to the documentation of this file.
1 #ifndef TtSemiLepKinFitter_h
2 #define TtSemiLepKinFitter_h
3 
4 #include <vector>
5 
6 #include "TLorentzVector.h"
7 
9 
11 
13 
14 class TAbsFitParticle;
15 class TFitConstraintM;
16 
17 /*
18  \class TtSemiLepKinFitter TtSemiLepKinFitter.h "TopQuarkAnalysis/TopKinFitter/interface/TtSemiLepKinFitter.h"
19 
20  \brief one line description to be added here...
21 
22  text to be added here...
23 
24 **/
25 
27 
28  public:
29 
32 
33  public:
35  explicit TtSemiLepKinFitter();
37  explicit TtSemiLepKinFitter(Param jetParam, Param lepParam, Param metParam, int maxNrIter, double maxDeltaS, double maxF,
38  std::vector<Constraint> constraints, double mW=80.4, double mTop=173.);
41 
43  template <class LeptonType> int fit(const std::vector<pat::Jet>& jets, const pat::Lepton<LeptonType>& leps, const pat::MET& met);
44  // return hadronic b quark candidate
45  const pat::Particle fittedHadB() const { return (fitter_->getStatus()==0 ? fittedHadB_ : pat::Particle()); };
46  // return hadronic light quark candidate
47  const pat::Particle fittedHadP() const { return (fitter_->getStatus()==0 ? fittedHadP_ : pat::Particle()); };
48  // return hadronic light quark candidate
49  const pat::Particle fittedHadQ() const { return (fitter_->getStatus()==0 ? fittedHadQ_ : pat::Particle()); };
50  // return leptonic b quark candidate
51  const pat::Particle fittedLepB() const { return (fitter_->getStatus()==0 ? fittedLepB_ : pat::Particle()); };
52  // return lepton candidate
53  const pat::Particle fittedLepton() const { return (fitter_->getStatus()==0 ? fittedLepton_ : pat::Particle()); };
54  // return neutrino candidate
58 
59  private:
61  void printSetup() const;
63  void setupFitter();
65  void setupJets();
67  void setupLeptons();
69  void setupConstraints();
70 
71  private:
72  // input particles
79  // supported constraints
80  std::map<Constraint, TFitConstraintM*> massConstr_;
81  // output particles
95  std::vector<Constraint> constrList_;
96 };
97 
98 #endif
Analysis-level MET class.
Definition: MET.h:42
const pat::Particle fittedHadP() const
TAbsFitParticle * hadB_
Param
supported parameterizations
Definition: TopKinFitter.h:22
TAbsFitParticle * neutrino_
const pat::Particle fittedNeutrino() const
const pat::Particle fittedLepB() const
TAbsFitParticle * hadQ_
pat::Particle fittedHadP_
pat::Particle fittedLepB_
Param lepParam_
lepton parametrization
pat::Particle fittedHadB_
TAbsFitParticle * lepton_
int fit(const std::vector< pat::Jet > &jets, const pat::Lepton< LeptonType > &leps, const pat::MET &met)
kinematic fit interface
void setupJets()
initialize jet inputs
void printSetup() const
print fitter setup
pat::Particle fittedLepton_
TAbsFitParticle * hadP_
Analysis-level lepton class.
Definition: Lepton.h:32
Int_t getStatus()
Definition: TKinFitter.h:40
Param jetParam_
jet parametrization
const pat::Particle fittedHadB() const
TtSemiLepKinFitter()
default constructor
std::map< Constraint, TFitConstraintM * > massConstr_
Param metParam_
met parametrization
pat::Particle fittedHadQ_
TtSemiEvtSolution addKinFitInfo(TtSemiEvtSolution *asol)
add kin fit information to the old event solution (in for legacy reasons)
~TtSemiLepKinFitter()
default destructor
void setupConstraints()
initialize constraints
std::vector< Constraint > constrList_
vector of constraints to be used
void setupLeptons()
initialize lepton inputs
Analysis-level particle class.
Definition: Particle.h:34
const pat::Particle fittedHadQ() const
const pat::Particle fittedLepton() const
void setupFitter()
setup fitter
pat::Particle fittedNeutrino_
TKinFitter * fitter_
Definition: TopKinFitter.h:44
TAbsFitParticle * lepB_
Constraint
supported constraints