32 template<
typename... Args>
38 minGoodPixelCharge_(minGoodPixelCharge),
39 minGoodStripCharge_(minGoodStripCharge),
40 pTChargeCutThreshold2_( pTChargeCutThreshold>=0.? pTChargeCutThreshold*pTChargeCutThreshold :
std::numeric_limits<
float>::
max())
53 const float minGoodPixelCharge_;
54 const float minGoodStripCharge_;
55 const float pTChargeCutThreshold2_;
75 DetId detid = clf.detId;
79 return checkClusterCharge(detid, *clf.cluster[0],ts) && (
nullptr==clf.cluster[1] || checkClusterCharge(detid, *clf.cluster[1],ts) ) ;
107 class Chi2ChargeMeasurementEstimatorESProducer:
public edm::ESProducer{
111 ~Chi2ChargeMeasurementEstimatorESProducer()
override;
122 desc.add<
std::string>(
"ComponentName",
"Chi2Charge");
123 desc.add<
double>(
"pTChargeCutThreshold",-1.);
126 descriptions.
add(
"Chi2ChargeMeasurementEstimatorDefault", desc);
131 Chi2ChargeMeasurementEstimatorESProducer::Chi2ChargeMeasurementEstimatorESProducer(
const edm::ParameterSet &
pset) :
135 setWhatProduced(
this,myname);
138 Chi2ChargeMeasurementEstimatorESProducer::~Chi2ChargeMeasurementEstimatorESProducer() {}
140 std::unique_ptr<Chi2MeasurementEstimatorBase>
143 auto maxChi2 = m_pset.getParameter<
double>(
"MaxChi2");
144 auto nSigma = m_pset.getParameter<
double>(
"nSigma");
145 auto maxDis = m_pset.getParameter<
double>(
"MaxDisplacement");
146 auto maxSag = m_pset.getParameter<
double>(
"MaxSagitta");
147 auto minTol = m_pset.getParameter<
double>(
"MinimalTolerance");
148 auto minpt = m_pset.getParameter<
double>(
"MinPtForHitRecoveryInGluedDet");
149 auto minGoodPixelCharge = 0;
153 return std::make_unique<Chi2ChargeMeasurementEstimator>(
T getParameter(std::string const &) const
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) ...
Chi2ChargeMeasurementEstimator
edm::ParameterSetDescription getFilledConfigurationDescription()
ParameterDescriptionBase * add(U const &iLabel, T const &value)
#define DEFINE_FWK_EVENTSETUP_MODULE(type)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
GlobalVector globalMomentum() const
static constexpr int myTag
Chi2MeasurementEstimator * clone() const override