00001 // -*- C++ -*- 00002 // 00003 // Package: PrimaryVertexProducer 00004 // Class: PrimaryVertexProducer 00005 // 00013 // 00014 // Original Author: Pascal Vanlaer 00015 // Created: Tue Feb 28 11:06:34 CET 2006 00016 // $Id: PrimaryVertexProducer.h,v 1.10 2010/02/20 21:01:54 wmtan Exp $ 00017 // 00018 // 00019 00020 00021 // system include files 00022 #include <memory> 00023 00024 // user include files 00025 #include "FWCore/Framework/interface/Frameworkfwd.h" 00026 #include "FWCore/Framework/interface/EDProducer.h" 00027 00028 #include "FWCore/Framework/interface/Event.h" 00029 #include "FWCore/Framework/interface/EventSetup.h" 00030 00031 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00032 #include "FWCore/Utilities/interface/InputTag.h" 00033 00034 #include "RecoVertex/PrimaryVertexProducer/interface/PrimaryVertexProducerAlgorithm.h" 00035 00036 // 00037 // class declaration 00038 // 00039 00040 class PrimaryVertexProducer : public edm::EDProducer { 00041 public: 00042 explicit PrimaryVertexProducer(const edm::ParameterSet&); 00043 ~PrimaryVertexProducer(); 00044 00045 virtual void produce(edm::Event&, const edm::EventSetup&); 00046 00047 // access to config 00048 edm::ParameterSet config() const { return theConfig; } 00049 edm::InputTag trackLabel; 00050 edm::InputTag beamSpotLabel; 00051 00052 private: 00053 // ----------member data --------------------------- 00054 // vtx finding algorithm 00055 PrimaryVertexProducerAlgorithm theAlgo; 00056 00057 edm::ParameterSet theConfig; 00058 bool fVerbose; 00059 };