59 produces<reco::TrackCollection>();
60 produces<reco::VertexCollection>();
61 produces<reco::VertexCollection>(
"secondary");
70 using namespace edm;
using namespace std;
using namespace reco;
80 std::auto_ptr< std::vector<reco::Track> > outTks(
new std::vector<reco::Track> );
81 std::map<unsigned int, std::vector<unsigned int> > asso;
82 std::map<unsigned int, unsigned int> trackKeys;
84 for(
unsigned int i=0;
i<cands->size();
i++) {
88 for(
size_t ipv=0;ipv< pvs->size(); ++ipv) {
90 asso[ipv].push_back(
j);
98 for(
unsigned int i = 0;
i < addTracks->size();
i++) {
99 outTks->push_back((*addTracks)[
i].pseudoTrack());
100 for(
size_t ipv=0;ipv< pvs->size(); ++ipv) {
102 asso[ipv].push_back(
j);
109 std::auto_ptr< std::vector<reco::Vertex> > outPv(
new std::vector<reco::Vertex> );
111 for(
size_t ipv=0;ipv< pvs->size(); ++ipv) {
113 for(
unsigned int i=0;
i<asso[ipv].size();
i++)
119 outPv->push_back(pv);
123 std::auto_ptr< std::vector<reco::Vertex> > outSv(
new std::vector<reco::Vertex> );
124 for(
size_t i=0;
i< svs->size();
i++) {
136 outSv->back().add(rr);
141 iEvent.
put(outSv,
"secondary");
virtual double vertexChi2() const
chi-squares
CandidatePtr daughterPtr(size_type i) const
reference to daughter at given position
bool getByToken(EDGetToken token, Handle< PROD > &result) const
virtual const Point & vertex() const
vertex position (overwritten by PF...)
#define DEFINE_FWK_MODULE(type)
~PATTrackAndVertexUnpacker()
std::vector< pat::PackedCandidate > PackedCandidateCollection
std::vector< Vertex > VertexCollection
collection of Vertex objects
std::vector< VertexCompositePtrCandidate > VertexCompositePtrCandidateCollection
collection of Candidate objects
edm::EDGetTokenT< reco::VertexCompositePtrCandidateCollection > SVs_
virtual double vertexCovariance(int i, int j) const
(i, j)-th element of error matrix, i, j = 0, ... 2
virtual size_t numberOfDaughters() const
number of daughters
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
const PVAssoc fromPV(size_t ipv=0) const
virtual void produce(edm::Event &iEvent, const edm::EventSetup &iSetup) override
virtual int charge() const
electric charge
virtual const reco::Track & pseudoTrack() const
Return reference to a pseudo track made with candidate kinematics, parameterized error for eta...
void add(const TrackBaseRef &r, float w=1.0)
add a reference to a Track
virtual double vertexNdof() const
edm::Ref< TrackCollection > TrackRef
persistent reference to a Track
ProductID id() const
Accessor for product ID.
edm::EDGetTokenT< std::vector< pat::PackedCandidate > > AdditionalTracks_
std::vector< edm::InputTag > VInputTag
edm::EDGetTokenT< std::vector< pat::PackedCandidate > > Cands_
PATTrackAndVertexUnpacker(const edm::ParameterSet &iConfig)
edm::EDGetTokenT< reco::VertexCollection > PVs_