![]() |
![]() |
#include <TrackingParticleSelector.h>
Public Member Functions | |
bool | operator() (const TrackingParticle &tp) const |
Operator() performs the selection: e.g. if (tPSelector(tp)) {...}. | |
TrackingParticleSelector () | |
TrackingParticleSelector (double ptMin, double minRapidity, double maxRapidity, double tip, double lip, int minHit, bool signalOnly, bool chargedOnly, std::vector< int > pdgId=std::vector< int >()) | |
Private Attributes | |
bool | chargedOnly_ |
double | lip_ |
double | maxRapidity_ |
int | minHit_ |
double | minRapidity_ |
std::vector< int > | pdgId_ |
double | ptMin_ |
bool | signalOnly_ |
double | tip_ |
Definition at line 13 of file TrackingParticleSelector.h.
TrackingParticleSelector::TrackingParticleSelector | ( | ) | [inline] |
Definition at line 16 of file TrackingParticleSelector.h.
{}
TrackingParticleSelector::TrackingParticleSelector | ( | double | ptMin, |
double | minRapidity, | ||
double | maxRapidity, | ||
double | tip, | ||
double | lip, | ||
int | minHit, | ||
bool | signalOnly, | ||
bool | chargedOnly, | ||
std::vector< int > | pdgId = std::vector<int>() |
||
) | [inline] |
Definition at line 17 of file TrackingParticleSelector.h.
: ptMin_( ptMin ), minRapidity_( minRapidity ), maxRapidity_( maxRapidity ), tip_( tip ), lip_( lip ), minHit_( minHit ), signalOnly_(signalOnly), chargedOnly_(chargedOnly), pdgId_( pdgId ) { }
bool TrackingParticleSelector::operator() | ( | const TrackingParticle & | tp | ) | const [inline] |
Operator() performs the selection: e.g. if (tPSelector(tp)) {...}.
Definition at line 24 of file TrackingParticleSelector.h.
References EncodedEventId::bunchCrossing(), ParticleBase::charge(), chargedOnly_, EncodedEventId::event(), TrackingParticle::eventId(), lip_, TrackingParticle::matchedHit(), maxRapidity_, minHit_, minRapidity_, ParticleBase::momentum(), TrackingParticle::pdgId(), pdgId_, ptMin_, signalOnly_, mathSSE::sqrt(), tip_, and ParticleBase::vertex().
{ //quickly reject if it is from pile-up if (signalOnly_ && !(tp.eventId().bunchCrossing()==0 && tp.eventId().event()==0) )return false; if (chargedOnly_ && tp.charge()==0) return false;//select only if charge!=0 bool testId = false; unsigned int idSize = pdgId_.size(); if (idSize==0) testId = true; else for (unsigned int it=0;it!=idSize;++it){ if (tp.pdgId()==pdgId_[it]) testId = true; } return ( tp.matchedHit() >= minHit_ && sqrt(tp.momentum().perp2()) >= ptMin_ && tp.momentum().eta() >= minRapidity_ && tp.momentum().eta() <= maxRapidity_ && sqrt(tp.vertex().perp2()) <= tip_ && fabs(tp.vertex().z()) <= lip_ && testId ); }
bool TrackingParticleSelector::chargedOnly_ [private] |
Definition at line 54 of file TrackingParticleSelector.h.
Referenced by operator()().
double TrackingParticleSelector::lip_ [private] |
Definition at line 51 of file TrackingParticleSelector.h.
Referenced by operator()().
double TrackingParticleSelector::maxRapidity_ [private] |
Definition at line 49 of file TrackingParticleSelector.h.
Referenced by operator()().
int TrackingParticleSelector::minHit_ [private] |
Definition at line 52 of file TrackingParticleSelector.h.
Referenced by operator()().
double TrackingParticleSelector::minRapidity_ [private] |
Definition at line 48 of file TrackingParticleSelector.h.
Referenced by operator()().
std::vector<int> TrackingParticleSelector::pdgId_ [private] |
Definition at line 55 of file TrackingParticleSelector.h.
Referenced by operator()().
double TrackingParticleSelector::ptMin_ [private] |
Definition at line 47 of file TrackingParticleSelector.h.
Referenced by operator()().
bool TrackingParticleSelector::signalOnly_ [private] |
Definition at line 53 of file TrackingParticleSelector.h.
Referenced by operator()().
double TrackingParticleSelector::tip_ [private] |
Definition at line 50 of file TrackingParticleSelector.h.
Referenced by operator()().