ktjet is hosted by Hepforge, IPPP Durham

KtEvent.h

Go 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  doxygen 1.3.9.1