00001 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00002 // 18.08.2007, AUTHOR: OLIVER KORTNER 00003 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00004 00005 #ifndef MPIHiggsAnalysis_VertexCollectorH 00006 #define MPIHiggsAnalysis_VertexCollectorH 00007 00008 //::::::::::::::::::::::::::: 00009 //:: CLASS VertexCollector :: 00010 //::::::::::::::::::::::::::: 00011 00028 00029 //:::::::::::::::::: 00030 //:: HEADER FILES :: 00031 //:::::::::::::::::: 00032 00033 // Gaudi // 00034 #include "GaudiKernel/Algorithm.h" 00035 00036 // AtlasCore // 00037 #include "StoreGate/StoreGateSvc.h" 00038 00039 // STL // 00040 #include <string> 00041 00042 // HiggsAnalysis // 00043 #include "HiggsAnalysis/VertexCollectionSvc.h" 00044 00045 namespace MPIHiggsAnalysis { 00046 00047 class VertexCollector : public Algorithm { 00048 00049 public: 00050 // Constructor // 00051 VertexCollector(const std::string & name, ISvcLocator * svcloc); 00053 00054 // Destructor // 00055 ~VertexCollector(void); 00057 00058 // Methods // 00059 // methods required by the base class // 00060 StatusCode initialize(void); 00062 StatusCode execute(void); 00065 StatusCode finalize(void); 00067 00068 private: 00069 // job options // 00070 std::string m_track_particle_container_name; // name of the container 00071 // of track particles 00072 std::string m_primary_vertex_container; // name of the vertex container 00073 std::string m_vert_coll_svc_name; // name of the output vertex 00074 // collection 00075 00076 // ATHENA services // 00077 StoreGateSvc *m_storeGate; // pointer to the store gate 00078 MsgStream *m_log; // pointer to the message stream 00079 VertexCollectionSvc *m_vert_coll; // pointer to the output vertex 00080 // collection 00081 00082 }; 00083 00084 } 00085 00086 #endif