28 template <
typename... Args>
34 minGoodPixelCharge_(minGoodPixelCharge),
35 minGoodStripCharge_(minGoodStripCharge),
36 pTChargeCutThreshold2_(pTChargeCutThreshold >= 0. ? pTChargeCutThreshold * pTChargeCutThreshold
37 : std::numeric_limits<float>::
max()) {}
44 const float minGoodPixelCharge_;
45 const float minGoodStripCharge_;
46 const float pTChargeCutThreshold2_;
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,
tuple pTChargeCutThreshold
tuple Chi2ChargeMeasurementEstimator
virtual bool preFilter(const TrajectoryStateOnSurface &, OpaquePayload const &) const
const LocalTrajectoryParameters & localParameters() const
float clusterChargeCut(const edm::ParameterSet &conf, const char *name="clusterChargeCut")
edm::ParameterSetDescription getFilledConfigurationDescription4CCC()
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
edm::ParameterSetDescription getFilledConfigurationDescription()
ParameterDescriptionBase * add(U const &iLabel, T const &value)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
T getParameter(std::string const &) const
#define DEFINE_FWK_EVENTSETUP_MODULE(type)
GlobalVector globalMomentum() const
static constexpr int myTag
Chi2MeasurementEstimator * clone() const override