CMS 3D CMS Logo

PFClusterEnergyCorrectorBase.h
Go to the documentation of this file.
1 #ifndef __PFClusterEnergyCorrectorBase_H__
2 #define __PFClusterEnergyCorrectorBase_H__
3 
7 
8 #include <string>
9 
10 namespace edm {
11  class Event;
12  class EventSetup;
13 }
14 
17  public:
19  _algoName(conf.getParameter<std::string>("algoName")) { }
20  virtual ~PFClusterEnergyCorrectorBase() = default;
21  //get rid of things we should never use
22  PFClusterEnergyCorrectorBase(const Corrector&) = delete;
23  Corrector& operator=(const Corrector&) = 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 correctEnergy(reco::PFCluster&) = 0;
29  // here you call a loop inside to transform the whole vector
30  virtual void correctEnergies(reco::PFClusterCollection&) = 0;
31 
32  const std::string& name() const { return _algoName; }
33 
34  private:
36 
37 };
38 
41 
42 #endif
Particle flow cluster, see clustering algorithm in PFClusterAlgo.
Definition: PFCluster.h:47
PFClusterEnergyCorrectorBase(const edm::ParameterSet &conf)
const std::string & name() const
edmplugin::PluginFactory< PFClusterEnergyCorrectorBase *(const edm::ParameterSet &) > PFClusterEnergyCorrectorFactory
PFClusterEnergyCorrectorBase Corrector
HLT enums.
std::vector< PFCluster > PFClusterCollection
collection of PFCluster objects
Definition: PFClusterFwd.h:9
virtual void update(const edm::EventSetup &)