CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/DataFormats/EgammaReco/src/ElectronSeed.cc

Go to the documentation of this file.
00001 
00002 #include "DataFormats/EgammaReco/interface/ElectronSeed.h"
00003 #include "DataFormats/TrackReco/interface/Track.h"
00004 
00005 using namespace reco ;
00006 
00007 
00008 ElectronSeed::ElectronSeed()
00009  : TrajectorySeed(), ctfTrack_(), caloCluster_(), hitsMask_(0),
00010    subDet2_(0),
00011    dRz2_(std::numeric_limits<float>::infinity()),
00012    dPhi2_(std::numeric_limits<float>::infinity()),
00013    dRz2Pos_(std::numeric_limits<float>::infinity()),
00014    dPhi2Pos_(std::numeric_limits<float>::infinity()),
00015    subDet1_(0),
00016    dRz1_(std::numeric_limits<float>::infinity()),
00017    dPhi1_(std::numeric_limits<float>::infinity()),
00018    dRz1Pos_(std::numeric_limits<float>::infinity()),
00019    dPhi1Pos_(std::numeric_limits<float>::infinity()),
00020    hcalDepth1OverEcal_(std::numeric_limits<float>::infinity()),
00021    hcalDepth2OverEcal_(std::numeric_limits<float>::infinity()),
00022    isEcalDriven_(false), isTrackerDriven_(false)
00023  {}
00024 
00025 ElectronSeed::ElectronSeed
00026  ( const TrajectorySeed & seed )
00027  : TrajectorySeed(seed),
00028    ctfTrack_(), caloCluster_(), hitsMask_(0),
00029    subDet2_(0),
00030    dRz2_(std::numeric_limits<float>::infinity()),
00031    dPhi2_(std::numeric_limits<float>::infinity()),
00032    dRz2Pos_(std::numeric_limits<float>::infinity()),
00033    dPhi2Pos_(std::numeric_limits<float>::infinity()),
00034    subDet1_(0),
00035    dRz1_(std::numeric_limits<float>::infinity()),
00036    dPhi1_(std::numeric_limits<float>::infinity()),
00037    dRz1Pos_(std::numeric_limits<float>::infinity()),
00038    dPhi1Pos_(std::numeric_limits<float>::infinity()),
00039    hcalDepth1OverEcal_(std::numeric_limits<float>::infinity()),
00040    hcalDepth2OverEcal_(std::numeric_limits<float>::infinity()),
00041    isEcalDriven_(false), isTrackerDriven_(false)
00042  {}
00043 
00044 ElectronSeed::ElectronSeed
00045  ( PTrajectoryStateOnDet & pts, recHitContainer & rh, PropagationDirection & dir )
00046  : TrajectorySeed(pts,rh,dir),
00047    ctfTrack_(), caloCluster_(), hitsMask_(0),
00048    subDet2_(0),
00049    dRz2_(std::numeric_limits<float>::infinity()),
00050    dPhi2_(std::numeric_limits<float>::infinity()),
00051    dRz2Pos_(std::numeric_limits<float>::infinity()),
00052    dPhi2Pos_(std::numeric_limits<float>::infinity()),
00053    subDet1_(0),
00054    dRz1_(std::numeric_limits<float>::infinity()),
00055    dPhi1_(std::numeric_limits<float>::infinity()),
00056    dRz1Pos_(std::numeric_limits<float>::infinity()),
00057    dPhi1Pos_(std::numeric_limits<float>::infinity()),
00058    hcalDepth1OverEcal_(std::numeric_limits<float>::infinity()),
00059    hcalDepth2OverEcal_(std::numeric_limits<float>::infinity()),
00060    isEcalDriven_(false), isTrackerDriven_(false)
00061  {}
00062 
00063 void ElectronSeed::setCtfTrack
00064  ( const CtfTrackRef & ctfTrack )
00065  {
00066   ctfTrack_ = ctfTrack ;
00067   isTrackerDriven_ = true ;
00068  }
00069 
00070 void ElectronSeed::setCaloCluster
00071  ( const CaloClusterRef & scl,
00072    unsigned char hitsMask,
00073    int subDet2, int subDet1,
00074    float hoe1, float hoe2 )
00075  {
00076   caloCluster_ = scl ;
00077   hitsMask_ = hitsMask ;
00078   isEcalDriven_ = true ;
00079   subDet2_ = subDet2 ;
00080   subDet1_ = subDet1 ;
00081   hcalDepth1OverEcal_ = hoe1 ;
00082   hcalDepth2OverEcal_ = hoe2 ;
00083  }
00084 
00085 void ElectronSeed::setNegAttributes
00086  ( float dRz2, float dPhi2, float dRz1, float dPhi1 )
00087  {
00088   dRz2_ = dRz2 ;
00089   dPhi2_ = dPhi2 ;
00090   dRz1_ = dRz1 ;
00091   dPhi1_ = dPhi1 ;
00092  }
00093 
00094 void ElectronSeed::setPosAttributes
00095  ( float dRz2, float dPhi2, float dRz1, float dPhi1 )
00096  {
00097   dRz2Pos_ = dRz2 ;
00098   dPhi2Pos_ = dPhi2 ;
00099   dRz1Pos_ = dRz1 ;
00100   dPhi1Pos_ = dPhi1 ;
00101  }
00102 
00103 ElectronSeed::~ElectronSeed()
00104  {}
00105