![]() |
|
|||
File indexing completed on 2023-03-17 11:26:07
0001 // 0002 // 0003 // File : interface/METTranslatorBase.h 0004 // Author : Haryo Sumowidagdo <Suharyo.Sumowidagdo@cern.ch> 0005 // Purpose: Template class of function object to translate missing transverse 0006 // energy physics object to HitFit's Fourvec object. 0007 // 0008 0009 /** 0010 @file METTranslatorBase.h 0011 0012 @brief Template class of function object to translate missing transverse 0013 energy object to HitFit's Fourvec object. 0014 0015 @author Haryo Sumowidagdo <Suharyo.Sumowidagdo@cern.ch> 0016 0017 @par Creation date: 0018 Nov-2009 0019 0020 @par Terms of Usage: 0021 With consent from the original author (Haryo Sumowidagdo). 0022 */ 0023 0024 #ifndef HitFit_METTranslatorBase_h 0025 #define HitFit_METTranslatorBase_h 0026 0027 #include "TopQuarkAnalysis/TopHitFit/interface/EtaDepResolution.h" 0028 #include "TopQuarkAnalysis/TopHitFit/interface/fourvec.h" 0029 0030 namespace hitfit { 0031 0032 /** 0033 @class METTranslatorBase. 0034 0035 @brief Template class of function object to translate missing 0036 transverse energy physics object to HitFit's Fourvec object. Users 0037 need to write an implementation of a template specialization of this 0038 class for their missing transverse energy physics object class, 0039 Then users combine this header file and their implementation for their 0040 analysis code. With this approach, it is possible to use HitFit for 0041 different missing transverse energy physics object class 0042 indifferent experiments. 0043 0044 @param AMet The typename of the missing transverse energy physics 0045 object class be translated into HitFit's Fourvec. 0046 0047 */ 0048 template <class AMet> 0049 class METTranslatorBase { 0050 public: 0051 /** 0052 @brief Default constructor. 0053 */ 0054 METTranslatorBase(); 0055 0056 /** 0057 @brief Constructor, instantiate a METTranslatorBase object 0058 using the name of and input file in std::string format. 0059 0060 @param ifile The path of the input file. 0061 */ 0062 METTranslatorBase(const std::string& ifile); 0063 0064 /** 0065 @brief Destructor. 0066 */ 0067 ~METTranslatorBase(); 0068 0069 /** 0070 @brief Convert a missing transverse energy object of type AMet 0071 into HitFit four-momentum object of type Fourvec. 0072 0073 @param met The missing transverse energy object to be translated. 0074 0075 @param useObjEmbRes Boolean parameter to indicate if the 0076 user would like to use the resolution embedded in the object, 0077 and not the resolution read when instantiating the class. 0078 */ 0079 Fourvec operator()(const AMet& met, bool useObjEmbRes = false); 0080 0081 /** 0082 @brief Return the \f$ k_{T} \f$ resolution corresponding to 0083 an instance of missing transverse energy object. 0084 0085 @param met The missing transverse energy object whose 0086 resolution is wished to be known. 0087 0088 @param useObjEmbRes Boolean parameter to indicate if the 0089 user would like to use the resolution embedded in the object, 0090 and not the resolution read when instantiating the class. 0091 */ 0092 Resolution KtResolution(const AMet& met, bool useObjEmbRes = false) const; 0093 0094 /** 0095 @brief Alias for KtResolution(AMet& met) 0096 0097 @param met The missing transverse energy object whose 0098 resolution is wished to be known. 0099 0100 @param useObjEmbRes Boolean parameter to indicate if the 0101 user would like to use the resolution embedded in the object, 0102 and not the resolution read when instantiating the class. 0103 */ 0104 Resolution METResolution(const AMet& met, bool useObjEmbRes = false) const; 0105 0106 private: 0107 /** 0108 @brief The resolution. 0109 */ 0110 Resolution resolution_; 0111 }; 0112 0113 } // namespace hitfit 0114 0115 #endif // #ifndef HitFit_METTranslatorBase_h
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.2.1 LXR engine. The LXR team |
![]() ![]() |