CMS 3D CMS Logo

Basic2DGenericPFlowClusterizer.h
Go to the documentation of this file.
1 #ifndef __Basic2DGenericPFlowClusterizer_H__
2 #define __Basic2DGenericPFlowClusterizer_H__
3 
6 
7 #include <unordered_map>
8 
11  public:
13 
14  ~Basic2DGenericPFlowClusterizer() override = default;
15  Basic2DGenericPFlowClusterizer(const B2DGPF&) = delete;
16  B2DGPF& operator=(const B2DGPF&) = delete;
17 
18  void update(const edm::EventSetup& es) override {
19  _positionCalc->update(es);
20  if( _allCellsPosCalc ) _allCellsPosCalc->update(es);
21  if( _convergencePosCalc ) _convergencePosCalc->update(es);
22  }
23 
25  const std::vector<bool>&,
26  reco::PFClusterCollection& outclus) override;
27 
28  private:
29  const unsigned _maxIterations;
30  const double _stoppingTolerance;
31  const double _showerSigma2;
32  const bool _excludeOtherSeeds;
33  const double _minFracTot;
34  const std::unordered_map<std::string,int> _layerMap;
35 
36  std::unordered_map<int,std::pair<std::vector<int>,std::vector<double> > > _recHitEnergyNorms;
37  std::unique_ptr<PFCPositionCalculatorBase> _allCellsPosCalc;
38  std::unique_ptr<PFCPositionCalculatorBase> _convergencePosCalc;
39 
41  const std::vector<bool>&,
43 
44  void growPFClusters(const reco::PFCluster&,
45  const std::vector<bool>&,
46  const unsigned toleranceScaling,
47  const unsigned iter,
48  double dist,
50 
52 };
53 
56  "Basic2DGenericPFlowClusterizer");
57 
58 #endif
void growPFClusters(const reco::PFCluster &, const std::vector< bool > &, const unsigned toleranceScaling, const unsigned iter, double dist, reco::PFClusterCollection &) const
void buildClusters(const reco::PFClusterCollection &, const std::vector< bool > &, reco::PFClusterCollection &outclus) override
std::unordered_map< int, std::pair< std::vector< int >, std::vector< double > > > _recHitEnergyNorms
Particle flow cluster, see clustering algorithm in PFClusterAlgo.
Definition: PFCluster.h:47
std::unique_ptr< PosCalc > _positionCalc
std::unique_ptr< PFCPositionCalculatorBase > _convergencePosCalc
std::unique_ptr< PFCPositionCalculatorBase > _allCellsPosCalc
~Basic2DGenericPFlowClusterizer() override=default
B2DGPF & operator=(const B2DGPF &)=delete
const std::unordered_map< std::string, int > _layerMap
std::vector< PFCluster > PFClusterCollection
collection of PFCluster objects
Definition: PFClusterFwd.h:9
#define DEFINE_EDM_PLUGIN(factory, type, name)
void prunePFClusters(reco::PFClusterCollection &) const
void update(const edm::EventSetup &es) override
Basic2DGenericPFlowClusterizer B2DGPF
void seedPFClustersFromTopo(const reco::PFCluster &, const std::vector< bool > &, reco::PFClusterCollection &) const
Basic2DGenericPFlowClusterizer(const edm::ParameterSet &conf)