00001 #ifndef TtFullHadSignalSel_h 00002 #define TtFullHadSignalSel_h 00003 00004 #include <vector> 00005 #include "TMath.h" 00006 #include "Math/VectorUtil.h" 00007 00008 #include "DataFormats/PatCandidates/interface/Jet.h" 00009 00010 #include "PhysicsTools/CandUtils/interface/EventShapeVariables.h" 00011 00012 class TtFullHadSignalSel { 00013 // common calculator class for likelihood 00014 // variables in fully hadronic ttbar decays 00015 public: 00016 00017 TtFullHadSignalSel(); 00018 TtFullHadSignalSel(const std::vector<pat::Jet>&); 00019 ~TtFullHadSignalSel(); 00020 00021 double H() const { return H_; } 00022 double Ht() const { return Ht_; } 00023 double Ht123() const { return Ht123_; } 00024 double Ht3jet() const { return Ht3jet_; } 00025 double sqrt_s() const { return sqrt_s_; } 00026 double Et56() const { return Et56_; } 00027 double M3() const { return M3_; } 00028 00029 double TCHP_Bjets() const { return TCHP_Bjets_; } 00030 double SSV_Bjets() const { return SSV_Bjets_; } 00031 double CSV_Bjets() const { return CSV_Bjets_; } 00032 double SM_Bjets() const { return SM_Bjets_; } 00033 00034 double TCHP_Bjet1() const { return TCHP_Bjet1_; } 00035 double TCHP_Bjet2() const { return TCHP_Bjet2_; } 00036 double TCHP_Bjet3() const { return TCHP_Bjet3_; } 00037 double TCHP_Bjet4() const { return TCHP_Bjet4_; } 00038 double TCHP_Bjet5() const { return TCHP_Bjet5_; } 00039 double TCHP_Bjet6() const { return TCHP_Bjet6_; } 00040 double SSV_Bjet1() const { return SSV_Bjet1_; } 00041 double SSV_Bjet2() const { return SSV_Bjet2_; } 00042 double SSV_Bjet3() const { return SSV_Bjet3_; } 00043 double SSV_Bjet4() const { return SSV_Bjet4_; } 00044 double SSV_Bjet5() const { return SSV_Bjet5_; } 00045 double SSV_Bjet6() const { return SSV_Bjet6_; } 00046 double CSV_Bjet1() const { return CSV_Bjet1_; } 00047 double CSV_Bjet2() const { return CSV_Bjet2_; } 00048 double CSV_Bjet3() const { return CSV_Bjet3_; } 00049 double CSV_Bjet4() const { return CSV_Bjet4_; } 00050 double CSV_Bjet5() const { return CSV_Bjet5_; } 00051 double CSV_Bjet6() const { return CSV_Bjet6_; } 00052 double SM_Bjet1() const { return SM_Bjet1_; } 00053 double SM_Bjet2() const { return SM_Bjet2_; } 00054 double SM_Bjet3() const { return SM_Bjet3_; } 00055 double SM_Bjet4() const { return SM_Bjet4_; } 00056 double SM_Bjet5() const { return SM_Bjet5_; } 00057 double SM_Bjet6() const { return SM_Bjet6_; } 00058 00059 double pt1() const { return pt1_; } 00060 double pt2() const { return pt2_; } 00061 double pt3() const { return pt3_; } 00062 double pt4() const { return pt4_; } 00063 double pt5() const { return pt5_; } 00064 double pt6() const { return pt6_; } 00065 00066 double pt1_pt2() const { return (pt1_ - pt2_); } 00067 double pt1_pt3() const { return (pt1_ - pt3_); } 00068 double pt1_pt4() const { return (pt1_ - pt4_); } 00069 double pt1_pt5() const { return (pt1_ - pt5_); } 00070 double pt1_pt6() const { return (pt1_ - pt6_); } 00071 double pt2_pt3() const { return (pt2_ - pt3_); } 00072 double pt2_pt4() const { return (pt2_ - pt4_); } 00073 double pt2_pt5() const { return (pt2_ - pt5_); } 00074 double pt2_pt6() const { return (pt2_ - pt6_); } 00075 double pt3_pt4() const { return (pt3_ - pt4_); } 00076 double pt3_pt5() const { return (pt3_ - pt5_); } 00077 double pt3_pt6() const { return (pt3_ - pt6_); } 00078 double pt4_pt5() const { return (pt4_ - pt5_); } 00079 double pt4_pt6() const { return (pt4_ - pt6_); } 00080 double pt5_pt6() const { return (pt5_ - pt6_); } 00081 00082 double pt1_pt2_norm() const { return ((pt1_ - pt2_)/(pt1_ + pt2_)); } 00083 double pt1_pt3_norm() const { return ((pt1_ - pt3_)/(pt1_ + pt3_)); } 00084 double pt1_pt4_norm() const { return ((pt1_ - pt4_)/(pt1_ + pt4_)); } 00085 double pt1_pt5_norm() const { return ((pt1_ - pt5_)/(pt1_ + pt5_)); } 00086 double pt1_pt6_norm() const { return ((pt1_ - pt6_)/(pt1_ + pt6_)); } 00087 double pt2_pt3_norm() const { return ((pt2_ - pt3_)/(pt2_ + pt3_)); } 00088 double pt2_pt4_norm() const { return ((pt2_ - pt4_)/(pt2_ + pt4_)); } 00089 double pt2_pt5_norm() const { return ((pt2_ - pt5_)/(pt2_ + pt5_)); } 00090 double pt2_pt6_norm() const { return ((pt2_ - pt6_)/(pt2_ + pt6_)); } 00091 double pt3_pt4_norm() const { return ((pt3_ - pt4_)/(pt3_ + pt4_)); } 00092 double pt3_pt5_norm() const { return ((pt3_ - pt5_)/(pt3_ + pt5_)); } 00093 double pt3_pt6_norm() const { return ((pt3_ - pt6_)/(pt3_ + pt6_)); } 00094 double pt4_pt5_norm() const { return ((pt4_ - pt5_)/(pt4_ + pt5_)); } 00095 double pt4_pt6_norm() const { return ((pt4_ - pt6_)/(pt4_ + pt6_)); } 00096 double pt5_pt6_norm() const { return ((pt5_ - pt6_)/(pt5_ + pt6_)); } 00097 00098 double jet1_etaetaMoment() const { return jet1_etaetaMoment_; } 00099 double jet2_etaetaMoment() const { return jet2_etaetaMoment_; } 00100 double jet3_etaetaMoment() const { return jet3_etaetaMoment_; } 00101 double jet4_etaetaMoment() const { return jet4_etaetaMoment_; } 00102 double jet5_etaetaMoment() const { return jet5_etaetaMoment_; } 00103 double jet6_etaetaMoment() const { return jet6_etaetaMoment_; } 00104 double jet1_etaphiMoment() const { return jet1_etaphiMoment_; } 00105 double jet2_etaphiMoment() const { return jet2_etaphiMoment_; } 00106 double jet3_etaphiMoment() const { return jet3_etaphiMoment_; } 00107 double jet4_etaphiMoment() const { return jet4_etaphiMoment_; } 00108 double jet5_etaphiMoment() const { return jet5_etaphiMoment_; } 00109 double jet6_etaphiMoment() const { return jet6_etaphiMoment_; } 00110 double jet1_phiphiMoment() const { return jet1_phiphiMoment_; } 00111 double jet2_phiphiMoment() const { return jet2_phiphiMoment_; } 00112 double jet3_phiphiMoment() const { return jet3_phiphiMoment_; } 00113 double jet4_phiphiMoment() const { return jet4_phiphiMoment_; } 00114 double jet5_phiphiMoment() const { return jet5_phiphiMoment_; } 00115 double jet6_phiphiMoment() const { return jet6_phiphiMoment_; } 00116 00117 double jets_etaetaMoment() const { return (jet1_etaetaMoment_ + jet2_etaetaMoment_ + jet3_etaetaMoment_ + jet4_etaetaMoment_ + jet5_etaetaMoment_ + jet6_etaetaMoment_); } 00118 double jets_etaphiMoment() const { return (jet1_etaphiMoment_ + jet2_etaphiMoment_ + jet3_etaphiMoment_ + jet4_etaphiMoment_ + jet5_etaphiMoment_ + jet6_etaphiMoment_); } 00119 double jets_phiphiMoment() const { return (jet1_phiphiMoment_ + jet2_phiphiMoment_ + jet3_phiphiMoment_ + jet4_phiphiMoment_ + jet5_phiphiMoment_ + jet6_phiphiMoment_); } 00120 00121 double aplanarity() const { return aplanarity_; } 00122 double sphericity() const { return sphericity_; } 00123 double circularity() const { return circularity_; } 00124 double isotropy() const { return isotropy_; } 00125 double C() const { return C_; } 00126 double D() const { return D_; } 00127 double centrality() const { return (Ht_/H_); } 00128 00129 double dRMin1() const { return dRMin1_; } 00130 double dRMin2() const { return dRMin2_; } 00131 double sumDR3JetMin1() const { return sumDR3JetMin1_; } 00132 double sumDR3JetMin2() const { return sumDR3JetMin2_; } 00133 00134 double dRMin1Mass() const { return dRMin1Mass_; } 00135 double dRMin2Mass() const { return dRMin2Mass_; } 00136 double sumDR3JetMin1Mass() const { return sumDR3JetMin1Mass_; } 00137 double sumDR3JetMin2Mass() const { return sumDR3JetMin2Mass_; } 00138 00139 private: 00140 00141 double H_; 00142 double Ht_; 00143 double Ht123_; 00144 double Ht3jet_; 00145 double sqrt_s_; 00146 double Et56_; 00147 double M3_; 00148 00149 double TCHP_Bjets_; 00150 double SSV_Bjets_; 00151 double CSV_Bjets_; 00152 double SM_Bjets_; 00153 00154 double TCHP_Bjet1_; 00155 double TCHP_Bjet2_; 00156 double TCHP_Bjet3_; 00157 double TCHP_Bjet4_; 00158 double TCHP_Bjet5_; 00159 double TCHP_Bjet6_; 00160 double SSV_Bjet1_; 00161 double SSV_Bjet2_; 00162 double SSV_Bjet3_; 00163 double SSV_Bjet4_; 00164 double SSV_Bjet5_; 00165 double SSV_Bjet6_; 00166 double CSV_Bjet1_; 00167 double CSV_Bjet2_; 00168 double CSV_Bjet3_; 00169 double CSV_Bjet4_; 00170 double CSV_Bjet5_; 00171 double CSV_Bjet6_; 00172 double SM_Bjet1_; 00173 double SM_Bjet2_; 00174 double SM_Bjet3_; 00175 double SM_Bjet4_; 00176 double SM_Bjet5_; 00177 double SM_Bjet6_; 00178 00179 double pt1_; 00180 double pt2_; 00181 double pt3_; 00182 double pt4_; 00183 double pt5_; 00184 double pt6_; 00185 00186 double jet1_etaetaMoment_; 00187 double jet2_etaetaMoment_; 00188 double jet3_etaetaMoment_; 00189 double jet4_etaetaMoment_; 00190 double jet5_etaetaMoment_; 00191 double jet6_etaetaMoment_; 00192 double jet1_etaphiMoment_; 00193 double jet2_etaphiMoment_; 00194 double jet3_etaphiMoment_; 00195 double jet4_etaphiMoment_; 00196 double jet5_etaphiMoment_; 00197 double jet6_etaphiMoment_; 00198 double jet1_phiphiMoment_; 00199 double jet2_phiphiMoment_; 00200 double jet3_phiphiMoment_; 00201 double jet4_phiphiMoment_; 00202 double jet5_phiphiMoment_; 00203 double jet6_phiphiMoment_; 00204 00205 double aplanarity_; 00206 double sphericity_; 00207 double circularity_; 00208 double isotropy_; 00209 double C_; 00210 double D_; 00211 00212 double dRMin1_; 00213 double dRMin2_; 00214 double sumDR3JetMin1_; 00215 double sumDR3JetMin2_; 00216 00217 double dRMin1Mass_; 00218 double dRMin2Mass_; 00219 double sumDR3JetMin1Mass_; 00220 double sumDR3JetMin2Mass_; 00221 }; 00222 00223 #endif