CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 
15  Basic2DGenericPFlowClusterizer(const B2DGPF&) = delete;
16  B2DGPF& operator=(const B2DGPF&) = delete;
17 
18  void update(const edm::EventSetup& es) {
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);
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  std::unordered_map<int,double> _recHitEnergyNorms;
36  std::unique_ptr<PFCPositionCalculatorBase> _allCellsPosCalc;
37  std::unique_ptr<PFCPositionCalculatorBase> _convergencePosCalc;
38 
40  const std::vector<bool>&,
42 
43  void growPFClusters(const reco::PFCluster&,
44  const std::vector<bool>&,
45  const unsigned toleranceScaling,
46  const unsigned iter,
47  double dist,
49 
51 };
52 
55  "Basic2DGenericPFlowClusterizer");
56 
57 #endif
void growPFClusters(const reco::PFCluster &, const std::vector< bool > &, const unsigned toleranceScaling, const unsigned iter, double dist, reco::PFClusterCollection &) const
Particle flow cluster, see clustering algorithm in PFClusterAlgo.
Definition: PFCluster.h:47
std::unique_ptr< PosCalc > _positionCalc
std::unique_ptr< PFCPositionCalculatorBase > _convergencePosCalc
void update(const edm::EventSetup &es)
std::unique_ptr< PFCPositionCalculatorBase > _allCellsPosCalc
std::unordered_map< int, double > _recHitEnergyNorms
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
Basic2DGenericPFlowClusterizer B2DGPF
void buildClusters(const reco::PFClusterCollection &, const std::vector< bool > &, reco::PFClusterCollection &outclus)
void seedPFClustersFromTopo(const reco::PFCluster &, const std::vector< bool > &, reco::PFClusterCollection &) const
Basic2DGenericPFlowClusterizer(const edm::ParameterSet &conf)