CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Private Attributes
TruncatedAverageDeDxEstimator Class Reference

#include <TruncatedAverageDeDxEstimator.h>

Inheritance diagram for TruncatedAverageDeDxEstimator:
BaseDeDxEstimator

Public Member Functions

std::pair< float, float > dedx (const reco::DeDxHitCollection &Hits) override
 
 TruncatedAverageDeDxEstimator (const edm::ParameterSet &iConfig)
 
- Public Member Functions inherited from BaseDeDxEstimator
virtual void beginRun (edm::Run const &run, const edm::EventSetup &iSetup)
 
virtual ~BaseDeDxEstimator ()
 

Private Attributes

float m_fraction
 

Detailed Description

Definition at line 9 of file TruncatedAverageDeDxEstimator.h.

Constructor & Destructor Documentation

TruncatedAverageDeDxEstimator::TruncatedAverageDeDxEstimator ( const edm::ParameterSet iConfig)
inline

Definition at line 11 of file TruncatedAverageDeDxEstimator.h.

References edm::ParameterSet::getParameter(), and m_fraction.

11  {
12  m_fraction = iConfig.getParameter<double>("fraction");
13  }
T getParameter(std::string const &) const
Definition: ParameterSet.h:303

Member Function Documentation

std::pair<float, float> TruncatedAverageDeDxEstimator::dedx ( const reco::DeDxHitCollection Hits)
inlineoverridevirtual

Implements BaseDeDxEstimator.

Definition at line 15 of file TruncatedAverageDeDxEstimator.h.

References mps_fire::i, and m_fraction.

15  {
16  int nTrunc = int(Hits.size() * m_fraction);
17  double sumdedx = 0;
18  for (size_t i = 0; i + nTrunc < Hits.size(); i++) {
19  sumdedx += Hits[i].charge();
20  }
21  double avrdedx = (Hits.size()) ? sumdedx / (Hits.size() - nTrunc) : 0.0;
22  return std::make_pair(avrdedx, -1);
23  }

Member Data Documentation

float TruncatedAverageDeDxEstimator::m_fraction
private

Definition at line 26 of file TruncatedAverageDeDxEstimator.h.

Referenced by dedx(), and TruncatedAverageDeDxEstimator().