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) ) ;
99 #include <boost/shared_ptr.hpp>
108 class Chi2ChargeMeasurementEstimatorESProducer:
public edm::ESProducer{
112 virtual ~Chi2ChargeMeasurementEstimatorESProducer();
116 boost::shared_ptr<Chi2MeasurementEstimatorBase> m_estimator;
125 desc.
add<
double>(
"MaxChi2",30);
126 desc.
add<
double>(
"nSigma",3);
127 desc.
add<
double>(
"MaxDisplacement",0.5);
128 desc.add<
double>(
"MaxSagitta",2.);
129 desc.add<
double>(
"MinimalTolerance",0.5);
130 desc.add<
std::string>(
"ComponentName",
"Chi2Charge");
131 desc.add<
double>(
"pTChargeCutThreshold",-1.);
134 descriptions.
add(
"Chi2ChargeMeasurementEstimatorDefault", desc);
139 Chi2ChargeMeasurementEstimatorESProducer::Chi2ChargeMeasurementEstimatorESProducer(
const edm::ParameterSet &
pset) :
143 setWhatProduced(
this,myname);
146 Chi2ChargeMeasurementEstimatorESProducer::~Chi2ChargeMeasurementEstimatorESProducer() {}
148 boost::shared_ptr<Chi2MeasurementEstimatorBase>
151 auto maxChi2 = m_pset.getParameter<
double>(
"MaxChi2");
152 auto nSigma = m_pset.getParameter<
double>(
"nSigma");
153 auto maxDis = m_pset.getParameter<
double>(
"MaxDisplacement");
154 auto maxSag = m_pset.getParameter<
double>(
"MaxSagitta");
155 auto minTol = m_pset.getParameter<
double>(
"MinimalTolerance");
156 auto minGoodPixelCharge = 0;
160 m_estimator = boost::shared_ptr<Chi2MeasurementEstimatorBase>(
162 maxChi2,nSigma, maxDis, maxSag, minTol) );
tuple pTChargeCutThreshold
T getParameter(std::string const &) const
virtual Chi2MeasurementEstimator * clone() const
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()
ParameterDescriptionBase * add(U const &iLabel, T const &value)
int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
#define DEFINE_FWK_EVENTSETUP_MODULE(type)
GlobalVector globalMomentum() const
static constexpr int myTag