HiggsAnalysis/HiggsAnalysis-00-01-00/HiggsAnalysis/MyTruthTrackJetInfoContainer.h

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 // HiggsAnalysis //
00032 #include "HiggsAnalysis/Vertex.h"
00033 
00034 class MyTruthTrackJetInfoContainer {
00035 
00036 public:
00037 // Methods //
00038         static MyTruthTrackJetInfoContainer * getTruthTrackJetInfoContainer();
00041         std::vector<Hep3Vector> vertex(void) const;
00043         std::vector<double> Et(void) const;
00046         std::vector<unsigned int> numberOfTracks(void) const;
00049         void clear(void);
00051         void setVertex(const std::vector<Hep3Vector> & vert);
00053 
00054         void setEt(const std::vector<double> & E_T);
00057         void setNumberOfTracks(const std::vector<unsigned int> & nb);
00060 
00061         void setVertices(const std::vector<MPIHiggsAnalysis::Vertex> & vert);
00063         void sortVerticesAscendingInEt(void); 
00065         std::vector<MPIHiggsAnalysis::Vertex> getVertices(void) const;
00070         void setVertexCut(const double & cut);
00072         double getVertexCut(void) const;
00074 
00075 private:
00076 // constructor //
00077         MyTruthTrackJetInfoContainer(void) {
00078                 m_vertex.clear();
00079                 m_Et.clear();
00080                 m_nb_tracks.clear();
00081                 m_vertices.clear();
00082                 m_vertex_cut = 0.;
00083         };
00084 
00085 // variables //
00086         static MyTruthTrackJetInfoContainer *m_container;
00087                                         // pointer to the singleton
00088         std::vector<Hep3Vector> m_vertex; // vertex of the truth track jets
00089         std::vector<double> m_Et; // transverse energy of the vertex
00090         std::vector<unsigned int> m_nb_tracks; // number of tracks from the
00091                                                // vertices
00092         std::vector<MPIHiggsAnalysis::Vertex> m_vertices; // vertices of the truth track jets
00093         double m_vertex_cut;  //vertex_cut used in truth track jet reco
00094 };
00095 
00096 #endif

Generated on Tue Oct 21 11:50:42 2008 for NtupleAnalysis by  doxygen 1.5.1