CMS 3D CMS Logo

Public Member Functions | Private Attributes

TrackingParticleSelector Class Reference

#include <TrackingParticleSelector.h>

List of all members.

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_

Detailed Description

Definition at line 13 of file TrackingParticleSelector.h.


Constructor & Destructor Documentation

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 ) { }

Member Function Documentation

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
            );
  }

Member Data Documentation

Definition at line 54 of file TrackingParticleSelector.h.

Referenced by operator()().

Definition at line 51 of file TrackingParticleSelector.h.

Referenced by operator()().

Definition at line 49 of file TrackingParticleSelector.h.

Referenced by operator()().

Definition at line 52 of file TrackingParticleSelector.h.

Referenced by operator()().

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

Definition at line 47 of file TrackingParticleSelector.h.

Referenced by operator()().

Definition at line 53 of file TrackingParticleSelector.h.

Referenced by operator()().

Definition at line 50 of file TrackingParticleSelector.h.

Referenced by operator()().