Go to the documentation of this file.00001 #ifndef SimDataFormats_JetMatching_JetFlavour_H
00002 #define SimDataFormats_JetMatching_JetFlavour_H
00003
00004 #include <vector>
00005 #include "DataFormats/Math/interface/Point3D.h"
00006 #include "DataFormats/Math/interface/LorentzVector.h"
00007
00008 namespace reco
00009 {
00017 class JetFlavour
00018 {
00019 public:
00021 typedef math::XYZTLorentzVector LorentzVector;
00023 typedef math::XYZPoint Point;
00025 struct Leptons {
00026 int electron;
00027 int muon;
00028 int tau;
00029
00030 Leptons() : electron(0), muon(0), tau(0) {}
00031 };
00032
00033 JetFlavour(void) { }
00034 JetFlavour(LorentzVector lv, const Point &pt, int fl, const Leptons &le)
00035 : m_partonMomentum(lv), m_partonVertex(pt), m_flavour(fl), m_leptons(le) {}
00036 JetFlavour(LorentzVector lv, Point pt, int fl)
00037 : m_partonMomentum(lv), m_partonVertex(pt), m_flavour(fl) {}
00038
00039 const LorentzVector getLorentzVector() const {return m_partonMomentum;}
00040 const Point getPartonVertex() const {return m_partonVertex; }
00041 const int getFlavour() const {return m_flavour; }
00042 const Leptons getLeptons() const {return m_leptons; }
00043
00044 private:
00045 LorentzVector m_partonMomentum;
00046 Point m_partonVertex;
00047 int m_flavour;
00048 Leptons m_leptons;
00049 };
00050
00051 }
00052 #endif