CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
hitfit::METTranslatorBase< AMet > Class Template Reference

Template class of function object to translate missing transverse energy physics object to HitFit's Fourvec object. Users need to write an implementation of a template specialization of this class for their missing transverse energy physics object class, Then users combine this header file and their implementation for their analysis code. With this approach, it is possible to use HitFit for different missing transverse energy physics object class indifferent experiments. More...

#include <METTranslatorBase.h>

Public Member Functions

template<>
Resolution KtResolution (const pat::MET &m, bool useObjEmbRes) const
 
Resolution KtResolution (const AMet &met, bool useObjEmbRes=false) const
 Return the $ k_{T} $ resolution corresponding to an instance of missing transverse energy object. More...
 
template<>
Resolution KtResolution (const CLHEP::HepLorentzVector &m, bool useObjEmbRes) const
 
template<>
Resolution METResolution (const pat::MET &m, bool useObjEmbRes) const
 
Resolution METResolution (const AMet &met, bool useObjEmbRes=false) const
 Alias for KtResolution(AMet& met) More...
 
template<>
Resolution METResolution (const CLHEP::HepLorentzVector &m, bool useObjEmbRes) const
 
template<>
 METTranslatorBase ()
 
template<>
 METTranslatorBase (const std::string &ifile)
 
 METTranslatorBase ()
 Default constructor. More...
 
 METTranslatorBase (const std::string &ifile)
 Constructor, instantiate a METTranslatorBase object using the name of and input file in std::string format. More...
 
template<>
 METTranslatorBase ()
 
template<>
 METTranslatorBase (const std::string &ifile)
 
template<>
Fourvec operator() (const pat::MET &m, bool useObjEmbRes)
 
Fourvec operator() (const AMet &met, bool useObjEmbRes=false)
 Convert a missing transverse energy object of type AMet into HitFit four-momentum object of type Fourvec. More...
 
template<>
Fourvec operator() (const CLHEP::HepLorentzVector &m, bool useObjEmbRes)
 
template<>
 ~METTranslatorBase ()
 
 ~METTranslatorBase ()
 Destructor. More...
 
template<>
 ~METTranslatorBase ()
 

Private Attributes

Resolution resolution_
 The resolution. More...
 

Detailed Description

template<class AMet>
class hitfit::METTranslatorBase< AMet >

Template class of function object to translate missing transverse energy physics object to HitFit's Fourvec object. Users need to write an implementation of a template specialization of this class for their missing transverse energy physics object class, Then users combine this header file and their implementation for their analysis code. With this approach, it is possible to use HitFit for different missing transverse energy physics object class indifferent experiments.

Parameters
AMetThe typename of the missing transverse energy physics object class be translated into HitFit's Fourvec.

Definition at line 51 of file METTranslatorBase.h.

Constructor & Destructor Documentation

template<class AMet>
hitfit::METTranslatorBase< AMet >::METTranslatorBase ( )

Default constructor.

template<class AMet>
hitfit::METTranslatorBase< AMet >::METTranslatorBase ( const std::string &  ifile)

Constructor, instantiate a METTranslatorBase object using the name of and input file in std::string format.

Parameters
ifileThe path of the input file.
template<class AMet>
hitfit::METTranslatorBase< AMet >::~METTranslatorBase ( )

Destructor.

template<>
hitfit::METTranslatorBase< CLHEP::HepLorentzVector >::METTranslatorBase ( )

Definition at line 203 of file CLHEPHitFitTranslator.cc.

204 {
205  resolution_ = Resolution(std::string("0,0,12"));
206 } // METTranslatorBase<CLHEP::HepLorentzVector>::METTranslatorBase()
Resolution resolution_
The resolution.
template<>
hitfit::METTranslatorBase< CLHEP::HepLorentzVector >::METTranslatorBase ( const std::string &  ifile)

Definition at line 210 of file CLHEPHitFitTranslator.cc.

References hitfit::Defaults_Text::get_string().

211 {
212  const Defaults_Text defs(ifile);
213  std::string resolution_string(defs.get_string("met_resolution"));
214  resolution_ = Resolution(resolution_string);
215 
216 } // METTranslatorBase<CLHEP::HepLorentzVector>::METTranslatorBase(const std::string& ifile)
Resolution resolution_
The resolution.
template<>
hitfit::METTranslatorBase< CLHEP::HepLorentzVector >::~METTranslatorBase ( )

Definition at line 220 of file CLHEPHitFitTranslator.cc.

221 {
222 } // METTranslatorBase<CLHEP::HepLorentzVector>::~METTranslatorBase()

Definition at line 29 of file PatMETHitFitTranslator.cc.

30 {
31  resolution_ = Resolution(std::string("0,0,12"));
32 } // METTranslatorBase<pat::MET>::METTranslatorBase()
Resolution resolution_
The resolution.
template<>
hitfit::METTranslatorBase< pat::MET >::METTranslatorBase ( const std::string &  ifile)

Definition at line 36 of file PatMETHitFitTranslator.cc.

References hitfit::Defaults_Text::get_string().

37 {
38  const Defaults_Text defs(ifile);
39  std::string resolution_string(defs.get_string("met_resolution"));
40  resolution_ = Resolution(resolution_string);
41 
42 } // METTranslatorBase<pat::MET>::METTranslatorBase(const std::string& ifile)
Resolution resolution_
The resolution.

Definition at line 46 of file PatMETHitFitTranslator.cc.

47 {
48 } // METTranslatorBase<pat::MET>::~METTranslatorBase()

Member Function Documentation

template<>
Resolution hitfit::METTranslatorBase< pat::MET >::KtResolution ( const pat::MET m,
bool  useObjEmbRes 
) const

Definition at line 67 of file PatMETHitFitTranslator.cc.

69 {
70  return resolution_;
71 } // Resolution METTranslatorBase<pat::MET>::KtResolution(const pat::MET& m)
Resolution resolution_
The resolution.
template<class AMet>
Resolution hitfit::METTranslatorBase< AMet >::KtResolution ( const AMet &  met,
bool  useObjEmbRes = false 
) const

Return the $ k_{T} $ resolution corresponding to an instance of missing transverse energy object.

Parameters
metThe missing transverse energy object whose resolution is wished to be known.
useObjEmbResBoolean parameter to indicate if the user would like to use the resolution embedded in the object, and not the resolution read when instantiating the class.
template<>
Resolution hitfit::METTranslatorBase< CLHEP::HepLorentzVector >::KtResolution ( const CLHEP::HepLorentzVector &  m,
bool  useObjEmbRes 
) const

Definition at line 239 of file CLHEPHitFitTranslator.cc.

241 {
242  return resolution_;
243 } // Resolution METTranslatorBase<CLHEP::HepLorentzVector>::KtResolution(const CLHEP::HepLorentzVector& m)
Resolution resolution_
The resolution.
template<>
Resolution hitfit::METTranslatorBase< pat::MET >::METResolution ( const pat::MET m,
bool  useObjEmbRes 
) const

Definition at line 77 of file PatMETHitFitTranslator.cc.

79 {
80  return KtResolution(m,useObjEmbRes);
81 } // Resolution METTranslatorBase<pat::MET>::METResolution(const pat::MET& m)
Resolution KtResolution(const AMet &met, bool useObjEmbRes=false) const
Return the resolution corresponding to an instance of missing transverse energy object.
template<class AMet>
Resolution hitfit::METTranslatorBase< AMet >::METResolution ( const AMet &  met,
bool  useObjEmbRes = false 
) const

Alias for KtResolution(AMet& met)

Parameters
metThe missing transverse energy object whose resolution is wished to be known.
useObjEmbResBoolean parameter to indicate if the user would like to use the resolution embedded in the object, and not the resolution read when instantiating the class.
template<>
Resolution hitfit::METTranslatorBase< CLHEP::HepLorentzVector >::METResolution ( const CLHEP::HepLorentzVector &  m,
bool  useObjEmbRes 
) const

Definition at line 249 of file CLHEPHitFitTranslator.cc.

251 {
252  return KtResolution(m,useObjEmbRes);
253 } // Resolution METTranslatorBase<CLHEP::HepLorentzVector>::METResolution(const CLHEP::HepLorentzVector& m)
Resolution KtResolution(const AMet &met, bool useObjEmbRes=false) const
Return the resolution corresponding to an instance of missing transverse energy object.
template<>
Fourvec hitfit::METTranslatorBase< pat::MET >::operator() ( const pat::MET m,
bool  useObjEmbRes 
)

Definition at line 53 of file PatMETHitFitTranslator.cc.

References reco::LeafCandidate::px(), reco::LeafCandidate::py(), and mathSSE::sqrt().

55 {
56  double px = m.px();
57  double py = m.py();
58 
59  return Fourvec (px,py,0.0,sqrt(px*px + py*py));
60 
61 } // Fourvec METTranslatorBase<pat::MET>::operator()(const pat::MET& m)
T sqrt(T t)
Definition: SSEVec.h:46
CLHEP::HepLorentzVector Fourvec
Typedef for a HepLorentzVector.
Definition: fourvec.h:58
virtual double px() const
x coordinate of momentum vector
virtual double py() const
y coordinate of momentum vector
template<class AMet>
Fourvec hitfit::METTranslatorBase< AMet >::operator() ( const AMet &  met,
bool  useObjEmbRes = false 
)

Convert a missing transverse energy object of type AMet into HitFit four-momentum object of type Fourvec.

Parameters
metThe missing transverse energy object to be translated.
useObjEmbResBoolean parameter to indicate if the user would like to use the resolution embedded in the object, and not the resolution read when instantiating the class.
template<>
Fourvec hitfit::METTranslatorBase< CLHEP::HepLorentzVector >::operator() ( const CLHEP::HepLorentzVector &  m,
bool  useObjEmbRes 
)

Definition at line 227 of file CLHEPHitFitTranslator.cc.

229 {
230 
231  return Fourvec (m.px(),m.py(),0.0,m.e());
232 
233 } // Fourvec METTranslatorBase<CLHEP::HepLorentzVector>::operator()(const CLHEP::HepLorentzVector& m)
CLHEP::HepLorentzVector Fourvec
Typedef for a HepLorentzVector.
Definition: fourvec.h:58

Member Data Documentation

template<class AMet>
Resolution hitfit::METTranslatorBase< AMet >::resolution_
private

The resolution.

Definition at line 119 of file METTranslatorBase.h.