#include <ME0SegmentAlgorithm.h>
Public Types | |
typedef std::vector< const ME0RecHit * > | EnsembleHitContainer |
Typedefs. More... | |
typedef std::vector < EnsembleHitContainer > | ProtoSegments |
Public Types inherited from ME0SegmentAlgorithmBase | |
typedef std::pair< const ME0Chamber *, std::map < uint32_t, const ME0EtaPartition * > > | ME0Ensemble |
Public Member Functions | |
ME0SegmentAlgorithm (const edm::ParameterSet &ps) | |
Constructor. More... | |
std::vector< ME0Segment > | run (const ME0Ensemble &ensemble, const EnsembleHitContainer &rechits) |
virtual | ~ME0SegmentAlgorithm () |
Destructor. More... | |
Public Member Functions inherited from ME0SegmentAlgorithmBase | |
ME0SegmentAlgorithmBase (const edm::ParameterSet &) | |
Constructor. More... | |
virtual std::vector< ME0Segment > | run (const ME0Ensemble &ensemble, const std::vector< const ME0RecHit * > &rechits)=0 |
virtual | ~ME0SegmentAlgorithmBase () |
Destructor. More... | |
Private Member Functions | |
void | buildSegments (const ME0Ensemble &ensemble, const EnsembleHitContainer &rechits, std::vector< ME0Segment > &me0segs) |
ProtoSegments | chainHits (const ME0Ensemble &ensemble, const EnsembleHitContainer &rechits) |
ProtoSegments | clusterHits (const EnsembleHitContainer &rechits) |
Utility functions. More... | |
bool | isGoodToMerge (const ME0Ensemble &ensemble, const EnsembleHitContainer &newChain, const EnsembleHitContainer &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 |
EnsembleHitContainer | proto_segment |
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<const ME0RecHit*> ME0SegmentAlgorithm::EnsembleHitContainer |
Typedefs.
Definition at line 30 of file ME0SegmentAlgorithm.h.
typedef std::vector<EnsembleHitContainer> ME0SegmentAlgorithm::ProtoSegments |
Definition at line 31 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.
|
virtual |
|
private |
Definition at line 289 of file ME0SegmentAlgorithm.cc.
References ME0RecHit::clone(), runTauDisplay::gp, minHitsPerSegment, funct::pow(), proto_segment, ME0RecHit::setPosition(), sfit_, mathSSE::sqrt(), tmp, GeomDet::toGlobal(), and GeomDet::toLocal().
Referenced by run().
|
private |
Definition at line 196 of file ME0SegmentAlgorithm.cc.
References funct::abs(), begin, dTimeChainBoxMax, end, i, and isGoodToMerge().
Referenced by run().
|
private |
Utility functions.
Definition at line 99 of file ME0SegmentAlgorithm.cc.
References begin, dXclusBoxMax, dYclusBoxMax, end, i, LogDebug, running_max, findQualityFiles::size, x, and y.
Referenced by run().
|
private |
Definition at line 260 of file ME0SegmentAlgorithm.cc.
References funct::abs(), reco::deltaPhi(), dEtaChainBoxMax, dPhiChainBoxMax, dTimeChainBoxMax, PV3DBase< T, PVType, FrameType >::eta(), and PV3DBase< T, PVType, FrameType >::phi().
Referenced by chainHits().
std::vector< ME0Segment > ME0SegmentAlgorithm::run | ( | const ME0Ensemble & | ensemble, |
const EnsembleHitContainer & | rechits | ||
) |
Build segments for all desired groups of hits
Definition at line 51 of file ME0SegmentAlgorithm.cc.
References buildSegments(), chainHits(), clusterHits(), preClustering, and preClustering_useChaining.
|
private |
Definition at line 61 of file ME0SegmentAlgorithm.h.
Referenced by ME0SegmentAlgorithm().
|
private |
Definition at line 68 of file ME0SegmentAlgorithm.h.
Referenced by isGoodToMerge(), and ME0SegmentAlgorithm().
|
private |
Definition at line 67 of file ME0SegmentAlgorithm.h.
Referenced by isGoodToMerge(), and ME0SegmentAlgorithm().
|
private |
Definition at line 69 of file ME0SegmentAlgorithm.h.
Referenced by chainHits(), isGoodToMerge(), and ME0SegmentAlgorithm().
|
private |
Definition at line 64 of file ME0SegmentAlgorithm.h.
Referenced by clusterHits(), and ME0SegmentAlgorithm().
|
private |
Definition at line 65 of file ME0SegmentAlgorithm.h.
Referenced by clusterHits(), and ME0SegmentAlgorithm().
|
private |
Definition at line 70 of file ME0SegmentAlgorithm.h.
Referenced by ME0SegmentAlgorithm().
|
private |
Definition at line 62 of file ME0SegmentAlgorithm.h.
Referenced by buildSegments(), and ME0SegmentAlgorithm().
|
private |
Definition at line 58 of file ME0SegmentAlgorithm.h.
|
private |
Definition at line 63 of file ME0SegmentAlgorithm.h.
Referenced by ME0SegmentAlgorithm(), and run().
|
private |
Definition at line 66 of file ME0SegmentAlgorithm.h.
Referenced by ME0SegmentAlgorithm(), and run().
|
private |
Definition at line 72 of file ME0SegmentAlgorithm.h.
Referenced by buildSegments().
|
staticprivate |
Definition at line 74 of file ME0SegmentAlgorithm.h.
Referenced by clusterHits().
|
private |
Definition at line 75 of file ME0SegmentAlgorithm.h.
Referenced by buildSegments().