Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members

TMBSecondaryVertex.hpp

Go to the documentation of this file.
00001 #ifndef TMB_TREE_TMBSECONDARYVERTEX_HPP__
00002 #define TMB_TREE_TMBSECONDARYVERTEX_HPP__
00003 
00005 //                                                                      //
00006 // TMBTree Secondary vertex class                                         //
00007 //                                                                      //
00009 
00010 #include "tmb_tree/TMBPrimaryVertex.hpp"
00011 
00016 class TMBSecondaryVertex : public TMBVertex {
00017 
00018 private:
00019 
00020   // Attributes.
00021 
00022   TRef _primary_vertex;
00023 
00024   // PV-related transient attributes.
00025 
00026   mutable std::vector<double> _pv_pos;  
00027   mutable std::vector<double> _pv_err;  
00028   mutable double _decay_len_xy;         
00029   mutable double _decay_len_z;          
00030   mutable double _decay_len_xyz;        
00031   mutable double _decay_sig_xy;         
00032   mutable double _decay_sig_z;          
00033   mutable double _decay_sig_xyz;        
00034   mutable double _colinearity;          
00035 
00036 public:
00037   TMBSecondaryVertex();
00038   TMBSecondaryVertex(Float_t vertexx, Float_t vertexy, Float_t vertexz,
00039                      Float_t covxx, Float_t covyy, Float_t covzz, 
00040                      Float_t covxy, Float_t covxz, Float_t covyz,
00041                      Float_t chisq, const TRefArray* tracks,
00042                      const TMBLorentzVector& smoothed_momentum,
00043                      const TRef& primary_vertex);
00044   ~TMBSecondaryVertex() {}
00045 
00046   const TMBPrimaryVertex& GetPrimaryVertex() const {
00047       return *(const TMBPrimaryVertex*)_primary_vertex.GetObject();
00048   }
00049 
00050   Float_t GetDecayLenXY() const {fill_pv_attributes(); return _decay_len_xy;}
00051   Float_t GetDecayLenZ() const {fill_pv_attributes(); return _decay_len_z;}
00052   Float_t GetDecayLenXYZ() const {fill_pv_attributes(); return _decay_len_xyz;}
00053   Float_t GetDecaySigXY() const {fill_pv_attributes(); return _decay_sig_xy;}
00054   Float_t GetDecaySigZ() const {fill_pv_attributes(); return _decay_sig_z;}
00055   Float_t GetDecaySigXYZ() const {fill_pv_attributes(); return _decay_sig_xyz;}
00056   Float_t GetColinearity() const {fill_pv_attributes(); return _colinearity;}
00057 
00058  private:
00059 
00060   void fill_pv_attributes() const;
00061 
00062   ClassDef(TMBSecondaryVertex, 1);
00063 };
00064 
00065 #endif // TMB_TREE_TMBSECONDARYVERTEX_HPP__

Generated on Tue Mar 28 10:13:05 2006 for CAF by doxygen 1.3.4