28 template <
typename... Args>
34 minGoodPixelCharge_(minGoodPixelCharge),
44 const float minGoodPixelCharge_;
45 const float minGoodStripCharge_;
46 const float pTChargeCutThreshold2_;
59 auto const& clf = reinterpret_cast<ClusterFilterPayload const&>(opay);
64 DetId detid = clf.detId;
68 return checkClusterCharge(detid, *clf.cluster[0], ts) &&
69 (
nullptr == clf.cluster[1] || checkClusterCharge(detid, *clf.cluster[1], ts));
92 class Chi2ChargeMeasurementEstimatorESProducer :
public edm::ESProducer {
96 ~Chi2ChargeMeasurementEstimatorESProducer()
override;
100 const double m_maxChi2;
101 const double m_nSigma;
102 const double m_maxDis;
103 const double m_maxSag;
104 const double m_minTol;
105 const double m_minpt;
106 const float m_minGoodStripCharge;
107 const double m_pTChargeCutThreshold;
113 desc.add<
double>(
"pTChargeCutThreshold", -1.);
116 descriptions.
add(
"Chi2ChargeMeasurementEstimatorDefault",
desc);
119 Chi2ChargeMeasurementEstimatorESProducer::Chi2ChargeMeasurementEstimatorESProducer(
const edm::ParameterSet&
pset)
120 : m_maxChi2(
pset.getParameter<double>(
"MaxChi2")),
121 m_nSigma(
pset.getParameter<double>(
"nSigma")),
122 m_maxDis(
pset.getParameter<double>(
"MaxDisplacement")),
123 m_maxSag(
pset.getParameter<double>(
"MaxSagitta")),
124 m_minTol(
pset.getParameter<double>(
"MinimalTolerance")),
125 m_minpt(
pset.getParameter<double>(
"MinPtForHitRecoveryInGluedDet")),
127 m_pTChargeCutThreshold(
pset.getParameter<double>(
"pTChargeCutThreshold")) {
129 setWhatProduced(
this, myname);
132 Chi2ChargeMeasurementEstimatorESProducer::~Chi2ChargeMeasurementEstimatorESProducer() {}
134 std::unique_ptr<Chi2MeasurementEstimatorBase> Chi2ChargeMeasurementEstimatorESProducer::produce(
136 auto minGoodPixelCharge = 0;
138 return std::make_unique<Chi2ChargeMeasurementEstimator>(minGoodPixelCharge,
139 m_minGoodStripCharge,
140 m_pTChargeCutThreshold,