CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | Friends
reco::PFRecHit Class Reference

Particle flow rechit (rechit + geometry and topology information). See clustering algorithm in PFClusterAlgo. More...

#include <PFRecHit.h>

Public Types

enum  { NONE =0 }
 
typedef
ROOT::Math::PositionVector3D
< ROOT::Math::CylindricalEta3D
< double > > 
REPPoint
 
typedef std::vector< REPPointREPPointVector
 

Public Member Functions

void addNeighbour (short x, short y, short z, const PFRecHitRef &)
 
void calculatePositionREP ()
 
void clearNeighbours ()
 
int depth () const
 depth for segemntation More...
 
unsigned detId () const
 rechit detId More...
 
double energy () const
 rechit energy More...
 
const math::XYZVectorgetAxisXYZ () const
 rechit cell axis x, y, z More...
 
const std::vector< REPPoint > & getCornersREP () const
 
const std::vector
< math::XYZPoint > & 
getCornersXYZ () const
 rechit corners More...
 
const PFRecHitRef getNeighbour (short x, short y, short z)
 
PFLayer::Layer layer () const
 rechit layer More...
 
const std::vector< unsigned
short > & 
neighbourInfos ()
 
const PFRecHitRefVectorneighbours () const
 
const PFRecHitRefVectorneighbours4 () const
 
const PFRecHitRefVectorneighbours8 () const
 
bool operator< (const PFRecHit &rhs) const
 comparison < operator More...
 
bool operator<= (const PFRecHit &rhs) const
 comparison <= operator More...
 
bool operator> (const PFRecHit &rhs) const
 comparison > operator More...
 
bool operator>= (const PFRecHit &rhs) const
 comparison >= operator More...
 
const edm::RefToBase
< CaloRecHit > & 
originalRecHit () const
 
 PFRecHit ()
 default constructor. Sets energy and position to zero More...
 
 PFRecHit (unsigned detId, PFLayer::Layer layer, double energy, const math::XYZPoint &posxyz, const math::XYZVector &axisxyz, const std::vector< math::XYZPoint > &cornersxyz)
 constructor from values More...
 
 PFRecHit (unsigned detId, PFLayer::Layer layer, double energy, double posx, double posy, double posz, double axisx, double axisy, double axisz)
 
 PFRecHit (const PFRecHit &other)
 copy More...
 
const math::XYZPointposition () const
 rechit cell centre x, y, z More...
 
const REPPointpositionREP () const
 
double pt2 () const
 rechit momentum transverse to the beam, squared. More...
 
void setDepth (int depth)
 
void setEnergy (double energy)
 
void setNECorner (double posx, double posy, double posz)
 
void setNWCorner (double posx, double posy, double posz)
 
template<typename T >
void setOriginalRecHit (const T &rh)
 
void setSECorner (double posx, double posy, double posz)
 
void setSWCorner (double posx, double posy, double posz)
 
void setTime (double time)
 
void size (double &deta, double &dphi) const
 
double time () const
 timing for cleaned hits More...
 
virtual ~PFRecHit ()
 destructor More...
 

Private Member Functions

void setCorner (unsigned i, double posx, double posy, double posz)
 set position of one of the corners More...
 

Private Attributes

math::XYZVector axisxyz_
 rechit cell axisxyz More...
 
std::vector< REPPointcornersrep_
 rechit cell corners rho/eta/phi More...
 
std::vector< math::XYZPointcornersxyz_
 rechit cell corners More...
 
int depth_
 depth More...
 
unsigned detId_
 C cell detid - should be detid or index in collection ? More...
 
double energy_
 rechit energy More...
 
PFLayer::Layer layer_
 rechit layer More...
 
std::vector< unsigned short > neighbourInfos_
 
PFRecHitRefVector neighbours4_
 
PFRecHitRefVector neighbours8_
 
PFRecHitRefVector neighbours_
 indices to existing neighbours (1 common side) More...
 
edm::RefToBase< CaloRecHitoriginalRecHit_
 
math::XYZPoint position_
 rechit cell centre: x, y, z More...
 
REPPoint positionrep_
 rechit cell centre: rho, eta, phi (transient) More...
 
double time_
 time More...
 

Static Private Attributes

static const unsigned nCorners_ = 4
 number of corners More...
 

Friends

std::ostream & operator<< (std::ostream &out, const reco::PFRecHit &hit)
 

Detailed Description

Particle flow rechit (rechit + geometry and topology information). See clustering algorithm in PFClusterAlgo.

Author
Colin Bernet
Date
July 2006

Feb 2014 [Michalis: 8 years later!Modifying the class to be able to generalize the neighbours for 3D calorimeters ]

Definition at line 35 of file PFRecHit.h.

Member Typedef Documentation

typedef ROOT::Math::PositionVector3D<ROOT::Math::CylindricalEta3D<double> > reco::PFRecHit::REPPoint

Definition at line 42 of file PFRecHit.h.

Definition at line 44 of file PFRecHit.h.

Member Enumeration Documentation

anonymous enum
Enumerator
NONE 

Definition at line 46 of file PFRecHit.h.

46  {
47  NONE=0
48  };

Constructor & Destructor Documentation

PFRecHit::PFRecHit ( )

default constructor. Sets energy and position to zero

Definition at line 7 of file PFRecHit.cc.

References calculatePositionREP(), cornersxyz_, i, nCorners_, and position_.

7  :
8  detId_(0),
10  energy_(0.),
11  time_(-1.),
12  depth_(0),
13  position_(math::XYZPoint(0.,0.,0.))
14 {
15 
16  cornersxyz_.reserve( nCorners_ );
17  for(unsigned i=0; i<nCorners_; i++) {
18  cornersxyz_.push_back( position_ );
19  }
21 }
int i
Definition: DBlmapReader.cc:9
std::vector< math::XYZPoint > cornersxyz_
rechit cell corners
Definition: PFRecHit.h:202
unsigned detId_
C cell detid - should be detid or index in collection ?
Definition: PFRecHit.h:177
int depth_
depth
Definition: PFRecHit.h:190
double time_
time
Definition: PFRecHit.h:186
PFLayer::Layer layer_
rechit layer
Definition: PFRecHit.h:180
double energy_
rechit energy
Definition: PFRecHit.h:183
void calculatePositionREP()
Definition: PFRecHit.cc:121
math::XYZPoint position_
rechit cell centre: x, y, z
Definition: PFRecHit.h:193
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
static const unsigned nCorners_
number of corners
Definition: PFRecHit.h:217
PFRecHit::PFRecHit ( unsigned  detId,
PFLayer::Layer  layer,
double  energy,
const math::XYZPoint posxyz,
const math::XYZVector axisxyz,
const std::vector< math::XYZPoint > &  cornersxyz 
)

constructor from values

Definition at line 24 of file PFRecHit.cc.

References calculatePositionREP().

29  :
30  detId_(detId),
31  layer_(layer),
32  energy_(energy),
33  time_(-1.),
34  depth_(0),
36  axisxyz_(axisxyz),
37  cornersxyz_(cornersxyz)
38 {
40 }
std::vector< math::XYZPoint > cornersxyz_
rechit cell corners
Definition: PFRecHit.h:202
unsigned detId_
C cell detid - should be detid or index in collection ?
Definition: PFRecHit.h:177
unsigned detId() const
rechit detId
Definition: PFRecHit.h:106
int depth_
depth
Definition: PFRecHit.h:190
double time_
time
Definition: PFRecHit.h:186
PFLayer::Layer layer_
rechit layer
Definition: PFRecHit.h:180
double energy_
rechit energy
Definition: PFRecHit.h:183
PFLayer::Layer layer() const
rechit layer
Definition: PFRecHit.h:109
math::XYZVector axisxyz_
rechit cell axisxyz
Definition: PFRecHit.h:199
const math::XYZPoint & position() const
rechit cell centre x, y, z
Definition: PFRecHit.h:131
void calculatePositionREP()
Definition: PFRecHit.cc:121
math::XYZPoint position_
rechit cell centre: x, y, z
Definition: PFRecHit.h:193
double energy() const
rechit energy
Definition: PFRecHit.h:112
PFRecHit::PFRecHit ( unsigned  detId,
PFLayer::Layer  layer,
double  energy,
double  posx,
double  posy,
double  posz,
double  axisx,
double  axisy,
double  axisz 
)

Definition at line 42 of file PFRecHit.cc.

References calculatePositionREP(), cornersxyz_, i, nCorners_, and position_.

46  :
47 
48  detId_(detId),
49  layer_(layer),
50  energy_(energy),
51  time_(-1.),
52  depth_(0),
53  position_(posx, posy, posz),
54  axisxyz_(axisx, axisy, axisz) {
55 
56  cornersxyz_.reserve( nCorners_ );
57  for(unsigned i=0; i<nCorners_; i++) {
58  cornersxyz_.push_back( position_ );
59  }
60 
62 
63 }
int i
Definition: DBlmapReader.cc:9
std::vector< math::XYZPoint > cornersxyz_
rechit cell corners
Definition: PFRecHit.h:202
unsigned detId_
C cell detid - should be detid or index in collection ?
Definition: PFRecHit.h:177
unsigned detId() const
rechit detId
Definition: PFRecHit.h:106
int depth_
depth
Definition: PFRecHit.h:190
double time_
time
Definition: PFRecHit.h:186
PFLayer::Layer layer_
rechit layer
Definition: PFRecHit.h:180
double energy_
rechit energy
Definition: PFRecHit.h:183
PFLayer::Layer layer() const
rechit layer
Definition: PFRecHit.h:109
math::XYZVector axisxyz_
rechit cell axisxyz
Definition: PFRecHit.h:199
void calculatePositionREP()
Definition: PFRecHit.cc:121
math::XYZPoint position_
rechit cell centre: x, y, z
Definition: PFRecHit.h:193
double energy() const
rechit energy
Definition: PFRecHit.h:112
static const unsigned nCorners_
number of corners
Definition: PFRecHit.h:217
PFRecHit::PFRecHit ( const PFRecHit other)

copy

Definition at line 66 of file PFRecHit.cc.

66  :
68  detId_(other.detId_),
69  layer_(other.layer_),
70  energy_(other.energy_),
71  time_(other.time_),
72  depth_(other.depth_),
73  position_(other.position_),
75  axisxyz_(other.axisxyz_),
76  cornersxyz_(other.cornersxyz_),
77  cornersrep_(other.cornersrep_),
78  neighbours_(other.neighbours_),
82 {}
std::vector< math::XYZPoint > cornersxyz_
rechit cell corners
Definition: PFRecHit.h:202
unsigned detId_
C cell detid - should be detid or index in collection ?
Definition: PFRecHit.h:177
PFRecHitRefVector neighbours4_
Definition: PFRecHit.h:212
int depth_
depth
Definition: PFRecHit.h:190
double time_
time
Definition: PFRecHit.h:186
PFLayer::Layer layer_
rechit layer
Definition: PFRecHit.h:180
std::vector< unsigned short > neighbourInfos_
Definition: PFRecHit.h:209
double energy_
rechit energy
Definition: PFRecHit.h:183
math::XYZVector axisxyz_
rechit cell axisxyz
Definition: PFRecHit.h:199
edm::RefToBase< CaloRecHit > originalRecHit_
Definition: PFRecHit.h:174
PFRecHitRefVector neighbours8_
Definition: PFRecHit.h:213
math::XYZPoint position_
rechit cell centre: x, y, z
Definition: PFRecHit.h:193
PFRecHitRefVector neighbours_
indices to existing neighbours (1 common side)
Definition: PFRecHit.h:208
std::vector< REPPoint > cornersrep_
rechit cell corners rho/eta/phi
Definition: PFRecHit.h:205
REPPoint positionrep_
rechit cell centre: rho, eta, phi (transient)
Definition: PFRecHit.h:196
PFRecHit::~PFRecHit ( )
virtual

destructor

Definition at line 86 of file PFRecHit.cc.

87 {}

Member Function Documentation

void PFRecHit::addNeighbour ( short  x,
short  y,
short  z,
const PFRecHitRef ref 
)

Definition at line 133 of file PFRecHit.cc.

References funct::abs(), neighbourInfos_, neighbours4_, neighbours8_, neighbours_, and edm::RefVector< C, T, F >::push_back().

Referenced by PFRecHitNavigatorBase::associateNeighbour(), and PFRecHitCaloNavigatorWithTime< EEDetId, EcalEndcapTopology >::associateNeighbour().

133  {
134  //bitmask interface to accomodate more advanced naighbour finding [i.e in z as well]
135  //bit 0 side for eta [0 for <=0 , 1 for >0]
136  //bits 1,2,3 : abs(eta) wrt the center
137  //bit 4 side for phi
138  //bits 5,6,7 : abs(phi) wrt the center
139  //bit 8 side for z
140  //bits 9,10,11 : abs(z) wrt the center
141 
142  unsigned short absx = abs(x);
143  unsigned short absy = abs(y);
144  unsigned short absz = abs(z);
145 
146  unsigned short bitmask=0;
147 
148 
149  if (x>0)
150  bitmask = bitmask | 1 ;
151  bitmask = bitmask | (absx << 1);
152  if (y>0)
153  bitmask = bitmask | (1<<4) ;
154  bitmask = bitmask | (absy << 5);
155  if (z>0)
156  bitmask = bitmask | (1<<8) ;
157  bitmask = bitmask | (absz << 9);
158 
159  neighbours_.push_back(ref);
160  neighbourInfos_.push_back(bitmask);
161 
162  if (z==0) {
163  neighbours8_.push_back(ref);
164  //find only the 4 neighbours
165  if (absx+absy==1)
166  neighbours4_.push_back(ref);
167  }
168 }
PFRecHitRefVector neighbours4_
Definition: PFRecHit.h:212
std::vector< unsigned short > neighbourInfos_
Definition: PFRecHit.h:209
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
PFRecHitRefVector neighbours8_
Definition: PFRecHit.h:213
PFRecHitRefVector neighbours_
indices to existing neighbours (1 common side)
Definition: PFRecHit.h:208
void push_back(value_type const &ref)
Add a Ref&lt;C, T&gt; to the RefVector.
Definition: RefVector.h:62
void PFRecHit::calculatePositionREP ( )

Definition at line 121 of file PFRecHit.cc.

References cornersrep_, cornersxyz_, reco::tau::disc::Eta(), i, colinearityKinematic::Phi, position_, and positionrep_.

Referenced by PFRecHit().

121  {
122  positionrep_.SetCoordinates( position_.Rho(),
123  position_.Eta(),
124  position_.Phi() );
125  cornersrep_.resize(cornersxyz_.size());
126  for( unsigned i = 0; i < cornersxyz_.size(); ++i ) {
127  cornersrep_[i].SetCoordinates(cornersxyz_[i].Rho(),
128  cornersxyz_[i].Eta(),
129  cornersxyz_[i].Phi());
130  }
131 }
int i
Definition: DBlmapReader.cc:9
std::vector< math::XYZPoint > cornersxyz_
rechit cell corners
Definition: PFRecHit.h:202
math::XYZPoint position_
rechit cell centre: x, y, z
Definition: PFRecHit.h:193
std::vector< REPPoint > cornersrep_
rechit cell corners rho/eta/phi
Definition: PFRecHit.h:205
REPPoint positionrep_
rechit cell centre: rho, eta, phi (transient)
Definition: PFRecHit.h:196
void reco::PFRecHit::clearNeighbours ( )
inline

Definition at line 80 of file PFRecHit.h.

References edm::RefVector< C, T, F >::clear(), and neighbours_.

80  {
82  }
void clear()
Clear the vector.
Definition: RefVector.h:139
PFRecHitRefVector neighbours_
indices to existing neighbours (1 common side)
Definition: PFRecHit.h:208
int reco::PFRecHit::depth ( ) const
inline

depth for segemntation

Definition at line 119 of file PFRecHit.h.

References depth_.

Referenced by setDepth().

119 { return depth_; }
int depth_
depth
Definition: PFRecHit.h:190
unsigned reco::PFRecHit::detId ( ) const
inline
double reco::PFRecHit::energy ( ) const
inline
const math::XYZVector& reco::PFRecHit::getAxisXYZ ( ) const
inline

rechit cell axis x, y, z

Definition at line 137 of file PFRecHit.h.

References axisxyz_.

137 { return axisxyz_; }
math::XYZVector axisxyz_
rechit cell axisxyz
Definition: PFRecHit.h:199
const std::vector<REPPoint>& reco::PFRecHit::getCornersREP ( ) const
inline

Definition at line 143 of file PFRecHit.h.

References cornersrep_.

Referenced by LinkByRecHit::testTrackAndClusterByRecHit().

143 { return cornersrep_; }
std::vector< REPPoint > cornersrep_
rechit cell corners rho/eta/phi
Definition: PFRecHit.h:205
const std::vector< math::XYZPoint >& reco::PFRecHit::getCornersXYZ ( ) const
inline

rechit corners

Definition at line 140 of file PFRecHit.h.

References cornersxyz_.

Referenced by LinkByRecHit::testECALAndPSByRecHit(), and LinkByRecHit::testTrackAndClusterByRecHit().

141  { return cornersxyz_; }
std::vector< math::XYZPoint > cornersxyz_
rechit cell corners
Definition: PFRecHit.h:202
const PFRecHitRef PFRecHit::getNeighbour ( short  x,
short  y,
short  z 
)

Definition at line 171 of file PFRecHit.cc.

References funct::abs(), i, neighbourInfos_, and neighbours_.

171  {
172  unsigned short absx = abs(x);
173  unsigned short absy = abs(y);
174  unsigned short absz = abs(z);
175 
176  unsigned short bitmask=0;
177 
178  if (x>0)
179  bitmask = bitmask | 1 ;
180  bitmask = bitmask | (absx << 1);
181  if (y>0)
182  bitmask = bitmask | (1<<4) ;
183  bitmask = bitmask | (absy << 5);
184  if (z>0)
185  bitmask = bitmask | (1<<8) ;
186  bitmask = bitmask | (absz << 9);
187 
188  for (unsigned int i=0;i<neighbourInfos_.size();++i) {
189  if (neighbourInfos_[i] == bitmask)
190  return neighbours_[i];
191  }
192  return PFRecHitRef();
193 }
int i
Definition: DBlmapReader.cc:9
std::vector< unsigned short > neighbourInfos_
Definition: PFRecHit.h:209
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
edm::Ref< PFRecHitCollection > PFRecHitRef
persistent reference to PFRecHit objects
Definition: PFRecHitFwd.h:15
PFRecHitRefVector neighbours_
indices to existing neighbours (1 common side)
Definition: PFRecHit.h:208
PFLayer::Layer reco::PFRecHit::layer ( ) const
inline
const std::vector<unsigned short>& reco::PFRecHit::neighbourInfos ( )
inline

Definition at line 95 of file PFRecHit.h.

References neighbourInfos_.

95  {
96  return neighbourInfos_;
97  }
std::vector< unsigned short > neighbourInfos_
Definition: PFRecHit.h:209
const PFRecHitRefVector& reco::PFRecHit::neighbours ( ) const
inline

Definition at line 91 of file PFRecHit.h.

References neighbours_.

Referenced by LocalMaximumSeedFinder::findSeeds().

91  {
92  return neighbours_;
93  }
PFRecHitRefVector neighbours_
indices to existing neighbours (1 common side)
Definition: PFRecHit.h:208
const PFRecHitRefVector& reco::PFRecHit::neighbours4 ( ) const
inline

Definition at line 84 of file PFRecHit.h.

References neighbours4_.

Referenced by RBXAndHPDCleaner::clean(), SpikeAndDoubleSpikeCleaner::clean(), and LocalMaximumSeedFinder::findSeeds().

84  {
85  return neighbours4_;
86  }
PFRecHitRefVector neighbours4_
Definition: PFRecHit.h:212
const PFRecHitRefVector& reco::PFRecHit::neighbours8 ( ) const
inline

Definition at line 87 of file PFRecHit.h.

References neighbours8_.

Referenced by LocalMaximumSeedFinder::findSeeds().

87  {
88  return neighbours8_;
89  }
PFRecHitRefVector neighbours8_
Definition: PFRecHit.h:213
bool reco::PFRecHit::operator< ( const PFRecHit rhs) const
inline

comparison < operator

Definition at line 157 of file PFRecHit.h.

References energy_.

157 { return (energy_< rhs.energy_); }
double energy_
rechit energy
Definition: PFRecHit.h:183
bool reco::PFRecHit::operator<= ( const PFRecHit rhs) const
inline

comparison <= operator

Definition at line 154 of file PFRecHit.h.

References energy_.

154 { return (energy_<=rhs.energy_); }
double energy_
rechit energy
Definition: PFRecHit.h:183
bool reco::PFRecHit::operator> ( const PFRecHit rhs) const
inline

comparison > operator

Definition at line 151 of file PFRecHit.h.

References energy_.

151 { return (energy_> rhs.energy_); }
double energy_
rechit energy
Definition: PFRecHit.h:183
bool reco::PFRecHit::operator>= ( const PFRecHit rhs) const
inline

comparison >= operator

Definition at line 148 of file PFRecHit.h.

References energy_.

148 { return (energy_>=rhs.energy_); }
double energy_
rechit energy
Definition: PFRecHit.h:183
const edm::RefToBase<CaloRecHit>& reco::PFRecHit::originalRecHit ( ) const
inline

Definition at line 162 of file PFRecHit.h.

References originalRecHit_.

162  {
163  return originalRecHit_;
164  }
edm::RefToBase< CaloRecHit > originalRecHit_
Definition: PFRecHit.h:174
const math::XYZPoint& reco::PFRecHit::position ( ) const
inline

rechit cell centre x, y, z

Definition at line 131 of file PFRecHit.h.

References position_.

Referenced by KDTreeLinkerPSEcal::buildTree(), PFAlgo::checkCleaning(), RBXAndHPDCleaner::clean(), LinkByRecHit::testECALAndPSByRecHit(), and LinkByRecHit::testTrackAndClusterByRecHit().

131 { return position_; }
math::XYZPoint position_
rechit cell centre: x, y, z
Definition: PFRecHit.h:193
const REPPoint& reco::PFRecHit::positionREP ( ) const
inline

Definition at line 133 of file PFRecHit.h.

References positionrep_.

Referenced by SpikeAndDoubleSpikeCleaner::clean(), LocalMaximumSeedFinder::findSeeds(), and LinkByRecHit::testTrackAndClusterByRecHit().

133 { return positionrep_; }
REPPoint positionrep_
rechit cell centre: rho, eta, phi (transient)
Definition: PFRecHit.h:196
double reco::PFRecHit::pt2 ( ) const
inline

rechit momentum transverse to the beam, squared.

Definition at line 122 of file PFRecHit.h.

References energy_, and position_.

Referenced by LocalMaximumSeedFinder::findSeeds().

122  { return energy_ * energy_ *
123  ( position_.X()*position_.X() +
124  position_.Y()*position_.Y() ) /
125  ( position_.X()*position_.X() +
126  position_.Y()*position_.Y() +
127  position_.Z()*position_.Z()) ; }
double energy_
rechit energy
Definition: PFRecHit.h:183
math::XYZPoint position_
rechit cell centre: x, y, z
Definition: PFRecHit.h:193
void PFRecHit::setCorner ( unsigned  i,
double  posx,
double  posy,
double  posz 
)
private

set position of one of the corners

Definition at line 110 of file PFRecHit.cc.

References assert(), cornersrep_, cornersxyz_, reco::tau::disc::Eta(), i, nCorners_, and colinearityKinematic::Phi.

Referenced by setNECorner(), setNWCorner(), setSECorner(), and setSWCorner().

110  {
111  assert( cornersxyz_.size() == nCorners_);
112  assert( i<cornersxyz_.size() );
113 
114  cornersxyz_[i] = math::XYZPoint( posx, posy, posz);
115  cornersrep_[i] = REPPoint( cornersxyz_[i].Rho(),
116  cornersxyz_[i].Eta(),
117  cornersxyz_[i].Phi() );
118 }
int i
Definition: DBlmapReader.cc:9
std::vector< math::XYZPoint > cornersxyz_
rechit cell corners
Definition: PFRecHit.h:202
assert(m_qm.get())
ROOT::Math::PositionVector3D< ROOT::Math::CylindricalEta3D< double > > REPPoint
Definition: PFRecHit.h:42
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
std::vector< REPPoint > cornersrep_
rechit cell corners rho/eta/phi
Definition: PFRecHit.h:205
static const unsigned nCorners_
number of corners
Definition: PFRecHit.h:217
void reco::PFRecHit::setDepth ( int  depth)
inline

Definition at line 79 of file PFRecHit.h.

References depth(), and depth_.

Referenced by PFPSRecHitCreator::importRecHits(), and PFHBHERecHitCreatorMaxSample::importRecHits().

79 { depth_ = depth; }
int depth_
depth
Definition: PFRecHit.h:190
int depth() const
depth for segemntation
Definition: PFRecHit.h:119
void reco::PFRecHit::setEnergy ( double  energy)
inline

Definition at line 72 of file PFRecHit.h.

References energy(), and energy_.

Referenced by PFHFRecHitCreator::importRecHits(), and PFRecHitQTestHCALCalib29::test().

72 { energy_ = energy; }
double energy_
rechit energy
Definition: PFRecHit.h:183
double energy() const
rechit energy
Definition: PFRecHit.h:112
void PFRecHit::setNECorner ( double  posx,
double  posy,
double  posz 
)

Definition at line 105 of file PFRecHit.cc.

References setCorner().

Referenced by PFCTRecHitProducer::createHcalRecHit(), and PFPSRecHitCreator::importRecHits().

105  {
106  setCorner(3, posx, posy, posz);
107 }
void setCorner(unsigned i, double posx, double posy, double posz)
set position of one of the corners
Definition: PFRecHit.cc:110
void PFRecHit::setNWCorner ( double  posx,
double  posy,
double  posz 
)

Definition at line 90 of file PFRecHit.cc.

References setCorner().

Referenced by PFCTRecHitProducer::createHcalRecHit(), and PFPSRecHitCreator::importRecHits().

90  {
91  setCorner(0, posx, posy, posz);
92 }
void setCorner(unsigned i, double posx, double posy, double posz)
set position of one of the corners
Definition: PFRecHit.cc:110
template<typename T >
void reco::PFRecHit::setOriginalRecHit ( const T rh)
inline

Definition at line 167 of file PFRecHit.h.

References originalRecHit_.

167  {
169  }
edm::RefToBase< CaloRecHit > originalRecHit_
Definition: PFRecHit.h:174
void PFRecHit::setSECorner ( double  posx,
double  posy,
double  posz 
)

Definition at line 100 of file PFRecHit.cc.

References setCorner().

Referenced by PFCTRecHitProducer::createHcalRecHit(), and PFPSRecHitCreator::importRecHits().

100  {
101  setCorner(2, posx, posy, posz);
102 }
void setCorner(unsigned i, double posx, double posy, double posz)
set position of one of the corners
Definition: PFRecHit.cc:110
void PFRecHit::setSWCorner ( double  posx,
double  posy,
double  posz 
)

Definition at line 95 of file PFRecHit.cc.

References setCorner().

Referenced by PFCTRecHitProducer::createHcalRecHit(), and PFPSRecHitCreator::importRecHits().

95  {
96  setCorner(1, posx, posy, posz);
97 }
void setCorner(unsigned i, double posx, double posy, double posz)
set position of one of the corners
Definition: PFRecHit.cc:110
void reco::PFRecHit::setTime ( double  time)
inline
void PFRecHit::size ( double &  deta,
double &  dphi 
) const

Definition at line 196 of file PFRecHit.cc.

References cornersxyz_, eta, and phi().

196  {
197 
198  double minphi=9999;
199  double maxphi=-9999;
200  double mineta=9999;
201  double maxeta=-9999;
202  for ( unsigned ic=0; ic<cornersxyz_.size(); ++ic ) {
203  double eta = cornersxyz_[ic].Eta();
204  double phi = cornersxyz_[ic].Phi();
205 
206  if(phi>maxphi) maxphi=phi;
207  if(phi<minphi) minphi=phi;
208  if(eta>maxeta) maxeta=eta;
209  if(eta<mineta) mineta=eta;
210  }
211 
212  deta = maxeta - mineta;
213  dphi = maxphi - minphi;
214 }
std::vector< math::XYZPoint > cornersxyz_
rechit cell corners
Definition: PFRecHit.h:202
double reco::PFRecHit::time ( ) const
inline

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  out,
const reco::PFRecHit hit 
)
friend

Member Data Documentation

math::XYZVector reco::PFRecHit::axisxyz_
private

rechit cell axisxyz

Definition at line 199 of file PFRecHit.h.

Referenced by getAxisXYZ().

std::vector< REPPoint > reco::PFRecHit::cornersrep_
private

rechit cell corners rho/eta/phi

Definition at line 205 of file PFRecHit.h.

Referenced by calculatePositionREP(), getCornersREP(), and setCorner().

std::vector< math::XYZPoint > reco::PFRecHit::cornersxyz_
private

rechit cell corners

Definition at line 202 of file PFRecHit.h.

Referenced by calculatePositionREP(), getCornersXYZ(), PFRecHit(), setCorner(), and size().

int reco::PFRecHit::depth_
private

depth

Definition at line 190 of file PFRecHit.h.

Referenced by depth(), and setDepth().

unsigned reco::PFRecHit::detId_
private

C cell detid - should be detid or index in collection ?

Definition at line 177 of file PFRecHit.h.

Referenced by detId().

double reco::PFRecHit::energy_
private

rechit energy

Definition at line 183 of file PFRecHit.h.

Referenced by energy(), operator<(), operator<=(), operator>(), operator>=(), pt2(), and setEnergy().

PFLayer::Layer reco::PFRecHit::layer_
private

rechit layer

Definition at line 180 of file PFRecHit.h.

Referenced by layer().

const unsigned PFRecHit::nCorners_ = 4
staticprivate

number of corners

Definition at line 217 of file PFRecHit.h.

Referenced by PFRecHit(), and setCorner().

std::vector< unsigned short > reco::PFRecHit::neighbourInfos_
private

Definition at line 209 of file PFRecHit.h.

Referenced by addNeighbour(), getNeighbour(), and neighbourInfos().

PFRecHitRefVector reco::PFRecHit::neighbours4_
private

Definition at line 212 of file PFRecHit.h.

Referenced by addNeighbour(), and neighbours4().

PFRecHitRefVector reco::PFRecHit::neighbours8_
private

Definition at line 213 of file PFRecHit.h.

Referenced by addNeighbour(), and neighbours8().

PFRecHitRefVector reco::PFRecHit::neighbours_
private

indices to existing neighbours (1 common side)

Definition at line 208 of file PFRecHit.h.

Referenced by addNeighbour(), clearNeighbours(), getNeighbour(), and neighbours().

edm::RefToBase<CaloRecHit> reco::PFRecHit::originalRecHit_
private

Definition at line 174 of file PFRecHit.h.

Referenced by originalRecHit(), and setOriginalRecHit().

math::XYZPoint reco::PFRecHit::position_
private

rechit cell centre: x, y, z

Definition at line 193 of file PFRecHit.h.

Referenced by calculatePositionREP(), PFRecHit(), position(), and pt2().

REPPoint reco::PFRecHit::positionrep_
private

rechit cell centre: rho, eta, phi (transient)

Definition at line 196 of file PFRecHit.h.

Referenced by calculatePositionREP(), and positionREP().

double reco::PFRecHit::time_
private

time

Definition at line 186 of file PFRecHit.h.

Referenced by setTime(), and time().