|
void | absorbCluster (reco::PFCluster &, const reco::PFCluster &) |
|
void | calculateShowerShapes (const reco::PFClusterCollection &, std::vector< double > &, std::vector< double > &) |
|
void | expandCluster (reco::PFCluster &, unsigned int point, std::vector< bool > &mask, const reco::PFClusterCollection &, const std::vector< ClusterLink > &links) |
|
std::vector< ClusterLink > | link (const reco::PFClusterCollection &, const std::vector< double > &, const std::vector< double > &) |
|
std::vector< ClusterLink > | prune (std::vector< ClusterLink > &, std::vector< bool > &linkedClusters) |
|
Definition at line 15 of file PFMultiDepthClusterizer.cc.
◆ B2DGPF
◆ PFMultiDepthClusterizer() [1/2]
Definition at line 79 of file PFMultiDepthClusterizer.cc.
References _allCellsPosCalc, gpuPixelDoublets::cc, edm::ParameterSet::exists(), get, edm::ParameterSet::getParameter(), edm::ParameterSet::getParameterSet(), nSigmaEta_, nSigmaPhi_, conifer::pow(), and AlCaHLTBitMon_QueryRunRegistry::string.
81 if (conf.
exists(
"allCellsPositionCalc")) {
T getParameter(std::string const &) const
uint32_t cc[maxCellsPerHit]
bool exists(std::string const ¶meterName) const
checks if a parameter exists
ParameterSet const & getParameterSet(std::string const &) const
std::unique_ptr< PFCPositionCalculatorBase > _allCellsPosCalc
PFClusterBuilderBase(const edm::ParameterSet &conf, edm::ConsumesCollector &cc)
◆ ~PFMultiDepthClusterizer()
PFMultiDepthClusterizer::~PFMultiDepthClusterizer |
( |
| ) |
|
|
overridedefault |
◆ PFMultiDepthClusterizer() [2/2]
PFMultiDepthClusterizer::PFMultiDepthClusterizer |
( |
const B2DGPF & |
| ) |
|
|
delete |
◆ absorbCluster()
◆ buildClusters()
Implements PFClusterBuilderBase.
Definition at line 91 of file PFMultiDepthClusterizer.cc.
References _allCellsPosCalc, calculateShowerShapes(), expandCluster(), mps_fire::i, input, link(), electronStore::links, gpuClustering::pixelStatus::mask, convertSQLitetoXML_cfg::output, and prune().
94 std::vector<double> etaRMS2(
input.size(), 0.0);
95 std::vector<double> phiRMS2(
input.size(), 0.0);
109 std::vector<bool>
mask(
input.size(),
false);
110 std::vector<bool> linked(
input.size(),
false);
120 for (
unsigned int i = 0;
i <
input.size(); ++
i) {
137 output.push_back(cluster);
void calculateShowerShapes(const reco::PFClusterCollection &, std::vector< double > &, std::vector< double > &)
Particle flow cluster, see clustering algorithm in PFClusterAlgo.
std::vector< ClusterLink > prune(std::vector< ClusterLink > &, std::vector< bool > &linkedClusters)
static std::string const input
std::unique_ptr< PFCPositionCalculatorBase > _allCellsPosCalc
std::vector< ClusterLink > link(const reco::PFClusterCollection &, const std::vector< double > &, const std::vector< double > &)
void expandCluster(reco::PFCluster &, unsigned int point, std::vector< bool > &mask, const reco::PFClusterCollection &, const std::vector< ClusterLink > &links)
◆ calculateShowerShapes()
void PFMultiDepthClusterizer::calculateShowerShapes |
( |
const reco::PFClusterCollection & |
clusters, |
|
|
std::vector< double > & |
etaRMS2, |
|
|
std::vector< double > & |
phiRMS2 |
|
) |
| |
|
private |
Definition at line 142 of file PFMultiDepthClusterizer.cc.
References funct::abs(), bsc_activity_cfg::clusters, SiPixelRawToDigiRegional_cfi::deltaPhi, reco::PFCluster::energy(), DivergingColor::frac, h, mps_fire::i, SiStripPI::max, reco::PFCluster::positionREP(), reco::PFCluster::recHitFractions(), and cuy::rep.
Referenced by buildClusters().
147 for (
unsigned int i = 0;
i <
clusters.size(); ++
i) {
153 auto const&
h = *
frac.recHitRef();
154 auto const&
rep =
h.positionREP();
155 etaSum += (
frac.fraction() *
h.energy()) *
std::abs(
rep.eta() - crep.eta());
160 etaRMS2[
i] *= etaRMS2[
i];
162 phiRMS2[
i] *= phiRMS2[
i];
Particle flow cluster, see clustering algorithm in PFClusterAlgo.
const std::vector< reco::PFRecHitFraction > & recHitFractions() const
vector of rechit fractions
const REPPoint & positionREP() const
cluster position: rho, eta, phi
double energy() const
cluster energy
Abs< T >::type abs(const T &t)
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
◆ expandCluster()
Definition at line 273 of file PFMultiDepthClusterizer.cc.
References absorbCluster(), bsc_activity_cfg::clusters, link(), electronStore::links, gpuClustering::pixelStatus::mask, and point.
Referenced by buildClusters().
void absorbCluster(reco::PFCluster &, const reco::PFCluster &)
std::vector< ClusterLink > link(const reco::PFClusterCollection &, const std::vector< double > &, const std::vector< double > &)
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
void expandCluster(reco::PFCluster &, unsigned int point, std::vector< bool > &mask, const reco::PFClusterCollection &, const std::vector< ClusterLink > &links)
◆ link()
Definition at line 166 of file PFMultiDepthClusterizer.cc.
References funct::abs(), bsc_activity_cfg::clusters, SiPixelRawToDigiRegional_cfi::deltaPhi, reco::PFCluster::depth(), PVValHelper::dz, reco::PFCluster::energy(), mps_fire::i, dqmiolumiharvest::j, electronStore::links, nSigmaEta_, nSigmaPhi_, and reco::PFCluster::positionREP().
Referenced by buildClusters(), and expandCluster().
168 std::vector<ClusterLink>
links;
171 for (
unsigned int j = 0;
j <
clusters.size(); ++
j) {
179 auto dz = (
static_cast<int>(cluster2.
depth()) - static_cast<int>(cluster1.
depth()));
188 auto deta = crep1.eta() - crep2.eta();
189 deta = deta * deta / (etaRMS2[
i] + etaRMS2[
j]);
190 auto dphi =
deltaPhi(crep1.phi(), crep2.phi());
191 dphi = dphi * dphi / (phiRMS2[
i] + phiRMS2[
j]);
Particle flow cluster, see clustering algorithm in PFClusterAlgo.
const REPPoint & positionREP() const
cluster position: rho, eta, phi
double depth() const
cluster depth
double energy() const
cluster energy
Abs< T >::type abs(const T &t)
◆ operator=()
B2DGPF& PFMultiDepthClusterizer::operator= |
( |
const B2DGPF & |
| ) |
|
|
delete |
◆ prune()
◆ update()
◆ _allCellsPosCalc
◆ nSigmaEta_
double PFMultiDepthClusterizer::nSigmaEta_ |
|
private |
◆ nSigmaPhi_
double PFMultiDepthClusterizer::nSigmaPhi_ |
|
private |