1 #ifndef RecoTracker_TkTrackingRegions_GlobalTrackingRegionProducerFromBeamSpot_H
2 #define RecoTracker_TkTrackingRegions_GlobalTrackingRegionProducerFromBeamSpot_H
28 if (!regionPSet.
existsAs<
double>(
"nSigmaZ") && !regionPSet.
existsAs<
double>(
"originHalfLength")) {
29 throw cms::Exception(
"Configuration") <<
"GlobalTrackingRegionProducerFromBeamSpot: at least one of nSigmaZ, originHalfLength must be present in the cfg.\n";
45 desc.
add<
bool>(
"precise",
true);
46 desc.
add<
bool>(
"useMultipleScattering",
false);
47 desc.
add<
double>(
"nSigmaZ", 4.0);
48 desc.
add<
double>(
"originHalfLength", 0.0);
49 desc.
add<
double>(
"originRadius", 0.2);
50 desc.
add<
double>(
"ptMin", 0.9);
57 descriptions.
add(
"globalTrackingRegionFromBeamSpot", descRegion);
63 desc.
add<
bool>(
"precise",
true);
64 desc.
add<
bool>(
"useMultipleScattering",
false);
65 desc.
add<
double>(
"nSigmaZ", 0.0);
66 desc.
add<
double>(
"originHalfLength", 21.2);
67 desc.
add<
double>(
"originRadius", 0.2);
68 desc.
add<
double>(
"ptMin", 0.9);
75 descriptions.
add(
"globalTrackingRegionFromBeamSpotFixedZ", descRegion);
80 std::vector<std::unique_ptr<TrackingRegion> >
result;
89 result.push_back( std::make_unique<GlobalTrackingRegion>(
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
T getParameter(std::string const &) const
double z0() const
z coordinate
bool existsAs(std::string const ¶meterName, bool trackiness=true) const
checks if a parameter exists as a given type
double theOriginHalfLength
bool getByToken(EDGetToken token, Handle< PROD > &result) const
edm::EDGetTokenT< reco::BeamSpot > token_beamSpot
GlobalTrackingRegionProducerFromBeamSpot(const edm::ParameterSet &cfg, edm::ConsumesCollector &iC)
virtual ~GlobalTrackingRegionProducerFromBeamSpot()
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
ParameterDescriptionBase * add(U const &iLabel, T const &value)
GlobalTrackingRegionProducerFromBeamSpot(const edm::ParameterSet &cfg, edm::ConsumesCollector &&iC)
double sigmaZ() const
sigma z
void add(std::string const &label, ParameterSetDescription const &psetDescription)
double y0() const
y coordinate
virtual std::vector< std::unique_ptr< TrackingRegion > > regions(const edm::Event &ev, const edm::EventSetup &) const override
double x0() const
x coordinate