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