00001 // $Id: Candidate.cc,v 1.16 2008/07/22 06:07:44 llista Exp $ 00002 #include "DataFormats/Candidate/interface/Candidate.h" 00003 #include "FWCore/Utilities/interface/EDMException.h" 00004 using namespace reco; 00005 00006 Candidate::~Candidate() { } 00007 00008 const CandidateBaseRef & Candidate::masterClone() const { 00009 throw cms::Exception("Invalid Reference") 00010 << "this Candidate has no master clone reference." 00011 << "Can't call masterClone() method.\n"; 00012 } 00013 00014 bool Candidate::hasMasterClone() const { 00015 return false; 00016 } 00017 00018 const CandidatePtr & Candidate::masterClonePtr() const { 00019 throw cms::Exception("Invalid Reference") 00020 << "this Candidate has no master clone ptr." 00021 << "Can't call masterClonePtr() method.\n"; 00022 } 00023 00024 bool Candidate::hasMasterClonePtr() const { 00025 return false; 00026 } 00027 00028 double Candidate::vertexChi2() const { 00029 return 0; 00030 } 00031 00032 double Candidate::vertexNdof() const { 00033 return 0; 00034 } 00035 00036 double Candidate::vertexNormalizedChi2() const { 00037 return 0; 00038 } 00039 00040 double Candidate::vertexCovariance(int i, int j) const { 00041 throw edm::Exception(edm::errors::UnimplementedFeature) 00042 << "reco::Candidate does not implement vertex covariant matrix.\n"; 00043 } 00044 00045 void Candidate::fillVertexCovariance(CovarianceMatrix & err) const { 00046 throw edm::Exception(edm::errors::UnimplementedFeature) 00047 << "reco::Candidate does not implement vertex covariant matrix.\n"; 00048 } 00049 00050 bool Candidate::isElectron() const { return false; } 00051 00052 bool Candidate::isMuon() const { return false; } 00053 00054 bool Candidate::isGlobalMuon() const { return false; } 00055 00056 bool Candidate::isStandAloneMuon() const { return false; } 00057 00058 bool Candidate::isTrackerMuon() const { return false; } 00059 00060 bool Candidate::isCaloMuon() const { return false; } 00061 00062 bool Candidate::isPhoton() const { return false; } 00063 00064 bool Candidate::isConvertedPhoton() const { return false; } 00065 00066 bool Candidate::isJet() const { return false; } 00067 00068 const Candidate * Candidate::daughter(const std::string&) const { 00069 throw edm::Exception(edm::errors::UnimplementedFeature) 00070 << "This Candidate type does not implement daughter(std::string). " 00071 << "Please use CompositeCandidate or NamedCompositeCandidate.\n"; 00072 } 00073 00074 Candidate * Candidate::daughter(const std::string&) { 00075 throw edm::Exception(edm::errors::UnimplementedFeature) 00076 << "This Candidate type does not implement daughter(std::string). " 00077 << "Please use CompositeCandidate or NamedCompositeCandidate.\n"; 00078 }