Particle flow cluster, see clustering algorithm in PFClusterAlgo. More...
#include <PFCluster.h>
Public Types | |
typedef std::vector< std::pair < CaloClusterPtr::key_type, edm::Ptr< PFCluster > > > | EEtoPSAssociation |
typedef ROOT::Math::PositionVector3D < ROOT::Math::CylindricalEta3D < double > > | REPPoint |
Public Types inherited from reco::CaloCluster | |
enum | AlgoId { island = 0, hybrid = 1, fixedMatrix = 2, dynamicHybrid = 3, multi5x5 = 4, particleFlow = 5, undefined = 1000 } |
typedef AlgoId | AlgoID |
enum | SCFlags { cleanOnly = 0, common = 100, uncleanOnly = 200 } |
Public Member Functions | |
void | addRecHitFraction (const reco::PFRecHitFraction &frac) |
add a given fraction of the rechit More... | |
void | calculatePositionREP () |
computes posrep_ once and for all More... | |
double | charge () const |
dummy charge More... | |
int | color () const |
double | depth () const |
cluster depth More... | |
double | energy () const |
cluster energy More... | |
PFLayer::Layer | layer () const |
cluster layer, see PFLayer.h in this directory More... | |
PFCluster & | operator= (const PFCluster &) |
PFCluster () | |
PFCluster (PFLayer::Layer layer, double energy, double x, double y, double z) | |
constructor More... | |
const REPPoint & | positionREP () const |
cluster position: rho, eta, phi More... | |
template<typename pruner > | |
void | pruneUsing (pruner prune) |
double | pt () const |
transverse momentum, massless approximation More... | |
const std::vector < reco::PFRecHitFraction > & | recHitFractions () const |
vector of rechit fractions More... | |
void | reset () |
resets clusters parameters More... | |
void | resetHitsAndFractions () |
reset only hits and fractions More... | |
void | setColor (int color) |
set cluster color (for the PFRootEventManager display) More... | |
void | setDepth (double depth) |
void | setLayer (PFLayer::Layer layer) |
set layer More... | |
void | setTime (double time) |
double | theta () const |
angle More... | |
double | time () const |
cluster time More... | |
math::XYZPoint const & | vertex () const |
dummy vertex access More... | |
double | vx () const |
double | vy () const |
double | vz () const |
Public Member Functions inherited from reco::CaloCluster | |
void | addHitAndFraction (DetId id, float fraction) |
AlgoId | algo () const |
algorithm identifier More... | |
AlgoID | algoID () const |
CaloCluster () | |
default constructor. Sets energy and position to zero More... | |
CaloCluster (AlgoID algoID) | |
constructor with algoId, to be used in all child classes More... | |
CaloCluster (double energy, const math::XYZPoint &position, const CaloID &caloID) | |
CaloCluster (double energy, const math::XYZPoint &position) | |
constructor from values More... | |
CaloCluster (double energy, const math::XYZPoint &position, const CaloID &caloID, const AlgoID &algoID, uint32_t flags=0) | |
CaloCluster (double energy, const math::XYZPoint &position, const CaloID &caloID, const std::vector< std::pair< DetId, float > > &usedHitsAndFractions, const AlgoId algoId, const DetId seedId=DetId(0), uint32_t flags=0) | |
CaloCluster (double energy, const math::XYZPoint &position, float chi2, const std::vector< DetId > &usedHits, const AlgoId algoId, uint32_t flags=0) | |
temporary compatibility constructor More... | |
const CaloID & | caloID () const |
double | correctedEnergy () const |
float | correctedEnergyUncertainty () const |
double | energy () const |
cluster energy More... | |
double | eta () const |
pseudorapidity of cluster centroid More... | |
uint32_t | flags () const |
const std::vector< std::pair < DetId, float > > & | hitsAndFractions () const |
bool | isInClean () const |
bool | isInUnclean () const |
bool | operator< (const CaloCluster &rhs) const |
comparison < operator More... | |
bool | operator<= (const CaloCluster &rhs) const |
comparison <= operator More... | |
bool | operator== (const CaloCluster &rhs) const |
comparison == operator More... | |
bool | operator> (const CaloCluster &rhs) const |
comparison > operator More... | |
bool | operator>= (const CaloCluster &rhs) const |
comparison >= operator More... | |
double | phi () const |
azimuthal angle of cluster centroid More... | |
const math::XYZPoint & | position () const |
cluster centroid position More... | |
std::string | printHitAndFraction (unsigned i) const |
print hitAndFraction More... | |
void | reset () |
resets the CaloCluster (position, energy, hitsAndFractions) More... | |
DetId | seed () const |
return DetId of seed More... | |
void | setAlgoId (const AlgoId &id) |
void | setCaloId (const CaloID &id) |
void | setCorrectedEnergy (double cenergy) |
void | setCorrectedEnergyUncertainty (float energyerr) |
void | setEnergy (double energy) |
void | setFlags (uint32_t flags) |
void | setPosition (const math::XYZPoint &p) |
void | setSeed (const DetId &id) |
size_t | size () const |
size in number of hits (e.g. in crystals for ECAL) More... | |
double | x () const |
x coordinate of cluster centroid More... | |
double | y () const |
y coordinate of cluster centroid More... | |
double | z () const |
z coordinate of cluster centroid More... | |
virtual | ~CaloCluster () |
destructor More... | |
Static Public Member Functions | |
static double | getDepthCorrection (double energy, bool isBelowPS=false, bool isHadron=false) |
static void | setDepthCorParameters (int mode, double a, double b, double ap, double bp) |
Private Attributes | |
int | color_ |
color (transient) More... | |
double | depth_ |
PFLayer::Layer | layer_ |
transient layer More... | |
REPPoint | posrep_ |
cluster position: rho, eta, phi (transient) More... | |
std::vector < reco::PFRecHitFraction > | rechits_ |
vector of rechit fractions (transient) More... | |
double | time_ |
Michalis :Add timing and depth information. More... | |
Static Private Attributes | |
static std::atomic< double > | depthCorA_ {0.89} |
static std::atomic< double > | depthCorAp_ {0.89} |
static std::atomic< double > | depthCorB_ {7.3} |
static std::atomic< double > | depthCorBp_ {4.0} |
static std::atomic< int > | depthCorMode_ {0} |
static const math::XYZPoint | dummyVtx_ |
Friends | |
std::ostream & | operator<< (std::ostream &out, const PFCluster &cluster) |
Additional Inherited Members | |
Protected Attributes inherited from reco::CaloCluster | |
AlgoID | algoID_ |
CaloID | caloID_ |
bitmask for detector information More... | |
double | correctedEnergy_ |
float | correctedEnergyUncertainty_ |
double | energy_ |
cluster energy More... | |
uint32_t | flags_ |
std::vector< std::pair< DetId, float > > | hitsAndFractions_ |
math::XYZPoint | position_ |
cluster centroid position More... | |
DetId | seedId_ |
DetId of seed. More... | |
Static Protected Attributes inherited from reco::CaloCluster | |
static const uint32_t | flagsMask_ =0x0FFFFFFF |
static const uint32_t | flagsOffset_ =28 |
Particle flow cluster, see clustering algorithm in PFClusterAlgo.
A particle flow cluster is defined by its energy and position, which are calculated from a vector of PFRecHitFraction. This calculation is performed in PFClusterAlgo.
Definition at line 47 of file PFCluster.h.
typedef std::vector<std::pair<CaloClusterPtr::key_type,edm::Ptr<PFCluster> > > reco::PFCluster::EEtoPSAssociation |
Definition at line 50 of file PFCluster.h.
typedef ROOT::Math::PositionVector3D<ROOT::Math::CylindricalEta3D<double> > reco::PFCluster::REPPoint |
Definition at line 54 of file PFCluster.h.
|
inline |
Definition at line 56 of file PFCluster.h.
PFCluster::PFCluster | ( | PFLayer::Layer | layer, |
double | energy, | ||
double | x, | ||
double | y, | ||
double | z | ||
) |
constructor
Definition at line 23 of file PFCluster.cc.
void PFCluster::addRecHitFraction | ( | const reco::PFRecHitFraction & | frac | ) |
add a given fraction of the rechit
Definition at line 57 of file PFCluster.cc.
References reco::CaloCluster::addHitAndFraction(), reco::PFRecHitFraction::fraction(), reco::PFRecHitFraction::recHitRef(), and rechits_.
Referenced by PFMultiDepthClusterizer::absorbCluster(), Basic2DGenericTopoClusterizer::buildTopoCluster(), Basic2DGenericPFlowClusterizer::seedPFClustersFromTopo(), and PFlow2DClusterizerWithTime::seedPFClustersFromTopo().
|
inline |
computes posrep_ once and for all
Definition at line 96 of file PFCluster.h.
References reco::CaloCluster::position_, and posrep_.
Referenced by Basic2DGenericPFlowPositionCalc::calculateAndSetPositionActual(), ECAL2DPositionCalcWithDepthCorr::calculateAndSetPositionActual(), PFEnergyCalibration::energyEm(), PFElecTkProducer::isSharingEcalEnergyWithEgSC(), and ConvBremPFTrackFinder::runConvBremFinder().
|
inline |
dummy charge
some classes to make this fit into a template footprint for RecoPFClusterRefCandidate so we can make jets and MET out of PFClusters.
Definition at line 135 of file PFCluster.h.
|
inline |
Definition at line 110 of file PFCluster.h.
References color_.
Referenced by cuy.plotElement::__init__(), cuy.superimposeElement::__init__(), cuy.graphElement::__init__(), and setColor().
|
inline |
cluster depth
Definition at line 87 of file PFCluster.h.
References depth_.
Referenced by PFMultiDepthClusterizer::link(), and setDepth().
|
inline |
cluster energy
Definition at line 82 of file PFCluster.h.
References reco::CaloCluster::energy_.
Referenced by FWPFClusterRPZProxyBuilder::build(), FWPFClusterRPZUtils::buildRhoPhiClusterLineSet(), FWPFClusterRPZUtils::buildRhoZClusterLineSet(), ECAL2DPositionCalcWithDepthCorr::calculateAndSetPositionActual(), PFMultiDepthClusterizer::calculateShowerShapes(), PFClusterEMEnergyCorrector::correctEnergies(), PFPhotonTranslator::createBasicCluster(), PFEnergyCalibration::energyEm(), CalibratableTest::extractCandidate(), PFlow2DClusterizerWithTime::growPFClusters(), PFElecTkProducer::isSharingEcalEnergyWithEgSC(), PFMultiDepthClusterizer::link(), pt(), FWPFBlockProxyBuilder::setupClusterElement(), FWPFClusterRPZProxyBuilder::sharedBuild(), and FWPFClusterLegoProxyBuilder::sharedBuild().
|
static |
Definition at line 66 of file PFCluster.cc.
References depthCorA_, depthCorAp_, depthCorB_, depthCorBp_, and cmsBatch::log.
PFLayer::Layer PFCluster::layer | ( | ) | const |
cluster layer, see PFLayer.h in this directory
Definition at line 86 of file PFCluster.cc.
References reco::CaloCluster::caloID(), PFLayer::fromCaloID(), layer_, and PFLayer::NONE.
Referenced by EgammaIsoESDetIdCollectionProducer::addDetIds(), FWPFEcalClusterRPZProxyBuilder::build(), FWPFEcalClusterLegoProxyBuilder::build(), FWPFHcalClusterLegoProxyBuilder::build(), PFClusterEMEnergyCorrector::correctEnergies(), CalibratableTest::extractCandidate(), geometryXMLparser.DTAlignable::index(), geometryXMLparser.CSCAlignable::index(), PFAlgo::reconstructCluster(), KDTreeLinkerPSEcal::searchLinks(), setLayer(), LinkByRecHit::testECALAndPSByRecHit(), and LinkByRecHit::testTrackAndClusterByRecHit().
Definition at line 94 of file PFCluster.cc.
References color_, reco::CaloCluster::energy_, reco::CaloCluster::position_, posrep_, and rechits_.
Referenced by reco::PFSuperCluster::operator=().
|
inline |
cluster position: rho, eta, phi
Definition at line 93 of file PFCluster.h.
References posrep_.
Referenced by PFEnergyCalibration::energyEm(), CalibratableTest::extractCandidate(), KDTreeLinkerPSEcal::searchLinks(), and LinkByRecHit::testTrackAndClusterByRecHit().
|
inline |
Definition at line 157 of file PFCluster.h.
References reco::CaloCluster::hitsAndFractions_, and rechits_.
|
inline |
transverse momentum, massless approximation
Definition at line 138 of file PFCluster.h.
References energy(), reco::CaloCluster::position_, and funct::sin().
Referenced by Particle.Particle::__str__(), DiObject.DiMuon::__str__(), Photon.Photon::calScaledIsoValueExp(), Photon.Photon::calScaledIsoValueLin(), PFClusterEMEnergyCorrector::correctEnergies(), Electron.Electron::mvaIDLoose(), Electron.Electron::mvaIDRun2(), Electron.Electron::mvaIDTight(), Lepton.Lepton::relIso(), Lepton.Lepton::relIsoFromEA(), Lepton.Lepton::relIsoR(), and Jet.Jet::setCorrP4().
|
inline |
vector of rechit fractions
Definition at line 72 of file PFCluster.h.
References rechits_.
Referenced by PFMultiDepthClusterizer::absorbCluster(), Basic2DGenericTopoClusterizer::buildClusters(), Basic2DGenericPFlowPositionCalc::calculateAndSetPositionActual(), ECAL2DPositionCalcWithDepthCorr::calculateAndSetPositionActual(), PFMultiDepthClusterizer::calculateShowerShapes(), PFlow2DClusterizerWithTime::clusterTimeResolution(), PFlow2DClusterizerWithTime::clusterTimeResolutionFromSeed(), Basic2DGenericPFlowClusterizer::growPFClusters(), PFlow2DClusterizerWithTime::growPFClusters(), Basic2DGenericPFlowClusterizer::seedPFClustersFromTopo(), PFlow2DClusterizerWithTime::seedPFClustersFromTopo(), LinkByRecHit::testECALAndPSByRecHit(), and LinkByRecHit::testTrackAndClusterByRecHit().
void PFCluster::reset | ( | void | ) |
resets clusters parameters
Definition at line 37 of file PFCluster.cc.
References reco::CaloCluster::energy_, layer_, PFLayer::NONE, reco::CaloCluster::position_, posrep_, rechits_, reco::CaloCluster::reset(), and time_.
Referenced by Basic2DGenericTopoClusterizer::buildClusters(), and reco::PFSuperCluster::reset().
void PFCluster::resetHitsAndFractions | ( | ) |
reset only hits and fractions
Definition at line 50 of file PFCluster.cc.
References reco::CaloCluster::hitsAndFractions_, and rechits_.
|
inline |
set cluster color (for the PFRootEventManager display)
Definition at line 107 of file PFCluster.h.
References color(), and color_.
|
inline |
Definition at line 90 of file PFCluster.h.
References depth(), and depth_.
Referenced by Basic2DGenericPFlowPositionCalc::calculateAndSetPositionActual().
|
inlinestatic |
Definition at line 119 of file PFCluster.h.
References a, b, depthCorA_, depthCorAp_, depthCorB_, depthCorBp_, depthCorMode_, and alignBH_cfg::mode.
void PFCluster::setLayer | ( | PFLayer::Layer | layer | ) |
set layer
Definition at line 78 of file PFCluster.cc.
References reco::CaloCluster::caloID_, layer(), layer_, and PFLayer::toCaloID().
Referenced by Basic2DGenericPFlowPositionCalc::calculateAndSetPositionActual(), and ECAL2DPositionCalcWithDepthCorr::calculateAndSetPositionActual().
|
inline |
Definition at line 89 of file PFCluster.h.
Referenced by Basic2DGenericPFlowPositionCalc::calculateAndSetPositionActual(), ECAL2DPositionCalcWithDepthCorr::calculateAndSetPositionActual(), PFlow2DClusterizerWithTime::clusterTimeResolution(), and PFlow2DClusterizerWithTime::clusterTimeResolutionFromSeed().
|
inline |
angle
Definition at line 143 of file PFCluster.h.
References reco::CaloCluster::position_.
Referenced by Tau.Tau::zImpact().
|
inline |
cluster time
Definition at line 85 of file PFCluster.h.
References time_.
Referenced by PFlow2DClusterizerWithTime::dist2Time(), and setTime().
|
inline |
dummy vertex access
Definition at line 148 of file PFCluster.h.
References dummyVtx_.
Referenced by Tau.Tau::dxy(), vx(), vy(), and vz().
|
inline |
Definition at line 151 of file PFCluster.h.
References vertex().
|
inline |
Definition at line 152 of file PFCluster.h.
References vertex().
|
inline |
Definition at line 153 of file PFCluster.h.
References vertex().
|
friend |
|
private |
color (transient)
Definition at line 220 of file PFCluster.h.
Referenced by color(), operator=(), and setColor().
|
private |
Definition at line 180 of file PFCluster.h.
Referenced by depth(), and setDepth().
|
staticprivate |
Definition at line 190 of file PFCluster.h.
Referenced by getDepthCorrection(), and setDepthCorParameters().
|
staticprivate |
Definition at line 196 of file PFCluster.h.
Referenced by getDepthCorrection(), and setDepthCorParameters().
|
staticprivate |
Definition at line 193 of file PFCluster.h.
Referenced by getDepthCorrection(), and setDepthCorParameters().
|
staticprivate |
Definition at line 199 of file PFCluster.h.
Referenced by getDepthCorrection(), and setDepthCorParameters().
|
staticprivate |
Definition at line 187 of file PFCluster.h.
Referenced by setDepthCorParameters().
|
staticprivate |
Definition at line 217 of file PFCluster.h.
Referenced by vertex().
|
private |
transient layer
Definition at line 183 of file PFCluster.h.
Referenced by layer(), reset(), and setLayer().
|
private |
cluster position: rho, eta, phi (transient)
Definition at line 176 of file PFCluster.h.
Referenced by calculatePositionREP(), operator=(), positionREP(), and reset().
|
private |
vector of rechit fractions (transient)
Definition at line 173 of file PFCluster.h.
Referenced by addRecHitFraction(), operator=(), pruneUsing(), recHitFractions(), reset(), and resetHitsAndFractions().