PFV0

Macros

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
#ifndef DataFormats_ParticleFlowReco_PFV0_h
#define DataFormats_ParticleFlowReco_PFV0_h

#include "DataFormats/TrackReco/interface/Track.h"
#include "DataFormats/ParticleFlowReco/interface/PFRecTrack.h"
#include "DataFormats/ParticleFlowReco/interface/PFRecTrackFwd.h"
#include "DataFormats/ParticleFlowReco/interface/PFV0Fwd.h"
#include "DataFormats/Candidate/interface/VertexCompositeCandidate.h"
#include "DataFormats/Candidate/interface/VertexCompositeCandidateFwd.h"
#include <iostream>
#include <vector>

class Conversion;

namespace reco {

  class PFV0 {
  public:
    /// Default constructor
    PFV0() {}

    PFV0(const reco::VertexCompositeCandidateRef V0,
         const std::vector<reco::PFRecTrackRef>& pftr,
         const std::vector<reco::TrackRef>& tr)
        : originalV0_(V0), pfTracks_(pftr), tracks_(tr) {}

    /// destructor
    ~PFV0() {}

    /// Ref to the original V0
    const reco::VertexCompositeCandidateRef& originalV0() const { return originalV0_; }

    /// Vector of a Refs of PFRecTrack
    const std::vector<reco::PFRecTrackRef>& pfTracks() const { return pfTracks_; }

    /// Vector of a Refs of Track
    const std::vector<reco::TrackRef>& Tracks() const { return tracks_; }

  private:
    reco::VertexCompositeCandidateRef originalV0_;
    std::vector<reco::PFRecTrackRef> pfTracks_;
    std::vector<reco::TrackRef> tracks_;
  };

}  // namespace reco

#endif