CMS 3D CMS Logo

PFCPositionCalculatorBase.h
Go to the documentation of this file.
1 #ifndef __PFCPositionCalculatorBase_H__
2 #define __PFCPositionCalculatorBase_H__
3 
10 
11 #include <string>
12 
13 namespace edm {
14  class EventSetup;
15 }
16 
19 
20 public:
22  : _minFractionInCalc(conf.getParameter<double>("minFractionInCalc")),
23  _algoName(conf.getParameter<std::string>("algoName")) {}
24  virtual ~PFCPositionCalculatorBase() = default;
25  //get rid of things we should never use
26  PFCPositionCalculatorBase(const PosCalc&) = delete;
27  PosCalc& operator=(const PosCalc&) = delete;
28 
29  virtual void update(const edm::EventSetup&) {}
30 
31  // here we transform one PFCluster to use the new position calculation
32  virtual void calculateAndSetPosition(reco::PFCluster&, const HcalPFCuts*) = 0;
33  // here you call a loop inside to transform the whole vector
35 
36  const std::string& name() const { return _algoName; }
37 
38 protected:
39  const float _minFractionInCalc;
40 
41 private:
43 };
44 
45 // define the factory for this base class
49 
50 #endif
PFCPositionCalculatorBase(const edm::ParameterSet &conf, edm::ConsumesCollector &cc)
Particle flow cluster, see clustering algorithm in PFClusterAlgo.
Definition: PFCluster.h:42
uint32_t cc[maxCellsPerHit]
Definition: gpuFishbone.h:49
PosCalc & operator=(const PosCalc &)=delete
const std::string & name() const
virtual void update(const edm::EventSetup &)
virtual void calculateAndSetPositions(reco::PFClusterCollection &, const HcalPFCuts *)=0
virtual void calculateAndSetPosition(reco::PFCluster &, const HcalPFCuts *)=0
PFCPositionCalculatorBase PosCalc
virtual ~PFCPositionCalculatorBase()=default
HLT enums.
std::vector< PFCluster > PFClusterCollection
collection of PFCluster objects
Definition: PFClusterFwd.h:9
edmplugin::PluginFactory< PFCPositionCalculatorBase *(const edm::ParameterSet &, edm::ConsumesCollector &)> PFCPositionCalculatorFactory