CMS 3D CMS Logo

Basic2DGenericPFlowPositionCalc.h
Go to the documentation of this file.
1 #ifndef __Basic2DGenericPFlowPositionCalc_H__
2 #define __Basic2DGenericPFlowPositionCalc_H__
3 
7 
9 
11 
13  public:
16  _posCalcNCrystals(conf.getParameter<int>("posCalcNCrystals")),
17  _logWeightDenom(1./conf.getParameter<double>("logWeightDenominator")),
18  _minAllowedNorm(conf.getParameter<double>("minAllowedNormalization"))
19 
20  {
21  _timeResolutionCalcBarrel.reset(nullptr);
22  if( conf.exists("timeResolutionCalcBarrel") ) {
23  const edm::ParameterSet& timeResConf =
24  conf.getParameterSet("timeResolutionCalcBarrel");
26  }
27  _timeResolutionCalcEndcap.reset(nullptr);
28  if( conf.exists("timeResolutionCalcEndcap") ) {
29  const edm::ParameterSet& timeResConf =
30  conf.getParameterSet("timeResolutionCalcEndcap");
32  }
33 
34  switch( _posCalcNCrystals ) {
35  case 5:
36  case 9:
37  case -1:
38  break;
39  default:
40  edm::LogError("Basic2DGenericPFlowPositionCalc") << "posCalcNCrystals not valid";
41  assert(0); // bug
42  }
43 
44 
45  }
46 
49 
52 
53  private:
54  const int _posCalcNCrystals;
55  const float _logWeightDenom;
56  const float _minAllowedNorm;
57 
58  std::unique_ptr<CaloRecHitResolutionProvider> _timeResolutionCalcBarrel;
59  std::unique_ptr<CaloRecHitResolutionProvider> _timeResolutionCalcEndcap;
60 
62 };
63 
66  "Basic2DGenericPFlowPositionCalc");
67 
68 #endif
Basic2DGenericPFlowPositionCalc(const edm::ParameterSet &conf)
void calculateAndSetPositionActual(reco::PFCluster &) const
Particle flow cluster, see clustering algorithm in PFClusterAlgo.
Definition: PFCluster.h:47
bool exists(std::string const &parameterName) const
checks if a parameter exists
void calculateAndSetPositions(reco::PFClusterCollection &) override
ParameterSet const & getParameterSet(std::string const &) const
std::unique_ptr< CaloRecHitResolutionProvider > _timeResolutionCalcBarrel
void calculateAndSetPosition(reco::PFCluster &) override
std::unique_ptr< CaloRecHitResolutionProvider > _timeResolutionCalcEndcap
Basic2DGenericPFlowPositionCalc & operator=(const Basic2DGenericPFlowPositionCalc &)=delete
std::vector< PFCluster > PFClusterCollection
collection of PFCluster objects
Definition: PFClusterFwd.h:9
#define DEFINE_EDM_PLUGIN(factory, type, name)