CMS 3D CMS Logo

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