Class to recognize straight line tracks, based on optimized Hough trasform. More...
Classes | |
struct | RPSettings |
block of (exceptional) settings for 1 RP More... | |
Public Member Functions | |
void | produce (edm::Event &e, const edm::EventSetup &c) override |
TotemRPUVPatternFinder (const edm::ParameterSet &conf) | |
~TotemRPUVPatternFinder () override | |
Public Member Functions inherited from edm::stream::EDProducer<> | |
EDProducer ()=default | |
Public Member Functions inherited from edm::stream::EDProducerBase | |
EDProducerBase () | |
ModuleDescription const & | moduleDescription () const |
virtual | ~EDProducerBase () |
Public Member Functions inherited from edm::ProducerBase | |
void | callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func) |
std::vector< edm::ProductResolverIndex > const & | indiciesForPutProducts (BranchType iBranchType) const |
ProducerBase () | |
void | registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &) |
std::function< void(BranchDescription const &)> | registrationCallback () const |
used by the fwk to register list of products More... | |
void | resolvePutIndicies (BranchType iBranchType, std::unordered_multimap< std::string, edm::ProductResolverIndex > const &iIndicies, std::string const &moduleLabel) |
virtual | ~ProducerBase () noexcept(false) |
Public Member Functions inherited from edm::EDConsumerBase | |
std::vector< ConsumesInfo > | consumesInfo () const |
void | convertCurrentProcessAlias (std::string const &processName) |
Convert "@currentProcess" in InputTag process names to the actual current process name. More... | |
EDConsumerBase () | |
EDConsumerBase (EDConsumerBase const &)=delete | |
EDConsumerBase (EDConsumerBase &&)=default | |
ProductResolverIndexAndSkipBit | indexFrom (EDGetToken, BranchType, TypeID const &) const |
void | itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const |
void | itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const |
std::vector< ProductResolverIndexAndSkipBit > const & | itemsToGetFrom (BranchType iType) const |
void | labelsForToken (EDGetToken iToken, Labels &oLabels) const |
void | modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const |
EDConsumerBase const & | operator= (EDConsumerBase const &)=delete |
EDConsumerBase & | operator= (EDConsumerBase &&)=default |
bool | registeredToConsume (ProductResolverIndex, bool, BranchType) const |
bool | registeredToConsumeMany (TypeID const &, BranchType) const |
void | updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet) |
virtual | ~EDConsumerBase () noexcept(false) |
Static Public Member Functions | |
static void | fillDescriptions (edm::ConfigurationDescriptions &) |
Static Public Member Functions inherited from edm::stream::EDProducerBase | |
static const std::string & | baseType () |
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
static void | prevalidate (ConfigurationDescriptions &descriptions) |
Private Member Functions | |
void | recognizeAndSelect (TotemRPUVPattern::ProjectionType proj, double z0, double threshold, unsigned int planes_required, const edm::DetSetVector< TotemRPRecHit > &hits, edm::DetSet< TotemRPUVPattern > &patterns) |
executes line recognition in a projection More... | |
Private Attributes | |
edm::EDGetTokenT< edm::DetSetVector< TotemRPRecHit > > | detSetVectorTotemRPRecHitToken |
std::map< unsigned int, RPSettings > | exceptionalSettings |
exceptional settings: RP Id –> settings More... | |
edm::ESWatcher< VeryForwardRealGeometryRecord > | geometryWatcher |
FastLineRecognition * | lrcgn |
the line recognition algorithm More... | |
double | max_a_toFit |
maximal angle (in any projection) to mark candidate as fittable - controls track parallelity More... | |
unsigned int | maxHitsPerPlaneToSearch |
above this limit, planes are considered noisy More... | |
unsigned char | minPlanesPerProjectionToFit |
minimal required number of active planes per projection to mark track candidate as fittable More... | |
unsigned char | minPlanesPerProjectionToSearch |
minimal required number of active planes per projection to even start track recognition More... | |
edm::InputTag | tagRecHit |
double | threshold |
minimal weight of (Hough) cluster to accept it as candidate More... | |
unsigned int | verbosity |
Additional Inherited Members | |
Public Types inherited from edm::stream::EDProducer<> | |
typedef CacheContexts< T... > | CacheTypes |
typedef CacheTypes::GlobalCache | GlobalCache |
typedef AbilityChecker< T... > | HasAbility |
typedef CacheTypes::LuminosityBlockCache | LuminosityBlockCache |
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache > | LuminosityBlockContext |
typedef CacheTypes::LuminosityBlockSummaryCache | LuminosityBlockSummaryCache |
typedef CacheTypes::RunCache | RunCache |
typedef RunContextT< RunCache, GlobalCache > | RunContext |
typedef CacheTypes::RunSummaryCache | RunSummaryCache |
Public Types inherited from edm::stream::EDProducerBase | |
typedef EDProducerAdaptorBase | ModuleType |
Public Types inherited from edm::ProducerBase | |
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
Public Types inherited from edm::EDConsumerBase | |
typedef ProductLabels | Labels |
Protected Member Functions inherited from edm::EDConsumerBase | |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | consumes (edm::InputTag const &tag) |
EDGetToken | consumes (const TypeToGet &id, edm::InputTag const &tag) |
template<BranchType B> | |
EDGetToken | consumes (TypeToGet const &id, edm::InputTag const &tag) |
ConsumesCollector | consumesCollector () |
Use a ConsumesCollector to gather consumes information from helper functions. More... | |
template<typename ProductType , BranchType B = InEvent> | |
void | consumesMany () |
void | consumesMany (const TypeToGet &id) |
template<BranchType B> | |
void | consumesMany (const TypeToGet &id) |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | mayConsume (edm::InputTag const &tag) |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
template<BranchType B> | |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
Class to recognize straight line tracks, based on optimized Hough trasform.
The search is perfomed in global U,V coordinates (wrt. beam). In this way (some of) the alignment corrections can be taken into account.
Definition at line 36 of file TotemRPUVPatternFinder.cc.
TotemRPUVPatternFinder::TotemRPUVPatternFinder | ( | const edm::ParameterSet & | conf | ) |
Definition at line 95 of file TotemRPUVPatternFinder.cc.
References detSetVectorTotemRPRecHitToken, exceptionalSettings, edm::ParameterSet::getParameter(), TotemRPUVPatternFinder::RPSettings::minPlanesPerProjectionToFit_U, and tagRecHit.
|
override |
Definition at line 125 of file TotemRPUVPatternFinder.cc.
References lrcgn.
|
static |
Definition at line 301 of file TotemRPUVPatternFinder.cc.
References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), edm::ParameterSetDescription::addUntracked(), edm::ParameterSetDescription::addVPSet(), DEFINE_FWK_MODULE, and funct::false.
|
override |
Definition at line 163 of file TotemRPUVPatternFinder.cc.
References edm::ESWatcher< T >::check(), data, detSetVectorTotemRPRecHitToken, exceptionalSettings, edm::DetSetVector< T >::find_or_insert(), geometry, geometryWatcher, edm::EventSetup::get(), CTPPSGeometry::getRP(), CTPPSDetId::getRPId(), input, lrcgn, maxHitsPerPlaneToSearch, minPlanesPerProjectionToFit, minPlanesPerProjectionToSearch, AlCaHLTBitMon_ParallelJobs::p, patterns, TotemRPDetId::plane(), edm::ESHandle< T >::product(), TotemRPUVPattern::projU, TotemRPUVPattern::projV, recognizeAndSelect(), FastLineRecognition::resetGeometry(), threshold, DetGeomDesc::translation(), and verbosity.
|
private |
executes line recognition in a projection
Definition at line 132 of file TotemRPUVPatternFinder.cc.
References FastLineRecognition::getPatterns(), lrcgn, max_a_toFit, AlCaHLTBitMon_ParallelJobs::p, and edm::DetSet< T >::push_back().
Referenced by produce().
|
private |
Definition at line 48 of file TotemRPUVPatternFinder.cc.
Referenced by produce(), and TotemRPUVPatternFinder().
|
private |
exceptional settings: RP Id –> settings
Definition at line 78 of file TotemRPUVPatternFinder.cc.
Referenced by produce(), and TotemRPUVPatternFinder().
|
private |
Definition at line 80 of file TotemRPUVPatternFinder.cc.
Referenced by produce().
|
private |
the line recognition algorithm
Definition at line 62 of file TotemRPUVPatternFinder.cc.
Referenced by produce(), recognizeAndSelect(), and ~TotemRPUVPatternFinder().
|
private |
maximal angle (in any projection) to mark candidate as fittable - controls track parallelity
Definition at line 68 of file TotemRPUVPatternFinder.cc.
Referenced by recognizeAndSelect().
|
private |
above this limit, planes are considered noisy
Definition at line 59 of file TotemRPUVPatternFinder.cc.
Referenced by produce().
|
private |
minimal required number of active planes per projection to mark track candidate as fittable
Definition at line 56 of file TotemRPUVPatternFinder.cc.
Referenced by produce().
|
private |
minimal required number of active planes per projection to even start track recognition
Definition at line 53 of file TotemRPUVPatternFinder.cc.
Referenced by produce().
|
private |
Definition at line 47 of file TotemRPUVPatternFinder.cc.
Referenced by TotemRPUVPatternFinder().
|
private |
minimal weight of (Hough) cluster to accept it as candidate
Definition at line 65 of file TotemRPUVPatternFinder.cc.
Referenced by utils.StatisticalTest::get_status(), and produce().
|
private |
Definition at line 50 of file TotemRPUVPatternFinder.cc.
Referenced by produce().