public class ClassicAmbiguityResolver extends AmbiguityResolver
AmbiguityResolver.AmbiguityResolverUtils, AmbiguityResolver.compareScore
Modifier and Type | Field and Description |
---|---|
private AcceptanceHelper |
acc |
private double |
badChisqPenalty |
private double |
ChisqScoring |
private double |
cumProbThreshold |
private boolean |
doChargeCheck |
private double[] |
holePenalty |
private double[] |
outsideAcceptancePenalty |
private double |
scoreThreshold |
private double[] |
sharedHitScore |
private int |
shareThreshold |
private double[] |
unsharedHitScore |
duplicates, hitsToTracksMap, partials, poorScore, shared, sharedTracksMap, tracks, trackScoreMap, utils, wereCleaned
Constructor and Description |
---|
ClassicAmbiguityResolver(AcceptanceHelper helper)
Constructor with AcceptanceHelper (used in track scoring).
|
Modifier and Type | Method and Description |
---|---|
private boolean |
areSameCharge(org.lcsim.event.Track trk1,
org.lcsim.event.Track trk2) |
protected boolean |
areShared(org.lcsim.event.Track trk1,
org.lcsim.event.Track trk2)
whether two tracks are considered shared
|
int[] |
holesOnTrack(org.lcsim.event.Track trk)
Determines whether given track has holes in any layers
|
protected void |
RemovePoorScores()
Remove tracks with poor scores from operable tracks list, put them in
poorScores list
|
void |
resolve()
In current mode, perform ambiguity resolution on operable tracks.
|
double |
scoreTrack(org.lcsim.event.Track track)
Calculate a score for operable track
|
void |
setBadChi2Penalty(double penalty) |
(package private) void |
setChi2Scoring(double factor) |
(package private) void |
setCumProbThreshold(double threshold) |
void |
setDoChargeCheck(boolean value) |
void |
setHolePenalties(double[] penalties) |
void |
setOutsideAcceptancePenalties(double[] penalties) |
void |
setScoreThreshold(double score) |
void |
setSharedHitScores(double[] scores) |
void |
setShareThreshold(int value) |
void |
setUnsharedHitScores(double[] scores) |
getDuplicateTracks, getPartialTracks, getPoorScoreTracks, getScore, getSharedTracks, getTracks, initializeFromCollection, initializeFromList, resetResolver
private int shareThreshold
private double scoreThreshold
private double[] sharedHitScore
private double[] unsharedHitScore
private double[] holePenalty
private double[] outsideAcceptancePenalty
private double badChisqPenalty
private double ChisqScoring
private double cumProbThreshold
private boolean doChargeCheck
private AcceptanceHelper acc
public ClassicAmbiguityResolver(AcceptanceHelper helper)
AcceptanceHelper
- void setCumProbThreshold(double threshold)
cumProbThreshold
- : max cumulative probability threshold for chi2 in scoring,
default 0.95void setChi2Scoring(double factor)
factor
- : weighting factor for chi2 in track scoring, default 2.0public void setScoreThreshold(double score)
scoreThreshold
- : min acceptable score for a trackpublic void setSharedHitScores(double[] scores)
hitScores
- : for track-scoring. Entry i of array = value added to score
for having a shared hit in layer i+1public void setUnsharedHitScores(double[] scores)
hitScores
- : for track-scoring. Entry i of array = value added to score
for having an unshared hit in layer i+1public void setOutsideAcceptancePenalties(double[] penalties)
penalties
- : for track-scoring. Entry i of array = value subtracted from
score for missing the acceptance of layer i+1public void setHolePenalties(double[] penalties)
penalties
- : for track-scoring. Entry i of array = value subtracted from
score for having a hole in layer i+1public void setBadChi2Penalty(double penalty)
penalty
- : for track-scoring. Value subtracted from score for having a
bad overall chi2/dofpublic void setShareThreshold(int value)
shareThreshold
- : max number of shared hits that any operable tracks can share
with each otherpublic void setDoChargeCheck(boolean value)
yes
- /no : only consider tracks shared if they are same chargeprivate boolean areSameCharge(org.lcsim.event.Track trk1, org.lcsim.event.Track trk2)
protected boolean areShared(org.lcsim.event.Track trk1, org.lcsim.event.Track trk2)
AmbiguityResolver
areShared
in class AmbiguityResolver
public void resolve()
AmbiguityResolver
resolve
in class AmbiguityResolver
protected void RemovePoorScores()
public double scoreTrack(org.lcsim.event.Track track)
AmbiguityResolver
scoreTrack
in class AmbiguityResolver
public int[] holesOnTrack(org.lcsim.event.Track trk)
AmbiguityResolver
holesOnTrack
in class AmbiguityResolver
Copyright © 2019. All rights reserved.