CMS 3D CMS Logo

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

#include <RecoTrackSelector.h>

Inheritance diagram for RecoTrackSelector:
RecoTrackRefSelector

Public Types

typedef reco::TrackCollection collection
 
typedef container::const_iterator const_iterator
 
typedef std::vector< const
reco::Track * > 
container
 

Public Member Functions

const_iterator begin () const
 
const_iterator end () const
 
bool operator() (const reco::Track &t, edm::Event &event)
 Operator() performs the selection: e.g. if (recoTrackSelector(track)) {...}. More...
 
bool operator() (const reco::Track &t, const reco::BeamSpot *bs_)
 
bool operator() (const reco::Track &t)
 
 RecoTrackSelector ()
 Constructors. More...
 
 RecoTrackSelector (const edm::ParameterSet &cfg)
 
 RecoTrackSelector (double ptMin, double minRapidity, double maxRapidity, double tip, double lip, int minHit, int min3DHit, double maxChi2, std::vector< std::string > quality, std::vector< std::string > algorithm)
 
void select (const edm::Handle< collection > &c, const edm::Event &event, const edm::EventSetup &)
 
size_t size () const
 

Protected Attributes

std::vector
< reco::TrackBase::TrackAlgorithm
algorithm_
 
const reco::BeamSpotbs
 
edm::InputTag bsSrc_
 
double lip_
 
double maxChi2_
 
double maxRapidity_
 
int min3DHit_
 
int minHit_
 
double minRapidity_
 
edm::EventID previousEvent
 
double ptMin_
 
std::vector
< reco::TrackBase::TrackQuality
quality_
 
container selected_
 
double tip_
 

Detailed Description

Definition at line 16 of file RecoTrackSelector.h.

Member Typedef Documentation

Definition at line 18 of file RecoTrackSelector.h.

typedef container::const_iterator RecoTrackSelector::const_iterator

Definition at line 20 of file RecoTrackSelector.h.

typedef std::vector<const reco::Track *> RecoTrackSelector::container

Definition at line 19 of file RecoTrackSelector.h.

Constructor & Destructor Documentation

RecoTrackSelector::RecoTrackSelector ( )
inline

Constructors.

Definition at line 23 of file RecoTrackSelector.h.

23 {}
RecoTrackSelector::RecoTrackSelector ( const edm::ParameterSet cfg)
inline

Definition at line 24 of file RecoTrackSelector.h.

References reco::TrackBase::algoByName(), algorithm(), algorithm_, edm::ParameterSet::getParameter(), j, quality_, and reco::TrackBase::qualityByName().

24  :
25  ptMin_(cfg.getParameter<double>("ptMin")),
26  minRapidity_(cfg.getParameter<double>("minRapidity")),
27  maxRapidity_(cfg.getParameter<double>("maxRapidity")),
28  tip_(cfg.getParameter<double>("tip")),
29  lip_(cfg.getParameter<double>("lip")),
30  minHit_(cfg.getParameter<int>("minHit")),
31  min3DHit_(cfg.getParameter<int>("min3DHit")),
32  maxChi2_(cfg.getParameter<double>("maxChi2")),
33  bsSrc_(cfg.getParameter<edm::InputTag>("beamSpot")),
34  bs(0)
35  {
36  std::vector<std::string> quality = cfg.getParameter<std::vector<std::string> >("quality");
37  for (unsigned int j=0;j<quality.size();j++) quality_.push_back(reco::TrackBase::qualityByName(quality[j]));
38  std::vector<std::string> algorithm = cfg.getParameter<std::vector<std::string> >("algorithm");
39  for (unsigned int j=0;j<algorithm.size();j++) algorithm_.push_back(reco::TrackBase::algoByName(algorithm[j]));
40  }
T getParameter(std::string const &) const
< trclass="colgroup">< tdclass="colgroup"colspan=5 > Ecal cluster collections</td ></tr >< tr >< td >< ahref="classreco_1_1BasicCluster.html"> reco::BasicCluster</a ></td >< td >< ahref="DataFormats_EgammaReco.html"> reco::BasicClusterCollection</a ></td >< td >< ahref="#"> hybridSuperClusters</a ></td >< tdclass="description"> Basic clusters reconstructed with hybrid algorithm(barrel only)</td >< td >S.Rahatlou</td ></tr >< tr >< td >< a href
edm::InputTag bsSrc_
std::vector< reco::TrackBase::TrackQuality > quality_
int j
Definition: DBlmapReader.cc:9
static TrackQuality qualityByName(const std::string &name)
Definition: TrackBase.cc:46
std::vector< reco::TrackBase::TrackAlgorithm > algorithm_
const reco::BeamSpot * bs
static TrackAlgorithm algoByName(const std::string &name)
Definition: TrackBase.cc:55
RecoTrackSelector::RecoTrackSelector ( double  ptMin,
double  minRapidity,
double  maxRapidity,
double  tip,
double  lip,
int  minHit,
int  min3DHit,
double  maxChi2,
std::vector< std::string >  quality,
std::vector< std::string >  algorithm 
)
inline

Definition at line 42 of file RecoTrackSelector.h.

References reco::TrackBase::algoByName(), algorithm_, j, quality_, and reco::TrackBase::qualityByName().

44  :
45  ptMin_( ptMin ), minRapidity_( minRapidity ), maxRapidity_( maxRapidity ),
46  tip_( tip ), lip_( lip ), minHit_( minHit ), min3DHit_( min3DHit), maxChi2_( maxChi2 ), bs(0)
47  {
48  for (unsigned int j=0;j<quality.size();j++) quality_.push_back(reco::TrackBase::qualityByName(quality[j]));
49  for (unsigned int j=0;j<algorithm.size();j++) algorithm_.push_back(reco::TrackBase::algoByName(algorithm[j]));
50  }
< trclass="colgroup">< tdclass="colgroup"colspan=5 > Ecal cluster collections</td ></tr >< tr >< td >< ahref="classreco_1_1BasicCluster.html"> reco::BasicCluster</a ></td >< td >< ahref="DataFormats_EgammaReco.html"> reco::BasicClusterCollection</a ></td >< td >< ahref="#"> hybridSuperClusters</a ></td >< tdclass="description"> Basic clusters reconstructed with hybrid algorithm(barrel only)</td >< td >S.Rahatlou</td ></tr >< tr >< td >< a href
std::vector< reco::TrackBase::TrackQuality > quality_
int j
Definition: DBlmapReader.cc:9
static TrackQuality qualityByName(const std::string &name)
Definition: TrackBase.cc:46
std::vector< reco::TrackBase::TrackAlgorithm > algorithm_
const reco::BeamSpot * bs
static TrackAlgorithm algoByName(const std::string &name)
Definition: TrackBase.cc:55

Member Function Documentation

const_iterator RecoTrackSelector::begin ( void  ) const
inline

Definition at line 52 of file RecoTrackSelector.h.

References selected_.

52 { return selected_.begin(); }
const_iterator RecoTrackSelector::end ( void  ) const
inline

Definition at line 53 of file RecoTrackSelector.h.

References selected_.

Referenced by Types.LuminosityBlockRange::cppID(), and Types.EventRange::cppID().

53 { return selected_.end(); }
bool RecoTrackSelector::operator() ( const reco::Track t,
edm::Event event 
)
inline

Operator() performs the selection: e.g. if (recoTrackSelector(track)) {...}.

Definition at line 68 of file RecoTrackSelector.h.

References SiPixelRawToDigiRegional_cfi::beamSpot, bs, bsSrc_, edm::EventBase::id(), previousEvent, and edm::Handle< T >::product().

Referenced by operator()().

68  {
69 
70  if ((bs==0)|| (previousEvent != event.id())) {
72  event.getByLabel(bsSrc_,beamSpot);
73  bs = beamSpot.product();
74  previousEvent = event.id();
75  }
76  return operator()(t);
77  }
edm::InputTag bsSrc_
edm::EventID previousEvent
bool operator()(const reco::Track &t, edm::Event &event)
Operator() performs the selection: e.g. if (recoTrackSelector(track)) {...}.
T const * product() const
Definition: Handle.h:74
edm::EventID id() const
Definition: EventBase.h:56
const reco::BeamSpot * bs
bool RecoTrackSelector::operator() ( const reco::Track t,
const reco::BeamSpot bs_ 
)
inline

Definition at line 79 of file RecoTrackSelector.h.

References bs, and operator()().

79  {
80  bs = bs_;
81  return operator()(t);
82  }
bool operator()(const reco::Track &t, edm::Event &event)
Operator() performs the selection: e.g. if (recoTrackSelector(track)) {...}.
const reco::BeamSpot * bs
bool RecoTrackSelector::operator() ( const reco::Track t)
inline

Definition at line 84 of file RecoTrackSelector.h.

References reco::TrackBase::algo(), algorithm_, bs, reco::TrackBase::dsz(), reco::TrackBase::dxy(), reco::TrackBase::eta(), spr::find(), reco::TrackBase::hitPattern(), i, lip_, maxChi2_, maxRapidity_, min3DHit_, minHit_, minRapidity_, reco::TrackBase::normalizedChi2(), reco::HitPattern::numberOfValidStripLayersWithMonoAndStereo(), reco::HitPattern::pixelLayersWithMeasurement(), reco::BeamSpot::position(), reco::TrackBase::pt(), ptMin_, reco::TrackBase::quality(), quality_, tip_, and reco::HitPattern::trackerLayersWithMeasurement().

84  {
85  bool quality_ok = true;
86  if (quality_.size()!=0) {
87  quality_ok = false;
88  for (unsigned int i = 0; i<quality_.size();++i) {
89  if (t.quality(quality_[i])){
90  quality_ok = true;
91  break;
92  }
93  }
94  }
95  bool algo_ok = true;
96  if (algorithm_.size()!=0) {
97  if (std::find(algorithm_.begin(),algorithm_.end(),t.algo())==algorithm_.end()) algo_ok = false;
98  }
99  return
103  fabs(t.pt()) >= ptMin_ &&
104  t.eta() >= minRapidity_ && t.eta() <= maxRapidity_ &&
105  fabs(t.dxy(bs->position())) <= tip_ &&
106  fabs(t.dsz(bs->position())) <= lip_ &&
107  t.normalizedChi2()<=maxChi2_ &&
108  quality_ok &&
109  algo_ok);
110  }
int i
Definition: DBlmapReader.cc:9
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
std::vector< reco::TrackBase::TrackQuality > quality_
int pixelLayersWithMeasurement() const
Definition: HitPattern.h:726
int numberOfValidStripLayersWithMonoAndStereo() const
Definition: HitPattern.cc:224
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:7
double dsz() const
dsz parameter (THIS IS NOT the SZ impact parameter to (0,0,0) if refPoint is far from (0...
Definition: TrackBase.h:125
TrackAlgorithm algo() const
Definition: TrackBase.h:332
double eta() const
pseudorapidity of momentum vector
Definition: TrackBase.h:141
int trackerLayersWithMeasurement() const
Definition: HitPattern.h:721
double pt() const
track transverse momentum
Definition: TrackBase.h:131
const HitPattern & hitPattern() const
Access the hit pattern, indicating in which Tracker layers the track has hits.
Definition: TrackBase.h:223
std::vector< reco::TrackBase::TrackAlgorithm > algorithm_
bool quality(const TrackQuality) const
Track quality.
Definition: TrackBase.h:377
const reco::BeamSpot * bs
const Point & position() const
position
Definition: BeamSpot.h:63
double dxy() const
dxy parameter. (This is the transverse impact parameter w.r.t. to (0,0,0) ONLY if refPoint is close t...
Definition: TrackBase.h:121
void RecoTrackSelector::select ( const edm::Handle< collection > &  c,
const edm::Event event,
const edm::EventSetup  
)
inline
size_t RecoTrackSelector::size ( void  ) const
inline

Definition at line 112 of file RecoTrackSelector.h.

References selected_.

112 { return selected_.size(); }

Member Data Documentation

std::vector<reco::TrackBase::TrackAlgorithm> RecoTrackSelector::algorithm_
protected

Definition at line 124 of file RecoTrackSelector.h.

Referenced by operator()(), and RecoTrackSelector().

const reco::BeamSpot* RecoTrackSelector::bs
protected

Definition at line 126 of file RecoTrackSelector.h.

Referenced by operator()(), and select().

edm::InputTag RecoTrackSelector::bsSrc_
protected

Definition at line 125 of file RecoTrackSelector.h.

Referenced by operator()(), RecoTrackRefSelector::select(), and select().

double RecoTrackSelector::lip_
protected

Definition at line 119 of file RecoTrackSelector.h.

Referenced by operator()().

double RecoTrackSelector::maxChi2_
protected

Definition at line 122 of file RecoTrackSelector.h.

Referenced by operator()().

double RecoTrackSelector::maxRapidity_
protected

Definition at line 117 of file RecoTrackSelector.h.

Referenced by operator()().

int RecoTrackSelector::min3DHit_
protected

Definition at line 121 of file RecoTrackSelector.h.

Referenced by operator()().

int RecoTrackSelector::minHit_
protected

Definition at line 120 of file RecoTrackSelector.h.

Referenced by operator()().

double RecoTrackSelector::minRapidity_
protected

Definition at line 116 of file RecoTrackSelector.h.

Referenced by operator()().

edm::EventID RecoTrackSelector::previousEvent
protected

Definition at line 128 of file RecoTrackSelector.h.

Referenced by operator()().

double RecoTrackSelector::ptMin_
protected

Definition at line 115 of file RecoTrackSelector.h.

Referenced by operator()().

std::vector<reco::TrackBase::TrackQuality> RecoTrackSelector::quality_
protected

Definition at line 123 of file RecoTrackSelector.h.

Referenced by operator()(), and RecoTrackSelector().

container RecoTrackSelector::selected_
protected

Definition at line 127 of file RecoTrackSelector.h.

Referenced by begin(), end(), select(), and size().

double RecoTrackSelector::tip_
protected

Definition at line 118 of file RecoTrackSelector.h.

Referenced by operator()().