1 #ifndef RecoTracker_TkTrackingRegions_GlobalTrackingRegionProducerFromBeamSpot_H 2 #define RecoTracker_TkTrackingRegions_GlobalTrackingRegionProducerFromBeamSpot_H 26 if (!regionPSet.
existsAs<
double>(
"nSigmaZ") && !regionPSet.
existsAs<
double>(
"originHalfLength")) {
27 throw cms::Exception(
"Configuration") <<
"GlobalTrackingRegionProducerFromBeamSpot: at least one of nSigmaZ, " 28 "originHalfLength must be present in the cfg.\n";
32 (regionPSet.
existsAs<
double>(
"originHalfLength") ? regionPSet.
getParameter<
double>(
"originHalfLength") : 0.0);
36 (regionPSet.
existsAs<
bool>(
"useMultipleScattering") ? regionPSet.
getParameter<
bool>(
"useMultipleScattering")
49 desc.add<
bool>(
"precise",
true);
50 desc.add<
bool>(
"useMultipleScattering",
false);
51 desc.add<
double>(
"nSigmaZ", 4.0);
52 desc.add<
double>(
"originHalfLength", 0.0);
53 desc.add<
double>(
"originRadius", 0.2);
54 desc.add<
double>(
"ptMin", 0.9);
61 descriptions.
add(
"globalTrackingRegionFromBeamSpot", descRegion);
67 desc.add<
bool>(
"precise",
true);
68 desc.add<
bool>(
"useMultipleScattering",
false);
69 desc.add<
double>(
"nSigmaZ", 0.0);
70 desc.add<
double>(
"originHalfLength", 21.2);
71 desc.add<
double>(
"originRadius", 0.2);
72 desc.add<
double>(
"ptMin", 0.9);
79 descriptions.
add(
"globalTrackingRegionFromBeamSpotFixedZ", descRegion);
85 std::vector<std::unique_ptr<TrackingRegion> >
result;
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
T getParameter(std::string const &) const
T const & getData(const ESGetToken< T, R > &iToken) const noexcept(false)
double theOriginHalfLength
~GlobalTrackingRegionProducerFromBeamSpot() override=default
edm::EDGetTokenT< reco::BeamSpot > token_beamSpot
GlobalTrackingRegionProducerFromBeamSpot(const edm::ParameterSet &cfg, edm::ConsumesCollector &iC)
bool existsAs(std::string const ¶meterName, bool trackiness=true) const
checks if a parameter exists as a given type
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
ParameterDescriptionBase * add(U const &iLabel, T const &value)
GlobalTrackingRegionProducerFromBeamSpot(const edm::ParameterSet &cfg, edm::ConsumesCollector &&iC)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
edm::ESGetToken< MultipleScatteringParametrisationMaker, TrackerMultipleScatteringRecord > token_msmaker
std::vector< std::unique_ptr< TrackingRegion > > regions(const edm::Event &ev, const edm::EventSetup &es) const override