00001 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00002 // 09.08.2007, AUTHOR: OLIVER KORTNER 00003 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00004 00005 #ifndef MyTruthTrackJetInfoContainerH 00006 #define MyTruthTrackJetInfoContainerH 00007 00008 //::::::::::::::::::::::::::::::::::::::::: 00009 //:: CLASS MyTruthTrackJetInfoContainerH :: 00010 //::::::::::::::::::::::::::::::::::::::::: 00011 00020 00021 //:::::::::::::::::: 00022 //:: HEADER FILES :: 00023 //:::::::::::::::::: 00024 00025 // CLHEP // 00026 #include "CLHEP/Vector/ThreeVector.h" 00027 00028 // STL // 00029 #include <vector> 00030 00031 00032 class MyTruthTrackJetInfoContainer { 00033 00034 public: 00035 // Methods // 00036 static MyTruthTrackJetInfoContainer * getTruthTrackJetInfoContainer(); 00039 std::vector<Hep3Vector> vertex(void) const; 00041 std::vector<double> Et(void) const; 00044 std::vector<unsigned int> numberOfTracks(void) const; 00047 void clear(void); 00049 void setVertex(const std::vector<Hep3Vector> & vert); 00051 void setEt(const std::vector<double> & E_T); 00054 void setNumberOfTracks(const std::vector<unsigned int> & nb); 00057 00058 private: 00059 // constructor // 00060 MyTruthTrackJetInfoContainer(void) { 00061 m_vertex.clear(); 00062 m_Et.clear(); 00063 m_nb_tracks.clear(); 00064 }; 00065 00066 // variables // 00067 static MyTruthTrackJetInfoContainer *m_container; 00068 // pointer to the singleton 00069 std::vector<Hep3Vector> m_vertex; // vertex of the truth track jets 00070 std::vector<double> m_Et; // transverse energy of the vertex 00071 std::vector<unsigned int> m_nb_tracks; // number of tracks from the 00072 // vertices 00073 00074 }; 00075 00076 #endif