File indexing completed on 2024-04-06 12:25:20
0001 #ifndef HIBestVertexProducer_H
0002 #define HIBestVertexProducer_H
0003
0004 #include "FWCore/Framework/interface/stream/EDProducer.h"
0005 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0006 #include "DataFormats/BeamSpot/interface/BeamSpot.h"
0007 #include "DataFormats/VertexReco/interface/Vertex.h"
0008 #include "DataFormats/VertexReco/interface/VertexFwd.h"
0009
0010 namespace edm {
0011 class Event;
0012 class EventSetup;
0013 class ConfigurationDescriptions;
0014 }
0015
0016 class HIBestVertexProducer : public edm::stream::EDProducer<> {
0017 public:
0018 explicit HIBestVertexProducer(const edm::ParameterSet& ps);
0019 ~HIBestVertexProducer() override;
0020 void produce(edm::Event& ev, const edm::EventSetup& es) override;
0021 static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0022
0023 private:
0024 void beginJob();
0025 edm::ParameterSet theConfig;
0026 edm::EDGetTokenT<reco::BeamSpot> theBeamSpotTag;
0027 edm::EDGetTokenT<reco::VertexCollection> theMedianVertexCollection;
0028 edm::EDGetTokenT<reco::VertexCollection> theAdaptiveVertexCollection;
0029 edm::EDGetTokenT<reco::VertexCollection> theFinalAdaptiveVertexCollection;
0030 bool theUseFinalAdaptiveVertexCollection;
0031 };
0032 #endif