CMS 3D CMS Logo

GenericAverageDeDxEstimator.h
Go to the documentation of this file.
1 #ifndef RecoTrackerDeDx_GenericAverageDeDxEstimator_h
2 #define RecoTrackerDeDx_GenericAverageDeDxEstimator_h
3 
7 
9 public:
10  GenericAverageDeDxEstimator(const edm::ParameterSet& iConfig) { m_expo = iConfig.getParameter<double>("exponent"); }
11 
12  std::pair<float, float> dedx(const reco::DeDxHitCollection& Hits) override {
13  float result = 0;
14  size_t n = Hits.size();
15  for (size_t i = 0; i < n; i++) {
16  result += pow(Hits[i].charge(), m_expo);
17  }
18  return std::make_pair(((n > 0) ? pow(result / n, 1. / m_expo) : 0.0), -1);
19  }
20 
21 private:
22  float m_expo;
23 };
24 
25 #endif
GenericAverageDeDxEstimator::GenericAverageDeDxEstimator
GenericAverageDeDxEstimator(const edm::ParameterSet &iConfig)
Definition: GenericAverageDeDxEstimator.h:10
mps_fire.i
i
Definition: mps_fire.py:355
dqmiodumpmetadata.n
n
Definition: dqmiodumpmetadata.py:28
GenericAverageDeDxEstimator::m_expo
float m_expo
Definition: GenericAverageDeDxEstimator.h:22
reco::DeDxHitCollection
std::vector< DeDxHit > DeDxHitCollection
Definition: DeDxHit.h:41
GenericAverageDeDxEstimator
Definition: GenericAverageDeDxEstimator.h:8
GenericAverageDeDxEstimator::dedx
std::pair< float, float > dedx(const reco::DeDxHitCollection &Hits) override
Definition: GenericAverageDeDxEstimator.h:12
DeDxHit.h
DeDxTools.h
ALCARECOTkAlJpsiMuMu_cff.charge
charge
Definition: ALCARECOTkAlJpsiMuMu_cff.py:47
BaseDeDxEstimator.h
edm::ParameterSet
Definition: ParameterSet.h:36
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
funct::pow
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:30
BaseDeDxEstimator
Definition: BaseDeDxEstimator.h:7
mps_fire.result
result
Definition: mps_fire.py:303