CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch13/src/TopQuarkAnalysis/TopEventSelection/interface/TtFullHadSignalSel.h

Go to the documentation of this file.
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