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, hgcal_em = 6, hgcal_had = 7, hfnose = 9, undefined = 1000 } |
typedef AlgoId | AlgoID |
enum | HCalFlags { badHcalMarker = 1 } |
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... | |
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 () | |
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 | setDepth (double depth) |
void | setLayer (PFLayer::Layer layer) |
set layer More... | |
void | setTime (float time, float timeError=0) |
void | setTimeError (float timeError) |
double | theta () const |
angle More... | |
float | time () const |
float | timeError () const |
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) |
Private Attributes | |
double | depth_ {0} |
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... | |
float | time_ |
Michalis: add timing and depth information. More... | |
float | timeError_ {0} |
Static Private Attributes | |
static const constexpr double | depthCorA_ = 0.89 |
depth corrections More... | |
static const constexpr double | depthCorAp_ = 0.89 |
static const constexpr double | depthCorB_ = 7.3 |
static const constexpr double | depthCorBp_ = 4.0 |
static const math::XYZPoint | dummyVtx_ |
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 42 of file PFCluster.h.
typedef std::vector<std::pair<CaloClusterPtr::key_type, edm::Ptr<PFCluster> > > reco::PFCluster::EEtoPSAssociation |
Definition at line 44 of file PFCluster.h.
typedef ROOT::Math::PositionVector3D<ROOT::Math::CylindricalEta3D<double> > reco::PFCluster::REPPoint |
Definition at line 48 of file PFCluster.h.
|
inline |
Definition at line 50 of file PFCluster.h.
PFCluster::PFCluster | ( | PFLayer::Layer | layer, |
double | energy, | ||
double | x, | ||
double | y, | ||
double | z | ||
) |
constructor
Definition at line 10 of file PFCluster.cc.
References x.
void PFCluster::addRecHitFraction | ( | const reco::PFRecHitFraction & | frac | ) |
add a given fraction of the rechit
Definition at line 33 of file PFCluster.cc.
References reco::CaloCluster::addHitAndFraction(), DivergingColor::frac, and rechits_.
Referenced by Basic2DClusterForEachSeed::buildClusters(), GenericSimClusterMapper::buildClusters(), PFClusterFromHGCalTrackster::buildClusters(), RealisticSimClusterMapper::buildClusters(), Basic2DGenericTopoClusterizer::buildTopoCluster(), Basic2DGenericPFlowClusterizer::seedPFClustersFromTopo(), and PFlow2DClusterizerWithTime::seedPFClustersFromTopo().
|
inline |
computes posrep_ once and for all
Definition at line 95 of file PFCluster.h.
References reco::CaloCluster::position_, and posrep_.
Referenced by Basic2DClusterForEachSeed::buildClusters(), Cluster3DPCACalculator::calculateAndSetPositionActual(), ECAL2DPositionCalcWithDepthCorr::calculateAndSetPositionActual(), Basic2DGenericPFlowPositionCalc::calculateAndSetPositionActual(), 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 105 of file PFCluster.h.
|
inline |
cluster depth
Definition at line 82 of file PFCluster.h.
References depth_.
Referenced by PFMultiDepthClusterizer::link(), and setDepth().
|
inline |
cluster energy
Definition at line 74 of file PFCluster.h.
References reco::CaloCluster::energy_.
Referenced by FWPFClusterRPZProxyBuilder::build(), FWPFClusterRPZUtils::buildRhoPhiClusterLineSet(), FWPFClusterRPZUtils::buildRhoZClusterLineSet(), ECAL2DPositionCalcWithDepthCorr::calculateAndSetPositionActual(), PFMultiDepthClusterizer::calculateShowerShapes(), PFClusterEMEnergyCorrector::correctEnergies(), CalibratedPFCluster::energy_nocalib(), PFEnergyCalibration::energyEm(), PFClusterEMEnergyCorrector::getAssociatedPSEnergy(), getDepthCorrection(), PFlow2DClusterizerWithTime::growPFClusters(), PFElecTkProducer::isSharingEcalEnergyWithEgSC(), PFMultiDepthClusterizer::link(), reco::operator<<(), reco::HGCalMultiCluster::operator>(), SimPFProducer::produce(), PFClusterMatchedToPhotonsSelector::produce(), pt(), Jet.Jet::rawEnergy(), FWPFBlockProxyBuilder::setupClusterElement(), FWPFClusterRPZProxyBuilder::sharedBuild(), and FWPFClusterLegoProxyBuilder::sharedBuild().
|
static |
Definition at line 39 of file PFCluster.cc.
References depthCorA_, depthCorAp_, depthCorB_, depthCorBp_, energy(), and dqm-mbProfile::log.
Referenced by l1tpf::propagateToCalo(), and LowPtGsfElectronSeedProducer::propagateTrackToCalo().
PFLayer::Layer PFCluster::layer | ( | ) | const |
cluster layer, see PFLayer.h in this directory
Definition at line 56 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(), PFClusterEMEnergyCorrector::getAssociatedPSEnergy(), geometryXMLparser.DTAlignable::index(), geometryXMLparser.CSCAlignable::index(), reco::operator<<(), PFClusterMatchedToPhotonsSelector::produce(), PFAlgo::reconstructCluster(), KDTreeLinkerPSEcal::searchLinks(), setLayer(), LinkByRecHit::testECALAndPSByRecHit(), and LinkByRecHit::testTrackAndClusterByRecHit().
|
inline |
cluster position: rho, eta, phi
Definition at line 92 of file PFCluster.h.
References posrep_.
Referenced by PFMultiDepthClusterizer::calculateShowerShapes(), CalibratedPFCluster::eta(), PFMultiDepthClusterizer::link(), reco::operator<<(), CalibratedPFCluster::phi(), KDTreeLinkerPSEcal::searchLinks(), and LinkByRecHit::testTrackAndClusterByRecHit().
|
inline |
Definition at line 121 of file PFCluster.h.
References dqmdumpme::first, reco::CaloCluster::hitsAndFractions_, mps_fire::i, createfilelist::int, eostools::move(), and rechits_.
|
inline |
transverse momentum, massless approximation
Definition at line 108 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(), Photon.Photon::calScaledIsoValueQuadr(), PFClusterEMEnergyCorrector::correctEnergies(), Electron.Electron::mvaIDLoose(), Electron.Electron::mvaIDRun2(), Electron.Electron::mvaIDTight(), datamodel.Object::p4(), Electron.Electron::ptErr(), ntupleDataFormat.Track::ptPull(), Lepton.Lepton::relIso(), Lepton.Lepton::relIsoFromEA(), Lepton.Lepton::relIsoR(), and Jet.Jet::setCorrP4().
|
inline |
vector of rechit fractions
Definition at line 65 of file PFCluster.h.
References rechits_.
Referenced by PFMultiDepthClusterizer::absorbCluster(), Cluster3DPCACalculator::calculateAndSetPositionActual(), ECAL2DPositionCalcWithDepthCorr::calculateAndSetPositionActual(), Basic2DGenericPFlowPositionCalc::calculateAndSetPositionActual(), PFMultiDepthClusterizer::calculateShowerShapes(), PFlow2DClusterizerWithTime::clusterTimeResolution(), PFlow2DClusterizerWithTime::clusterTimeResolutionFromSeed(), EcalBarrelClusterFastTimer::getTimeForECALPFCluster(), Basic2DGenericPFlowClusterizer::growPFClusters(), PFlow2DClusterizerWithTime::growPFClusters(), reco::operator<<(), Basic2DGenericPFlowClusterizer::seedPFClustersFromTopo(), PFlow2DClusterizerWithTime::seedPFClustersFromTopo(), PFAlgo::setHcalDepthInfo(), LinkByRecHit::testECALAndPSByRecHit(), and LinkByRecHit::testTrackAndClusterByRecHit().
void PFCluster::reset | ( | void | ) |
resets clusters parameters
Definition at line 17 of file PFCluster.cc.
References reco::CaloCluster::energy_, layer_, PFLayer::NONE, reco::CaloCluster::position_, posrep_, rechits_, reco::CaloCluster::reset(), and time_.
Referenced by Basic2DClusterForEachSeed::buildClusters(), and reco::PFSuperCluster::reset().
void PFCluster::resetHitsAndFractions | ( | ) |
reset only hits and fractions
Definition at line 28 of file PFCluster.cc.
References reco::CaloCluster::hitsAndFractions_, and rechits_.
|
inline |
Definition at line 89 of file PFCluster.h.
References depth(), and depth_.
Referenced by Basic2DClusterForEachSeed::buildClusters(), and Basic2DGenericPFlowPositionCalc::calculateAndSetPositionActual().
void PFCluster::setLayer | ( | PFLayer::Layer | layer | ) |
set layer
Definition at line 49 of file PFCluster.cc.
References reco::CaloCluster::caloID_, layer(), layer_, and PFLayer::toCaloID().
Referenced by Basic2DClusterForEachSeed::buildClusters(), Cluster3DPCACalculator::calculateAndSetPositionActual(), ECAL2DPositionCalcWithDepthCorr::calculateAndSetPositionActual(), Basic2DGenericPFlowPositionCalc::calculateAndSetPositionActual(), and reco::HGCalMultiCluster::HGCalMultiCluster().
|
inline |
Definition at line 84 of file PFCluster.h.
References time(), time_, timeError(), and timeError_.
Referenced by Basic2DClusterForEachSeed::buildClusters(), RealisticSimClusterMapper::buildClusters(), Cluster3DPCACalculator::calculateAndSetPositionActual(), ECAL2DPositionCalcWithDepthCorr::calculateAndSetPositionActual(), Basic2DGenericPFlowPositionCalc::calculateAndSetPositionActual(), PFlow2DClusterizerWithTime::clusterTimeResolution(), and PFlow2DClusterizerWithTime::clusterTimeResolutionFromSeed().
|
inline |
Definition at line 88 of file PFCluster.h.
References timeError(), and timeError_.
Referenced by ECAL2DPositionCalcWithDepthCorr::calculateAndSetPositionActual(), Basic2DGenericPFlowPositionCalc::calculateAndSetPositionActual(), PFlow2DClusterizerWithTime::clusterTimeResolution(), and PFlow2DClusterizerWithTime::clusterTimeResolutionFromSeed().
|
inline |
angle
Definition at line 111 of file PFCluster.h.
References reco::CaloCluster::position_.
Referenced by Tau.Tau::zImpact().
|
inline |
Definition at line 77 of file PFCluster.h.
References time_.
Referenced by PFlow2DClusterizerWithTime::dist2Time(), and setTime().
|
inline |
Definition at line 79 of file PFCluster.h.
References timeError_.
Referenced by setTime(), and setTimeError().
|
inline |
dummy vertex access
Definition at line 114 of file PFCluster.h.
References dummyVtx_.
Referenced by Tau.Tau::dxy(), vx(), vy(), and vz().
|
inline |
Definition at line 115 of file PFCluster.h.
References vertex().
|
inline |
Definition at line 116 of file PFCluster.h.
References vertex().
|
inline |
Definition at line 117 of file PFCluster.h.
References vertex().
|
private |
Definition at line 149 of file PFCluster.h.
Referenced by depth(), and setDepth().
|
staticprivate |
|
staticprivate |
Definition at line 157 of file PFCluster.h.
Referenced by getDepthCorrection().
|
staticprivate |
Definition at line 156 of file PFCluster.h.
Referenced by getDepthCorrection().
|
staticprivate |
Definition at line 158 of file PFCluster.h.
Referenced by getDepthCorrection().
|
staticprivate |
Definition at line 160 of file PFCluster.h.
Referenced by vertex().
|
private |
transient layer
Definition at line 152 of file PFCluster.h.
Referenced by layer(), reset(), and setLayer().
|
private |
cluster position: rho, eta, phi (transient)
Definition at line 144 of file PFCluster.h.
Referenced by calculatePositionREP(), positionREP(), and reset().
|
private |
vector of rechit fractions (transient)
Definition at line 141 of file PFCluster.h.
Referenced by addRecHitFraction(), pruneUsing(), recHitFractions(), reset(), and resetHitsAndFractions().
|
private |
Michalis: add timing and depth information.
Definition at line 147 of file PFCluster.h.
|
private |
Definition at line 148 of file PFCluster.h.
Referenced by setTime(), setTimeError(), and timeError().