CMS 3D CMS Logo

List of all members | Public Member Functions | Private Types | Private Attributes
l1tpf_calo::SingleCaloClusterer Class Reference

#include <CaloClusterer.h>

Public Member Functions

void add (const reco::Candidate &c)
 
void add (float pt, float eta, float phi)
 
void clear ()
 
const Clustercluster (int i) const
 
const std::vector< Cluster > & clusters () const
 
template<typename Corrector >
void correct (const Corrector &corrector)
 
const EtaPhiCenterGridetaCenter () const
 
EtaPhiCenterGridetaCenter ()
 
std::unique_ptr< l1t::PFClusterCollectionfetch (float ptMin=0.) const
 
std::unique_ptr< l1t::PFClusterCollectionfetch (const edm::OrphanHandle< l1t::PFClusterCollection > &cells, float ptMin=0.) const
 
std::unique_ptr< l1t::PFClusterCollectionfetchCells (bool unclusteredOnly=false, float ptMin=0.) const
 
void grow ()
 possibly grow clusters by adding unclustered energy on the sides More...
 
const IndexGridindexGrid () const
 
const EtaPhiCenterGridphiCenter () const
 
EtaPhiCenterGridphiCenter ()
 
const EtGridraw () const
 
EtGridraw ()
 non-const access to the energy: be careful to use it only before 'run()' More...
 
void run ()
 
 SingleCaloClusterer (const edm::ParameterSet &pset)
 
 ~SingleCaloClusterer ()
 

Private Types

enum  EnergyShareAlgo { EnergyShareAlgo::Fractions, EnergyShareAlgo::None, EnergyShareAlgo::Greedy, EnergyShareAlgo::Crude }
 

Private Attributes

IndexGrid cellKey_
 
IndexGrid clusterIndex_
 
std::vector< Clusterclusters_
 
EnergyShareAlgo energyShareAlgo_
 
bool energyWeightedPosition_
 
EtaPhiCenterGrid eta_center_
 
std::vector< double > etaBounds_
 
const Gridgrid_
 
std::vector< unsigned int > maxClustersEtaPhi_
 
float minClusterEt_
 
float minEtToGrow_
 
std::vector< int > neighborCells_
 
const Cluster nullCluster_
 
EtaPhiCenterGrid phi_center_
 
std::vector< double > phiBounds_
 
bool preciseEtaPhi_
 
PreClusterGrid precluster_
 
EtGrid rawet_
 
float seedEt_
 
EtGrid unclustered_
 
float zsEt_
 

Detailed Description

Definition at line 186 of file CaloClusterer.h.

Member Enumeration Documentation

◆ EnergyShareAlgo

Enumerator
Fractions 
None 
Greedy 
Crude 

Definition at line 237 of file CaloClusterer.h.

237  {
238  Fractions, /* each local maximum neighbour takes a share proportional to its value */
239  None, /* each local maximum neighbour takes all the value (double counting!) */
240  Greedy, /* assing cell to the highest local maximum neighbour */
241  Crude
242  }; /* if there's more than one local maximum neighbour, they all take half of the value (no fp division) */

Constructor & Destructor Documentation

◆ SingleCaloClusterer()

l1tpf_calo::SingleCaloClusterer::SingleCaloClusterer ( const edm::ParameterSet pset)

Definition at line 166 of file CaloClusterer.cc.

References Crude, pfClustersFromCombinedCaloHF_cfi::energyShareAlgo, energyShareAlgo_, etaBounds_, Exception, Fractions, Greedy, maxClustersEtaPhi_, neighborCells_, None, phiBounds_, muonDTDigis_cfi::pset, and AlCaHLTBitMon_QueryRunRegistry::string.

167  : grid_(getGrid(pset.getParameter<std::string>("grid"))),
168  rawet_(*grid_),
170  eta_center_(*grid_),
171  phi_center_(*grid_),
172  precluster_(*grid_),
174  cellKey_(*grid_),
175  preciseEtaPhi_(pset.existsAs<bool>("usePreciseEtaPhi") ? pset.getParameter<bool>("usePreciseEtaPhi") : false),
176  etaBounds_(pset.getParameter<std::vector<double>>("etaBounds")),
177  phiBounds_(pset.getParameter<std::vector<double>>("phiBounds")),
178  maxClustersEtaPhi_(pset.getParameter<std::vector<unsigned int>>("maxClustersEtaPhi")),
179  clusters_(),
180  nullCluster_(),
181  zsEt_(pset.getParameter<double>("zsEt")),
182  seedEt_(pset.getParameter<double>("seedEt")),
183  minClusterEt_(pset.getParameter<double>("minClusterEt")),
184  minEtToGrow_(pset.existsAs<double>("minEtToGrow") ? pset.getParameter<double>("minEtToGrow") : -1),
185  energyWeightedPosition_(pset.getParameter<bool>("energyWeightedPosition")) {
186  std::string energyShareAlgo = pset.getParameter<std::string>("energyShareAlgo");
187  if (energyShareAlgo == "fractions")
189  else if (energyShareAlgo == "none")
191  else if (energyShareAlgo == "greedy")
193  else if (energyShareAlgo == "crude")
195  else
196  throw cms::Exception("Configuration") << "Unsupported energyShareAlgo '" << energyShareAlgo << "'\n";
197  if (pset.existsAs<std::vector<int>>("neighborCells")) {
198  neighborCells_ = pset.getParameter<std::vector<int>>(
199  "neighborCells"); //anything other than 3x3 is incompatible with grow() I think...
200  } else {
201  neighborCells_ = std::vector<int>({0, 1, 2, 3, 4, 5, 6, 7}); //default to 3x3
202  // in relative eta,phi: 5 = (+1, 0), 6 = (+1, 0), 7 = (+1,+1)
203  // 3 = ( 0,-1), 4 = ( 0,+1),
204  // 0 = (-1,-1), 1 = (-1, 0), 2 = (-1,+1),
205  }
206  if ((etaBounds_.size() - 1) * (phiBounds_.size() - 1) != maxClustersEtaPhi_.size()) {
207  throw cms::Exception("Configuration")
208  << "Size mismatch between eta/phi bounds and max clusters: " << (etaBounds_.size() - 1) << " x "
209  << (phiBounds_.size() - 1) << " != " << maxClustersEtaPhi_.size() << "\n";
210  }
211  if (!std::is_sorted(etaBounds_.begin(), etaBounds_.end())) {
212  throw cms::Exception("Configuration") << "etaBounds is not sorted\n";
213  }
214  if (!std::is_sorted(phiBounds_.begin(), phiBounds_.end())) {
215  throw cms::Exception("Configuration") << "phiBounds is not sorted\n";
216  }
217 }
std::vector< double > etaBounds_
std::vector< unsigned int > maxClustersEtaPhi_
std::vector< Cluster > clusters_
const Grid * getGrid(const std::string &type)
std::vector< double > phiBounds_
std::vector< int > neighborCells_

◆ ~SingleCaloClusterer()

l1tpf_calo::SingleCaloClusterer::~SingleCaloClusterer ( )

Definition at line 219 of file CaloClusterer.cc.

219 {}

Member Function Documentation

◆ add() [1/2]

void l1tpf_calo::SingleCaloClusterer::add ( const reco::Candidate c)
inline

◆ add() [2/2]

void l1tpf_calo::SingleCaloClusterer::add ( float  pt,
float  eta,
float  phi 
)
inline

Definition at line 192 of file CaloClusterer.h.

References PVValHelper::eta, eta_center_, phi_center_, preciseEtaPhi_, DiDispStaMuonMonitor_cfi::pt, and rawet_.

Referenced by counter.Counter::register().

192  {
193  rawet_(eta, phi) += pt;
194  if (preciseEtaPhi_) {
195  float newet = rawet_(eta, phi);
196  float prevw = (newet - pt) / newet;
197  float nextw = pt / newet;
198  eta_center_(eta, phi) = eta_center_(eta, phi) * prevw + eta * nextw;
199  phi_center_(eta, phi) = phi_center_(eta, phi) * prevw + phi * nextw;
200  }
201  }

◆ clear()

void l1tpf_calo::SingleCaloClusterer::clear ( void  )

Definition at line 221 of file CaloClusterer.cc.

Referenced by L1TPFCaloProducer::produce().

221  {
222  rawet_.zero();
223  eta_center_.zero();
224  phi_center_.zero();
225  clusters_.clear();
226  clusterIndex_.fill(-1);
227 }
void fill(const T &val)
std::vector< Cluster > clusters_

◆ cluster()

const Cluster& l1tpf_calo::SingleCaloClusterer::cluster ( int  i) const
inline

Definition at line 213 of file CaloClusterer.h.

References clusterIndex_, clusters_, mps_fire::i, and nullCluster_.

213  {
214  return (i == -1 || clusterIndex_[i] == -1) ? nullCluster_ : clusters_[clusterIndex_[i]];
215  }
std::vector< Cluster > clusters_

◆ clusters()

const std::vector<Cluster>& l1tpf_calo::SingleCaloClusterer::clusters ( ) const
inline

Definition at line 212 of file CaloClusterer.h.

References clusters_.

212 { return clusters_; }
std::vector< Cluster > clusters_

◆ correct()

template<typename Corrector >
void l1tpf_calo::SingleCaloClusterer::correct ( const Corrector &  corrector)
inline

◆ etaCenter() [1/2]

const EtaPhiCenterGrid& l1tpf_calo::SingleCaloClusterer::etaCenter ( ) const
inline

Definition at line 209 of file CaloClusterer.h.

References eta_center_.

209 { return eta_center_; }

◆ etaCenter() [2/2]

EtaPhiCenterGrid& l1tpf_calo::SingleCaloClusterer::etaCenter ( )
inline

Definition at line 219 of file CaloClusterer.h.

References eta_center_.

219 { return eta_center_; }

◆ fetch() [1/2]

std::unique_ptr< l1t::PFClusterCollection > l1tpf_calo::SingleCaloClusterer::fetch ( float  ptMin = 0.) const

Definition at line 428 of file CaloClusterer.cc.

References ptMin, and runTheMatrix::ret.

Referenced by L1TPFCaloProducer::produce().

428  {
429  auto ret = std::make_unique<l1t::PFClusterCollection>();
430  for (const Cluster &cluster : clusters_) {
431  if (cluster.et > ptMin) {
432  ret->emplace_back(cluster.et, cluster.eta, cluster.phi);
433  }
434  }
435  return ret;
436 }
ret
prodAgent to be discontinued
constexpr float ptMin
std::vector< Cluster > clusters_
const Cluster & cluster(int i) const

◆ fetch() [2/2]

std::unique_ptr< l1t::PFClusterCollection > l1tpf_calo::SingleCaloClusterer::fetch ( const edm::OrphanHandle< l1t::PFClusterCollection > &  cells,
float  ptMin = 0. 
) const

Definition at line 438 of file CaloClusterer.cc.

References hgcalTBTopologyTester_cfi::cells, ptMin, and runTheMatrix::ret.

439  {
440  auto ret = std::make_unique<l1t::PFClusterCollection>();
441  for (const Cluster &cluster : clusters_) {
442  if (cluster.et > ptMin) {
443  ret->emplace_back(cluster.et, cluster.eta, cluster.phi);
444  for (const auto &pair : cluster.constituents) {
445  edm::Ptr<l1t::PFCluster> ref(cells, cellKey_[pair.first]);
446  ret->back().addConstituent(ref, pair.second);
447  }
448  }
449  }
450  return ret;
451 }
ret
prodAgent to be discontinued
constexpr float ptMin
std::vector< Cluster > clusters_
std::vector< std::pair< int, float > > constituents
const Cluster & cluster(int i) const

◆ fetchCells()

std::unique_ptr< l1t::PFClusterCollection > l1tpf_calo::SingleCaloClusterer::fetchCells ( bool  unclusteredOnly = false,
float  ptMin = 0. 
) const

Definition at line 400 of file CaloClusterer.cc.

References cms::cuda::assert(), l1tpf_calo::GridSelector::fill(), mps_fire::i, cuy::ii, dqmdumpme::indices, l1tpf_calo::GridData< T >::phi(), ptMin, runTheMatrix::ret, l1tpf_calo::GridSelector::returnSorted(), and TrackRefitter_38T_cff::src.

Referenced by L1TPFCaloProducer::produce().

401  {
402  auto ret = std::make_unique<l1t::PFClusterCollection>();
403  const EtGrid &src = (unclusteredOnly ? unclustered_ : rawet_);
404  const EtaPhiCenterGrid &eta_shift = eta_center_;
405  const EtaPhiCenterGrid &phi_shift = phi_center_;
407  int totalClusters = 0;
408  for (unsigned int i = 0, ncells = grid_->size(); i < ncells; ++i) {
409  if (src[i] <= ptMin)
410  continue;
411  if ((unclusteredOnly == false) && (ptMin == 0)) {
412  assert(cellKey_[i] == totalClusters);
413  }
414  totalClusters++;
415  selector.fill(src[i], grid_->eta(i), grid_->phi(i), i);
416  }
417  std::vector<unsigned int> indices = selector.returnSorted();
418  for (unsigned int ii = 0; ii < indices.size(); ii++) {
419  unsigned int theIndex = indices[ii];
420  ret->emplace_back(
421  src[theIndex], grid_->eta(theIndex) + eta_shift[theIndex], grid_->phi(theIndex) + phi_shift[theIndex]);
422  ret->back().setHwEta(grid_->ieta(theIndex));
423  ret->back().setHwPhi(grid_->iphi(theIndex));
424  }
425  return ret;
426 }
int iphi(int icell) const
Definition: CaloClusterer.h:33
GridData< float > EtGrid
std::vector< double > etaBounds_
float eta(int icell) const
Definition: CaloClusterer.h:28
GridData< float > EtaPhiCenterGrid
std::vector< unsigned int > maxClustersEtaPhi_
int ieta(int icell) const
Definition: CaloClusterer.h:32
ret
prodAgent to be discontinued
constexpr float ptMin
void fill(float pt, float eta, float phi, unsigned int index)
assert(be >=bs)
float phi(int icell) const
Definition: CaloClusterer.h:29
std::vector< unsigned int > returnSorted()
ii
Definition: cuy.py:589
std::vector< double > phiBounds_
unsigned int size() const
Definition: CaloClusterer.h:25

◆ grow()

void l1tpf_calo::SingleCaloClusterer::grow ( )

possibly grow clusters by adding unclustered energy on the sides

Definition at line 373 of file CaloClusterer.cc.

References mps_fire::i, and recoMuon::in.

373  {
374  int selneighs[4] = {1, 3, 4, 6}; // -eta, -phi, +phi, +eta
375  std::vector<int> toreset;
376  for (Cluster &cluster : clusters_) {
377  if (cluster.et > minEtToGrow_) {
378  int i = cluster.constituents.front().first;
379  for (int side = 0; side < 4; ++side) {
380  int neigh = grid_->neighbour(i, selneighs[side]);
381  if (neigh == -1)
382  continue;
383  for (int in = 0; in < 8; ++in) {
384  int n2 = grid_->neighbour(neigh, in);
385  if (n2 == -1)
386  continue;
387  cluster.et += unclustered_[n2];
388  if (unclustered_[n2]) {
389  cluster.constituents.emplace_back(n2, 1.0);
390  toreset.push_back(n2);
391  }
392  }
393  }
394  }
395  }
396  for (int i : toreset)
397  unclustered_[i] = 0;
398 }
std::vector< Cluster > clusters_
int neighbour(int icell, unsigned int idx) const
Definition: CaloClusterer.h:27
std::vector< std::pair< int, float > > constituents
const Cluster & cluster(int i) const

◆ indexGrid()

const IndexGrid& l1tpf_calo::SingleCaloClusterer::indexGrid ( ) const
inline

Definition at line 211 of file CaloClusterer.h.

References clusterIndex_.

211 { return clusterIndex_; }

◆ phiCenter() [1/2]

const EtaPhiCenterGrid& l1tpf_calo::SingleCaloClusterer::phiCenter ( ) const
inline

Definition at line 210 of file CaloClusterer.h.

References phi_center_.

210 { return phi_center_; }

◆ phiCenter() [2/2]

EtaPhiCenterGrid& l1tpf_calo::SingleCaloClusterer::phiCenter ( )
inline

Definition at line 220 of file CaloClusterer.h.

References phi_center_.

220 { return phi_center_; }

◆ raw() [1/2]

const EtGrid& l1tpf_calo::SingleCaloClusterer::raw ( ) const
inline

Definition at line 208 of file CaloClusterer.h.

References rawet_.

208 { return rawet_; }

◆ raw() [2/2]

EtGrid& l1tpf_calo::SingleCaloClusterer::raw ( )
inline

non-const access to the energy: be careful to use it only before 'run()'

Definition at line 218 of file CaloClusterer.h.

References rawet_.

218 { return rawet_; }

◆ run()

void l1tpf_calo::SingleCaloClusterer::run ( )

Definition at line 229 of file CaloClusterer.cc.

References l1tpf_calo::Cluster::clear(), l1tpf_calo::Cluster::constituents, SiPixelRawToDigiRegional_cfi::deltaPhi, l1tpf_calo::Cluster::et, l1tpf_calo::Cluster::eta, mps_fire::i, crabWrapper::key, SiStripPI::max, HiEvtPlane_cfi::maxet, None, contentValuesFiles::number, l1tpf_calo::Cluster::phi, reco::reduceRange(), and compareTotals::tot.

Referenced by L1TPFCaloProducer::produce().

229  {
230  unsigned int i, ncells = grid_->size();
231 
232  // kill zeros. count non-zeros, for linking later
233  cellKey_.fill(-1);
234  int key = 0;
235  for (i = 0; i < ncells; ++i) {
236  if (rawet_[i] < zsEt_) {
237  rawet_[i] = 0;
238  } else {
239  cellKey_[i] = key++;
240  }
241  }
242 
243  precluster_.clear();
244  // pre-cluster step 1: at each cell, set the value equal to itself if it's a local maxima, zero otherwise
245  // can be done in parallel on all cells
246  for (i = 0; i < ncells; ++i) {
247  if (rawet_[i] > seedEt_) {
248  precluster_[i].ptLocalMax = rawet_[i];
250  //printf(" candidate precluster pt %7.2f at %4d (ieta %+3d iphi %2d)\n", rawet_[i], i, grid_->ieta(i), grid_->iphi(i));
251  for (const auto &ineigh : neighborCells_) {
252  if (ineigh >= 4)
253  continue;
254  if (rawet_.neigh(i, ineigh) > rawet_[i])
255  precluster_[i].ptLocalMax = 0;
257  //int ncell = grid_->neighbour(i,ineigh);
258  //if (ncell == -1) printf(" \t neigh %d is null\n", ineigh);
259  //else printf(" \t neigh %d at %4d (ieta %+3d iphi %2d) has pt %7.2f: comparison %1d \n", ineigh, ncell, grid_->ieta(ncell), grid_->iphi(ncell), rawet_[ncell], precluster_[i].ptLocalMax > 0);
260  }
261  for (const auto &ineigh : neighborCells_) {
262  if (ineigh < 4)
263  continue;
264  if (rawet_.neigh(i, ineigh) >= rawet_[i])
265  precluster_[i].ptLocalMax = 0;
267  //int ncell = grid_->neighbour(i,ineigh);
268  //if (ncell == -1) printf(" \t neigh %d is null\n", ineigh);
269  //else printf(" \t neigh %d at %4d (ieta %+3d iphi %2d) has pt %7.2f: comparison %1d \n", ineigh, ncell, grid_->ieta(ncell), grid_->iphi(ncell), rawet_[ncell], precluster_[i].ptLocalMax > 0);
270  }
271  }
272  }
273  // pre-cluster step 2: compute information from neighbouring local max, for energy sharing purposes
274  for (i = 0; i < ncells; ++i) {
275  if (precluster_[i].ptLocalMax == 0) {
276  switch (energyShareAlgo_) {
278  float tot = 0;
279  for (const auto &ineigh : neighborCells_) {
280  tot += precluster_.neigh(i, ineigh).ptLocalMax;
281  }
282  precluster_[i].ptOverNeighLocalMaxSum = tot ? rawet_[i] / tot : 0;
283  } break;
285  precluster_[i].ptOverNeighLocalMaxSum = rawet_[i];
286  break;
288  float maxet = 0;
289  for (const auto &ineigh : neighborCells_) {
291  }
292  precluster_[i].ptOverNeighLocalMaxSum = maxet;
293  } break;
294  case EnergyShareAlgo::Crude: {
295  int number = 0;
296  for (const auto &ineigh : neighborCells_) {
297  number += (precluster_.neigh(i, ineigh).ptLocalMax > 0);
298  }
299  precluster_[i].ptOverNeighLocalMaxSum = (number > 1 ? 0.5 : 1.0) * rawet_[i];
300  } break;
301  }
302  }
303  }
304 
305  clusterIndex_.fill(-1);
306  clusters_.clear();
308  // cluster: at each localMax cell, take itself plus the weighted contributions of the neighbours
309  Cluster cluster;
310  for (i = 0; i < ncells; ++i) {
311  if (precluster_[i].ptLocalMax > 0) {
312  float myet = rawet_[i];
313  float tot = myet;
314  float avg_eta = 0;
315  float avg_phi = 0;
316  cluster.clear();
317  cluster.constituents.emplace_back(i, 1.0);
318  for (const auto &ineigh : neighborCells_) {
319  int ineighcell = grid_->neighbour(i, ineigh);
320  if (ineighcell == -1)
321  continue; // skip dummy cells
322  float fracet = 0;
323  switch (energyShareAlgo_) {
325  fracet = myet * precluster_.neigh(i, ineigh).ptOverNeighLocalMaxSum;
326  break;
328  fracet = precluster_.neigh(i, ineigh).ptOverNeighLocalMaxSum;
329  break;
331  fracet = (myet == precluster_.neigh(i, ineigh).ptOverNeighLocalMaxSum ? rawet_.neigh(i, ineigh) : 0);
332  break;
334  fracet = precluster_.neigh(i, ineigh).ptOverNeighLocalMaxSum;
335  break;
336  }
337  if (fracet == 0)
338  continue;
339  tot += fracet;
340  cluster.constituents.emplace_back(ineighcell, fracet / rawet_.neigh(i, ineigh));
342  avg_eta += fracet * (grid_->eta(ineighcell) - grid_->eta(i));
343  avg_phi += fracet * deltaPhi(grid_->phi(ineighcell), grid_->phi(i));
344  }
345  }
346  if (tot > minClusterEt_) {
347  cluster.et = tot;
348  unclustered_[i] = 0;
349  for (const auto &ineigh : neighborCells_) {
350  int ineighcell = grid_->neighbour(i, ineigh);
351  if (ineighcell == -1)
352  continue; // skip dummy cells
353  unclustered_[ineighcell] = 0;
354  }
356  cluster.eta = grid_->eta(i) + avg_eta / tot;
357  cluster.phi = grid_->phi(i) + avg_phi / tot;
358  // wrap around phi
360  } else {
361  cluster.eta = grid_->eta(i);
362  cluster.phi = grid_->phi(i);
363  }
364  clusterIndex_[i] = clusters_.size();
365  clusters_.push_back(cluster);
366  }
367  }
368  }
369  if (minEtToGrow_ > 0)
370  grow();
371 }
float eta(int icell) const
Definition: CaloClusterer.h:28
constexpr T reduceRange(T x)
Definition: deltaPhi.h:18
void fill(const T &val)
std::vector< Cluster > clusters_
int neighbour(int icell, unsigned int idx) const
Definition: CaloClusterer.h:27
float phi(int icell) const
Definition: CaloClusterer.h:29
std::vector< std::pair< int, float > > constituents
const T & neigh(int icell, unsigned int idx) const
void grow()
possibly grow clusters by adding unclustered energy on the sides
const Cluster & cluster(int i) const
unsigned int size() const
Definition: CaloClusterer.h:25
std::vector< int > neighborCells_

Member Data Documentation

◆ cellKey_

IndexGrid l1tpf_calo::SingleCaloClusterer::cellKey_
private

Definition at line 248 of file CaloClusterer.h.

◆ clusterIndex_

IndexGrid l1tpf_calo::SingleCaloClusterer::clusterIndex_
private

Definition at line 248 of file CaloClusterer.h.

Referenced by cluster(), and indexGrid().

◆ clusters_

std::vector<Cluster> l1tpf_calo::SingleCaloClusterer::clusters_
private

Definition at line 253 of file CaloClusterer.h.

Referenced by cluster(), clusters(), and correct().

◆ energyShareAlgo_

EnergyShareAlgo l1tpf_calo::SingleCaloClusterer::energyShareAlgo_
private

Definition at line 256 of file CaloClusterer.h.

Referenced by SingleCaloClusterer().

◆ energyWeightedPosition_

bool l1tpf_calo::SingleCaloClusterer::energyWeightedPosition_
private

Definition at line 257 of file CaloClusterer.h.

◆ eta_center_

EtaPhiCenterGrid l1tpf_calo::SingleCaloClusterer::eta_center_
private

Definition at line 245 of file CaloClusterer.h.

Referenced by add(), and etaCenter().

◆ etaBounds_

std::vector<double> l1tpf_calo::SingleCaloClusterer::etaBounds_
private

Definition at line 250 of file CaloClusterer.h.

Referenced by SingleCaloClusterer().

◆ grid_

const Grid* l1tpf_calo::SingleCaloClusterer::grid_
private

Definition at line 243 of file CaloClusterer.h.

◆ maxClustersEtaPhi_

std::vector<unsigned int> l1tpf_calo::SingleCaloClusterer::maxClustersEtaPhi_
private

Definition at line 252 of file CaloClusterer.h.

Referenced by SingleCaloClusterer().

◆ minClusterEt_

float l1tpf_calo::SingleCaloClusterer::minClusterEt_
private

Definition at line 255 of file CaloClusterer.h.

◆ minEtToGrow_

float l1tpf_calo::SingleCaloClusterer::minEtToGrow_
private

Definition at line 255 of file CaloClusterer.h.

◆ neighborCells_

std::vector<int> l1tpf_calo::SingleCaloClusterer::neighborCells_
private

Definition at line 258 of file CaloClusterer.h.

Referenced by SingleCaloClusterer().

◆ nullCluster_

const Cluster l1tpf_calo::SingleCaloClusterer::nullCluster_
private

Definition at line 254 of file CaloClusterer.h.

Referenced by cluster().

◆ phi_center_

EtaPhiCenterGrid l1tpf_calo::SingleCaloClusterer::phi_center_
private

Definition at line 246 of file CaloClusterer.h.

Referenced by add(), and phiCenter().

◆ phiBounds_

std::vector<double> l1tpf_calo::SingleCaloClusterer::phiBounds_
private

Definition at line 251 of file CaloClusterer.h.

Referenced by SingleCaloClusterer().

◆ preciseEtaPhi_

bool l1tpf_calo::SingleCaloClusterer::preciseEtaPhi_
private

Definition at line 249 of file CaloClusterer.h.

Referenced by add().

◆ precluster_

PreClusterGrid l1tpf_calo::SingleCaloClusterer::precluster_
private

Definition at line 247 of file CaloClusterer.h.

◆ rawet_

EtGrid l1tpf_calo::SingleCaloClusterer::rawet_
private

Definition at line 244 of file CaloClusterer.h.

Referenced by add(), and raw().

◆ seedEt_

float l1tpf_calo::SingleCaloClusterer::seedEt_
private

Definition at line 255 of file CaloClusterer.h.

◆ unclustered_

EtGrid l1tpf_calo::SingleCaloClusterer::unclustered_
private

Definition at line 244 of file CaloClusterer.h.

◆ zsEt_

float l1tpf_calo::SingleCaloClusterer::zsEt_
private

Definition at line 255 of file CaloClusterer.h.