#include <ME0SegmentAlgorithm.h>
Public Types | |
typedef std::vector< HitAndPositionPtrContainer > | ProtoSegments |
Typedefs. More... | |
Public Types inherited from ME0SegmentAlgorithmBase | |
typedef std::vector< HitAndPosition > | HitAndPositionContainer |
typedef std::vector< const HitAndPosition * > | HitAndPositionPtrContainer |
Public Member Functions | |
ME0SegmentAlgorithm (const edm::ParameterSet &ps) | |
Constructor. More... | |
std::vector< ME0Segment > | run (const ME0Chamber *chamber, const HitAndPositionContainer &rechits) override |
~ME0SegmentAlgorithm () override | |
Destructor. More... | |
Public Member Functions inherited from ME0SegmentAlgorithmBase | |
ME0SegmentAlgorithmBase (const edm::ParameterSet &) | |
Constructor. More... | |
virtual | ~ME0SegmentAlgorithmBase () |
Destructor. More... | |
Private Member Functions | |
void | buildSegments (const ME0Chamber *chamber, const HitAndPositionPtrContainer &rechits, std::vector< ME0Segment > &me0segs) |
ProtoSegments | chainHits (const ME0Chamber *chamber, const HitAndPositionContainer &rechits) |
ProtoSegments | clusterHits (const HitAndPositionContainer &rechits) |
Utility functions. More... | |
bool | isGoodToMerge (const ME0Chamber *chamber, const HitAndPositionPtrContainer &newChain, const HitAndPositionPtrContainer &oldChain) |
Private Attributes | |
bool | debug |
double | dEtaChainBoxMax |
double | dPhiChainBoxMax |
double | dTimeChainBoxMax |
double | dXclusBoxMax |
double | dYclusBoxMax |
int | maxRecHitsInCluster |
unsigned int | minHitsPerSegment |
const std::string | myName |
bool | preClustering |
bool | preClustering_useChaining |
std::unique_ptr< MuonSegFit > | sfit_ |
Static Private Attributes | |
static float | running_max =std::numeric_limits<float>::max() |
This algorithm is very basic no attemp to deal with ambiguities , noise etc. The ME0 track segments is built out of the rechit's in a the 6 ME0 Layer denoted as the ME0 Ensabmle .
Definition at line 24 of file ME0SegmentAlgorithm.h.
typedef std::vector<HitAndPositionPtrContainer> ME0SegmentAlgorithm::ProtoSegments |
Typedefs.
Definition at line 30 of file ME0SegmentAlgorithm.h.
|
explicit |
Constructor.
Definition at line 25 of file ME0SegmentAlgorithm.cc.
References debug, dEtaChainBoxMax, dPhiChainBoxMax, dTimeChainBoxMax, dXclusBoxMax, dYclusBoxMax, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), maxRecHitsInCluster, minHitsPerSegment, preClustering, and preClustering_useChaining.
|
override |
|
private |
Definition at line 292 of file ME0SegmentAlgorithm.cc.
References ME0RecHit::clone(), ME0Chamber::computeDeltaPhi(), minHitsPerSegment, funct::pow(), ME0RecHit::setPosition(), sfit_, mathSSE::sqrt(), and tmp.
Referenced by run().
|
private |
Definition at line 199 of file ME0SegmentAlgorithm.cc.
References funct::abs(), begin, dTimeChainBoxMax, end, mps_fire::i, and isGoodToMerge().
Referenced by run().
|
private |
Utility functions.
Definition at line 102 of file ME0SegmentAlgorithm.cc.
References begin, dXclusBoxMax, dYclusBoxMax, end, mps_fire::i, LogDebug, running_max, and findQualityFiles::size.
Referenced by run().
|
private |
Definition at line 263 of file ME0SegmentAlgorithm.cc.
References funct::abs(), reco::deltaPhi(), dEtaChainBoxMax, dPhiChainBoxMax, dTimeChainBoxMax, PV3DBase< T, PVType, FrameType >::eta(), ME0Chamber::id(), createfilelist::int, ME0DetId::nlayers(), and PV3DBase< T, PVType, FrameType >::phi().
Referenced by chainHits().
|
overridevirtual |
Build segments for all desired groups of hits
Implements ME0SegmentAlgorithmBase.
Definition at line 51 of file ME0SegmentAlgorithm.cc.
References buildSegments(), chainHits(), clusterHits(), ME0Chamber::id(), preClustering, and preClustering_useChaining.
|
private |
Definition at line 60 of file ME0SegmentAlgorithm.h.
Referenced by ME0SegmentAlgorithm().
|
private |
Definition at line 67 of file ME0SegmentAlgorithm.h.
Referenced by isGoodToMerge(), and ME0SegmentAlgorithm().
|
private |
Definition at line 66 of file ME0SegmentAlgorithm.h.
Referenced by isGoodToMerge(), and ME0SegmentAlgorithm().
|
private |
Definition at line 68 of file ME0SegmentAlgorithm.h.
Referenced by chainHits(), isGoodToMerge(), and ME0SegmentAlgorithm().
|
private |
Definition at line 63 of file ME0SegmentAlgorithm.h.
Referenced by clusterHits(), and ME0SegmentAlgorithm().
|
private |
Definition at line 64 of file ME0SegmentAlgorithm.h.
Referenced by clusterHits(), and ME0SegmentAlgorithm().
|
private |
Definition at line 69 of file ME0SegmentAlgorithm.h.
Referenced by ME0SegmentAlgorithm().
|
private |
Definition at line 61 of file ME0SegmentAlgorithm.h.
Referenced by buildSegments(), and ME0SegmentAlgorithm().
|
private |
Definition at line 57 of file ME0SegmentAlgorithm.h.
|
private |
Definition at line 62 of file ME0SegmentAlgorithm.h.
Referenced by ME0SegmentAlgorithm(), and run().
|
private |
Definition at line 65 of file ME0SegmentAlgorithm.h.
Referenced by ME0SegmentAlgorithm(), and run().
|
staticprivate |
Definition at line 71 of file ME0SegmentAlgorithm.h.
Referenced by clusterHits().
|
private |
Definition at line 72 of file ME0SegmentAlgorithm.h.
Referenced by buildSegments().