00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef ATLFAST_JET_H
00021 #define ATLFAST_JET_H
00022
00023
00024
00025 #include "CLHEP/Vector/LorentzVector.h"
00026 #include "AtlfastCode/IKinematic.h"
00027
00028
00029 #include "GaudiKernel/ContainedObject.h"
00030 #include "GaudiKernel/ObjectVector.h"
00031 #include "GaudiKernel/SmartRefVector.h"
00032
00033
00034 #include "AtlfastCode/Cluster.h"
00035
00036
00037 static const CLID CLID_ATLFAST_Jet=2304 ;
00038
00039
00040 namespace Atlfast {
00041
00049
00050 class Jet :
00051 public IKinematic,
00052 public ContainedObject,
00053 public AssociationManager{
00054
00055 private:
00056
00058 HepLorentzVector m_momentum ;
00059 int m_flavor;
00060 bool m_tagged;
00062
00063 public:
00064
00065
00066
00067 Jet() : ContainedObject(), AssociationManager() {}
00068 Jet( const Cluster& cluster);
00069 Jet( const HepLorentzVector& vec, Cluster& cluster );
00070 void setMomentum(const HepLorentzVector& vec);
00071
00072
00073 static const CLID& classID() { return CLID_ATLFAST_Jet; }
00074 virtual const CLID& clID() const { return CLID_ATLFAST_Jet; }
00075
00076
00077 virtual HepLorentzVector momentum() const;
00078 virtual double eta() const;
00079 virtual double phi() const;
00080 virtual double pT() const;
00081 virtual double eT() const;
00082 virtual double mT() const;
00083 virtual double px() const;
00084 virtual double py() const;
00085 virtual double pz() const;
00086
00087 double e() const;
00088
00089
00090 void setBTag();
00091 void setCTag();
00092 void setTauTag(int tauTag);
00093 void setUntagged();
00094
00095 bool isBTag() const;
00096 bool isCTag() const;
00097 bool isTauTag() const;
00098 bool isTagged() const;
00099 int pdg_id() const;
00100
00101
00102
00103 virtual StreamBuffer& serialize(StreamBuffer& s);
00104
00105
00106 virtual StreamBuffer& serialize(StreamBuffer& s) const;
00107 };
00108 }
00109
00110
00111 #endif
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123