1 #ifndef RecoTracker_TkTrackingRegions_GlobalTrackingRegionWithVerticesProducer_H 2 #define RecoTracker_TkTrackingRegions_GlobalTrackingRegionWithVerticesProducer_H 64 desc.add<
bool>(
"precise",
true);
65 desc.add<
bool>(
"useMultipleScattering",
false);
67 desc.add<
bool>(
"useFixedError",
true);
68 desc.add<
double>(
"originRadius", 0.2);
69 desc.add<
double>(
"sigmaZVertex", 3.0);
70 desc.add<
double>(
"fixedError", 0.2);
72 desc.add<
double>(
"ptMin", 0.9);
73 desc.add<
bool>(
"useFoundVertices",
true);
74 desc.add<
bool>(
"useFakeVertices",
false);
75 desc.add<
int>(
"maxNVertices", -1)->setComment(
"-1 for all vertices");
76 desc.add<
double>(
"nSigmaZ", 4.0);
78 desc.add<
bool>(
"originRScaling4BigEvts",
false);
79 desc.add<
bool>(
"ptMinScaling4BigEvts",
false);
80 desc.add<
bool>(
"halfLengthScaling4BigEvts",
false);
81 desc.add<
bool>(
"allowEmpty",
false);
82 desc.add<
double>(
"minOriginR", 0);
83 desc.add<
double>(
"maxPtMin", 1000);
84 desc.add<
double>(
"minHalfLength", 0);
85 desc.add<
double>(
"scalingStartNPix", 0.0);
86 desc.add<
double>(
"scalingEndNPix", 1.0);
92 descriptions.
add(
"globalTrackingRegionWithVertices", descRegion);
97 std::vector<std::unique_ptr<TrackingRegion> >
result;
108 throw cms::Exception(
"Seeding") <<
"ERROR: input beamSpot is not valid in GlobalTrackingRegionWithVertices";
143 nPix =
input.dataSize();
165 if (scaledOriginRadius != 0 && scaledHalfLength != 0) {
166 result.push_back(std::make_unique<GlobalTrackingRegion>(
167 scaledPtMin, theOrigin_, scaledOriginRadius, scaledHalfLength,
thePrecise,
theUseMS, msmaker));
173 result.push_back(std::make_unique<GlobalTrackingRegion>(
181 result.push_back(std::make_unique<GlobalTrackingRegion>(
185 result.push_back(std::make_unique<GlobalTrackingRegion>(
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
T getParameter(std::string const &) const
T const & getData(const ESGetToken< T, R > &iToken) const noexcept(false)
Global3DPoint GlobalPoint
~GlobalTrackingRegionWithVerticesProducer() override
edm::EDGetTokenT< reco::VertexCollection > token_vertex
std::vector< Vertex > VertexCollection
collection of Vertex objects
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > token_pc
std::vector< std::unique_ptr< TrackingRegion > > regions(const edm::Event &ev, const edm::EventSetup &es) const override
static std::string const input
edm::InputTag theBeamSpotTag
ParameterDescriptionBase * add(U const &iLabel, T const &value)
edm::ESGetToken< MultipleScatteringParametrisationMaker, TrackerMultipleScatteringRecord > token_msmaker
bool theHalfLengthScaling
void add(std::string const &label, ParameterSetDescription const &psetDescription)
GlobalTrackingRegionWithVerticesProducer(const edm::ParameterSet &cfg, edm::ConsumesCollector &&iC)
edm::EDGetTokenT< reco::BeamSpot > token_beamSpot