CMS 3D CMS Logo

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

#include <PFMuonAlgo.h>

Classes

class  IndexPtComparator
 
class  TrackMETComparator
 
class  TrackPtErrorSorter
 

Public Member Functions

void addMissingMuons (edm::Handle< reco::MuonCollection >, reco::PFCandidateCollection *cands)
 
void changeTrack (reco::PFCandidate &, const MuonTrackTypePair &)
 
bool hasValidTrack (const reco::MuonRef &muonRef, bool loose=false)
 
 PFMuonAlgo ()
 constructor More...
 
void postClean (reco::PFCandidateCollection *)
 
bool reconstructMuon (reco::PFCandidate &, const reco::MuonRef &, bool allowLoose=false)
 
void setInputsForCleaning (const reco::VertexCollection *)
 
void setParameters (const edm::ParameterSet &)
 
std::auto_ptr
< reco::PFCandidateCollection > & 
transferAddedMuonCandidates ()
 
std::auto_ptr
< reco::PFCandidateCollection > & 
transferCleanedCosmicCandidates ()
 
std::auto_ptr
< reco::PFCandidateCollection > & 
transferCleanedFakeCandidates ()
 
std::auto_ptr
< reco::PFCandidateCollection > & 
transferCleanedTrackerAndGlobalCandidates ()
 
std::auto_ptr
< reco::PFCandidateCollection > & 
transferPunchThroughCleanedHadronCandidates ()
 
std::auto_ptr
< reco::PFCandidateCollection > & 
transferPunchThroughCleanedMuonCandidates ()
 
virtual ~PFMuonAlgo ()
 destructor More...
 

Static Public Member Functions

static bool isGlobalLooseMuon (const reco::PFBlockElement &elt)
 
static bool isGlobalLooseMuon (const reco::MuonRef &muonRef)
 
static bool isGlobalTightMuon (const reco::PFBlockElement &elt)
 
static bool isGlobalTightMuon (const reco::MuonRef &muonRef)
 
static bool isIsolatedMuon (const reco::PFBlockElement &elt)
 
static bool isIsolatedMuon (const reco::MuonRef &muonRef)
 
static bool isLooseMuon (const reco::PFBlockElement &elt)
 
static bool isLooseMuon (const reco::MuonRef &muonRef)
 
static bool isMuon (const reco::PFBlockElement &elt)
 
static bool isMuon (const reco::MuonRef &muonRef)
 
static bool isTightMuonPOG (const reco::MuonRef &muonRef)
 
static bool isTrackerLooseMuon (const reco::PFBlockElement &elt)
 
static bool isTrackerLooseMuon (const reco::MuonRef &muonRef)
 
static bool isTrackerTightMuon (const reco::PFBlockElement &elt)
 
static bool isTrackerTightMuon (const reco::MuonRef &muonRef)
 
static void printMuonProperties (const reco::MuonRef &muonRef)
 

Private Types

typedef reco::Muon::MuonTrackType MuonTrackType
 
typedef
reco::Muon::MuonTrackTypePair 
MuonTrackTypePair
 

Private Member Functions

bool cleanMismeasured (reco::PFCandidate &, unsigned int)
 
bool cleanPunchThroughAndFakes (reco::PFCandidate &, reco::PFCandidateCollection *, unsigned int)
 
void estimateEventQuantities (const reco::PFCandidateCollection *)
 
std::pair< double, double > getMinMaxMET2 (const reco::PFCandidate &)
 
MuonTrackTypePair getTrackWithSmallestError (const std::vector< MuonTrackTypePair > &)
 
std::vector
< reco::Muon::MuonTrackTypePair
goodMuonTracks (const reco::MuonRef &muon, bool includeSA=false)
 
std::vector
< reco::Muon::MuonTrackTypePair
muonTracks (const reco::MuonRef &muon, bool includeSA=false, double dpt=1e+9)
 
void removeDeadCandidates (reco::PFCandidateCollection *, const std::vector< unsigned int > &)
 
std::vector< MuonTrackTypePairtracksPointingAtMET (const std::vector< MuonTrackTypePair > &)
 
std::vector< MuonTrackTypePairtracksWithBetterMET (const std::vector< MuonTrackTypePair > &, const reco::PFCandidate &)
 

Private Attributes

double cosmicRejDistance_
 
double dzPV_
 
double errorCompScale_
 
double eventFactorCosmics_
 
double eventFractionCleaning_
 
double eventFractionRejection_
 
std::vector< unsigned int > maskedIndices_
 
double maxDPtOPt_
 
double metFactorCleaning_
 
double metFactorFake_
 
double metFactorHighEta_
 
double metFactorRejection_
 
double metSigForCleaning_
 
double metSigForRejection_
 
double METX_
 
double METY_
 
int minPixelHits_
 
double minPostCleaningPt_
 
double minPunchThroughEnergy_
 
double minPunchThroughMomentum_
 
int minTrackerHits_
 
std::auto_ptr
< reco::PFCandidateCollection
pfAddedMuonCandidates_
 the collection of added muon candidates More...
 
std::auto_ptr
< reco::PFCandidateCollection
pfCleanedTrackerAndGlobalMuonCandidates_
 the collection of tracker/global cleaned muon candidates More...
 
std::auto_ptr
< reco::PFCandidateCollection
pfCosmicsMuonCleanedCandidates_
 the collection of cosmics cleaned muon candidates More...
 
std::auto_ptr
< reco::PFCandidateCollection
pfFakeMuonCleanedCandidates_
 the collection of fake cleaned muon candidates More...
 
std::auto_ptr
< reco::PFCandidateCollection
pfPunchThroughHadronCleanedCandidates_
 the collection of punch-through cleaned neutral hadron candidates More...
 
std::auto_ptr
< reco::PFCandidateCollection
pfPunchThroughMuonCleanedCandidates_
 the collection of punch-through cleaned muon candidates More...
 
bool postCleaning_
 
double ptFactorHighEta_
 
double punchThroughFactor_
 
double punchThroughMETFactor_
 
double sumet_
 
double sumetPU_
 
reco::TrackBase::TrackQuality trackQuality_
 
const reco::VertexCollectionvertices_
 

Detailed Description

Definition at line 12 of file PFMuonAlgo.h.

Member Typedef Documentation

Definition at line 15 of file PFMuonAlgo.h.

Definition at line 14 of file PFMuonAlgo.h.

Constructor & Destructor Documentation

PFMuonAlgo::PFMuonAlgo ( )

constructor

Definition at line 17 of file PFMuonAlgo.cc.

virtual PFMuonAlgo::~PFMuonAlgo ( )
inlinevirtual

destructor

Definition at line 27 of file PFMuonAlgo.h.

Member Function Documentation

void PFMuonAlgo::addMissingMuons ( edm::Handle< reco::MuonCollection muons,
reco::PFCandidateCollection cands 
)

Definition at line 953 of file PFMuonAlgo.cc.

void PFMuonAlgo::changeTrack ( reco::PFCandidate candidate,
const MuonTrackTypePair track 
)

Definition at line 792 of file PFMuonAlgo.cc.

bool PFMuonAlgo::cleanMismeasured ( reco::PFCandidate pfc,
unsigned int  i 
)
private

Definition at line 1061 of file PFMuonAlgo.cc.

bool PFMuonAlgo::cleanPunchThroughAndFakes ( reco::PFCandidate pfc,
reco::PFCandidateCollection cands,
unsigned int  imu 
)
private

Definition at line 1172 of file PFMuonAlgo.cc.

void PFMuonAlgo::estimateEventQuantities ( const reco::PFCandidateCollection pfc)
private

Definition at line 830 of file PFMuonAlgo.cc.

std::pair< double, double > PFMuonAlgo::getMinMaxMET2 ( const reco::PFCandidate pfc)
private

Definition at line 1041 of file PFMuonAlgo.cc.

reco::Muon::MuonTrackTypePair PFMuonAlgo::getTrackWithSmallestError ( const std::vector< MuonTrackTypePair > &  tracks)
private

Definition at line 821 of file PFMuonAlgo.cc.

std::vector< reco::Muon::MuonTrackTypePair > PFMuonAlgo::goodMuonTracks ( const reco::MuonRef muon,
bool  includeSA = false 
)
private

Definition at line 649 of file PFMuonAlgo.cc.

bool PFMuonAlgo::hasValidTrack ( const reco::MuonRef muonRef,
bool  loose = false 
)

Definition at line 502 of file PFMuonAlgo.cc.

bool PFMuonAlgo::isGlobalLooseMuon ( const reco::PFBlockElement elt)
static

Definition at line 201 of file PFMuonAlgo.cc.

bool PFMuonAlgo::isGlobalLooseMuon ( const reco::MuonRef muonRef)
static

Definition at line 344 of file PFMuonAlgo.cc.

bool PFMuonAlgo::isGlobalTightMuon ( const reco::PFBlockElement elt)
static

Definition at line 188 of file PFMuonAlgo.cc.

bool PFMuonAlgo::isGlobalTightMuon ( const reco::MuonRef muonRef)
static

Definition at line 253 of file PFMuonAlgo.cc.

bool PFMuonAlgo::isIsolatedMuon ( const reco::PFBlockElement elt)
static

Definition at line 227 of file PFMuonAlgo.cc.

Referenced by GreedyMuonPFCandidateFilter::filter().

bool PFMuonAlgo::isIsolatedMuon ( const reco::MuonRef muonRef)
static

Definition at line 435 of file PFMuonAlgo.cc.

bool PFMuonAlgo::isLooseMuon ( const reco::PFBlockElement elt)
static

Definition at line 168 of file PFMuonAlgo.cc.

bool PFMuonAlgo::isLooseMuon ( const reco::MuonRef muonRef)
static

Definition at line 246 of file PFMuonAlgo.cc.

bool PFMuonAlgo::isMuon ( const reco::PFBlockElement elt)
static

Definition at line 155 of file PFMuonAlgo.cc.

bool PFMuonAlgo::isMuon ( const reco::MuonRef muonRef)
static

Definition at line 240 of file PFMuonAlgo.cc.

bool PFMuonAlgo::isTightMuonPOG ( const reco::MuonRef muonRef)
static

Definition at line 479 of file PFMuonAlgo.cc.

static bool PFMuonAlgo::isTrackerLooseMuon ( const reco::PFBlockElement elt)
static
bool PFMuonAlgo::isTrackerLooseMuon ( const reco::MuonRef muonRef)
static

Definition at line 413 of file PFMuonAlgo.cc.

bool PFMuonAlgo::isTrackerTightMuon ( const reco::PFBlockElement elt)
static

Definition at line 214 of file PFMuonAlgo.cc.

bool PFMuonAlgo::isTrackerTightMuon ( const reco::MuonRef muonRef)
static

Definition at line 316 of file PFMuonAlgo.cc.

std::vector< reco::Muon::MuonTrackTypePair > PFMuonAlgo::muonTracks ( const reco::MuonRef muon,
bool  includeSA = false,
double  dpt = 1e+9 
)
private

Definition at line 655 of file PFMuonAlgo.cc.

void PFMuonAlgo::postClean ( reco::PFCandidateCollection cands)

Definition at line 849 of file PFMuonAlgo.cc.

void PFMuonAlgo::printMuonProperties ( const reco::MuonRef muonRef)
static

Definition at line 512 of file PFMuonAlgo.cc.

bool PFMuonAlgo::reconstructMuon ( reco::PFCandidate candidate,
const reco::MuonRef muon,
bool  allowLoose = false 
)

Definition at line 717 of file PFMuonAlgo.cc.

void PFMuonAlgo::removeDeadCandidates ( reco::PFCandidateCollection obj,
const std::vector< unsigned int > &  indices 
)
private

Definition at line 1265 of file PFMuonAlgo.cc.

void PFMuonAlgo::setInputsForCleaning ( const reco::VertexCollection vertices)

Definition at line 1168 of file PFMuonAlgo.cc.

void PFMuonAlgo::setParameters ( const edm::ParameterSet iConfig)

Definition at line 29 of file PFMuonAlgo.cc.

std::vector< reco::Muon::MuonTrackTypePair > PFMuonAlgo::tracksPointingAtMET ( const std::vector< MuonTrackTypePair > &  tracks)
private

Definition at line 1148 of file PFMuonAlgo.cc.

std::vector< reco::Muon::MuonTrackTypePair > PFMuonAlgo::tracksWithBetterMET ( const std::vector< MuonTrackTypePair > &  tracks,
const reco::PFCandidate pfc 
)
private

Definition at line 1120 of file PFMuonAlgo.cc.

std::auto_ptr<reco::PFCandidateCollection>& PFMuonAlgo::transferAddedMuonCandidates ( )
inline

Definition at line 106 of file PFMuonAlgo.h.

std::auto_ptr<reco::PFCandidateCollection>& PFMuonAlgo::transferCleanedCosmicCandidates ( )
inline

Definition at line 86 of file PFMuonAlgo.h.

std::auto_ptr<reco::PFCandidateCollection>& PFMuonAlgo::transferCleanedFakeCandidates ( )
inline

Definition at line 94 of file PFMuonAlgo.h.

std::auto_ptr<reco::PFCandidateCollection>& PFMuonAlgo::transferCleanedTrackerAndGlobalCandidates ( )
inline

Definition at line 90 of file PFMuonAlgo.h.

std::auto_ptr<reco::PFCandidateCollection>& PFMuonAlgo::transferPunchThroughCleanedHadronCandidates ( )
inline

Definition at line 102 of file PFMuonAlgo.h.

std::auto_ptr<reco::PFCandidateCollection>& PFMuonAlgo::transferPunchThroughCleanedMuonCandidates ( )
inline

Definition at line 98 of file PFMuonAlgo.h.

Member Data Documentation

double PFMuonAlgo::cosmicRejDistance_
private

Definition at line 183 of file PFMuonAlgo.h.

double PFMuonAlgo::dzPV_
private

Definition at line 167 of file PFMuonAlgo.h.

double PFMuonAlgo::errorCompScale_
private

Definition at line 164 of file PFMuonAlgo.h.

double PFMuonAlgo::eventFactorCosmics_
private

Definition at line 170 of file PFMuonAlgo.h.

double PFMuonAlgo::eventFractionCleaning_
private

Definition at line 165 of file PFMuonAlgo.h.

double PFMuonAlgo::eventFractionRejection_
private

Definition at line 174 of file PFMuonAlgo.h.

std::vector<unsigned int > PFMuonAlgo::maskedIndices_
private

Definition at line 150 of file PFMuonAlgo.h.

double PFMuonAlgo::maxDPtOPt_
private

Definition at line 159 of file PFMuonAlgo.h.

double PFMuonAlgo::metFactorCleaning_
private

Definition at line 173 of file PFMuonAlgo.h.

double PFMuonAlgo::metFactorFake_
private

Definition at line 178 of file PFMuonAlgo.h.

double PFMuonAlgo::metFactorHighEta_
private

Definition at line 176 of file PFMuonAlgo.h.

double PFMuonAlgo::metFactorRejection_
private

Definition at line 175 of file PFMuonAlgo.h.

double PFMuonAlgo::metSigForCleaning_
private

Definition at line 171 of file PFMuonAlgo.h.

double PFMuonAlgo::metSigForRejection_
private

Definition at line 172 of file PFMuonAlgo.h.

double PFMuonAlgo::METX_
private

Definition at line 186 of file PFMuonAlgo.h.

double PFMuonAlgo::METY_
private

Definition at line 187 of file PFMuonAlgo.h.

int PFMuonAlgo::minPixelHits_
private

Definition at line 161 of file PFMuonAlgo.h.

double PFMuonAlgo::minPostCleaningPt_
private

Definition at line 169 of file PFMuonAlgo.h.

double PFMuonAlgo::minPunchThroughEnergy_
private

Definition at line 180 of file PFMuonAlgo.h.

double PFMuonAlgo::minPunchThroughMomentum_
private

Definition at line 179 of file PFMuonAlgo.h.

int PFMuonAlgo::minTrackerHits_
private

Definition at line 160 of file PFMuonAlgo.h.

std::auto_ptr< reco::PFCandidateCollection > PFMuonAlgo::pfAddedMuonCandidates_
private

the collection of added muon candidates

Definition at line 148 of file PFMuonAlgo.h.

std::auto_ptr< reco::PFCandidateCollection > PFMuonAlgo::pfCleanedTrackerAndGlobalMuonCandidates_
private

the collection of tracker/global cleaned muon candidates

Definition at line 140 of file PFMuonAlgo.h.

std::auto_ptr< reco::PFCandidateCollection > PFMuonAlgo::pfCosmicsMuonCleanedCandidates_
private

the collection of cosmics cleaned muon candidates

Definition at line 138 of file PFMuonAlgo.h.

std::auto_ptr< reco::PFCandidateCollection > PFMuonAlgo::pfFakeMuonCleanedCandidates_
private

the collection of fake cleaned muon candidates

Definition at line 142 of file PFMuonAlgo.h.

std::auto_ptr< reco::PFCandidateCollection > PFMuonAlgo::pfPunchThroughHadronCleanedCandidates_
private

the collection of punch-through cleaned neutral hadron candidates

Definition at line 146 of file PFMuonAlgo.h.

std::auto_ptr< reco::PFCandidateCollection > PFMuonAlgo::pfPunchThroughMuonCleanedCandidates_
private

the collection of punch-through cleaned muon candidates

Definition at line 144 of file PFMuonAlgo.h.

bool PFMuonAlgo::postCleaning_
private

Definition at line 168 of file PFMuonAlgo.h.

double PFMuonAlgo::ptFactorHighEta_
private

Definition at line 177 of file PFMuonAlgo.h.

double PFMuonAlgo::punchThroughFactor_
private

Definition at line 181 of file PFMuonAlgo.h.

double PFMuonAlgo::punchThroughMETFactor_
private

Definition at line 182 of file PFMuonAlgo.h.

double PFMuonAlgo::sumet_
private

Definition at line 185 of file PFMuonAlgo.h.

double PFMuonAlgo::sumetPU_
private

Definition at line 166 of file PFMuonAlgo.h.

reco::TrackBase::TrackQuality PFMuonAlgo::trackQuality_
private

Definition at line 162 of file PFMuonAlgo.h.

const reco::VertexCollection* PFMuonAlgo::vertices_
private

Definition at line 154 of file PFMuonAlgo.h.