#include <CSCSegAlgoSK.h>
Public Types | |
typedef std::deque< bool > | BoolContainer |
typedef std::vector< const CSCRecHit2D * > | ChamberHitContainer |
typedef std::vector< const CSCRecHit2D * > ::const_iterator | ChamberHitContainerCIt |
typedef std::vector< int > | LayerIndex |
Typedefs. More... | |
Public Member Functions | |
std::vector< CSCSegment > | buildSegments (const ChamberHitContainer &rechits) |
CSCSegAlgoSK (const edm::ParameterSet &ps) | |
Constructor. More... | |
std::vector< CSCSegment > | run (const CSCChamber *aChamber, const ChamberHitContainer &rechits) |
virtual | ~CSCSegAlgoSK () |
Destructor. More... | |
Public Member Functions inherited from CSCSegmentAlgorithm | |
CSCSegmentAlgorithm (const edm::ParameterSet &) | |
Constructor. More... | |
virtual std::vector< CSCSegment > | run (const CSCChamber *chamber, const std::vector< const CSCRecHit2D * > &rechits)=0 |
virtual | ~CSCSegmentAlgorithm () |
Destructor. More... | |
Private Member Functions | |
bool | addHit (const CSCRecHit2D *hit, int layer) |
Utility functions. More... | |
bool | areHitsCloseInGlobalPhi (const CSCRecHit2D *h1, const CSCRecHit2D *h2) const |
bool | areHitsCloseInLocalX (const CSCRecHit2D *h1, const CSCRecHit2D *h2) const |
Utility functions. More... | |
void | compareProtoSegment (const CSCRecHit2D *h, int layer) |
void | dumpHits (const ChamberHitContainer &rechits) const |
void | dumpSegment (const CSCSegment &seg) const |
void | flagHitsAsUsed (const ChamberHitContainer &rechitsInChamber, BoolContainer &used) const |
bool | hasHitOnLayer (int layer) const |
void | increaseProtoSegment (const CSCRecHit2D *h, int layer) |
bool | isHitNearSegment (const CSCRecHit2D *h) const |
bool | isSegmentGood (const ChamberHitContainer &rechitsInChamber) const |
float | phiAtZ (float z) const |
bool | replaceHit (const CSCRecHit2D *h, int layer) |
void | tryAddingHitsToSegment (const ChamberHitContainer &rechitsInChamber, const BoolContainer &used, const LayerIndex &layerIndex, const ChamberHitContainerCIt i1, const ChamberHitContainerCIt i2) |
void | updateParameters (void) |
Private Attributes | |
float | chi2Max |
bool | debugInfo |
float | dPhiFineMax |
float | dPhiMax |
float | dRPhiFineMax |
float | dRPhiMax |
int | minLayersApart |
const std::string | myName |
ChamberHitContainer | proto_segment |
CSCSegFit * | sfit_ |
const CSCChamber * | theChamber |
float | wideSeg |
float | windowScale |
This is the original algorithm for building endcap muon track segments out of the rechit's in a CSCChamber. cf. CSCSegmentizerTC.
'SK' = 'Sasha Khanov' = Speed King
A CSCSegment is a RecSegment4D, and is built from CSCRecHit2D objects, each of which is a RecHit2DLocalPos.
This class is used by the CSCSegmentAlgorithm.
Alternative algorithms can be used for the segment building by writing classes like this, and then selecting which one is actually used via the CSCSegmentBuilder.
Original (in FORTRAN): Alexa ndre .Khan ov@c ern.c h
Ported to C++ and improved: Rick. Wilk inson @cer n.ch
Reimplemented in terms of layer index, and bug fix: Tim.C ox@c ern.c h
Ported to CMSSW 2006-04-03: Matte o.Sa ni@ce rn.c h
Factored out segment fitter Tim.C Feb-2015 ox@c ern.c h
Definition at line 35 of file CSCSegAlgoSK.h.
typedef std::deque<bool> CSCSegAlgoSK::BoolContainer |
Definition at line 58 of file CSCSegAlgoSK.h.
typedef std::vector<const CSCRecHit2D*> CSCSegAlgoSK::ChamberHitContainer |
Definition at line 50 of file CSCSegAlgoSK.h.
typedef std::vector<const CSCRecHit2D*>::const_iterator CSCSegAlgoSK::ChamberHitContainerCIt |
Definition at line 51 of file CSCSegAlgoSK.h.
typedef std::vector<int> CSCSegAlgoSK::LayerIndex |
Typedefs.
Definition at line 49 of file CSCSegAlgoSK.h.
|
explicit |
Constructor.
Definition at line 19 of file CSCSegAlgoSK.cc.
|
inlinevirtual |
|
private |
Utility functions.
Definition at line 375 of file CSCSegAlgoSK.cc.
|
private |
Definition at line 251 of file CSCSegAlgoSK.cc.
|
private |
Utility functions.
Definition at line 244 of file CSCSegAlgoSK.cc.
std::vector< CSCSegment > CSCSegAlgoSK::buildSegments | ( | const ChamberHitContainer & | rechits | ) |
Build track segments in this chamber (this is where the actual segment-building algorithm hides.)
Definition at line 48 of file CSCSegAlgoSK.cc.
|
private |
Definition at line 428 of file CSCSegAlgoSK.cc.
|
private |
Dump position and phi of each rechit in chamber after sort in z
Definition at line 325 of file CSCSegAlgoSK.cc.
|
private |
Definition at line 479 of file CSCSegAlgoSK.cc.
|
private |
Flag hits on segment as used
Definition at line 360 of file CSCSegAlgoSK.cc.
|
private |
Definition at line 402 of file CSCSegAlgoSK.cc.
|
private |
Definition at line 452 of file CSCSegAlgoSK.cc.
|
private |
Definition at line 272 of file CSCSegAlgoSK.cc.
|
private |
Return true if segment is 'good'. In this algorithm, 'good' means has sufficient hits
Definition at line 342 of file CSCSegAlgoSK.cc.
|
private |
Definition at line 302 of file CSCSegAlgoSK.cc.
|
private |
Definition at line 414 of file CSCSegAlgoSK.cc.
std::vector< CSCSegment > CSCSegAlgoSK::run | ( | const CSCChamber * | aChamber, |
const ChamberHitContainer & | rechits | ||
) |
Here we must implement the algorithm
Definition at line 43 of file CSCSegAlgoSK.cc.
|
private |
Try adding non-used hits to segment
Definition at line 201 of file CSCSegAlgoSK.cc.
|
private |
Definition at line 394 of file CSCSegAlgoSK.cc.
|
private |
Definition at line 130 of file CSCSegAlgoSK.h.
|
private |
Definition at line 133 of file CSCSegAlgoSK.h.
|
private |
Definition at line 129 of file CSCSegAlgoSK.h.
|
private |
Definition at line 127 of file CSCSegAlgoSK.h.
|
private |
Definition at line 128 of file CSCSegAlgoSK.h.
|
private |
Definition at line 126 of file CSCSegAlgoSK.h.
|
private |
Definition at line 132 of file CSCSegAlgoSK.h.
|
private |
Definition at line 123 of file CSCSegAlgoSK.h.
|
private |
Definition at line 122 of file CSCSegAlgoSK.h.
|
private |
Definition at line 135 of file CSCSegAlgoSK.h.
|
private |
Definition at line 121 of file CSCSegAlgoSK.h.
|
private |
Definition at line 131 of file CSCSegAlgoSK.h.
|
private |
Definition at line 125 of file CSCSegAlgoSK.h.