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 < Double32_t > > | REPPoint |
typedef std::vector< REPPoint > | REPPointVector |
Public Member Functions | |
void | add4Neighbour (unsigned index) |
void | add8Neighbour (unsigned index) |
void | calculatePositionREP () |
calculates rho eta phi position once and for all More... | |
void | clearNeighbours () |
unsigned | detId () const |
rechit detId More... | |
double | energy () const |
rechit energy More... | |
double | energyUp () const |
For HF hits: rechit energy (and neighbour's) in the other HF layer. More... | |
const math::XYZVector & | getAxisXYZ () const |
rechit cell axis x, y, z More... | |
const REPPointVector & | getCornersREP () const |
rechit corners More... | |
const std::vector < math::XYZPoint > & | getCornersXYZ () const |
rechit corners More... | |
bool | isNeighbour4 (unsigned id) const |
bool | isNeighbour8 (unsigned id) const |
PFLayer::Layer | layer () const |
rechit layer More... | |
const std::vector< unsigned > & | neighbours4 () const |
const std::vector< unsigned > & | neighbours8 () const |
const std::vector< unsigned > & | neighboursIds4 () const |
const std::vector< unsigned > & | neighboursIds8 () 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... | |
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::XYZPoint & | position () const |
is seed ? More... | |
const REPPoint & | positionREP () const |
rechit cell centre rho, eta, phi. call calculatePositionREP before ! More... | |
double | pt2 () const |
rechit momentum transverse to the beam, squared. More... | |
double | rescale () const |
rescaling factor (obsolete) More... | |
void | setEnergy (double energy) |
void | setEnergyUp (double eUp) |
void | setNECorner (double posx, double posy, double posz) |
void | setNWCorner (double posx, double posy, double posz) |
search for pointers to neighbours, using neighbours' DetId. More... | |
void | setRescale (double factor) |
void | setSECorner (double posx, double posy, double posz) |
void | setSWCorner (double posx, double posy, double posz) |
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... | |
REPPointVector | cornersrep_ |
std::vector< math::XYZPoint > | cornersxyz_ |
rechit cell corners More... | |
unsigned | detId_ |
C cell detid - should be detid or index in collection ? More... | |
double | energy_ |
rechit energy More... | |
double | energyUp_ |
For HF hits : hit energy in the other layer (EM for HAD, and HAD for EM) More... | |
PFLayer::Layer | layer_ |
rechit layer More... | |
std::vector< unsigned > | neighbours4_ |
indices to existing neighbours (1 common side) More... | |
std::vector< unsigned > | neighbours8_ |
indices to existing neighbours (1 common side or diagonal) More... | |
std::vector< unsigned > | neighboursIds4_ |
detids of existing neighbours (1 common side) More... | |
std::vector< unsigned > | neighboursIds8_ |
detids of existing neighbours (1 common side or diagonal) More... | |
math::XYZPoint | position_ |
is this a seed ? (-1:unknown, 0:no, 1 yes) (transient) More... | |
REPPoint | posrep_ |
rechit cell centre: rho, eta, phi (transient) More... | |
double | rescale_ |
Internal rescaling factor of the energy (1. = default, 0 = killed channels, x = rescaled) More... | |
Static Private Attributes | |
static const unsigned | nCorners_ = 4 |
number of corners More... | |
static const unsigned | nNeighbours_ = 8 |
number of neighbours More... | |
Friends | |
std::ostream & | operator<< (std::ostream &out, const reco::PFRecHit &hit) |
Particle flow rechit (rechit + geometry and topology information). See clustering algorithm in PFClusterAlgo.
Definition at line 31 of file PFRecHit.h.
typedef ROOT::Math::PositionVector3D<ROOT::Math::CylindricalEta3D<Double32_t> > reco::PFRecHit::REPPoint |
Definition at line 39 of file PFRecHit.h.
typedef std::vector<REPPoint> reco::PFRecHit::REPPointVector |
Definition at line 41 of file PFRecHit.h.
anonymous enum |
Enumerator | |
---|---|
NONE |
Definition at line 35 of file PFRecHit.h.
PFRecHit::PFRecHit | ( | ) |
default constructor. Sets energy and position to zero
Definition at line 9 of file PFRecHit.cc.
References cornersrep_, cornersxyz_, reco::tau::disc::Eta(), i, nCorners_, colinearityKinematic::Phi, and position_.
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 35 of file PFRecHit.cc.
References cornersrep_, cornersxyz_, reco::tau::disc::Eta(), i, nCorners_, and colinearityKinematic::Phi.
PFRecHit::PFRecHit | ( | unsigned | detId, |
PFLayer::Layer | layer, | ||
double | energy, | ||
double | posx, | ||
double | posy, | ||
double | posz, | ||
double | axisx, | ||
double | axisy, | ||
double | axisz | ||
) |
Definition at line 61 of file PFRecHit.cc.
References cornersrep_, cornersxyz_, reco::tau::disc::Eta(), i, nCorners_, colinearityKinematic::Phi, and position_.
PFRecHit::PFRecHit | ( | const PFRecHit & | other | ) |
copy
Definition at line 96 of file PFRecHit.cc.
|
virtual |
void PFRecHit::add4Neighbour | ( | unsigned | index | ) |
Definition at line 176 of file PFRecHit.cc.
References neighbours4_, and neighbours8_.
Referenced by PFRecHitProducerPS::findRecHitNeighbours(), PFHCALDualTimeRecHitProducer::findRecHitNeighbours(), PFRecHitProducerHCAL::findRecHitNeighbours(), PFHCALDualTimeRecHitProducer::findRecHitNeighboursCT(), PFRecHitProducerHCAL::findRecHitNeighboursCT(), PFRecHitProducerECAL::findRecHitNeighboursECAL(), PFRecHitProducerHO::findRecHitNeighboursHO(), and PFRootEventManager::setRecHitNeigbours().
void PFRecHit::add8Neighbour | ( | unsigned | index | ) |
Definition at line 181 of file PFRecHit.cc.
References neighbours8_.
Referenced by PFRecHitProducerPS::findRecHitNeighbours(), PFHCALDualTimeRecHitProducer::findRecHitNeighbours(), PFRecHitProducerHCAL::findRecHitNeighbours(), PFHCALDualTimeRecHitProducer::findRecHitNeighboursCT(), PFRecHitProducerHCAL::findRecHitNeighboursCT(), PFRecHitProducerECAL::findRecHitNeighboursECAL(), PFRecHitProducerHO::findRecHitNeighboursHO(), and PFRootEventManager::setRecHitNeigbours().
void PFRecHit::calculatePositionREP | ( | ) |
calculates rho eta phi position once and for all
Definition at line 130 of file PFRecHit.cc.
References cornersrep_, cornersxyz_, reco::tau::disc::Eta(), i, nCorners_, colinearityKinematic::Phi, position_, and posrep_.
|
inline |
Definition at line 82 of file PFRecHit.h.
References neighbours4_, and neighbours8_.
Referenced by PFRootEventManager::setRecHitNeigbours().
|
inline |
rechit detId
Definition at line 105 of file PFRecHit.h.
References detId_.
Referenced by PFClusterAlgo::calculateClusterPosition(), PFClusterAlgo::cleanRBXAndHPD(), PFRecHitProducerPS::findRecHitNeighbours(), PFHCALDualTimeRecHitProducer::findRecHitNeighbours(), PFRecHitProducerHCAL::findRecHitNeighbours(), PFHCALDualTimeRecHitProducer::findRecHitNeighboursCT(), PFRecHitProducerHCAL::findRecHitNeighboursCT(), PFRecHitProducerECAL::findRecHitNeighboursECAL(), PFRecHitProducerHO::findRecHitNeighboursHO(), PFRootEventManager::mcTruthMatching(), edm::StrictWeakOrdering< reco::PFRecHit >::operator()(), and FWPFCandidateWithHitsProxyBuilder::scaleProduct().
|
inline |
rechit energy
Definition at line 111 of file PFRecHit.h.
References energy_.
Referenced by FWPFCandidateWithHitsProxyBuilder::addHitsForCandidate(), PFClusterAlgo::buildTopoCluster(), PFClusterAlgo::calculateClusterPosition(), PFAlgo::checkCleaning(), PFClusterAlgo::cleanRBXAndHPD(), DisplayManager::createGRecHit(), PFClusterAlgo::findSeeds(), GPFRecHit::GPFRecHit(), PFRootEventManager::mcTruthMatching(), PFRootEventManager::printRecHit(), FWPFCandidateWithHitsProxyBuilder::scaleProduct(), setEnergy(), and LinkByRecHit::testTrackAndClusterByRecHit().
|
inline |
For HF hits: rechit energy (and neighbour's) in the other HF layer.
Definition at line 120 of file PFRecHit.h.
References energyUp_.
Referenced by PFClusterAlgo::findSeeds().
|
inline |
rechit cell axis x, y, z
Definition at line 147 of file PFRecHit.h.
References axisxyz_.
Referenced by PFClusterAlgo::calculateClusterPosition().
|
inline |
rechit corners
Definition at line 154 of file PFRecHit.h.
References cornersrep_.
Referenced by LinkByRecHit::testTrackAndClusterByRecHit().
|
inline |
rechit corners
Definition at line 150 of file PFRecHit.h.
References cornersxyz_.
Referenced by DisplayManager::createGRecHit(), LinkByRecHit::testECALAndPSByRecHit(), and LinkByRecHit::testTrackAndClusterByRecHit().
bool PFRecHit::isNeighbour4 | ( | unsigned | id | ) | const |
is rechit 'id' a direct neighbour of this ? id is the rechit index ! not the detId
Definition at line 248 of file PFRecHit.cc.
References i, and neighbours4_.
Referenced by PFClusterAlgo::calculateClusterPosition().
bool PFRecHit::isNeighbour8 | ( | unsigned | id | ) | const |
is rechit 'id' a neighbour of this ? id is the rechit index ! not the detId
Definition at line 257 of file PFRecHit.cc.
References i, and neighbours8_.
Referenced by PFClusterAlgo::calculateClusterPosition().
|
inline |
rechit layer
Definition at line 108 of file PFRecHit.h.
References layer_.
Referenced by PFClusterAlgo::buildPFClusters(), PFClusterAlgo::buildTopoCluster(), PFClusterAlgo::calculateClusterPosition(), PFAlgo::checkCleaning(), PFClusterAlgo::cleanRBXAndHPD(), DisplayManager::createGRecHit(), PFRecHitProducerPS::findRecHitNeighbours(), PFHCALDualTimeRecHitProducer::findRecHitNeighbours(), PFRecHitProducerHCAL::findRecHitNeighbours(), PFHCALDualTimeRecHitProducer::findRecHitNeighboursCT(), PFRecHitProducerHCAL::findRecHitNeighboursCT(), PFClusterAlgo::findSeeds(), geometryXMLparser.DTAlignable::index(), and geometryXMLparser.CSCAlignable::index().
|
inline |
Definition at line 157 of file PFRecHit.h.
References neighbours4_.
Referenced by PFClusterAlgo::buildTopoCluster(), PFClusterAlgo::cleanRBXAndHPD(), and PFClusterAlgo::findSeeds().
|
inline |
Definition at line 160 of file PFRecHit.h.
References neighbours8_.
Referenced by PFClusterAlgo::buildTopoCluster(), and PFClusterAlgo::findSeeds().
|
inline |
Definition at line 163 of file PFRecHit.h.
References neighboursIds4_.
Referenced by PFRootEventManager::setRecHitNeigbours().
|
inline |
Definition at line 166 of file PFRecHit.h.
References neighboursIds8_.
Referenced by PFRootEventManager::setRecHitNeigbours().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
is seed ?
Definition at line 141 of file PFRecHit.h.
References position_.
Referenced by PFClusterAlgo::buildPFClusters(), KDTreeLinkerPSEcal::buildTree(), PFClusterAlgo::calculateClusterPosition(), PFAlgo::checkCleaning(), PFClusterAlgo::cleanRBXAndHPD(), DisplayManager::createGRecHit(), PFClusterAlgo::findSeeds(), DisplayManager::lookForMaxRecHit(), PFRootEventManager::printRecHit(), LinkByRecHit::testECALAndPSByRecHit(), and LinkByRecHit::testTrackAndClusterByRecHit().
const PFRecHit::REPPoint & PFRecHit::positionREP | ( | ) | const |
rechit cell centre rho, eta, phi. call calculatePositionREP before !
Definition at line 121 of file PFRecHit.cc.
References posrep_.
Referenced by PFClusterAlgo::buildTopoCluster(), PFClusterAlgo::findSeeds(), and LinkByRecHit::testTrackAndClusterByRecHit().
|
inline |
rechit momentum transverse to the beam, squared.
Definition at line 123 of file PFRecHit.h.
References energy_, and position_.
Referenced by PFClusterAlgo::buildTopoCluster(), and PFClusterAlgo::findSeeds().
|
inline |
rescaling factor (obsolete)
Definition at line 114 of file PFRecHit.h.
References rescale_.
|
private |
set position of one of the corners
Definition at line 236 of file PFRecHit.cc.
References cornersrep_, cornersxyz_, reco::tau::disc::Eta(), i, nCorners_, and colinearityKinematic::Phi.
Referenced by setNECorner(), setNWCorner(), setSECorner(), and setSWCorner().
|
inline |
NICHOLAS JIN Zeros the energy
Definition at line 70 of file PFRecHit.h.
References energy(), and energy_.
|
inline |
Definition at line 79 of file PFRecHit.h.
References energyUp_.
Referenced by PFHCALDualTimeRecHitProducer::createRecHits(), and PFRecHitProducerHCAL::createRecHits().
void PFRecHit::setNECorner | ( | double | posx, |
double | posy, | ||
double | posz | ||
) |
Definition at line 231 of file PFRecHit.cc.
References setCorner().
Referenced by PFRecHitProducerECAL::createEcalRecHit(), PFHCALDualTimeRecHitProducer::createHcalRecHit(), PFRecHitProducerHCAL::createHcalRecHit(), PFRecHitProducerHO::createHORecHit(), and PFRecHitProducerPS::createRecHits().
void PFRecHit::setNWCorner | ( | double | posx, |
double | posy, | ||
double | posz | ||
) |
search for pointers to neighbours, using neighbours' DetId.
pointers to neighbours are not persistent, in contrary to the DetId's of the neighbours. This function searches a map of rechits for the DetId's stored in neighboursIds4_ and neighboursIds8_. The corresponding pointers are stored in neighbours4_ and neighbours8_.
Definition at line 216 of file PFRecHit.cc.
References setCorner().
Referenced by PFRecHitProducerECAL::createEcalRecHit(), PFHCALDualTimeRecHitProducer::createHcalRecHit(), PFRecHitProducerHCAL::createHcalRecHit(), PFRecHitProducerHO::createHORecHit(), and PFRecHitProducerPS::createRecHits().
|
inline |
Definition at line 80 of file PFRecHit.h.
References rescale_.
Referenced by PFHCALDualTimeRecHitProducer::createRecHits(), PFRecHitProducerHCAL::createRecHits(), PFRecHitProducerHO::createRecHits(), and PFRecHitProducerECAL::createRecHits().
void PFRecHit::setSECorner | ( | double | posx, |
double | posy, | ||
double | posz | ||
) |
Definition at line 226 of file PFRecHit.cc.
References setCorner().
Referenced by PFRecHitProducerECAL::createEcalRecHit(), PFHCALDualTimeRecHitProducer::createHcalRecHit(), PFRecHitProducerHCAL::createHcalRecHit(), PFRecHitProducerHO::createHORecHit(), and PFRecHitProducerPS::createRecHits().
void PFRecHit::setSWCorner | ( | double | posx, |
double | posy, | ||
double | posz | ||
) |
Definition at line 221 of file PFRecHit.cc.
References setCorner().
Referenced by PFRecHitProducerECAL::createEcalRecHit(), PFHCALDualTimeRecHitProducer::createHcalRecHit(), PFRecHitProducerHCAL::createHcalRecHit(), PFRecHitProducerHO::createHORecHit(), and PFRecHitProducerPS::createRecHits().
void PFRecHit::size | ( | double & | deta, |
double & | dphi | ||
) | const |
Definition at line 266 of file PFRecHit.cc.
References cornersrep_, eta(), and phi.
Referenced by DisplayManager::lookForMaxRecHit().
|
inline |
timing for cleaned hits
Definition at line 117 of file PFRecHit.h.
References rescale_.
Referenced by PFAlgo::checkCleaning().
|
friend |
|
private |
|
private |
Definition at line 232 of file PFRecHit.h.
Referenced by calculatePositionREP(), getCornersREP(), PFRecHit(), setCorner(), and size().
|
private |
rechit cell corners
Definition at line 231 of file PFRecHit.h.
Referenced by calculatePositionREP(), getCornersXYZ(), PFRecHit(), and setCorner().
|
private |
C cell detid - should be detid or index in collection ?
Definition at line 204 of file PFRecHit.h.
Referenced by detId().
|
private |
rechit energy
Definition at line 210 of file PFRecHit.h.
Referenced by energy(), operator<(), operator<=(), operator>(), operator>=(), pt2(), and setEnergy().
|
private |
For HF hits : hit energy in the other layer (EM for HAD, and HAD for EM)
Definition at line 216 of file PFRecHit.h.
Referenced by energyUp(), and setEnergyUp().
|
private |
|
staticprivate |
number of corners
Definition at line 250 of file PFRecHit.h.
Referenced by calculatePositionREP(), PFRecHit(), and setCorner().
|
private |
indices to existing neighbours (1 common side)
Definition at line 235 of file PFRecHit.h.
Referenced by add4Neighbour(), clearNeighbours(), isNeighbour4(), and neighbours4().
|
private |
indices to existing neighbours (1 common side or diagonal)
Definition at line 238 of file PFRecHit.h.
Referenced by add4Neighbour(), add8Neighbour(), clearNeighbours(), isNeighbour8(), and neighbours8().
|
private |
detids of existing neighbours (1 common side)
Definition at line 241 of file PFRecHit.h.
Referenced by neighboursIds4().
|
private |
detids of existing neighbours (1 common side or diagonal)
Definition at line 244 of file PFRecHit.h.
Referenced by neighboursIds8().
|
staticprivate |
number of neighbours
Definition at line 247 of file PFRecHit.h.
|
private |
is this a seed ? (-1:unknown, 0:no, 1 yes) (transient)
rechit cell centre: x, y, z
Definition at line 222 of file PFRecHit.h.
Referenced by calculatePositionREP(), PFRecHit(), position(), and pt2().
|
private |
rechit cell centre: rho, eta, phi (transient)
Definition at line 225 of file PFRecHit.h.
Referenced by calculatePositionREP(), and positionREP().
|
private |
Internal rescaling factor of the energy (1. = default, 0 = killed channels, x = rescaled)
Definition at line 213 of file PFRecHit.h.
Referenced by rescale(), setRescale(), and time().