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>
107 class Chi2ChargeMeasurementEstimatorESProducer:
public edm::ESProducer{
111 virtual ~Chi2ChargeMeasurementEstimatorESProducer();
115 boost::shared_ptr<Chi2MeasurementEstimatorBase> m_estimator;
123 desc.add<
std::string>(
"ComponentName",
"Chi2Charge");
124 desc.add<
double>(
"pTChargeCutThreshold",-1.);
127 descriptions.
add(
"Chi2ChargeMeasurementEstimatorDefault", desc);
132 Chi2ChargeMeasurementEstimatorESProducer::Chi2ChargeMeasurementEstimatorESProducer(
const edm::ParameterSet &
pset) :
136 setWhatProduced(
this,myname);
139 Chi2ChargeMeasurementEstimatorESProducer::~Chi2ChargeMeasurementEstimatorESProducer() {}
141 boost::shared_ptr<Chi2MeasurementEstimatorBase>
144 auto maxChi2 = m_pset.getParameter<
double>(
"MaxChi2");
145 auto nSigma = m_pset.getParameter<
double>(
"nSigma");
146 auto maxDis = m_pset.getParameter<
double>(
"MaxDisplacement");
147 auto maxSag = m_pset.getParameter<
double>(
"MaxSagitta");
148 auto minTol = m_pset.getParameter<
double>(
"MinimalTolerance");
149 auto minpt = m_pset.getParameter<
double>(
"MinPtForHitRecoveryInGluedDet");
150 auto minGoodPixelCharge = 0;
154 m_estimator = boost::shared_ptr<Chi2MeasurementEstimatorBase>(
156 maxChi2,nSigma, maxDis, maxSag, minTol,minpt) );
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()
edm::ParameterSetDescription getFilledConfigurationDescription()
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