CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Classes | Public Types | Public Member Functions
TrackClassMatch Class Reference

#include <TrackClassMatch.h>

Classes

class  Input
 

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 ()
 

Detailed Description

filter to define the belonging of a track to a TrackClass

Definition at line 12 of file TrackClassMatch.h.

Member Typedef Documentation

Definition at line 29 of file TrackClassMatch.h.

Definition at line 31 of file TrackClassMatch.h.

Definition at line 30 of file TrackClassMatch.h.

Constructor & Destructor Documentation

TrackClassMatch::TrackClassMatch ( )
inline

Definition at line 16 of file TrackClassMatch.h.

16 {}

Member Function Documentation

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, reco::TrackBase::eta(), eta(), TrackProbabilityCategoryData::etaMax, TrackProbabilityCategoryData::etaMin, reco::HitPattern::hasValidHitInFirstPixelBarrel(), reco::TrackBase::hitPattern(), TrackProbabilityCategoryData::nHitsMax, TrackProbabilityCategoryData::nHitsMin, reco::TrackBase::normalizedChi2(), TrackProbabilityCategoryData::nPixelHitsMax, TrackProbabilityCategoryData::nPixelHitsMin, reco::TrackBase::numberOfValidHits(), reco::HitPattern::numberOfValidPixelHits(), L1TEmulatorMonitor_cff::p, reco::TrackBase::p(), TrackProbabilityCategoryData::pMax, TrackProbabilityCategoryData::pMin, query::result, TrackClassMatch::Input::track, and TrackProbabilityCategoryData::withFirstPixel.

34 {
35  const reco::Track & track = input.track;
36 // const reco::Jet & jet = input.jet;
37 // const reco::Vertex & pv = input.vertex;
38  const TrackProbabilityCategoryData & d = category.category;
39  //Track Data
40  double p=track.p();
41  double eta=track.eta();
42  double nhit=track.numberOfValidHits();
43  double npix=track.hitPattern().numberOfValidPixelHits();
44  bool firstPixel=track.hitPattern().hasValidHitInFirstPixelBarrel();
45  double chi=track.normalizedChi2();
46  //Chi^2 cut if used
47  bool chicut=(chi >= d.chiMin && chi < d.chiMax );
48  if(d.chiMin<=0.01 && d.chiMax<=0.01) chicut=true;
49 
50  //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
51  bool fisrtPixelCut = ( (firstPixel && d.withFirstPixel == 1) || (!firstPixel && d.withFirstPixel == -1) || d.withFirstPixel == 0 );
52 
53  //the AND of everything
54  bool result=( p > d.pMin && p < d.pMax &&
55  fabs(eta) > d.etaMin && fabs(eta) < d.etaMax &&
56  nhit >= d.nHitsMin && nhit <= d.nHitsMax &&
57  npix >= d.nPixelHitsMin && npix <= d.nPixelHitsMax &&
58  chicut && fisrtPixelCut );
59  return result;
60  }
double p() const
momentum vector magnitude
Definition: TrackBase.h:129
double normalizedChi2() const
chi-squared divided by n.d.o.f. (or chi-squared * 1e6 if n.d.o.f. is zero)
Definition: TrackBase.h:111
T eta() const
double eta() const
pseudorapidity of momentum vector
Definition: TrackBase.h:141
tuple result
Definition: query.py:137
int numberOfValidPixelHits() const
Definition: HitPattern.cc:359
unsigned short numberOfValidHits() const
number of valid hits found
Definition: TrackBase.h:232
const HitPattern & hitPattern() const
Access the hit pattern, indicating in which Tracker layers the track has hits.
Definition: TrackBase.h:223
tuple input
Definition: collect_tpl.py:10
static const std::string category("Muon|RecoMuon|L3MuonCandidateProducerFromMuons")
bool hasValidHitInFirstPixelBarrel() const
Definition: HitPattern.cc:284