55 theBeamSpotTag(pset.getParameter<edm::
InputTag>(
"beamSpotTag")) {
56 produces<TrajectorySeedCollection>();
62 magFieldToken = esConsumes<MagneticField, IdealMagneticFieldRecord>();
75 auto output = std::make_unique<TrajectorySeedCollection>();
84 beamSpot = *beamSpotHandle;
87 edm::LogInfo(
"MuonSeedGenerator") <<
"No beam spot available from EventSetup \n";
94 std::vector<MuonRecHitContainer> patterns;
97 for (std::vector<MuonRecHitContainer>::const_iterator seedSegments = patterns.begin(); seedSegments != patterns.end();
111 desc.
add<
bool>(
"scaleDT",
true);
115 desc.
add<
bool>(
"EnableDTMeasurement",
true);
116 desc.
add<
bool>(
"EnableCSCMeasurement",
true);
117 desc.
add<
bool>(
"EnableME0Measurement",
false);
118 desc.
add<std::vector<double>>(
"crackEtas", {0.2, 1.6, 1.7});
119 desc.
add<
double>(
"crackWindow", 0.04);
120 desc.
add<
double>(
"deltaPhiSearchWindow", 0.25);
121 desc.
add<
double>(
"deltaEtaSearchWindow", 0.2);
122 desc.
add<
double>(
"deltaEtaCrackSearchWindow", 0.25);
123 descriptions.
add(
"muonSeedGenerator", desc);
void setBeamSpot(const GlobalVector &gv)
double z0() const
z coordinate
virtual void produce(const edm::Event &event, const edm::EventSetup &eSetup, std::vector< MuonRecHitContainer > &result)=0
MuonTransientTrackingRecHit::MuonRecHitPointer MuonRecHitPointer
void setAllowAnything()
allow any parameter label/value pairs
edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > magFieldToken
MuonSeedVCleaner * theSeedCleaner
edm::EDGetTokenT< reco::BeamSpot > beamspotToken
std::shared_ptr< MuonTransientTrackingRecHit > MuonRecHitPointer
void produce(edm::Event &, const edm::EventSetup &) override
reconstruct muon's seeds
~MuonSeedGenerator() override
Destructor.
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
ParameterDescriptionBase * add(U const &iLabel, T const &value)
virtual void seeds(const MuonTransientTrackingRecHit::MuonRecHitContainer &hits, std::vector< TrajectorySeed > &result)=0
Log< level::Info, false > LogInfo
void add(std::string const &label, ParameterSetDescription const &psetDescription)
virtual void clean(TrajectorySeedCollection &seeds)=0
virtual void setBField(const MagneticField *field)=0
double y0() const
y coordinate
MuonSeedVFinder * theSeedFinder
MuonTransientTrackingRecHit::MuonRecHitContainer MuonRecHitContainer
MuonSeedVPatternRecognition * thePatternRecognition
std::shared_ptr< MuonTransientTrackingRecHit const > ConstMuonRecHitPointer
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
MuonSeedGenerator(const edm::ParameterSet &)
Constructor.
std::vector< MuonRecHitPointer > MuonRecHitContainer
edm::InputTag theBeamSpotTag
MuonTransientTrackingRecHit::ConstMuonRecHitPointer ConstMuonRecHitPointer
double x0() const
x coordinate