#include <RecoBTag/ImpactParameterLearning/plugins/TrackClassMatch.h>
Public Types | |
typedef Input | first_argument_type |
typedef bool | result_type |
typedef TrackProbabilityCalibration::Entry | second_argument_type |
Public Member Functions | |
bool | operator() (const first_argument_type &input, const second_argument_type &category) const |
TrackClassMatch () | |
Classes | |
class | Input |
Definition at line 12 of file TrackClassMatch.h.
Definition at line 29 of file TrackClassMatch.h.
typedef bool TrackClassMatch::result_type |
Definition at line 31 of file TrackClassMatch.h.
Definition at line 30 of file TrackClassMatch.h.
TrackClassMatch::TrackClassMatch | ( | ) | [inline] |
bool TrackClassMatch::operator() | ( | const first_argument_type & | input, | |
const second_argument_type & | category | |||
) | const [inline] |
Definition at line 33 of file TrackClassMatch.h.
References TrackProbabilityCalibration::Entry::category, TrackProbabilityCategoryData::chiMax, TrackProbabilityCategoryData::chiMin, d, eta, reco::TrackBase::eta(), TrackProbabilityCategoryData::etaMax, TrackProbabilityCategoryData::etaMin, reco::TrackBase::hitPattern(), metsig::jet, TrackClassMatch::Input::jet, TrackProbabilityCategoryData::nHitsMax, TrackProbabilityCategoryData::nHitsMin, reco::TrackBase::normalizedChi2(), TrackProbabilityCategoryData::nPixelHitsMax, TrackProbabilityCategoryData::nPixelHitsMin, reco::TrackBase::numberOfValidHits(), reco::TrackBase::p(), p, TrackProbabilityCategoryData::pMax, TrackProbabilityCategoryData::pMin, pv, HLT_VtxMuL3::result, TrackClassMatch::Input::track, track, TrackClassMatch::Input::vertex, and TrackProbabilityCategoryData::withFirstPixel.
00034 { 00035 const reco::Track & track = input.track; 00036 const reco::Jet & jet = input.jet; 00037 const reco::Vertex & pv = input.vertex; 00038 const TrackProbabilityCategoryData & d = category.category; 00039 //Track Data 00040 double p=track.p(); 00041 double eta=track.eta(); 00042 double nhit=track.numberOfValidHits(); 00043 double npix=track.hitPattern().numberOfValidPixelHits(); 00044 bool firstPixel=track.hitPattern().hasValidHitInFirstPixelBarrel(); 00045 double chi=track.normalizedChi2(); 00046 //Chi^2 cut if used 00047 bool chicut=(chi >= d.chiMin && chi < d.chiMax ); 00048 if(d.chiMin<=0.01 && d.chiMax<=0.01) chicut=true; 00049 00050 //First Pixel Hit cut 1=there should be an hit in first layer, -1=there should not be an hit, 0 = I do not care 00051 bool fisrtPixelCut = ( (firstPixel && d.withFirstPixel == 1) || (!firstPixel && d.withFirstPixel == -1) || d.withFirstPixel == 0 ); 00052 00053 //the AND of everything 00054 bool result=( p > d.pMin && p < d.pMax && 00055 fabs(eta) > d.etaMin && fabs(eta) < d.etaMax && 00056 nhit >= d.nHitsMin && nhit <= d.nHitsMax && 00057 npix >= d.nPixelHitsMin && npix <= d.nPixelHitsMax && 00058 chicut && fisrtPixelCut ); 00059 return result; 00060 }