CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 
18 class Trajectory;
19 namespace reco
20 {
22  {
23  public:
29  virtual ~ConversionTrack() {}
30 
31  const reco::Track *track() const { return track_.get(); }
32  const TrackBaseRef &trackRef() const { return track_; }
33  const edm::Ref<std::vector<Trajectory> > &trajRef() const { return traj_; }
34  void setTrajRef(edm::Ref<std::vector<Trajectory> > tr) { traj_ = tr; }
35  void setIsTrackerOnly(bool b) { isTrackerOnly_ = b; }
39  bool isTrackerOnly() const { return isTrackerOnly_;}
41  bool isArbitratedMerged() const { return isArbitratedMerged_;}
43 
44 
45 
46 
47  private:
48  TrackBaseRef track_; //ptr to track
49  edm::Ref<std::vector<Trajectory> > traj_; //reference to a trajectory
50  bool isTrackerOnly_; //from general tracks collection
51  bool isArbitratedEcalSeeded_; //from in out or out-in ecal-seeded collections (arbitrated)
52  bool isArbitratedMerged_; //is arbitrated among all input collections
53  bool isArbitratedMergedEcalGeneral_; //is arbitrated among ecal-seeded and generalTracks
54  };
55 }
56 #endif
void setIsArbitratedMergedEcalGeneral(bool b)
bool isArbitratedEcalSeeded() const
void setTrajRef(edm::Ref< std::vector< Trajectory > > tr)
void setIsArbitratedEcalSeeded(bool b)
bool isArbitratedMerged() const
edm::Ref< std::vector< Trajectory > > traj_
const edm::Ref< std::vector< Trajectory > > & trajRef() const
void setIsTrackerOnly(bool b)
bool isArbitratedMergedEcalGeneral() const
ConversionTrack(const TrackBaseRef &trk)
bool isTrackerOnly() const
double b
Definition: hdecay.h:120
const TrackBaseRef & trackRef() const
volatile std::atomic< bool > shutdown_flag false
value_type const * get() const
Definition: RefToBase.h:212
const reco::Track * track() const
void setIsArbitratedMerged(bool b)