File indexing completed on 2024-04-06 12:27:42
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019 #include <memory>
0020
0021 #include "FWCore/Framework/interface/Frameworkfwd.h"
0022 #include "FWCore/Framework/interface/global/EDProducer.h"
0023 #include "FWCore/Framework/interface/Event.h"
0024 #include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h"
0025 #include "DataFormats/BeamSpot/interface/BeamSpot.h"
0026 #include "DataFormats/VertexReco/interface/Vertex.h"
0027 #include "DataFormats/VertexReco/interface/VertexFwd.h"
0028 #include "DataFormats/TrackReco/interface/Track.h"
0029 #include "DataFormats/RecoCandidate/interface/RecoCandidate.h"
0030 #include "DataFormats/HLTReco/interface/TriggerFilterObjectWithRefs.h"
0031
0032 class VertexFromTrackProducer : public edm::global::EDProducer<> {
0033 public:
0034 explicit VertexFromTrackProducer(const edm::ParameterSet&);
0035
0036 void produce(edm::StreamID, edm::Event&, const edm::EventSetup&) const override;
0037
0038 static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0039
0040 private:
0041
0042 const edm::EDGetTokenT<edm::View<reco::Track> > trackToken;
0043 const edm::EDGetTokenT<edm::View<reco::RecoCandidate> > candidateToken;
0044 const edm::EDGetTokenT<trigger::TriggerFilterObjectWithRefs> triggerFilterElectronsSrc;
0045 const edm::EDGetTokenT<trigger::TriggerFilterObjectWithRefs> triggerFilterMuonsSrc;
0046 const edm::EDGetTokenT<edm::View<reco::Vertex> > vertexLabel;
0047 const edm::EDGetTokenT<reco::BeamSpot> beamSpotLabel;
0048
0049
0050 const bool fIsRecoCandidate;
0051 const bool fUseBeamSpot;
0052 const bool fUseVertex;
0053 const bool fUseTriggerFilterElectrons, fUseTriggerFilterMuons;
0054 const bool fVerbose;
0055 };