Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members
KtEvent.hGo to the documentation of this file.00001 #ifndef KTJET_KTEVENT_H 00002 #define KTJET_KTEVENT_H 00003 00004 #include "KtJet/KtUtil.h" 00005 #include "KtJet/KtDistanceInterface.h" 00006 #include "KtJet/KtJetTable.h" 00007 #include "KtJet/KtRecomInterface.h" 00008 #include <vector> 00009 #include <string> 00010 #include "CLHEP/Vector/LorentzVector.h" 00011 00012 00013 namespace KtJet { 00014 00015 class KtLorentzVector; 00016 00025 class KtEvent { 00026 public: 00028 KtEvent(const std::vector<KtLorentzVector> &, int type, int angle, int recom, 00029 KtFloat rparameter); 00030 KtEvent(const std::vector<KtLorentzVector> &, int type, KtDistance *, KtRecom *, 00031 KtFloat rparameter); 00032 KtEvent(const std::vector<KtLorentzVector> &, int type, KtDistance *, int recom, 00033 KtFloat rparameter); 00034 KtEvent(const std::vector<KtLorentzVector> &, int type, int angle, KtRecom *, 00035 KtFloat rparameter); 00036 KtEvent(const std::vector<CLHEPNAMESPACE HepLorentzVector> &, int type, int angle, int recom, 00037 KtFloat rparameter); 00039 KtEvent(const std::vector<KtLorentzVector> &, int type, int angle, int recom); 00040 KtEvent(const std::vector<KtLorentzVector> &, int type, KtDistance *, KtRecom *); 00041 KtEvent(const std::vector<KtLorentzVector> &, int type, KtDistance *, int recom); 00042 KtEvent(const std::vector<KtLorentzVector> &, int type, int angle, KtRecom *); 00043 KtEvent(const std::vector<CLHEPNAMESPACE HepLorentzVector> &, int type, int angle, int recom); 00045 KtEvent(const KtLorentzVector & jet, int angle, int recom); 00046 KtEvent(const KtLorentzVector & jet, KtDistance *, KtRecom *); 00047 KtEvent(const KtLorentzVector & jet, KtDistance *, int recom); 00048 KtEvent(const KtLorentzVector & jet, int angle, KtRecom *); 00050 ~KtEvent(); 00051 00053 void findJetsN(int nJets); 00055 void findJetsD(KtFloat dCut); 00057 void findJetsY(KtFloat yCut); 00058 00060 inline int getNJets() const; 00062 std::vector<KtLorentzVector> getJets(); 00064 std::vector<KtLorentzVector> getJetsE(); 00066 std::vector<KtLorentzVector> getJetsEt(); 00068 std::vector<KtLorentzVector> getJetsPt(); 00070 std::vector<KtLorentzVector> getJetsRapidity(); 00072 std::vector<KtLorentzVector> getJetsEta(); 00073 00075 inline KtFloat getDMerge(int nJets) const; 00077 inline KtFloat getYMerge(int nJets) const; 00078 00080 inline int getNConstituents() const; 00082 std::vector<const KtLorentzVector *> getConstituents() const; 00084 std::vector<KtLorentzVector> copyConstituents() const; 00085 00089 KtLorentzVector getJet(const KtLorentzVector &) const; 00090 00092 inline void setECut(KtFloat eCut); 00094 inline KtFloat getECut() const; 00096 inline KtFloat getETot() const; 00098 inline int getType() const; 00100 inline int getAngle() const; 00102 inline int getRecom() const; 00104 inline bool isInclusive() const; 00105 00106 private: 00107 00109 std::vector<KtLorentzVector> m_constituents; 00111 int m_type; 00113 int m_angle; 00115 int m_recom; 00116 KtRecom *m_ktRecom; 00118 KtFloat m_rParameterSq; 00120 bool m_inclusive; 00122 KtFloat m_eCut; 00124 KtFloat m_etsq; 00126 KtFloat m_eTot; 00128 std::vector<KtFloat> m_dMerge; 00130 std::vector<KtLorentzVector> m_jets; 00132 std::vector<int> m_hist; 00134 KtDistance *m_ktDist; 00135 00137 void init(const std::vector<KtLorentzVector> &, KtDistance* dist, int idist, KtRecom* recom, int irecom); 00139 void init(const KtLorentzVector & jet, KtDistance* dist, int idist, KtRecom* recom, int irecom); 00141 void addEnergy(); 00143 void makeJets(); 00145 void makeKtFromHepLV(std::vector<KtLorentzVector> &, const std::vector<CLHEPNAMESPACE HepLorentzVector> &); 00147 void setSchemes(KtDistance* dist, int idist, KtRecom* recom, int irecom); 00149 void printSteering(std::string mode="") const; 00151 void listAuthors() const; 00152 }; 00153 00154 #include "KtJet/KtEvent.icc" 00155 00156 }//end of namespace 00157 00158 #endif Generated on Fri Jul 22 18:08:08 2005 for KtJet by 1.3.9.1 |