1 #ifndef RecoTracker_TkTrackingRegions_GlobalTrackingRegionWithVerticesProducer_H
2 #define RecoTracker_TkTrackingRegions_GlobalTrackingRegionWithVerticesProducer_H
63 desc.
add<
bool>(
"precise",
true);
64 desc.
add<
bool>(
"useMultipleScattering",
false);
66 desc.
add<
bool>(
"useFixedError",
true);
67 desc.
add<
double>(
"originRadius", 0.2);
68 desc.
add<
double>(
"sigmaZVertex", 3.0);
69 desc.
add<
double>(
"fixedError", 0.2);
71 desc.
add<
double>(
"ptMin", 0.9);
72 desc.
add<
bool>(
"useFoundVertices",
true);
73 desc.
add<
bool>(
"useFakeVertices",
false);
74 desc.
add<
int>(
"maxNVertices", -1)->setComment(
"-1 for all vertices");
75 desc.
add<
double>(
"nSigmaZ", 4.0);
77 desc.
add<
bool>(
"originRScaling4BigEvts",
false);
78 desc.
add<
bool>(
"ptMinScaling4BigEvts",
false);
79 desc.
add<
bool>(
"halfLengthScaling4BigEvts",
false);
80 desc.
add<
double>(
"minOriginR", 0);
81 desc.
add<
double>(
"maxPtMin", 1000);
82 desc.
add<
double>(
"minHalfLength", 0);
83 desc.
add<
double>(
"scalingStartNPix", 0.0);
84 desc.
add<
double>(
"scalingEndNPix", 1.0);
90 descriptions.
add(
"globalTrackingRegionWithVertices", descRegion);
95 std::vector<std::unique_ptr<TrackingRegion> >
result;
106 throw cms::Exception(
"Seeding") <<
"ERROR: input beamSpot is not valid in GlobalTrackingRegionWithVertices";
123 for (reco::VertexCollection::const_iterator iV = vertexCollection->begin(); iV != vertexCollection->end(); iV++) {
163 if (scaledOriginRadius != 0 && scaledHalfLength != 0) {
164 result.push_back(std::make_unique<GlobalTrackingRegion>(
165 scaledPtMin, theOrigin_, scaledOriginRadius, scaledHalfLength,
thePrecise,
theUseMS, msmaker));
171 result.push_back(std::make_unique<GlobalTrackingRegion>(
179 result.push_back(std::make_unique<GlobalTrackingRegion>(
183 result.push_back(std::make_unique<GlobalTrackingRegion>(
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
double z0() const
z coordinate
size_type dataSize() const
bool getByToken(EDGetToken token, Handle< PROD > &result) const
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
bool getData(T &iHolder) const
edm::InputTag theBeamSpotTag
ParameterDescriptionBase * add(U const &iLabel, T const &value)
edm::ESGetToken< MultipleScatteringParametrisationMaker, TrackerMultipleScatteringRecord > token_msmaker
bool theHalfLengthScaling
double sigmaZ() const
sigma z
T getParameter(std::string const &) const
void add(std::string const &label, ParameterSetDescription const &psetDescription)
GlobalTrackingRegionWithVerticesProducer(const edm::ParameterSet &cfg, edm::ConsumesCollector &&iC)
double y0() const
y coordinate
edm::EDGetTokenT< reco::BeamSpot > token_beamSpot
double x0() const
x coordinate