File indexing completed on 2024-04-06 12:04:52
0001 #ifndef _PFNuclarInteraction_H
0002 #define _PFNuclarInteraction_H
0003
0004
0005
0006
0007
0008
0009 #include "DataFormats/VertexReco/interface/NuclearInteraction.h"
0010 #include "DataFormats/VertexReco/interface/NuclearInteractionFwd.h"
0011 #include "DataFormats/ParticleFlowReco/interface/PFRecTrack.h"
0012 #include "DataFormats/ParticleFlowReco/interface/PFRecTrackFwd.h"
0013
0014 namespace reco {
0015 class PFNuclearInteraction {
0016 public:
0017 typedef NuclearInteraction::trackRef_iterator trackRef_iterator;
0018 typedef PFRecTrackRefVector::const_iterator pfTrackref_iterator;
0019
0020 public:
0021 PFNuclearInteraction() {}
0022 PFNuclearInteraction(const NuclearInteractionRef& nuclref, const PFRecTrackRefVector& pfSeconds)
0023 : nuclInterRef_(nuclref), pfSecTracks_(pfSeconds) {}
0024
0025
0026 const edm::RefToBase<reco::Track>& primaryTrack() const { return nuclInterRef_->primaryTrack(); }
0027
0028
0029 trackRef_iterator secondaryTracks_begin() const { return nuclInterRef_->secondaryTracks_begin(); }
0030
0031
0032 trackRef_iterator secondaryTracks_end() const { return nuclInterRef_->secondaryTracks_end(); }
0033
0034
0035 pfTrackref_iterator secPFRecTracks_begin() const { return pfSecTracks_.begin(); }
0036
0037
0038 pfTrackref_iterator secPFRecTracks_end() const { return pfSecTracks_.end(); }
0039
0040
0041 double likelihood() const { return nuclInterRef_->likelihood(); }
0042
0043
0044 const NuclearInteractionRef& nuclInterRef() const { return nuclInterRef_; }
0045
0046 int secondaryTracksSize() const { return nuclInterRef_->secondaryTracksSize(); }
0047
0048 private:
0049
0050 NuclearInteractionRef nuclInterRef_;
0051
0052
0053 PFRecTrackRefVector pfSecTracks_;
0054 };
0055
0056
0057 typedef std::vector<PFNuclearInteraction> PFNuclearInteractionCollection;
0058
0059 typedef edm::Ref<PFNuclearInteractionCollection> PFNuclearInteractionRef;
0060
0061 typedef edm::RefVector<PFNuclearInteractionCollection> PFNuclearInteractionRefVector;
0062 }
0063 #endif