CMS 3D CMS Logo

ConversionTrack.h
Go to the documentation of this file.
1 //--------------------------------------------------------------------------------------------------
2 //
3 // ConversionTrack
4 //
5 // Wrapper class holding a pointer to reco::Track plus some various arbitration flags used to
6 // keep track of overlaps in photon conversion reconstruction. This class is intended to be used
7 // to build mixed collections of Track and GsfTracks from different sources and reconstruction
8 // algorithms to be used for inclusive conversion reconstruction.
9 //
10 // Authors: J.Bendavid
11 //--------------------------------------------------------------------------------------------------
12 
13 #ifndef EgammaReco_ConversionTrack_h
14 #define EgammaReco_ConversionTrack_h
15 
17 class Trajectory;
18 namespace reco {
20  public:
28  : track_(trk),
34  virtual ~ConversionTrack() {}
35 
36  const reco::Track *track() const { return track_.get(); }
37  const TrackBaseRef &trackRef() const { return track_; }
38  const edm::Ref<std::vector<Trajectory> > &trajRef() const { return traj_; }
39  void setTrajRef(edm::Ref<std::vector<Trajectory> > tr) { traj_ = tr; }
40  void setIsTrackerOnly(bool b) { isTrackerOnly_ = b; }
45  bool isTrackerOnly() const { return isTrackerOnly_; }
47  bool isArbitratedMerged() const { return isArbitratedMerged_; }
49  bool isGsfTrackOpen() const { return isGsfTrackOpen_; }
50 
51  private:
52  TrackBaseRef track_; //ptr to track
53  edm::Ref<std::vector<Trajectory> > traj_; //reference to a trajectory
54  bool isTrackerOnly_; //from general tracks collection
55  bool isGsfTrackOpen_; //from gsf track open sequence for low pt electrons for B
56  bool isArbitratedEcalSeeded_; //from in out or out-in ecal-seeded collections (arbitrated)
57  bool isArbitratedMerged_; //is arbitrated among all input collections
58  bool isArbitratedMergedEcalGeneral_; //is arbitrated among ecal-seeded and generalTracks
59  };
60 } // namespace reco
61 #endif
void setIsGsfTrackOpen(bool b)
void setIsArbitratedMergedEcalGeneral(bool b)
bool isArbitratedMergedEcalGeneral() const
bool isGsfTrackOpen() const
bool isTrackerOnly() const
void setTrajRef(edm::Ref< std::vector< Trajectory > > tr)
void setIsArbitratedEcalSeeded(bool b)
edm::Ref< std::vector< Trajectory > > traj_
bool isArbitratedMerged() const
const reco::Track * track() const
void setIsTrackerOnly(bool b)
ConversionTrack(const TrackBaseRef &trk)
double b
Definition: hdecay.h:118
const TrackBaseRef & trackRef() const
bool isArbitratedEcalSeeded() const
fixed size matrix
value_type const * get() const
Definition: RefToBase.h:209
const edm::Ref< std::vector< Trajectory > > & trajRef() const
void setIsArbitratedMerged(bool b)