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 | |
virtual void | produce (edm::Event &e, const edm::EventSetup &c) override |
TotemRPUVPatternFinder (const edm::ParameterSet &conf) | |
virtual | ~TotemRPUVPatternFinder () |
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) |
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 |
Static Public Member Functions inherited from edm::stream::EDProducerBase | |
static const std::string & | baseType () |
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
static void | prevalidate (ConfigurationDescriptions &descriptions) |
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 94 of file TotemRPUVPatternFinder.cc.
References detSetVectorTotemRPRecHitToken, exceptionalSettings, edm::ParameterSet::getParameter(), TotemRPUVPatternFinder::RPSettings::minPlanesPerProjectionToFit_U, and tagRecHit.
|
virtual |
Definition at line 124 of file TotemRPUVPatternFinder.cc.
References lrcgn.
|
overridevirtual |
Definition at line 162 of file TotemRPUVPatternFinder.cc.
References edm::ESWatcher< T >::check(), data, DEFINE_FWK_MODULE, detSetVectorTotemRPRecHitToken, exceptionalSettings, edm::DetSetVector< T >::find_or_insert(), geometry, geometryWatcher, edm::EventSetup::get(), TotemRPGeometry::GetRPDevice(), 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 131 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 47 of file TotemRPUVPatternFinder.cc.
Referenced by produce(), and TotemRPUVPatternFinder().
|
private |
exceptional settings: RP Id –> settings
Definition at line 77 of file TotemRPUVPatternFinder.cc.
Referenced by produce(), and TotemRPUVPatternFinder().
|
private |
Definition at line 79 of file TotemRPUVPatternFinder.cc.
Referenced by produce().
|
private |
the line recognition algorithm
Definition at line 61 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 67 of file TotemRPUVPatternFinder.cc.
Referenced by recognizeAndSelect().
|
private |
above this limit, planes are considered noisy
Definition at line 58 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 55 of file TotemRPUVPatternFinder.cc.
Referenced by produce().
|
private |
minimal required number of active planes per projection to even start track recognition
Definition at line 52 of file TotemRPUVPatternFinder.cc.
Referenced by produce().
|
private |
Definition at line 46 of file TotemRPUVPatternFinder.cc.
Referenced by TotemRPUVPatternFinder().
|
private |
minimal weight of (Hough) cluster to accept it as candidate
Definition at line 64 of file TotemRPUVPatternFinder.cc.
Referenced by utils.StatisticalTest::get_status(), and produce().
|
private |
Definition at line 49 of file TotemRPUVPatternFinder.cc.
Referenced by produce().