#include <CSCSegAlgoST.h>
Public Types | |
typedef std::deque< bool > | BoolContainer |
typedef std::vector< const CSCRecHit2D * > | ChamberHitContainer |
Typedefs. More... | |
typedef std::vector < std::vector< const CSCRecHit2D * > > | Segments |
Public Member Functions | |
std::vector< CSCSegment > | buildSegments (const ChamberHitContainer &rechits) |
std::vector< CSCSegment > | buildSegments2 (const ChamberHitContainer &rechits) |
std::vector< std::vector < const CSCRecHit2D * > > | chainHits (const CSCChamber *aChamber, const ChamberHitContainer &rechits) |
std::vector< std::vector < const CSCRecHit2D * > > | clusterHits (const CSCChamber *aChamber, const ChamberHitContainer &rechits) |
CSCSegAlgoST (const edm::ParameterSet &ps) | |
Constructor. More... | |
std::vector< CSCSegment > | prune_bad_hits (const CSCChamber *aChamber, std::vector< CSCSegment > &segments) |
std::vector< CSCSegment > | run (const CSCChamber *aChamber, const ChamberHitContainer &rechits) |
virtual | ~CSCSegAlgoST () |
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 | adjustCovariance (void) |
const CSCChamber * | chamber () const |
void | ChooseSegments (void) |
void | ChooseSegments2 (int best_seg) |
void | ChooseSegments2a (std::vector< ChamberHitContainer > &best_segments, int best_seg) |
void | ChooseSegments3 (int best_seg) |
void | ChooseSegments3 (std::vector< ChamberHitContainer > &best_segments, std::vector< float > &best_weight, int best_seg) |
void | dumpSegment (const CSCSegment &seg) const |
void | findDuplicates (std::vector< CSCSegment > &segments) |
bool | isGoodToMerge (bool isME11a, ChamberHitContainer &newChain, ChamberHitContainer &oldChain) |
const edm::ParameterSet & | pset (void) const |
double | theWeight (double coordinate_1, double coordinate_2, double coordinate_3, float layer_1, float layer_2, float layer_3) |
Utility functions. More... | |
This algorithm is based on the Minimum Spanning Tree (ST) approach for building endcap muon track segments out of the rechit's in a CSCChamber.
A CSCSegment is a RecSegment4D, and is built from CSCRecHit2D objects, each of which is a RecHit2DLocalPos.
This builds segments consisting of at least 3 hits. Segments can share a common rechit, but only one.
Definition at line 32 of file CSCSegAlgoST.h.
typedef std::deque<bool> CSCSegAlgoST::BoolContainer |
Definition at line 41 of file CSCSegAlgoST.h.
typedef std::vector<const CSCRecHit2D*> CSCSegAlgoST::ChamberHitContainer |
Typedefs.
Definition at line 39 of file CSCSegAlgoST.h.
typedef std::vector< std::vector<const CSCRecHit2D* > > CSCSegAlgoST::Segments |
Definition at line 40 of file CSCSegAlgoST.h.
|
explicit |
|
virtual |
Destructor.
Definition at line 82 of file CSCSegAlgoST.cc.
|
inlineprivate |
Definition at line 89 of file CSCSegAlgoST.h.
std::vector< CSCSegment > CSCSegAlgoST::buildSegments | ( | const ChamberHitContainer & | rechits | ) |
Build track segments in this chamber (this is where the actual segment-building algorithm hides.)
Definition at line 666 of file CSCSegAlgoST.cc.
std::vector<CSCSegment> CSCSegAlgoST::buildSegments2 | ( | const ChamberHitContainer & | rechits | ) |
Build track segments in this chamber (this is where the actual segment-building algorithm hides.)
std::vector< std::vector< const CSCRecHit2D * > > CSCSegAlgoST::chainHits | ( | const CSCChamber * | aChamber, |
const ChamberHitContainer & | rechits | ||
) |
Definition at line 512 of file CSCSegAlgoST.cc.
|
inlineprivate |
Definition at line 112 of file CSCSegAlgoST.h.
|
private |
|
private |
Definition at line 1681 of file CSCSegAlgoST.cc.
|
private |
Definition at line 1623 of file CSCSegAlgoST.cc.
|
private |
|
private |
Definition at line 1629 of file CSCSegAlgoST.cc.
std::vector< std::vector< const CSCRecHit2D * > > CSCSegAlgoST::clusterHits | ( | const CSCChamber * | aChamber, |
const ChamberHitContainer & | rechits | ||
) |
Build groups of rechits that are separated in x and y to save time on the segment finding
Definition at line 396 of file CSCSegAlgoST.cc.
|
private |
Definition at line 1759 of file CSCSegAlgoST.cc.
|
private |
Definition at line 1732 of file CSCSegAlgoST.cc.
|
private |
Definition at line 588 of file CSCSegAlgoST.cc.
std::vector< CSCSegment > CSCSegAlgoST::prune_bad_hits | ( | const CSCChamber * | aChamber, |
std::vector< CSCSegment > & | segments | ||
) |
Remove bad hits from found segments based not only on chi2, but also on charge and further "low level" chamber information.
Definition at line 181 of file CSCSegAlgoST.cc.
|
inlineprivate |
Definition at line 86 of file CSCSegAlgoST.h.
std::vector< CSCSegment > CSCSegAlgoST::run | ( | const CSCChamber * | aChamber, |
const ChamberHitContainer & | rechits | ||
) |
Build segments for all desired groups of hits
Definition at line 87 of file CSCSegAlgoST.cc.
|
private |
Utility functions.
Definition at line 653 of file CSCSegAlgoST.cc.
|
private |
Definition at line 182 of file CSCSegAlgoST.h.
|
private |
Definition at line 191 of file CSCSegAlgoST.h.
|
private |
Definition at line 174 of file CSCSegAlgoST.h.
|
private |
Definition at line 173 of file CSCSegAlgoST.h.
|
private |
Definition at line 195 of file CSCSegAlgoST.h.
|
private |
Definition at line 133 of file CSCSegAlgoST.h.
|
private |
Definition at line 142 of file CSCSegAlgoST.h.
|
private |
Flag whether to 'improve' covariance matrix.
Definition at line 193 of file CSCSegAlgoST.h.
|
private |
Definition at line 193 of file CSCSegAlgoST.h.
|
private |
Definition at line 143 of file CSCSegAlgoST.h.
|
private |
Definition at line 144 of file CSCSegAlgoST.h.
|
private |
Definition at line 145 of file CSCSegAlgoST.h.
|
private |
Definition at line 146 of file CSCSegAlgoST.h.
|
private |
Definition at line 147 of file CSCSegAlgoST.h.
|
private |
Definition at line 148 of file CSCSegAlgoST.h.
|
private |
Definition at line 149 of file CSCSegAlgoST.h.
|
private |
Definition at line 188 of file CSCSegAlgoST.h.
|
private |
Definition at line 187 of file CSCSegAlgoST.h.
|
private |
Definition at line 161 of file CSCSegAlgoST.h.
|
private |
Definition at line 167 of file CSCSegAlgoST.h.
|
private |
Definition at line 168 of file CSCSegAlgoST.h.
|
private |
Definition at line 120 of file CSCSegAlgoST.h.
|
private |
Definition at line 178 of file CSCSegAlgoST.h.
|
private |
Definition at line 179 of file CSCSegAlgoST.h.
|
private |
Definition at line 180 of file CSCSegAlgoST.h.
|
private |
Definition at line 169 of file CSCSegAlgoST.h.
|
private |
Definition at line 164 of file CSCSegAlgoST.h.
|
private |
Definition at line 115 of file CSCSegAlgoST.h.
|
private |
Definition at line 175 of file CSCSegAlgoST.h.
|
private |
Definition at line 122 of file CSCSegAlgoST.h.
|
private |
Definition at line 170 of file CSCSegAlgoST.h.
|
private |
Definition at line 171 of file CSCSegAlgoST.h.
|
private |
Chi^2 normalization for the initial fit.
Definition at line 197 of file CSCSegAlgoST.h.
|
private |
Allow to prune a (rechit in a) segment in segment buld method once it passed through Chi^2-X and chi2uCorrection is big.
Definition at line 199 of file CSCSegAlgoST.h.
|
private |
Definition at line 158 of file CSCSegAlgoST.h.
|
private |
Definition at line 172 of file CSCSegAlgoST.h.
|
private |
Definition at line 116 of file CSCSegAlgoST.h.
|
private |
Definition at line 125 of file CSCSegAlgoST.h.
|
private |
Definition at line 123 of file CSCSegAlgoST.h.
|
private |
Definition at line 127 of file CSCSegAlgoST.h.
|
private |
Definition at line 128 of file CSCSegAlgoST.h.
|
private |
Definition at line 129 of file CSCSegAlgoST.h.
|
private |
Definition at line 130 of file CSCSegAlgoST.h.
|
private |
Definition at line 131 of file CSCSegAlgoST.h.
|
private |
Definition at line 132 of file CSCSegAlgoST.h.
|
private |
Definition at line 126 of file CSCSegAlgoST.h.
|
private |
Definition at line 117 of file CSCSegAlgoST.h.
|
private |
Definition at line 119 of file CSCSegAlgoST.h.
|
private |
Definition at line 176 of file CSCSegAlgoST.h.
|
private |
Definition at line 134 of file CSCSegAlgoST.h.
|
private |
Definition at line 150 of file CSCSegAlgoST.h.
|
private |
Definition at line 136 of file CSCSegAlgoST.h.
|
private |
Definition at line 151 of file CSCSegAlgoST.h.
|
private |
Definition at line 137 of file CSCSegAlgoST.h.
|
private |
Definition at line 152 of file CSCSegAlgoST.h.
|
private |
Definition at line 138 of file CSCSegAlgoST.h.
|
private |
Definition at line 153 of file CSCSegAlgoST.h.
|
private |
Definition at line 139 of file CSCSegAlgoST.h.
|
private |
Definition at line 154 of file CSCSegAlgoST.h.
|
private |
Definition at line 140 of file CSCSegAlgoST.h.
|
private |
Definition at line 155 of file CSCSegAlgoST.h.
|
private |
Definition at line 141 of file CSCSegAlgoST.h.
|
private |
Definition at line 156 of file CSCSegAlgoST.h.
|
private |
Definition at line 135 of file CSCSegAlgoST.h.
|
private |
Definition at line 185 of file CSCSegAlgoST.h.
|
private |
Definition at line 184 of file CSCSegAlgoST.h.