CMS 3D CMS Logo

PFNuclearInteraction.h
Go to the documentation of this file.
1 #ifndef _PFNuclarInteraction_H
2 #define _PFNuclarInteraction_H
3 
4 // class which contains the secondary PFRecTracks
5 // this dataformat will be used to create PFBlockElementNuclTrack
6 
7 // \author vincent roberfroid
8 
13 
14 namespace reco {
16 
17  public :
20 
21  public :
22 
24  PFNuclearInteraction( const NuclearInteractionRef& nuclref, const PFRecTrackRefVector& pfSeconds) : nuclInterRef_(nuclref), pfSecTracks_(pfSeconds) {}
25 
27  const edm::RefToBase<reco::Track>& primaryTrack() const { return nuclInterRef_->primaryTrack(); }
28 
30  trackRef_iterator secondaryTracks_begin() const { return nuclInterRef_->secondaryTracks_begin(); }
31 
33  trackRef_iterator secondaryTracks_end() const { return nuclInterRef_->secondaryTracks_end(); }
34 
36  pfTrackref_iterator secPFRecTracks_begin() const { return pfSecTracks_.begin(); }
37 
39  pfTrackref_iterator secPFRecTracks_end() const { return pfSecTracks_.end(); }
40 
42  double likelihood() const { return nuclInterRef_->likelihood(); }
43 
46 
47  int secondaryTracksSize() const { return nuclInterRef_->secondaryTracksSize(); }
48  private :
49  // Reference to the initial NuclearInteraction
51 
52  // Collection of the secondary PFRecTracks
54 
55  };
56 
58  typedef std::vector<PFNuclearInteraction> PFNuclearInteractionCollection;
63 }
64 #endif
PFRecTrackRefVector pfSecTracks_
trackRef_iterator secondaryTracks_begin() const
edm::RefVector< PFNuclearInteractionCollection > PFNuclearInteractionRefVector
vector of reference to Track in the same collection
const_iterator end() const
Termination of iteration.
Definition: RefVector.h:253
const_iterator begin() const
Initialize an iterator over the RefVector.
Definition: RefVector.h:248
NuclearInteractionRef nuclInterRef_
pfTrackref_iterator secPFRecTracks_end() const
trackRef_iterator secondaryTracks_end() const
std::vector< PFNuclearInteraction > PFNuclearInteractionCollection
collection of NuclearInteractions
reco::Vertex::trackRef_iterator trackRef_iterator
NuclearInteraction::trackRef_iterator trackRef_iterator
PFRecTrackRefVector::const_iterator pfTrackref_iterator
const edm::RefToBase< reco::Track > & primaryTrack() const
fixed size matrix
pfTrackref_iterator secPFRecTracks_begin() const
edm::Ref< PFNuclearInteractionCollection > PFNuclearInteractionRef
persistent reference to a NuclearInteraction
const NuclearInteractionRef & nuclInterRef() const
PFNuclearInteraction(const NuclearInteractionRef &nuclref, const PFRecTrackRefVector &pfSeconds)