00001 // 00002 // $Id: JetTranslatorBase.h,v 1.3 2011/07/11 07:59:12 mseidel Exp $ 00003 // 00004 00020 #ifndef HitFit_JetTranslatorBase_h 00021 #define HitFit_JetTranslatorBase_h 00022 00023 #include "TopQuarkAnalysis/TopHitFit/interface/EtaDepResolution.h" 00024 #include "TopQuarkAnalysis/TopHitFit/interface/Lepjets_Event_Jet.h" 00025 #include "TopQuarkAnalysis/TopHitFit/interface/fourvec.h" 00026 00027 namespace hitfit{ 00028 00029 00045 template <class AJet> 00046 class JetTranslatorBase { 00047 00048 public: 00049 00053 JetTranslatorBase(); 00054 00066 JetTranslatorBase(const std::string& udscFile, 00067 const std::string& bFile); 00068 00086 JetTranslatorBase(const std::string& udscFile, 00087 const std::string& bFile, 00088 const std::string& jetCorrectionLevel, 00089 double jes, 00090 double jesB); 00091 00095 ~JetTranslatorBase(); 00096 00112 Lepjets_Event_Jet operator()(const AJet& jet, 00113 int type = hitfit::unknown_label, 00114 bool useObjEmbRes = false); 00115 00120 const EtaDepResolution& udscResolution() const; 00121 00126 const EtaDepResolution& bResolution() const; 00127 00134 bool CheckEta(const AJet& jet) const; 00135 00136 00137 private: 00138 00142 EtaDepResolution udscResolution_; 00143 00147 EtaDepResolution bResolution_; 00148 00152 std::string jetCorrectionLevel_; 00153 00157 double jes_; 00158 00162 double jesB_; 00163 00164 }; 00165 00166 } // namespace hitfit 00167 00168 #endif // #ifndef HitFit_JetTranslatorBase_h