00001 #ifndef TtSemiLepSignalSel_h 00002 #define TtSemiLepSignalSel_h 00003 00004 #include <vector> 00005 #include "TMath.h" 00006 #include "Math/VectorUtil.h" 00007 00008 #include "DataFormats/PatCandidates/interface/Jet.h" 00009 #include "DataFormats/PatCandidates/interface/MET.h" 00010 00011 class TtSemiLepSignalSel { 00012 // common calculator class for likelihood 00013 // variables in semi leptonic ttbar decays 00014 public: 00015 00016 TtSemiLepSignalSel(); 00017 TtSemiLepSignalSel(const std::vector<pat::Jet>&, math::XYZTLorentzVector, const edm::View<pat::MET>&); 00018 ~TtSemiLepSignalSel(); 00019 00020 double sumEt() const { return var_sumEt; } 00021 double Et1() const { return var_Et1/var_sumEt; } 00022 double lepeta() const { return fabs(var_lepeta); } 00023 double MET() const { return var_MET; } 00024 00025 double dphiMETlepton() const { return var_dphiMETlepton; } 00026 00027 double detajet2jet3() const { return var_detajet2jet3; } 00028 double detajet3jet4() const { return var_detajet3jet4; } 00029 00030 double mindijetmass() const { return var_mindijetmass/massalljets; } 00031 double maxdijetmass() const { return var_maxdijetmass/massalljets; } 00032 00033 double mindRjetlepton() const { return var_mindRjetlepton; } 00034 00035 00036 double DeltaPhi(math::XYZTLorentzVector, math::XYZTLorentzVector); 00037 double DeltaR(math::XYZTLorentzVector, math::XYZTLorentzVector); 00038 00039 private: 00040 00041 double var_sumEt; 00042 double var_Et1; 00043 double var_lepeta; 00044 double var_MET; 00045 00046 double var_dphiMETlepton; 00047 00048 double var_detajet2jet3; 00049 double var_detajet3jet4; 00050 00051 double var_mindijetmass; 00052 double var_maxdijetmass; 00053 00054 double var_mindRjetlepton; 00055 00056 00057 double massalljets; 00058 }; 00059 00060 #endif