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