#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) override |
~CSCSegAlgoST () override | |
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 38 of file CSCSegAlgoST.h.
typedef std::vector<const CSCRecHit2D*> CSCSegAlgoST::ChamberHitContainer |
Typedefs.
Definition at line 36 of file CSCSegAlgoST.h.
typedef std::vector<std::vector<const CSCRecHit2D*> > CSCSegAlgoST::Segments |
Definition at line 37 of file CSCSegAlgoST.h.
|
explicit |
Constructor.
Improve the covariance matrix?
Definition at line 32 of file CSCSegAlgoST.cc.
References adjustCovariance_, BPMinImprovement, BrutePruning, chi2Norm_3D_, curvePenalty, curvePenaltyThreshold, debug, dXclusBoxMax, dYclusBoxMax, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), hitDropLimit4Hits, hitDropLimit5Hits, hitDropLimit6Hits, maxRecHitsInCluster, minHitsPerSegment, onlyBestSegment, preClustering, preClustering_useChaining, prePrun_, prePrunLimit_, Pruning, showering_, useShowering, yweightPenalty, and yweightPenaltyThreshold.
|
override |
|
inlineprivate |
Definition at line 85 of file CSCSegAlgoST.h.
References adjustCovariance_.
Referenced by buildSegments(), and prune_bad_hits().
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 656 of file CSCSegAlgoST.cc.
References a_yweightPenaltyThreshold, adjustCovariance(), chamber(), CSCSegment::chi2(), CSCSegFit::chi2(), chi2Norm_3D_, ChooseSegments2a(), ChooseSegments3(), chosen_Psegments, chosen_weight_A, condpass1, condpass2, CSCSegFit::covarianceMatrix(), curv_A, curv_noL1_A, curv_noL2_A, curv_noL3_A, curv_noL4_A, curv_noL5_A, curv_noL6_A, curvePenalty, curvePenaltyThreshold, debug, dumpSegment(), relativeConstraints::empty, dataset::end, CSCCondSegFit::fit(), GoodSegments, hitDropLimit4Hits, hitDropLimit5Hits, hitDropLimit6Hits, mps_fire::i, gpuClustering::id, CSCSegFit::intercept(), phase1PixelTopology::layer, CSCSegFit::localdir(), LogTrace, maxRecHitsInCluster, minHitsPerSegment, CSCSegFit::ndof(), CSCSegFit::nhits(), CSCSegment::nRecHits(), onlyBestSegment, PAhits_onLayer, prePrun_, prePrunLimit_, protoSegment, Psegments, Psegments_hits, Psegments_noL1, Psegments_noL2, Psegments_noL3, Psegments_noL4, Psegments_noL5, Psegments_noL6, Psegments_noLx, pset(), CSCSegFit::scaleXError(), CSCSegFit::setScaleXError(), showering_, CSCSegAlgoShowering::showerSeg(), findQualityFiles::size, mathSSE::sqrt(), groupFilesInBlocks::temp, theChamber, theWeight(), useShowering, weight_A, weight_B, weight_noL1_A, weight_noL1_B, weight_noL2_A, weight_noL2_B, weight_noL3_A, weight_noL3_B, weight_noL4_A, weight_noL4_B, weight_noL5_A, weight_noL5_B, weight_noL6_A, weight_noL6_B, weight_noLx_A, CSCCondSegFit::worstHit(), x, y, and yweightPenalty.
Referenced by run().
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 504 of file CSCSegAlgoST.cc.
References SplitLinear::begin, CSCChamberSpecs::chamberTypeName(), dataset::end, CSCChamberSpecs::gangedStrips(), mps_fire::i, isGoodToMerge(), DetachedQuadStep_cff::seeds, CSCChamber::specs(), and groupFilesInBlocks::temp.
Referenced by run().
|
inlineprivate |
Definition at line 109 of file CSCSegAlgoST.h.
References theChamber.
Referenced by buildSegments(), dumpSegment(), geometryXMLparser.CSCAlignable::index(), and prune_bad_hits().
|
private |
|
private |
Definition at line 1690 of file CSCSegAlgoST.cc.
References GoodSegments, LogTrace, Psegments, findQualityFiles::size, and weight_A.
|
private |
Definition at line 1630 of file CSCSegAlgoST.cc.
References GoodSegments.
Referenced by buildSegments().
|
private |
Referenced by buildSegments().
|
private |
Definition at line 1636 of file CSCSegAlgoST.cc.
References GoodSegments, and findQualityFiles::size.
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 380 of file CSCSegAlgoST.cc.
References SplitLinear::begin, dXclusBoxMax, dYclusBoxMax, dataset::end, mps_fire::i, LogTrace, DetachedQuadStep_cff::seeds, findQualityFiles::size, groupFilesInBlocks::temp, theChamber, x, and y.
Referenced by run().
|
private |
Definition at line 1765 of file CSCSegAlgoST.cc.
References chamber(), CSCSegment::chi2(), CSCSegment::degreesOfFreedom(), CSCChamber::id(), CSCSegment::localDirection(), CSCSegment::localDirectionError(), CSCSegment::localPosition(), CSCSegment::localPositionError(), CSCSegment::parametersError(), CSCSegment::specificRecHits(), and CSCSegment::time().
Referenced by buildSegments().
|
private |
|
private |
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 177 of file CSCSegAlgoST.cc.
References adjustCovariance(), SplitLinear::begin, BPMinImprovement, BrutePruning, edmScanValgrind::buffer, chamber(), CSCSegFit::chi2(), chi2Norm_3D_, ChiSquaredProbability(), condpass1, condpass2, CSCSegFit::covarianceMatrix(), alignCSCRings::e, CSCCondSegFit::fit(), CSCSegFit::intercept(), CSCChamber::layer(), CSCSegFit::localdir(), visualization-live-secondInstance_cfg::m, minHitsPerSegment, CSCSegFit::ndof(), nhits, protoSegment, pset(), CSCSegFit::scaleXError(), CSCSegFit::setScaleXError(), groupFilesInBlocks::temp, theChamber, GeomDet::toGlobal(), PV3DBase< T, PVType, FrameType >::x(), LocalError::xx(), and PV3DBase< T, PVType, FrameType >::z().
Referenced by run().
|
inlineprivate |
Definition at line 82 of file CSCSegAlgoST.h.
References ps_.
Referenced by buildSegments(), and prune_bad_hits().
|
override |
Build segments for all desired groups of hits
Definition at line 84 of file CSCSegAlgoST.cc.
References a, a_yweightPenaltyThreshold, b, buildSegments(), chainHits(), CSCChamberSpecs::chamberTypeName(), clusterHits(), findDuplicates(), CSCChamberSpecs::gangedStrips(), CSCChamber::id(), LogTrace, preClustering, preClustering_useChaining, prune_bad_hits(), Pruning, CSCChamber::specs(), theChamber, and yweightPenaltyThreshold.
|
private |
|
private |
Definition at line 179 of file CSCSegAlgoST.h.
Referenced by buildSegments(), and run().
|
private |
Definition at line 187 of file CSCSegAlgoST.h.
Referenced by adjustCovariance(), and CSCSegAlgoST().
|
private |
Definition at line 171 of file CSCSegAlgoST.h.
Referenced by CSCSegAlgoST(), and prune_bad_hits().
|
private |
Definition at line 170 of file CSCSegAlgoST.h.
Referenced by CSCSegAlgoST(), and prune_bad_hits().
|
private |
Definition at line 191 of file CSCSegAlgoST.h.
Referenced by buildSegments(), CSCSegAlgoST(), and prune_bad_hits().
|
private |
Definition at line 130 of file CSCSegAlgoST.h.
Referenced by buildSegments().
|
private |
Definition at line 139 of file CSCSegAlgoST.h.
Referenced by buildSegments().
|
private |
Flag whether to 'improve' covariance matrix.
Definition at line 189 of file CSCSegAlgoST.h.
Referenced by buildSegments(), and prune_bad_hits().
|
private |
Definition at line 189 of file CSCSegAlgoST.h.
Referenced by buildSegments(), and prune_bad_hits().
|
private |
Definition at line 140 of file CSCSegAlgoST.h.
Referenced by buildSegments().
|
private |
Definition at line 141 of file CSCSegAlgoST.h.
Referenced by buildSegments().
|
private |
Definition at line 142 of file CSCSegAlgoST.h.
Referenced by buildSegments().
|
private |
Definition at line 143 of file CSCSegAlgoST.h.
Referenced by buildSegments().
|
private |
Definition at line 144 of file CSCSegAlgoST.h.
Referenced by buildSegments().
|
private |
Definition at line 145 of file CSCSegAlgoST.h.
Referenced by buildSegments().
|
private |
Definition at line 146 of file CSCSegAlgoST.h.
Referenced by buildSegments().
|
private |
Definition at line 185 of file CSCSegAlgoST.h.
Referenced by buildSegments(), and CSCSegAlgoST().
|
private |
Definition at line 184 of file CSCSegAlgoST.h.
Referenced by buildSegments(), and CSCSegAlgoST().
|
private |
Definition at line 158 of file CSCSegAlgoST.h.
Referenced by buildSegments(), CSCSegAlgoST(), runTauIdMVA.TauIDEmbedder::loadMVA_WPs_run2_2017(), and runTauIdMVA.TauIDEmbedder::runTauID().
|
private |
Definition at line 164 of file CSCSegAlgoST.h.
Referenced by clusterHits(), and CSCSegAlgoST().
|
private |
Definition at line 165 of file CSCSegAlgoST.h.
Referenced by clusterHits(), and CSCSegAlgoST().
|
private |
Definition at line 117 of file CSCSegAlgoST.h.
Referenced by buildSegments(), ChooseSegments2(), ChooseSegments2a(), and ChooseSegments3().
|
private |
Definition at line 175 of file CSCSegAlgoST.h.
Referenced by buildSegments(), and CSCSegAlgoST().
|
private |
Definition at line 176 of file CSCSegAlgoST.h.
Referenced by buildSegments(), and CSCSegAlgoST().
|
private |
Definition at line 177 of file CSCSegAlgoST.h.
Referenced by buildSegments(), and CSCSegAlgoST().
|
private |
Definition at line 166 of file CSCSegAlgoST.h.
Referenced by buildSegments(), and CSCSegAlgoST().
|
private |
Definition at line 161 of file CSCSegAlgoST.h.
Referenced by buildSegments(), CSCSegAlgoST(), and prune_bad_hits().
|
private |
Definition at line 112 of file CSCSegAlgoST.h.
|
private |
Definition at line 172 of file CSCSegAlgoST.h.
Referenced by buildSegments(), and CSCSegAlgoST().
|
private |
Definition at line 119 of file CSCSegAlgoST.h.
Referenced by buildSegments().
|
private |
Definition at line 167 of file CSCSegAlgoST.h.
Referenced by CSCSegAlgoST(), and run().
|
private |
Definition at line 168 of file CSCSegAlgoST.h.
Referenced by CSCSegAlgoST(), and run().
|
private |
Chi^2 normalization for the initial fit.
Definition at line 193 of file CSCSegAlgoST.h.
Referenced by buildSegments(), and CSCSegAlgoST().
|
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 195 of file CSCSegAlgoST.h.
Referenced by buildSegments(), and CSCSegAlgoST().
|
private |
Definition at line 155 of file CSCSegAlgoST.h.
Referenced by buildSegments(), and prune_bad_hits().
|
private |
Definition at line 169 of file CSCSegAlgoST.h.
Referenced by CSCSegAlgoST(), and run().
|
private |
Definition at line 113 of file CSCSegAlgoST.h.
Referenced by pset().
|
private |
Definition at line 122 of file CSCSegAlgoST.h.
Referenced by buildSegments(), and ChooseSegments2().
|
private |
Definition at line 120 of file CSCSegAlgoST.h.
Referenced by buildSegments().
|
private |
Definition at line 124 of file CSCSegAlgoST.h.
Referenced by buildSegments().
|
private |
Definition at line 125 of file CSCSegAlgoST.h.
Referenced by buildSegments().
|
private |
Definition at line 126 of file CSCSegAlgoST.h.
Referenced by buildSegments().
|
private |
Definition at line 127 of file CSCSegAlgoST.h.
Referenced by buildSegments().
|
private |
Definition at line 128 of file CSCSegAlgoST.h.
Referenced by buildSegments().
|
private |
Definition at line 129 of file CSCSegAlgoST.h.
Referenced by buildSegments().
|
private |
Definition at line 123 of file CSCSegAlgoST.h.
Referenced by buildSegments().
|
private |
Definition at line 114 of file CSCSegAlgoST.h.
Referenced by buildSegments(), CSCSegAlgoST(), and ~CSCSegAlgoST().
|
private |
Definition at line 116 of file CSCSegAlgoST.h.
Referenced by buildSegments(), chamber(), clusterHits(), prune_bad_hits(), and run().
|
private |
Definition at line 173 of file CSCSegAlgoST.h.
Referenced by buildSegments(), and CSCSegAlgoST().
|
private |
Definition at line 131 of file CSCSegAlgoST.h.
Referenced by buildSegments(), and ChooseSegments2().
|
private |
Definition at line 147 of file CSCSegAlgoST.h.
Referenced by buildSegments().
|
private |
Definition at line 133 of file CSCSegAlgoST.h.
Referenced by buildSegments().
|
private |
Definition at line 148 of file CSCSegAlgoST.h.
Referenced by buildSegments().
|
private |
Definition at line 134 of file CSCSegAlgoST.h.
Referenced by buildSegments().
|
private |
Definition at line 149 of file CSCSegAlgoST.h.
Referenced by buildSegments().
|
private |
Definition at line 135 of file CSCSegAlgoST.h.
Referenced by buildSegments().
|
private |
Definition at line 150 of file CSCSegAlgoST.h.
Referenced by buildSegments().
|
private |
Definition at line 136 of file CSCSegAlgoST.h.
Referenced by buildSegments().
|
private |
Definition at line 151 of file CSCSegAlgoST.h.
Referenced by buildSegments().
|
private |
Definition at line 137 of file CSCSegAlgoST.h.
Referenced by buildSegments().
|
private |
Definition at line 152 of file CSCSegAlgoST.h.
Referenced by buildSegments().
|
private |
Definition at line 138 of file CSCSegAlgoST.h.
Referenced by buildSegments().
|
private |
Definition at line 153 of file CSCSegAlgoST.h.
Referenced by buildSegments().
|
private |
Definition at line 132 of file CSCSegAlgoST.h.
Referenced by buildSegments().
|
private |
Definition at line 182 of file CSCSegAlgoST.h.
Referenced by buildSegments(), and CSCSegAlgoST().
|
private |
Definition at line 181 of file CSCSegAlgoST.h.
Referenced by CSCSegAlgoST(), and run().