22 kSegmentCompatibility,
27 kLayersWithMeasurement,
51 if (!(
muon.innerTrack().isNonnull() and
muon.outerTrack().isNonnull() and
muon.globalTrack().isNonnull())) {
61 var[kChi2LocalMomentum] =
muon.combinedQuality().chi2LocalMomentum;
62 var[kChi2LocalPosition] =
muon.combinedQuality().chi2LocalPosition;
63 var[kGlbTrackProbability] =
muon.combinedQuality().glbTrackProbability;
64 var[kTrkRelChi2] =
muon.combinedQuality().trkRelChi2;
66 var[kTrkKink] =
muon.combinedQuality().trkKink;
67 var[kLog2PlusGlbKink] = TMath::Log(2 +
muon.combinedQuality().glbKink);
68 var[kSegmentCompatibility] =
muon.segmentCompatibility();
70 var[kTimeAtIpInOutErr] =
muon.time().timeAtIpInOutErr;
74 var[kIValidFraction] = iTrack->validFraction();
75 var[kInnerChi2] = iTrack->normalizedChi2();
76 var[kLayersWithMeasurement] = iTrack->hitPattern().trackerLayersWithMeasurement();
78 var[kOuterChi2] = oTrack->normalizedChi2();
80 var[kQProd] = iTrack->charge() * oTrack->charge();
86 std::vector<int> fvDThits{0, 0, 0, 0};
87 std::vector<int> fvRPChits{0, 0, 0, 0};
88 std::vector<int> fvCSChits{0, 0, 0, 0};
90 var[kVMuonHitComb] = 0;
98 if (muStation0 >= 0 && muStation0 < 4) {
100 fvDThits[muStation0]++;
102 fvRPChits[muStation0]++;
104 fvCSChits[muStation0]++;
109 var[kVMuonHitComb] += (fvDThits[
station]) / 2.;
113 var[kVMuonHitComb] += 6;
119 if (
var[kChi2LocalMomentum] < 5000 and
var[kChi2LocalPosition] < 2000 and
var[kGlbTrackProbability] < 5000 and
120 var[kTrkKink] < 900 and
var[kLog2PlusGlbKink] < 50 and
var[kTimeAtIpInOutErr] < 4 and
var[kOuterChi2] < 1000 and
121 var[kInnerChi2] < 10 and
var[kTrkRelChi2] < 3) {
int numberOfAllHits(HitCategory category) const
example_track example_track example_trackconst char *const kPt
float computeMva(const pat::Muon &imuon) const
static bool validHitFilter(uint16_t pattern)
static bool muonCSCHitFilter(uint16_t pattern)
uint16_t getHitPattern(HitCategory category, int position) const
SoftMuonMvaEstimator(const edm::FileInPath &weightsfile)
static bool muonDTHitFilter(uint16_t pattern)
std::unique_ptr< const GBRForest > gbrForest_
static uint16_t getMuonStation(uint16_t pattern)
Muon station (1-4). Only valid for muon patterns, of course. only for patterns from muon...
static bool muonRPCHitFilter(uint16_t pattern)
Analysis-level muon class.