CMS 3D CMS Logo

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