1 #ifndef RECOPIXELVERTEXING_PIXELTRIPLETS_CAHITTRIPLETGENERATOR_H 2 #define RECOPIXELVERTEXING_PIXELTRIPLETS_CAHITTRIPLETGENERATOR_H 48 std::vector<OrderedHitSeeds>&
result,
61 value1_(v1), value2_(v2), curvature1_(c1), curvature2_(c2) {
65 if (value1_ == value2_)
68 if (curvature1_ < curvature)
70 if (curvature2_ < curvature && curvature <= curvature1_)
71 return value2_ + (curvature - curvature2_) / (curvature1_ - curvature2_) * (value1_ - value2_);
91 value1_(pset.getParameter<double>(
"value1")),
92 value2_(pset.getParameter<double>(
"value2")),
93 pt1_(pset.getParameter<double>(
"pt1")),
94 pt2_(pset.getParameter<double>(
"pt2")),
95 enabled_(pset.getParameter<
bool>(
"enabled")) {
96 if (enabled_ && pt1_ >= pt2_)
97 throw cms::Exception(
"Configuration") <<
"CAHitTripletGenerator::QuantityDependsPt: pt1 (" << pt1_ <<
") needs to be smaller than pt2 (" << pt2_ <<
")";
99 throw cms::Exception(
"Configuration") <<
"CAHitTripletGenerator::QuantityDependsPt: pt1 needs to be > 0; is " << pt1_;
101 throw cms::Exception(
"Configuration") <<
"CAHitTripletGenerator::QuantityDependsPt: pt2 needs to be > 0; is " << pt2_;
126 const float caThetaCut = 0.00125f;
127 const float caPhiCut = 1.f;
128 const float caHardPtCut = 0.f;
QuantityDependsPt(const edm::ParameterSet &pset)
const QuantityDependsPt maxChi2
std::vector< LayerSetAndLayers > layers(const SeedingLayerSetsHits &sets)
static const char * fillDescriptionsLabel()
const bool useBendingCorrection
CAHitTripletGenerator(const edm::ParameterSet &cfg, edm::ConsumesCollector &&iC)
OrderedHitSeeds ResultType
QuantityDependsPtEval evaluator(const edm::EventSetup &es) const
T curvature(T InversePt, const edm::EventSetup &iSetup)
LayerHitMapCache LayerCacheType
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
float value(float curvature) const
QuantityDependsPtEval(float v1, float v2, float c1, float c2)
const float extraHitRPhitolerance
LayerCacheType theLayerCache
std::unique_ptr< SeedComparitor > theComparitor