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 Member Functions | Private Attributes | Friends
pat::Tau Class Reference

Analysis-level tau class. More...

#include "DataFormats/PatCandidates/interface/Tau.h"

Inheritance diagram for pat::Tau:
pat::Lepton< reco::BaseTau > pat::PATObject< reco::BaseTau > reco::BaseTau reco::RecoCandidate reco::LeafCandidate reco::Candidate

Public Types

typedef std::pair< std::string,
float > 
IdPair
 
- Public Types inherited from pat::PATObject< reco::BaseTau >
typedef reco::BaseTau base_type
 
- Public Types inherited from reco::RecoCandidate
enum  TrackType { noTrackType, recoTrackType, gsfTrackType }
 track type More...
 
- Public Types inherited from reco::LeafCandidate
typedef int Charge
 electric charge type More...
 
typedef CandidateCollection daughters
 collection of daughter candidates More...
 
typedef unsigned int index
 
typedef math::XYZTLorentzVector LorentzVector
 Lorentz vector. More...
 
typedef math::XYZPoint Point
 point in the space More...
 
typedef
math::PtEtaPhiMLorentzVector 
PolarLorentzVector
 Lorentz vector. More...
 
typedef math::XYZVector Vector
 point in the space More...
 
- Public Types inherited from reco::Candidate
enum  { dimension = 3 }
 
enum  { size = dimension * (dimension + 1)/2 }
 matix size More...
 
typedef int Charge
 electric charge type More...
 
typedef candidate::const_iterator const_iterator
 
typedef math::Error< dimension >
::type 
CovarianceMatrix
 covariance error matrix (3x3) More...
 
typedef unsigned int index
 index type More...
 
typedef candidate::iterator iterator
 
typedef math::XYZTLorentzVector LorentzVector
 Lorentz vector. More...
 
typedef math::XYZPoint Point
 point in the space More...
 
typedef
math::PtEtaPhiMLorentzVector 
PolarLorentzVector
 Lorentz vector. More...
 
typedef size_t size_type
 
typedef math::XYZVector Vector
 point in the space More...
 

Public Member Functions

const std::vector< std::string > availableJECLevels (const int &set=0) const
 
const std::vector< std::string > availableJECLevels (const std::string &set) const
 
const std::vector< std::string > availableJECSets () const
 all available label-names of all sets of jet energy corrections More...
 
float bremsRecoveryEOverPLead () const
 
float caloComp () const
 
const pat::tau::TauCaloSpecificcaloSpecific () const
 return CaloTau info or throw exception 'not CaloTau' More...
 
reco::CaloTauTagInfoRef caloTauTagInfoRef () const
 
virtual Tauclone () const
 required reimplementation of the Candidate's clone method More...
 
const LorentzVectorcorrectedP4 (const std::string &level, const std::string &set="") const
 
const LorentzVectorcorrectedP4 (const unsigned int &level, const unsigned int &set=0) const
 
Tau correctedTauJet (const std::string &level, const std::string &set="") const
 
Tau correctedTauJet (const unsigned int &level, const unsigned int &set=0) const
 
std::string currentJECLevel () const
 return the name of the current step of jet energy corrections More...
 
std::string currentJECSet () const
 returns the label of the current set of jet energy corrections More...
 
int decayMode () const
 reconstructed tau decay mode (specific to PFTau) More...
 
double dxy () const
 
double dxy_error () const
 
const
reco::PFTauTransverseImpactParameter::Point
dxy_PCA () const
 
double dxy_Sig () const
 
float ecalStripSumEOverPLead () const
 
bool electronPreIDDecision () const
 
float electronPreIDOutput () const
 
const reco::TrackRefelectronPreIDTrack () const
 
void embedIsolationPFCands ()
 method to store the isolation candidates internally More...
 
void embedIsolationPFChargedHadrCands ()
 method to store the isolation charged hadrons candidates internally More...
 
void embedIsolationPFGammaCands ()
 method to store the isolation gamma candidates internally More...
 
void embedIsolationPFNeutralHadrCands ()
 method to store the isolation neutral hadrons candidates internally More...
 
void embedIsolationTracks ()
 method to store the isolation tracks internally More...
 
void embedLeadPFCand ()
 method to store the leading candidate internally More...
 
void embedLeadPFChargedHadrCand ()
 method to store the leading charged hadron candidate internally More...
 
void embedLeadPFNeutralCand ()
 method to store the leading neutral candidate internally More...
 
void embedLeadTrack ()
 method to store the leading track internally More...
 
void embedSignalPFCands ()
 method to store the signal candidates internally More...
 
void embedSignalPFChargedHadrCands ()
 method to store the signal charged hadrons candidates internally More...
 
void embedSignalPFGammaCands ()
 method to store the signal gamma candidates internally More...
 
void embedSignalPFNeutralHadrCands ()
 method to store the signal neutral hadrons candidates internally More...
 
void embedSignalTracks ()
 method to store the signal tracks internally More...
 
float emFraction () const
 
float etaetaMoment () const
 
float etaphiMoment () const
 
bool ExistIsolationCands () const
 
bool ExistSignalCands () const
 check that there is at least one non-zero collection of candidate ptrs More...
 
const
reco::PFTauTransverseImpactParameter::Vector
flightLength () const
 
reco::PFTauTransverseImpactParameter::CovMatrix flightLengthCov () const
 
double flightLengthSig () const
 
const reco::GenJetgenJet () const
 return matched GenJet, built from the visible particles of a generated tau More...
 
bool hasSecondaryVertex () const
 
float hcal3x3OverPLead () const
 
float hcalMaxOverPLead () const
 
float hcalTotOverPLead () const
 
bool isCaloTau () const
 Returns true if this pat::Tau was made from a reco::CaloTau. More...
 
reco::CandidatePtrVector isolationCands () const
 
reco::CandidatePtrVector isolationChargedHadrCands () const
 
float isolationECALhitsEtSum () const
 
reco::CandidatePtrVector isolationGammaCands () const
 
reco::CandidatePtrVector isolationNeutrHadrCands () const
 
const std::vector
< reco::PFCandidatePtr > & 
isolationPFCands () const
 
const std::vector
< reco::PFCandidatePtr > & 
isolationPFChargedHadrCands () const
 
float isolationPFChargedHadrCandsPtSum () const
 
const std::vector
< reco::PFCandidatePtr > & 
isolationPFGammaCands () const
 
float isolationPFGammaCandsEtSum () const
 
const std::vector
< reco::PFCandidatePtr > & 
isolationPFNeutrHadrCands () const
 
const std::vector
< reco::RecoTauPiZero > & 
isolationPiZeroCandidates () const
 
const std::vector
< reco::PFRecoTauChargedHadron > & 
isolationTauChargedHadronCandidates () const
 
const reco::TrackRefVectorisolationTracks () const
 override the reco::BaseTau::isolationTracks method, to access the internal storage of the isolation tracks More...
 
float isolationTracksPtSum () const
 
bool isPFTau () const
 Returns true if this pat::Tau was made from a reco::PFTau. More...
 
bool isTauIDAvailable (const std::string &name) const
 Returns true if a specific ID is available in this pat::Tau. More...
 
float jecFactor (const std::string &level, const std::string &set="") const
 
float jecFactor (const unsigned int &level, const unsigned int &set=0) const
 
bool jecSetAvailable (const std::string &set) const
 
bool jecSetAvailable (const unsigned int &set) const
 
bool jecSetsAvailable () const
 
const reco::CandidatePtr leadCand () const
 return the PFCandidate if available (reference or embedded), or the PackedPFCandidate on miniAOD More...
 
const reco::CandidatePtr leadChargedHadrCand () const
 
const reco::CandidatePtr leadNeutralCand () const
 return the PFCandidate if available (reference or embedded), or the PackedPFCandidate on miniAOD More...
 
const reco::PFCandidatePtr leadPFCand () const
 
const reco::PFCandidatePtr leadPFChargedHadrCand () const
 
float leadPFChargedHadrCandsignedSipt () const
 
const reco::PFCandidatePtr leadPFNeutralCand () const
 
reco::PFRecoTauChargedHadronRef leadTauChargedHadronCandidate () const
 
reco::TrackRef leadTrack () const
 override the reco::BaseTau::leadTrack method, to access the internal storage of the leading track More...
 
float leadTrackHCAL3x3hitsEtSum () const
 
float leadTrackHCAL3x3hottesthitDEta () const
 
float leadTracksignedSipt () const
 
float maximumHCALhitEt () const
 
float maximumHCALPFClusterEt () const
 
bool muonDecision () const
 
size_t numberOfSourceCandidatePtrs () const
 
const
reco::Candidate::LorentzVector
p4Jet () const
 
const pat::tau::TauPFEssentialpfEssential () const
 
const reco::PFJetRefpfJetRef () const
 
const pat::tau::TauPFSpecificpfSpecific () const
 return PFTau info or throw exception 'not PFTau' More...
 
float phiphiMoment () const
 
const reco::VertexRefprimaryVertex () const
 
const
reco::PFTauTransverseImpactParameter::CovMatrix
primaryVertexCov () const
 
const
reco::PFTauTransverseImpactParameter::Point
primaryVertexPos () const
 
const reco::VertexRefsecondaryVertex () const
 
const
reco::PFTauTransverseImpactParameter::CovMatrix
secondaryVertexCov () const
 
const
reco::PFTauTransverseImpactParameter::Point
secondaryVertexPos () const
 
float segComp () const
 
void setDecayMode (int)
 set decay mode More...
 
void setGenJet (const reco::GenJetRef &ref)
 set the matched GenJet More...
 
void setIsolationChargedHadrCands (const reco::CandidatePtrVector &ptrs)
 
void setIsolationGammaCands (const reco::CandidatePtrVector &ptrs)
 
void setIsolationNeutralHadrCands (const reco::CandidatePtrVector &ptrs)
 
void setSignalChargedHadrCands (const reco::CandidatePtrVector &ptrs)
 setters for the PtrVectors (for miniAOD) More...
 
void setSignalGammaCands (const reco::CandidatePtrVector &ptrs)
 
void setSignalNeutralHadrCands (const reco::CandidatePtrVector &ptrs)
 
void setTauIDs (const std::vector< IdPair > &ids)
 
reco::CandidatePtrVector signalCands () const
 
reco::CandidatePtrVector signalChargedHadrCands () const
 
reco::CandidatePtrVector signalGammaCands () const
 
reco::CandidatePtrVector signalNeutrHadrCands () const
 
const std::vector
< reco::PFCandidatePtr > & 
signalPFCands () const
 
const std::vector
< reco::PFCandidatePtr > & 
signalPFChargedHadrCands () const
 
const std::vector
< reco::PFCandidatePtr > & 
signalPFGammaCands () const
 
const std::vector
< reco::PFCandidatePtr > & 
signalPFNeutrHadrCands () const
 
const std::vector
< reco::RecoTauPiZero > & 
signalPiZeroCandidates () const
 
const std::vector
< reco::PFRecoTauChargedHadron > & 
signalTauChargedHadronCandidates () const
 
const reco::TrackRefVectorsignalTracks () const
 override the reco::BaseTau::signalTracks method, to access the internal storage of the signal tracks More...
 
float signalTracksInvariantMass () const
 
reco::CandidatePtr sourceCandidatePtr (size_type i) const
 get the source candidate pointer with index i More...
 
 Tau ()
 default constructor More...
 
 Tau (const reco::BaseTau &aTau)
 constructor from a reco tau More...
 
 Tau (const edm::RefToBase< reco::BaseTau > &aTauRef)
 constructor from a RefToBase to a reco tau (to be superseded by Ptr counterpart) More...
 
 Tau (const edm::Ptr< reco::BaseTau > &aTauRef)
 constructor from a Ptr to a reco tau More...
 
float tauID (const std::string &name) const
 
float tauID (const char *name) const
 
const std::vector< IdPair > & tauIDs () const
 
float TracksInvariantMass () const
 
virtual ~Tau ()
 destructor More...
 
- Public Member Functions inherited from pat::Lepton< reco::BaseTau >
float caloIso () const
 
float chargedHadronIso () const
 
float ecalIso () const
 
const IsoDepositecalIsoDeposit () const
 
void ecalIsoDeposit (const IsoDeposit &dep)
 
const reco::GenParticlegenLepton () const
 
float hcalIso () const
 
const IsoDeposithcalIsoDeposit () const
 
void hcalIsoDeposit (const IsoDeposit &dep)
 
const IsoDepositisoDeposit (IsolationKeys key) const
 Returns the IsoDeposit associated with some key, or a null pointer if it is not available. More...
 
 Lepton ()
 
 Lepton (const reco::BaseTau &aLepton)
 
 Lepton (const edm::RefToBase< reco::BaseTau > &aLeptonRef)
 
 Lepton (const edm::Ptr< reco::BaseTau > &aLeptonRef)
 
float neutralHadronIso () const
 
float particleIso () const
 
float photonIso () const
 
float puChargedHadronIso () const
 
void setEcalIso (float caloIso)
 Sets ecal isolation variable. More...
 
void setGenLepton (const reco::GenParticleRef &gl, bool embed=false)
 
void setHcalIso (float caloIso)
 Sets hcal isolation variable. More...
 
void setIsoDeposit (IsolationKeys key, const IsoDeposit &dep)
 Sets the IsoDeposit associated with some key; if it is already existent, it is overwritten. More...
 
void setIsolation (IsolationKeys key, float value)
 
void setTrackIso (float trackIso)
 Sets tracker isolation variable. More...
 
void setUserIso (float value, uint8_t index=0)
 Sets user isolation variable index. More...
 
float trackIso () const
 
const IsoDeposittrackIsoDeposit () const
 
void trackIsoDeposit (const IsoDeposit &dep)
 
float userIso (uint8_t index=0) const
 
const IsoDeposituserIsoDeposit (uint8_t index=0) const
 
void userIsoDeposit (const IsoDeposit &dep, uint8_t index=0)
 
float userIsolation (IsolationKeys key) const
 
float userIsolation (const std::string &key) const
 
virtual ~Lepton ()
 
- Public Member Functions inherited from pat::PATObject< reco::BaseTau >
void addGenParticleRef (const reco::GenParticleRef &ref)
 
void addTriggerObjectMatch (const TriggerObjectStandAlone &trigObj)
 add a trigger match More...
 
void addUserCand (const std::string &label, const reco::CandidatePtr &data)
 Set user-defined int. More...
 
void addUserData (const std::string &label, const T &data, bool transientOnly=false)
 
void addUserDataFromPtr (const std::string &label, const edm::Ptr< pat::UserData > &data)
 
void addUserFloat (const std::string &label, float data)
 Set user-defined float. More...
 
void addUserInt (const std::string &label, int32_t data)
 Set user-defined int. More...
 
std::vector< std::pair
< std::string,
pat::LookupTableRecord > > 
efficiencies () const
 Returns the efficiencies as <name,value> pairs (by value) More...
 
const pat::LookupTableRecordefficiency (const std::string &name) const
 Returns an efficiency given its name. More...
 
const std::vector< std::string > & efficiencyNames () const
 Returns the list of the names of the stored efficiencies. More...
 
const std::vector
< pat::LookupTableRecord > & 
efficiencyValues () const
 Returns the list of the values of the stored efficiencies (the ordering is the same as in efficiencyNames()) More...
 
void embedGenParticle ()
 
const reco::GenParticlegenParticle (size_t idx=0) const
 
reco::GenParticleRef genParticleById (int pdgId, int status, uint8_t autoCharge=0) const
 
reco::GenParticleRef genParticleRef (size_t idx=0) const
 
std::vector< reco::GenParticleRefgenParticleRefs () const
 
size_t genParticlesSize () const
 Number of generator level particles stored as ref or embedded. More...
 
const pat::CandKinResolutiongetKinResolution (const std::string &label="") const
 
bool hasKinResolution (const std::string &label="") const
 Check if the kinematic resolutions are stored into this object (possibly specifying a label for them) More...
 
bool hasOverlaps (const std::string &label) const
 Returns true if there was at least one overlap for this test label. More...
 
bool hasUserCand (const std::string &key) const
 Return true if there is a user-defined int with a given name. More...
 
bool hasUserData (const std::string &key) const
 Check if user data with a specific type is present. More...
 
bool hasUserFloat (const std::string &key) const
 Return true if there is a user-defined float with a given name. More...
 
bool hasUserFloat (const char *key) const
 a CINT-friendly interface More...
 
bool hasUserInt (const std::string &key) const
 Return true if there is a user-defined int with a given name. More...
 
const reco::CandidateoriginalObject () const
 access to the original object; returns zero for null Ref and throws for unavailable collection More...
 
const edm::Ptr< reco::Candidate > & originalObjectRef () const
 reference to original object. Returns a null reference if not available More...
 
const std::vector< std::string > & overlapLabels () const
 Returns the labels of the overlap tests that found at least one overlap. More...
 
const reco::CandidatePtrVectoroverlaps (const std::string &label) const
 
 PATObject ()
 default constructor More...
 
 PATObject (const reco::BaseTau &obj)
 constructor from a base object (leaves invalid reference to original object!) More...
 
 PATObject (const edm::RefToBase< reco::BaseTau > &ref)
 constructor from reference More...
 
 PATObject (const edm::Ptr< reco::BaseTau > &ref)
 constructor from reference More...
 
double resolE (const std::string &label="") const
 Resolution on energy, possibly with a label to specify which resolution to use. More...
 
double resolEt (const std::string &label="") const
 Resolution on et, possibly with a label to specify which resolution to use. More...
 
double resolEta (const std::string &label="") const
 Resolution on eta, possibly with a label to specify which resolution to use. More...
 
double resolM (const std::string &label="") const
 
double resolP (const std::string &label="") const
 Resolution on p, possibly with a label to specify which resolution to use. More...
 
double resolPhi (const std::string &label="") const
 Resolution on phi, possibly with a label to specify which resolution to use. More...
 
double resolPInv (const std::string &label="") const
 Resolution on 1/p, possibly with a label to specify which resolution to use. More...
 
double resolPt (const std::string &label="") const
 Resolution on pt, possibly with a label to specify which resolution to use. More...
 
double resolPx (const std::string &label="") const
 Resolution on px, possibly with a label to specify which resolution to use. More...
 
double resolPy (const std::string &label="") const
 Resolution on py, possibly with a label to specify which resolution to use. More...
 
double resolPz (const std::string &label="") const
 Resolution on pz, possibly with a label to specify which resolution to use. More...
 
double resolTheta (const std::string &label="") const
 Resolution on theta, possibly with a label to specify which resolution to use. More...
 
void setEfficiency (const std::string &name, const pat::LookupTableRecord &value)
 
void setGenParticle (const reco::GenParticle &particle)
 Set the generator level particle from a particle not in the Event (embedding it, of course) More...
 
void setGenParticleRef (const reco::GenParticleRef &ref, bool embed=false)
 Set the generator level particle reference. More...
 
void setKinResolution (const pat::CandKinResolution &resol, const std::string &label="")
 Add a kinematic resolution to this object (possibly with a label) More...
 
void setOverlaps (const std::string &label, const reco::CandidatePtrVector &overlaps)
 
const TriggerObjectStandAlonetriggerObjectMatch (const size_t idx=0) const
 get one matched trigger object by index More...
 
const TriggerObjectStandAlonetriggerObjectMatchByAlgorithm (const std::string &nameAlgorithm, const bool algoCondAccepted=true, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByAlgorithm (const char *nameAlgorithm, const bool algoCondAccepted=true, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByAlgorithm (const std::string &nameAlgorithm, const unsigned algoCondAccepted, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByAlgorithm (const char *nameAlgorithm, const unsigned algoCondAccepted, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByCollection (const std::string &coll, const size_t idx=0) const
 get one matched trigger object from a certain collection by index More...
 
const TriggerObjectStandAlonetriggerObjectMatchByCollection (const char *coll, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByCondition (const std::string &nameCondition, const size_t idx=0) const
 get one matched L1 object used in a succeeding object combination of a certain L1 condition by index More...
 
const TriggerObjectStandAlonetriggerObjectMatchByCondition (const char *nameCondition, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByFilter (const std::string &labelFilter, const size_t idx=0) const
 get one matched HLT object used in a certain HLT filter by index More...
 
const TriggerObjectStandAlonetriggerObjectMatchByFilter (const char *labelFilter, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByFilterID (const unsigned triggerObjectType, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByPath (const std::string &namePath, const bool pathLastFilterAccepted=false, const bool pathL3FilterAccepted=true, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByPath (const char *namePath, const bool pathLastFilterAccepted=false, const bool pathL3FilterAccepted=true, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByPath (const std::string &namePath, const unsigned pathLastFilterAccepted, const unsigned pathL3FilterAccepted=1, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByPath (const char *namePath, const unsigned pathLastFilterAccepted, const unsigned pathL3FilterAccepted=1, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByType (const trigger::TriggerObjectType triggerObjectType, const size_t idx=0) const
 get one matched trigger object of a certain type by index More...
 
const TriggerObjectStandAlonetriggerObjectMatchByType (const unsigned triggerObjectType, const size_t idx=0) const
 
const
TriggerObjectStandAloneCollection
triggerObjectMatches () const
 get all matched trigger objects More...
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByAlgorithm (const std::string &nameAlgorithm, const bool algoCondAccepted=true) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByAlgorithm (const char *nameAlgorithm, const bool algoCondAccepted=true) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByAlgorithm (const std::string &nameAlgorithm, const unsigned algoCondAccepted) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByAlgorithm (const char *nameAlgorithm, const unsigned algoCondAccepted) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByCollection (const std::string &coll) const
 get all matched trigger objects from a certain collection More...
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByCollection (const char *coll) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByCondition (const std::string &nameCondition) const
 get all matched L1 objects used in a succeeding object combination of a certain L1 condition More...
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByCondition (const char *nameCondition) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByFilter (const std::string &labelFilter) const
 get all matched HLT objects used in a certain HLT filter More...
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByFilter (const char *labelFilter) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByFilterID (const unsigned triggerObjectType) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByPath (const std::string &namePath, const bool pathLastFilterAccepted=false, const bool pathL3FilterAccepted=true) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByPath (const char *namePath, const bool pathLastFilterAccepted=false, const bool pathL3FilterAccepted=true) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByPath (const std::string &namePath, const unsigned pathLastFilterAccepted, const unsigned pathL3FilterAccepted=1) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByPath (const char *namePath, const unsigned pathLastFilterAccepted, const unsigned pathL3FilterAccepted=1) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByType (const trigger::TriggerObjectType triggerObjectType) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByType (const unsigned triggerObjectType) const
 
void unpackTriggerObjectPathNames (const edm::TriggerNames &names)
 unpack path names of matched trigger objects (if they were packed before embedding, which is not normally the case) More...
 
reco::CandidatePtr userCand (const std::string &key) const
 
const std::vector< std::string > & userCandNames () const
 Get list of user-defined cand names. More...
 
const TuserData (const std::string &key) const
 Returns user-defined data. Returns NULL if the data is not present, or not of type T. More...
 
const void * userDataBare (const std::string &key) const
 
const std::vector< std::string > & userDataNames () const
 Get list of user data object names. More...
 
const std::string & userDataObjectType (const std::string &key) const
 Get human-readable type of user data object, for debugging. More...
 
float userFloat (const std::string &key) const
 
float userFloat (const char *key) const
 a CINT-friendly interface More...
 
const std::vector< std::string > & userFloatNames () const
 Get list of user-defined float names. More...
 
int32_t userInt (const std::string &key) const
 
const std::vector< std::string > & userIntNames () const
 Get list of user-defined int names. More...
 
virtual ~PATObject ()
 destructor More...
 
- Public Member Functions inherited from reco::BaseTau
math::XYZTLorentzVector alternatLorentzVect () const
 
 BaseTau ()
 
 BaseTau (Charge q, const LorentzVector &, const Point &=Point(0, 0, 0))
 
void setalternatLorentzVect (const math::XYZTLorentzVector &)
 
void setisolationTracks (const TrackRefVector &)
 
void setleadTrack (const TrackRef &)
 
void setsignalTracks (const TrackRefVector &)
 
virtual ~BaseTau ()
 
- Public Member Functions inherited from reco::RecoCandidate
virtual const TrackbestTrack () const
 best track pointer More...
 
virtual TrackBaseRef bestTrackRef () const
 best track RefToBase More...
 
virtual TrackType bestTrackType () const
 track type More...
 
virtual CaloTowerRef caloTower () const
 reference to a CaloTower More...
 
virtual reco::TrackRef combinedMuon () const
 reference to a stand-alone muon Track More...
 
virtual reco::GsfTrackRef gsfTrack () const
 reference to a GsfTrack More...
 
virtual size_t numberOfTracks () const
 number of multiple Tracks More...
 
 RecoCandidate ()
 default constructor More...
 
template<typename P4 >
 RecoCandidate (Charge q, const P4 &p4, const Point &vtx=Point(0, 0, 0), int pdgId=0, int status=0)
 constructor from values More...
 
virtual reco::TrackRef standAloneMuon () const
 reference to a stand-alone muon Track More...
 
virtual reco::SuperClusterRef superCluster () const
 reference to a SuperCluster More...
 
virtual reco::TrackRef track () const
 reference to a Track More...
 
virtual reco::TrackRef track (size_t) const
 reference to one of multiple Tracks More...
 
virtual ~RecoCandidate ()
 destructor More...
 
- Public Member Functions inherited from reco::LeafCandidate
virtual const_iterator begin () const
 first daughter const_iterator More...
 
virtual iterator begin ()
 first daughter iterator More...
 
template<typename S >
daughter_iterator< S >::type beginFilter (const S &s) const
 
virtual Vector boostToCM () const
 
virtual int charge () const
 electric charge More...
 
virtual const Candidatedaughter (size_type) const
 return daughter at a given position (throws an exception) More...
 
virtual Candidatedaughter (size_type)
 return daughter at a given position (throws an exception) More...
 
virtual Candidatedaughter (const std::string &s)
 return daughter with a specified role name More...
 
virtual const Candidatedaughter (const std::string &s) const
 return daughter with a specified role name More...
 
virtual const_iterator end () const
 last daughter const_iterator More...
 
virtual iterator end ()
 last daughter iterator More...
 
template<typename S >
daughter_iterator< S >::type endFilter (const S &s) const
 
virtual double energy () const
 energy More...
 
virtual double et () const
 transverse energy More...
 
virtual float eta () const
 momentum pseudorapidity More...
 
virtual void fillVertexCovariance (CovarianceMatrix &v) const
 fill SMatrix More...
 
template<typename T >
T get () const
 get a component More...
 
template<typename T , typename Tag >
T get () const
 get a component More...
 
template<typename T >
T get (size_type i) const
 get a component More...
 
template<typename T , typename Tag >
T get (size_type i) const
 get a component More...
 
virtual bool hasMasterClone () const
 
virtual bool hasMasterClonePtr () const
 
virtual bool isCaloMuon () const
 
virtual bool isConvertedPhoton () const
 
virtual bool isElectron () const
 
virtual bool isGlobalMuon () const
 
virtual bool isJet () const
 
virtual bool isMuon () const
 
virtual bool isPhoton () const
 
virtual bool isStandAloneMuon () const
 
virtual bool isTrackerMuon () const
 
 LeafCandidate ()
 default constructor More...
 
 LeafCandidate (const Candidate &c)
 
template<typename P4 >
 LeafCandidate (Charge q, const P4 &p4, const Point &vtx=Point(0, 0, 0), int pdgId=0, int status=0, bool integerCharge=true)
 constructor from Any values More...
 
 LeafCandidate (Charge q, const PtEtaPhiMass &p4, const Point &vtx=Point(0, 0, 0), int pdgId=0, int status=0, bool integerCharge=true)
 constructor from values More...
 
 LeafCandidate (Charge q, const LorentzVector &p4, const Point &vtx=Point(0, 0, 0), int pdgId=0, int status=0, bool integerCharge=true)
 constructor from values More...
 
 LeafCandidate (Charge q, const PolarLorentzVector &p4, const Point &vtx=Point(0, 0, 0), int pdgId=0, int status=0, bool integerCharge=true)
 constructor from values More...
 
 LeafCandidate (Charge q, const GlobalVector &p3, float iEnergy, bool massless, const Point &vtx=Point(0, 0, 0), int pdgId=0, int status=0, bool integerCharge=true)
 constructor from values More...
 
 LeafCandidate (Charge q, const GlobalVector &p3, float iEnergy, float imass, const Point &vtx=Point(0, 0, 0), int pdgId=0, int status=0, bool integerCharge=true)
 constructor from values More...
 
virtual bool longLived () const
 is long lived? More...
 
virtual float mass () const
 mass More...
 
virtual bool massConstraint () const
 do mass constraint? More...
 
virtual float massSqr () const
 mass squared More...
 
virtual const CandidateBaseRefmasterClone () const
 
virtual const CandidatePtrmasterClonePtr () const
 
template<typename Ref >
Ref masterRef () const
 cast master clone reference to a concrete type More...
 
virtual Vector momentum () const
 spatial momentum vector More...
 
virtual const Candidatemother (size_type) const
 return mother at a given position (throws an exception) More...
 
virtual double mt () const
 transverse mass More...
 
virtual double mtSqr () const
 transverse mass squared More...
 
template<typename T >
size_type numberOf () const
 number of components More...
 
template<typename T , typename Tag >
size_type numberOf () const
 number of components More...
 
virtual size_t numberOfDaughters () const
 number of daughters More...
 
virtual size_t numberOfMothers () const
 number of mothers More...
 
virtual double p () const
 magnitude of momentum vector More...
 
virtual const LorentzVectorp4 () const
 four-momentum Lorentz vector More...
 
virtual int pdgId () const
 PDG identifier. More...
 
virtual float phi () const
 momentum azimuthal angle More...
 
virtual const PolarLorentzVectorpolarP4 () const
 four-momentum Lorentz vector More...
 
virtual float pt () const
 transverse momentum More...
 
virtual double px () const
 x coordinate of momentum vector More...
 
virtual double py () const
 y coordinate of momentum vector More...
 
virtual double pz () const
 z coordinate of momentum vector More...
 
virtual double rapidity () const
 rapidity More...
 
virtual void setCharge (Charge q)
 set electric charge More...
 
virtual void setLongLived ()
 set long lived flag More...
 
virtual void setMass (double m)
 set particle mass More...
 
virtual void setMassConstraint ()
 set mass constraint flag More...
 
virtual void setP4 (const LorentzVector &p4)
 set 4-momentum More...
 
virtual void setP4 (const PolarLorentzVector &p4)
 set 4-momentum More...
 
virtual void setPdgId (int pdgId)
 
virtual void setPz (double pz)
 
virtual void setStatus (int status)
 set status word More...
 
virtual void setThreeCharge (Charge qx3)
 set electric charge More...
 
virtual void setVertex (const Point &vertex)
 set vertex More...
 
virtual int status () const
 status word More...
 
virtual double theta () const
 momentum polar angle More...
 
virtual int threeCharge () const
 electric charge More...
 
virtual const Pointvertex () const
 vertex position (overwritten by PF...) More...
 
virtual double vertexChi2 () const
 chi-squares More...
 
virtual double vertexCovariance (int i, int j) const
 (i, j)-th element of error matrix, i, j = 0, ... 2 More...
 
CovarianceMatrix vertexCovariance () const
 return SMatrix More...
 
virtual double vertexNdof () const
 
virtual double vertexNormalizedChi2 () const
 chi-squared divided by n.d.o.f. More...
 
virtual double vx () const
 x coordinate of vertex position More...
 
virtual double vy () const
 y coordinate of vertex position More...
 
virtual double vz () const
 z coordinate of vertex position More...
 
virtual double y () const
 rapidity More...
 
virtual ~LeafCandidate ()
 destructor More...
 
- Public Member Functions inherited from reco::Candidate
template<typename S >
daughter_iterator< S >::type beginFilter (const S &s) const
 
 Candidate ()
 default constructor More...
 
template<typename S >
daughter_iterator< S >::type endFilter (const S &s) const
 
template<typename T >
T get () const
 get a component More...
 
template<typename T , typename Tag >
T get () const
 get a component More...
 
template<typename T >
T get (size_type i) const
 get a component More...
 
template<typename T , typename Tag >
T get (size_type i) const
 get a component More...
 
template<typename Ref >
Ref masterRef () const
 cast master clone reference to a concrete type More...
 
template<typename T >
size_type numberOf () const
 number of components More...
 
template<typename T , typename Tag >
size_type numberOf () const
 number of components More...
 
virtual void setSourceCandidatePtr (const CandidatePtr &ptr)
 Set the ptr to the source Candidate. More...
 
virtual ~Candidate ()
 destructor More...
 

Protected Member Functions

void addJECFactors (const TauJetCorrFactors &jec)
 add more sets of energy correction factors More...
 
void currentJECLevel (const unsigned int &level)
 update the current JEC level; used by correctedJet More...
 
void currentJECSet (const unsigned int &set)
 update the current JEC set; used by correctedJet More...
 
void initializeJEC (unsigned int level, const unsigned int set=0)
 initialize the jet to a given JEC level during creation starting from Uncorrected More...
 
int jecSet (const std::string &label) const
 return true if this jet carries the jet correction factors of a different set, for systematic studies More...
 
- Protected Member Functions inherited from reco::RecoCandidate
template<typename R >
bool checkOverlap (const R &r1, const R &r2) const
 check if two components overlap More...
 
- Protected Member Functions inherited from reco::LeafCandidate
void cacheCartesian () const
 set internal cache More...
 
void cachePolar () const
 set internal cache More...
 
void clearCache () const
 clear internal cache More...
 

Private Attributes

std::vector
< pat::tau::TauCaloSpecific
caloSpecific_
 holder for CaloTau info, or empty vector if PFTau More...
 
unsigned int currentJECLevel_
 
unsigned int currentJECSet_
 
bool embeddedIsolationPFCands_
 
bool embeddedIsolationPFChargedHadrCands_
 
bool embeddedIsolationPFGammaCands_
 
bool embeddedIsolationPFNeutralHadrCands_
 
bool embeddedIsolationTracks_
 
bool embeddedLeadPFCand_
 
bool embeddedLeadPFChargedHadrCand_
 
bool embeddedLeadPFNeutralCand_
 
bool embeddedLeadTrack_
 
bool embeddedSignalPFCands_
 
bool embeddedSignalPFChargedHadrCands_
 
bool embeddedSignalPFGammaCands_
 
bool embeddedSignalPFNeutralHadrCands_
 
bool embeddedSignalTracks_
 
std::vector< reco::GenJetgenJet_
 
reco::CandidatePtrVector isolationChargedHadrCandPtrs_
 
reco::CandidatePtrVector isolationGammaCandPtrs_
 
reco::CandidatePtrVector isolationNeutralHadrCandPtrs_
 
std::vector< reco::PFCandidateisolationPFCands_
 
edm::AtomicPtrCache
< std::vector
< reco::PFCandidatePtr > > 
isolationPFCandsTransientPtrs_
 
std::vector< reco::PFCandidateisolationPFChargedHadrCands_
 
edm::AtomicPtrCache
< std::vector
< reco::PFCandidatePtr > > 
isolationPFChargedHadrCandsTransientPtrs_
 
std::vector< reco::PFCandidateisolationPFGammaCands_
 
edm::AtomicPtrCache
< std::vector
< reco::PFCandidatePtr > > 
isolationPFGammaCandsTransientPtrs_
 
std::vector< reco::PFCandidateisolationPFNeutralHadrCands_
 
edm::AtomicPtrCache
< std::vector
< reco::PFCandidatePtr > > 
isolationPFNeutralHadrCandsTransientPtrs_
 
std::vector< reco::TrackisolationTracks_
 
edm::AtomicPtrCache
< reco::TrackRefVector
isolationTracksTransientRefVector_
 
std::vector
< pat::TauJetCorrFactors
jec_
 
std::vector< reco::PFCandidateleadPFCand_
 
std::vector< reco::PFCandidateleadPFChargedHadrCand_
 
std::vector< reco::PFCandidateleadPFNeutralCand_
 
std::vector< reco::TrackleadTrack_
 
std::vector
< pat::tau::TauPFEssential
pfEssential_
 
std::vector
< pat::tau::TauPFSpecific
pfSpecific_
 holder for PFTau info, or empty vector if CaloTau More...
 
reco::CandidatePtrVector signalChargedHadrCandPtrs_
 
reco::CandidatePtrVector signalGammaCandPtrs_
 
reco::CandidatePtrVector signalNeutralHadrCandPtrs_
 
std::vector< reco::PFCandidatesignalPFCands_
 
edm::AtomicPtrCache
< std::vector
< reco::PFCandidatePtr > > 
signalPFCandsTransientPtrs_
 
std::vector< reco::PFCandidatesignalPFChargedHadrCands_
 
edm::AtomicPtrCache
< std::vector
< reco::PFCandidatePtr > > 
signalPFChargedHadrCandsTransientPtrs_
 
std::vector< reco::PFCandidatesignalPFGammaCands_
 
edm::AtomicPtrCache
< std::vector
< reco::PFCandidatePtr > > 
signalPFGammaCandsTransientPtrs_
 
std::vector< reco::PFCandidatesignalPFNeutralHadrCands_
 
edm::AtomicPtrCache
< std::vector
< reco::PFCandidatePtr > > 
signalPFNeutralHadrCandsTransientPtrs_
 
std::vector< reco::TracksignalTracks_
 
edm::AtomicPtrCache
< reco::TrackRefVector
signalTracksTransientRefVector_
 
std::vector< IdPairtauIDs_
 

Friends

class PATTauProducer
 
class PATTauSlimmer
 
std::ostream & reco::operator<< (std::ostream &out, const Tau &obj)
 pipe operator (introduced to use pat::Tau with PFTopProjectors) More...
 

Additional Inherited Members

- Static Public Member Functions inherited from reco::LeafCandidate
static double dmass (GlobalVector v, double e)
 
static double magd (GlobalVector v)
 
- Static Public Attributes inherited from reco::LeafCandidate
static const unsigned int longLivedTag = 65536
 long lived flag More...
 
static const unsigned int massConstraintTag = 131072
 do mass constraint flag More...
 
- Protected Types inherited from pat::Lepton< reco::BaseTau >
typedef std::vector< std::pair
< IsolationKeys,
pat::IsoDeposit > > 
IsoDepositPairs
 
- Protected Attributes inherited from pat::Lepton< reco::BaseTau >
IsoDepositPairs isoDeposits_
 
std::vector< float > isolations_
 
- Protected Attributes inherited from pat::PATObject< reco::BaseTau >
std::vector< std::string > efficiencyNames_
 vector of the efficiencies (names) More...
 
std::vector
< pat::LookupTableRecord
efficiencyValues_
 vector of the efficiencies (values) More...
 
std::vector< reco::GenParticlegenParticleEmbedded_
 vector to hold an embedded generator level particle More...
 
std::vector< reco::GenParticleRefgenParticleRef_
 Reference to a generator level particle. More...
 
std::vector< std::string > kinResolutionLabels_
 
std::vector
< pat::CandKinResolution
kinResolutions_
 Kinematic resolutions. More...
 
std::vector
< reco::CandidatePtrVector
overlapItems_
 Overlapping items (sorted by distance) More...
 
std::vector< std::string > overlapLabels_
 Overlapping test labels (only if there are any overlaps) More...
 
edm::Ptr< reco::CandidaterefToOrig_
 
TriggerObjectStandAloneCollection triggerObjectMatchesEmbedded_
 vector of trigger matches More...
 
std::vector< std::string > userCandLabels_
 
std::vector< reco::CandidatePtruserCands_
 
std::vector< std::string > userDataLabels_
 User data object. More...
 
pat::UserDataCollection userDataObjects_
 
std::vector< std::string > userFloatLabels_
 
std::vector< float > userFloats_
 
std::vector< std::string > userIntLabels_
 
std::vector< int32_t > userInts_
 
- Protected Attributes inherited from reco::LeafCandidate
bool cacheCartesianFixed_
 
bool cachePolarFixed_
 has cache been set? More...
 
float eta_
 
float mass_
 
LorentzVector p4Cartesian_
 internal cache for p4 More...
 
PolarLorentzVector p4Polar_
 internal cache for p4 More...
 
int pdgId_
 PDG identifier. More...
 
float phi_
 
float pt_
 four-momentum Lorentz vector More...
 
Charge qx3_
 electric charge More...
 
int status_
 status word More...
 
Point vertex_
 vertex position More...
 

Detailed Description

Analysis-level tau class.

pat::Tau implements the analysis-level tau class within the 'pat' namespace. It inherits from reco::BaseTau, copies all the information from the source reco::CaloTau or reco::PFTau, and adds some PAT-specific variable.

Please post comments and questions to the Physics Tools hypernews: https://hypernews.cern.ch/HyperNews/CMS/get/physTools.html

Author
Steven Lowette, Christophe Delaere, Giovanni Petrucciani, Frederic Ronga, Colin Bernet

Definition at line 56 of file Tau.h.

Member Typedef Documentation

typedef std::pair<std::string, float> pat::Tau::IdPair

Definition at line 64 of file Tau.h.

Constructor & Destructor Documentation

Tau::Tau ( )

default constructor

Definition at line 13 of file Tau.cc.

Referenced by clone().

13  :
16  ,embeddedLeadTrack_(false)
17  ,embeddedSignalTracks_(false)
18  ,embeddedLeadPFCand_(false)
29 {
30 }
bool embeddedLeadPFNeutralCand_
Definition: Tau.h:442
bool embeddedSignalPFChargedHadrCands_
Definition: Tau.h:448
bool embeddedIsolationPFChargedHadrCands_
Definition: Tau.h:460
bool embeddedIsolationPFCands_
Definition: Tau.h:457
bool embeddedIsolationPFNeutralHadrCands_
Definition: Tau.h:463
bool embeddedLeadTrack_
Definition: Tau.h:431
bool embeddedSignalPFGammaCands_
Definition: Tau.h:454
bool embeddedIsolationPFGammaCands_
Definition: Tau.h:466
bool embeddedSignalTracks_
Definition: Tau.h:433
bool embeddedLeadPFCand_
Definition: Tau.h:438
bool embeddedLeadPFChargedHadrCand_
Definition: Tau.h:440
bool embeddedSignalPFNeutralHadrCands_
Definition: Tau.h:451
bool embeddedSignalPFCands_
Definition: Tau.h:445
bool embeddedIsolationTracks_
Definition: Tau.h:428
Tau::Tau ( const reco::BaseTau aTau)

constructor from a reco tau

constructor from reco::BaseTau

Definition at line 33 of file Tau.cc.

References caloSpecific_, pfEssential_, and pfSpecific_.

33  :
36  ,embeddedLeadTrack_(false)
37  ,embeddedSignalTracks_(false)
38  ,embeddedLeadPFCand_(false)
49 {
50  const reco::PFTau * pfTau = dynamic_cast<const reco::PFTau *>(&aTau);
51  if (pfTau != 0){
52  pfSpecific_.push_back(pat::tau::TauPFSpecific(*pfTau));
53  pfEssential_.push_back(pat::tau::TauPFEssential(*pfTau));
54  }
55  const reco::CaloTau * caloTau = dynamic_cast<const reco::CaloTau *>(&aTau);
56  if (caloTau != 0) caloSpecific_.push_back(pat::tau::TauCaloSpecific(*caloTau));
57 }
bool embeddedLeadPFNeutralCand_
Definition: Tau.h:442
bool embeddedSignalPFChargedHadrCands_
Definition: Tau.h:448
bool embeddedIsolationPFChargedHadrCands_
Definition: Tau.h:460
bool embeddedIsolationPFCands_
Definition: Tau.h:457
bool embeddedIsolationPFNeutralHadrCands_
Definition: Tau.h:463
bool embeddedLeadTrack_
Definition: Tau.h:431
bool embeddedSignalPFGammaCands_
Definition: Tau.h:454
bool embeddedIsolationPFGammaCands_
Definition: Tau.h:466
bool embeddedSignalTracks_
Definition: Tau.h:433
bool embeddedLeadPFCand_
Definition: Tau.h:438
std::vector< pat::tau::TauPFEssential > pfEssential_
Definition: Tau.h:505
bool embeddedLeadPFChargedHadrCand_
Definition: Tau.h:440
bool embeddedSignalPFNeutralHadrCands_
Definition: Tau.h:451
std::vector< pat::tau::TauCaloSpecific > caloSpecific_
holder for CaloTau info, or empty vector if PFTau
Definition: Tau.h:481
bool embeddedSignalPFCands_
Definition: Tau.h:445
bool embeddedIsolationTracks_
Definition: Tau.h:428
std::vector< pat::tau::TauPFSpecific > pfSpecific_
holder for PFTau info, or empty vector if CaloTau
Definition: Tau.h:477
Tau::Tau ( const edm::RefToBase< reco::BaseTau > &  aTauRef)

constructor from a RefToBase to a reco tau (to be superseded by Ptr counterpart)

constructor from ref to reco::BaseTau

Definition at line 60 of file Tau.cc.

References caloSpecific_, edm::RefToBase< T >::get(), pfEssential_, and pfSpecific_.

60  :
61  Lepton<reco::BaseTau>(aTauRef)
63  ,embeddedLeadTrack_(false)
64  ,embeddedSignalTracks_(false)
65  ,embeddedLeadPFCand_(false)
76 {
77  const reco::PFTau * pfTau = dynamic_cast<const reco::PFTau *>(aTauRef.get());
78  if (pfTau != 0){
79  pfSpecific_.push_back(pat::tau::TauPFSpecific(*pfTau));
80  pfEssential_.push_back(pat::tau::TauPFEssential(*pfTau));
81  }
82  const reco::CaloTau * caloTau = dynamic_cast<const reco::CaloTau *>(aTauRef.get());
83  if (caloTau != 0) caloSpecific_.push_back(pat::tau::TauCaloSpecific(*caloTau));
84 }
bool embeddedLeadPFNeutralCand_
Definition: Tau.h:442
bool embeddedSignalPFChargedHadrCands_
Definition: Tau.h:448
bool embeddedIsolationPFChargedHadrCands_
Definition: Tau.h:460
bool embeddedIsolationPFCands_
Definition: Tau.h:457
bool embeddedIsolationPFNeutralHadrCands_
Definition: Tau.h:463
bool embeddedLeadTrack_
Definition: Tau.h:431
bool embeddedSignalPFGammaCands_
Definition: Tau.h:454
bool embeddedIsolationPFGammaCands_
Definition: Tau.h:466
bool embeddedSignalTracks_
Definition: Tau.h:433
bool embeddedLeadPFCand_
Definition: Tau.h:438
std::vector< pat::tau::TauPFEssential > pfEssential_
Definition: Tau.h:505
bool embeddedLeadPFChargedHadrCand_
Definition: Tau.h:440
bool embeddedSignalPFNeutralHadrCands_
Definition: Tau.h:451
std::vector< pat::tau::TauCaloSpecific > caloSpecific_
holder for CaloTau info, or empty vector if PFTau
Definition: Tau.h:481
bool embeddedSignalPFCands_
Definition: Tau.h:445
bool embeddedIsolationTracks_
Definition: Tau.h:428
value_type const * get() const
Definition: RefToBase.h:212
std::vector< pat::tau::TauPFSpecific > pfSpecific_
holder for PFTau info, or empty vector if CaloTau
Definition: Tau.h:477
Tau::Tau ( const edm::Ptr< reco::BaseTau > &  aTauRef)

constructor from a Ptr to a reco tau

constructor from ref to reco::BaseTau

Definition at line 87 of file Tau.cc.

References caloSpecific_, edm::Ptr< T >::get(), pfEssential_, and pfSpecific_.

87  :
88  Lepton<reco::BaseTau>(aTauRef)
90  ,embeddedLeadTrack_(false)
91  ,embeddedSignalTracks_(false)
92  ,embeddedLeadPFCand_(false)
103 {
104  const reco::PFTau * pfTau = dynamic_cast<const reco::PFTau *>(aTauRef.get());
105  if (pfTau != 0){
106  pfSpecific_.push_back(pat::tau::TauPFSpecific(*pfTau));
107  pfEssential_.push_back(pat::tau::TauPFEssential(*pfTau));
108  }
109  const reco::CaloTau * caloTau = dynamic_cast<const reco::CaloTau *>(aTauRef.get());
110  if (caloTau != 0) caloSpecific_.push_back(pat::tau::TauCaloSpecific(*caloTau));
111 }
bool embeddedLeadPFNeutralCand_
Definition: Tau.h:442
bool embeddedSignalPFChargedHadrCands_
Definition: Tau.h:448
bool embeddedIsolationPFChargedHadrCands_
Definition: Tau.h:460
bool embeddedIsolationPFCands_
Definition: Tau.h:457
bool embeddedIsolationPFNeutralHadrCands_
Definition: Tau.h:463
bool embeddedLeadTrack_
Definition: Tau.h:431
bool embeddedSignalPFGammaCands_
Definition: Tau.h:454
T const * get() const
Returns C++ pointer to the item.
Definition: Ptr.h:143
bool embeddedIsolationPFGammaCands_
Definition: Tau.h:466
bool embeddedSignalTracks_
Definition: Tau.h:433
bool embeddedLeadPFCand_
Definition: Tau.h:438
std::vector< pat::tau::TauPFEssential > pfEssential_
Definition: Tau.h:505
bool embeddedLeadPFChargedHadrCand_
Definition: Tau.h:440
bool embeddedSignalPFNeutralHadrCands_
Definition: Tau.h:451
std::vector< pat::tau::TauCaloSpecific > caloSpecific_
holder for CaloTau info, or empty vector if PFTau
Definition: Tau.h:481
bool embeddedSignalPFCands_
Definition: Tau.h:445
bool embeddedIsolationTracks_
Definition: Tau.h:428
std::vector< pat::tau::TauPFSpecific > pfSpecific_
holder for PFTau info, or empty vector if CaloTau
Definition: Tau.h:477
Tau::~Tau ( )
virtual

destructor

Definition at line 114 of file Tau.cc.

114  {
115 }

Member Function Documentation

void pat::Tau::addJECFactors ( const TauJetCorrFactors jec)
inlineprotected

add more sets of energy correction factors

Definition at line 421 of file Tau.h.

References jec_.

Referenced by pat::PATTauProducer::produce().

421 {jec_.push_back(jec); };
std::vector< pat::TauJetCorrFactors > jec_
Definition: Tau.h:487
const std::vector< std::string > Tau::availableJECLevels ( const int &  set = 0) const

Definition at line 694 of file Tau.cc.

References jec_.

695 {
696  return set>=0 ? jec_.at(set).correctionLabels() : std::vector<std::string>();
697 }
std::vector< pat::TauJetCorrFactors > jec_
Definition: Tau.h:487
const std::vector<std::string> pat::Tau::availableJECLevels ( const std::string &  set) const
inline

Definition at line 367 of file Tau.h.

References availableJECLevels(), and jecSet().

Referenced by availableJECLevels().

367 { return availableJECLevels(jecSet(set)); };
int jecSet(const std::string &label) const
return true if this jet carries the jet correction factors of a different set, for systematic studies...
Definition: Tau.cc:674
const std::vector< std::string > availableJECLevels(const int &set=0) const
Definition: Tau.cc:694
const std::vector< std::string > Tau::availableJECSets ( ) const

all available label-names of all sets of jet energy corrections

-— methods for jet corrections -— returns the labels of all available sets of jet energy corrections

Definition at line 684 of file Tau.cc.

References jec_.

685 {
686  std::vector<std::string> sets;
687  for ( std::vector<pat::TauJetCorrFactors>::const_iterator corrFactor = jec_.begin();
688  corrFactor != jec_.end(); ++corrFactor ) {
689  sets.push_back(corrFactor->jecSet());
690  }
691  return sets;
692 }
std::vector< pat::TauJetCorrFactors > jec_
Definition: Tau.h:487
float pat::Tau::bremsRecoveryEOverPLead ( ) const
inline

Method copied from reco::PFTau. Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 242 of file Tau.h.

References pat::tau::TauPFSpecific::bremsRecoveryEOverPLead_, and pfSpecific().

const pat::tau::TauPFSpecific & pfSpecific() const
return PFTau info or throw exception &#39;not PFTau&#39;
Definition: Tau.cc:247
float pat::Tau::caloComp ( ) const
inline

Method copied from reco::PFTau. Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 254 of file Tau.h.

References pat::tau::TauPFSpecific::caloComp_, and pfSpecific().

254 { return pfSpecific().caloComp_; }
const pat::tau::TauPFSpecific & pfSpecific() const
return PFTau info or throw exception &#39;not PFTau&#39;
Definition: Tau.cc:247
const pat::tau::TauCaloSpecific & Tau::caloSpecific ( ) const

return CaloTau info or throw exception 'not CaloTau'

Definition at line 258 of file Tau.cc.

References caloSpecific_, edm::hlt::Exception, and isCaloTau().

Referenced by caloTauTagInfoRef(), etaetaMoment(), etaphiMoment(), isolationECALhitsEtSum(), isolationTracksPtSum(), leadTrackHCAL3x3hitsEtSum(), leadTrackHCAL3x3hottesthitDEta(), leadTracksignedSipt(), maximumHCALhitEt(), p4Jet(), phiphiMoment(), signalTracksInvariantMass(), and TracksInvariantMass().

258  {
259  if (!isCaloTau()) throw cms::Exception("Type Error") << "Requesting a CaloTau-specific information from a pat::Tau which wasn't made from a CaloTau.\n";
260  return caloSpecific_[0];
261 }
std::vector< pat::tau::TauCaloSpecific > caloSpecific_
holder for CaloTau info, or empty vector if PFTau
Definition: Tau.h:481
bool isCaloTau() const
Returns true if this pat::Tau was made from a reco::CaloTau.
Definition: Tau.h:125
reco::CaloTauTagInfoRef pat::Tau::caloTauTagInfoRef ( ) const
inline

Method copied from reco::CaloTau. Throws an exception if this pat::Tau was not made from a reco::CaloTau

Definition at line 130 of file Tau.h.

References caloSpecific(), and pat::tau::TauCaloSpecific::CaloTauTagInfoRef_.

130 { return caloSpecific().CaloTauTagInfoRef_; }
reco::CaloTauTagInfoRef CaloTauTagInfoRef_
const pat::tau::TauCaloSpecific & caloSpecific() const
return CaloTau info or throw exception &#39;not CaloTau&#39;
Definition: Tau.cc:258
virtual Tau* pat::Tau::clone ( void  ) const
inlinevirtual

required reimplementation of the Candidate's clone method

Reimplemented from pat::Lepton< reco::BaseTau >.

Definition at line 78 of file Tau.h.

References Tau().

78 { return new Tau(*this); }
Tau()
default constructor
Definition: Tau.cc:13
const LorentzVector& pat::Tau::correctedP4 ( const std::string &  level,
const std::string &  set = "" 
) const
inline

p4 of the jet corrected up to the given level for the set of jet energy correction factors, which is currently in use

Definition at line 399 of file Tau.h.

References correctedTauJet(), and reco::LeafCandidate::p4().

399  {
400  return correctedTauJet(level, set).p4();
401  }
Tau correctedTauJet(const std::string &level, const std::string &set="") const
Definition: Tau.cc:733
tuple level
Definition: testEve_cfg.py:34
virtual const LorentzVector & p4() const
four-momentum Lorentz vector
const LorentzVector& pat::Tau::correctedP4 ( const unsigned int &  level,
const unsigned int &  set = 0 
) const
inline

p4 of the jet corrected up to the given level for the set of jet energy correction factors, which is currently in use

Definition at line 404 of file Tau.h.

References correctedTauJet(), and reco::LeafCandidate::p4().

404  {
405  return correctedTauJet(level, set).p4();
406  }
Tau correctedTauJet(const std::string &level, const std::string &set="") const
Definition: Tau.cc:733
tuple level
Definition: testEve_cfg.py:34
virtual const LorentzVector & p4() const
four-momentum Lorentz vector
Tau Tau::correctedTauJet ( const std::string &  level,
const std::string &  set = "" 
) const

copy of the jet corrected up to the given level for the set of jet energy correction factors, which is currently in use

copy of the jet with correction factor to target step for the set of correction factors, which is currently in use

Definition at line 733 of file Tau.cc.

References edm::hlt::Exception, customizeTrackingMonitorSeedNumber::idx, and jec_.

Referenced by correctedP4(), and correctedTauJet().

734 {
735  // rescale p4 of the jet; the update of current values is
736  // done within the called jecFactor function
737  for ( unsigned int idx = 0; idx < jec_.size(); ++idx ) {
738  if ( set.empty() || jec_.at(idx).jecSet() == set ) {
739  if ( jec_[idx].jecLevel(level) >= 0 )
740  return correctedTauJet(jec_[idx].jecLevel(level), idx);
741  else
742  throw cms::Exception("InvalidRequest")
743  << "This JEC level " << level << " does not exist. \n";
744  }
745  }
746  throw cms::Exception("InvalidRequest")
747  << "This JEC set " << set << " does not exist. \n";
748 }
Tau correctedTauJet(const std::string &level, const std::string &set="") const
Definition: Tau.cc:733
std::vector< pat::TauJetCorrFactors > jec_
Definition: Tau.h:487
tuple idx
DEBUGGING if hasattr(process,&quot;trackMonIterativeTracking2012&quot;): print &quot;trackMonIterativeTracking2012 D...
tuple level
Definition: testEve_cfg.py:34
Tau Tau::correctedTauJet ( const unsigned int &  level,
const unsigned int &  set = 0 
) const

copy of the jet corrected up to the given level for the set of jet energy correction factors, which is currently in use

copy of the jet with correction factor to target step for the set of correction factors, which is currently in use

Definition at line 752 of file Tau.cc.

References correctedTauJet(), currentJECLevel(), currentJECSet(), jecFactor(), reco::LeafCandidate::p4(), and reco::LeafCandidate::setP4().

753 {
754  Tau correctedTauJet(*this);
755  //rescale p4 of the jet
757  // update current level and set
760  return correctedTauJet;
761 }
virtual void setP4(const LorentzVector &p4)
set 4-momentum
Tau correctedTauJet(const std::string &level, const std::string &set="") const
Definition: Tau.cc:733
std::string currentJECLevel() const
return the name of the current step of jet energy corrections
Definition: Tau.h:382
Analysis-level tau class.
Definition: Tau.h:56
float jecFactor(const std::string &level, const std::string &set="") const
Definition: Tau.cc:701
tuple level
Definition: testEve_cfg.py:34
std::string currentJECSet() const
returns the label of the current set of jet energy corrections
Definition: Tau.h:378
virtual const LorentzVector & p4() const
four-momentum Lorentz vector
std::string pat::Tau::currentJECLevel ( ) const
inline

return the name of the current step of jet energy corrections

Definition at line 382 of file Tau.h.

References currentJECLevel_, currentJECSet_, jec_, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by correctedTauJet(), and initializeJEC().

382  {
383  return currentJECSet_<jec_.size() ? jec_.at(currentJECSet_).jecLevel(currentJECLevel_) : std::string("ERROR");
384  }
unsigned int currentJECLevel_
Definition: Tau.h:492
std::vector< pat::TauJetCorrFactors > jec_
Definition: Tau.h:487
unsigned int currentJECSet_
Definition: Tau.h:490
void pat::Tau::currentJECLevel ( const unsigned int &  level)
inlineprotected

update the current JEC level; used by correctedJet

Definition at line 419 of file Tau.h.

References currentJECLevel_, and testEve_cfg::level.

unsigned int currentJECLevel_
Definition: Tau.h:492
tuple level
Definition: testEve_cfg.py:34
std::string pat::Tau::currentJECSet ( ) const
inline

returns the label of the current set of jet energy corrections

Definition at line 378 of file Tau.h.

References currentJECSet_, jec_, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by correctedTauJet(), and initializeJEC().

378  {
379  return currentJECSet_<jec_.size() ? jec_.at(currentJECSet_).jecSet() : std::string("ERROR");
380  }
std::vector< pat::TauJetCorrFactors > jec_
Definition: Tau.h:487
unsigned int currentJECSet_
Definition: Tau.h:490
void pat::Tau::currentJECSet ( const unsigned int &  set)
inlineprotected

update the current JEC set; used by correctedJet

Definition at line 417 of file Tau.h.

References currentJECSet_.

417 { currentJECSet_=set; };
unsigned int currentJECSet_
Definition: Tau.h:490
int pat::Tau::decayMode ( ) const
inline

reconstructed tau decay mode (specific to PFTau)

Definition at line 337 of file Tau.h.

References pat::tau::TauPFEssential::decayMode_, and pfEssential().

Referenced by setDecayMode().

337 { return pfEssential().decayMode_; }
const pat::tau::TauPFEssential & pfEssential() const
Definition: Tau.cc:252
double pat::Tau::dxy ( ) const
inline

Definition at line 315 of file Tau.h.

References pat::tau::TauPFEssential::dxy_, and pfEssential().

315 { return pfEssential().dxy_; }
const pat::tau::TauPFEssential & pfEssential() const
Definition: Tau.cc:252
double pat::Tau::dxy_error ( ) const
inline

Definition at line 316 of file Tau.h.

References pat::tau::TauPFEssential::dxy_error_, and pfEssential().

316 { return pfEssential().dxy_error_; }
const pat::tau::TauPFEssential & pfEssential() const
Definition: Tau.cc:252
const reco::PFTauTransverseImpactParameter::Point& pat::Tau::dxy_PCA ( ) const
inline

-— Tau lifetime information -— Filled from PFTauTIPAssociation. Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 314 of file Tau.h.

References pat::tau::TauPFEssential::dxy_PCA_, and pfEssential().

314 { return pfEssential().dxy_PCA_; }
const pat::tau::TauPFEssential & pfEssential() const
Definition: Tau.cc:252
reco::PFTauTransverseImpactParameter::Point dxy_PCA_
double Tau::dxy_Sig ( ) const

Definition at line 270 of file Tau.cc.

References pfEssential().

271 {
272  if ( pfEssential().dxy_error_ != 0 ) return (pfEssential().dxy_/pfEssential().dxy_error_);
273  else return 0.;
274 }
const pat::tau::TauPFEssential & pfEssential() const
Definition: Tau.cc:252
float pat::Tau::ecalStripSumEOverPLead ( ) const
inline

Method copied from reco::PFTau. Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 239 of file Tau.h.

References pat::tau::TauPFSpecific::ecalStripSumEOverPLead_, and pfSpecific().

const pat::tau::TauPFSpecific & pfSpecific() const
return PFTau info or throw exception &#39;not PFTau&#39;
Definition: Tau.cc:247
bool pat::Tau::electronPreIDDecision ( ) const
inline

Method copied from reco::PFTau. Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 251 of file Tau.h.

References pat::tau::TauPFSpecific::electronPreIDDecision_, and pfSpecific().

const pat::tau::TauPFSpecific & pfSpecific() const
return PFTau info or throw exception &#39;not PFTau&#39;
Definition: Tau.cc:247
float pat::Tau::electronPreIDOutput ( ) const
inline

Method copied from reco::PFTau. Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 248 of file Tau.h.

References pat::tau::TauPFSpecific::electronPreIDOutput_, and pfSpecific().

248 { return pfSpecific().electronPreIDOutput_; }
const pat::tau::TauPFSpecific & pfSpecific() const
return PFTau info or throw exception &#39;not PFTau&#39;
Definition: Tau.cc:247
const reco::TrackRef& pat::Tau::electronPreIDTrack ( ) const
inline

Method copied from reco::PFTau. Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 245 of file Tau.h.

References pat::tau::TauPFSpecific::electronPreIDTrack_, and pfSpecific().

245 { return pfSpecific().electronPreIDTrack_; }
reco::TrackRef electronPreIDTrack_
Definition: TauPFSpecific.h:54
const pat::tau::TauPFSpecific & pfSpecific() const
return PFTau info or throw exception &#39;not PFTau&#39;
Definition: Tau.cc:247
void Tau::embedIsolationPFCands ( )

method to store the isolation candidates internally

Definition at line 391 of file Tau.cc.

References embeddedIsolationPFCands_, i, isolationPFCands_, isPFTau(), and pfSpecific_.

Referenced by pat::PATTauProducer::produce().

391  {
392  if (!isPFTau() ) {//additional check with warning in pat::tau producer
393  return;
394  }
395  std::vector<reco::PFCandidatePtr> candPtrs = pfSpecific_[0].selectedIsolationPFCands_;
396  for (unsigned int i = 0; i < candPtrs.size(); i++) {
397  isolationPFCands_.push_back(*candPtrs.at(i));
398  }
400 }
int i
Definition: DBlmapReader.cc:9
bool embeddedIsolationPFCands_
Definition: Tau.h:457
std::vector< reco::PFCandidate > isolationPFCands_
Definition: Tau.h:456
bool isPFTau() const
Returns true if this pat::Tau was made from a reco::PFTau.
Definition: Tau.h:158
std::vector< pat::tau::TauPFSpecific > pfSpecific_
holder for PFTau info, or empty vector if CaloTau
Definition: Tau.h:477
void Tau::embedIsolationPFChargedHadrCands ( )

method to store the isolation charged hadrons candidates internally

Definition at line 402 of file Tau.cc.

References embeddedIsolationPFChargedHadrCands_, i, isolationPFChargedHadrCands_, isPFTau(), and pfSpecific_.

Referenced by pat::PATTauProducer::produce().

402  {
403  if (!isPFTau() ) {//additional check with warning in pat::tau producer
404  return;
405  }
406  std::vector<reco::PFCandidatePtr> candPtrs = pfSpecific_[0].selectedIsolationPFChargedHadrCands_;
407  for (unsigned int i = 0; i < candPtrs.size(); i++) {
408  isolationPFChargedHadrCands_.push_back(*candPtrs.at(i));
409  }
411 }
int i
Definition: DBlmapReader.cc:9
bool embeddedIsolationPFChargedHadrCands_
Definition: Tau.h:460
std::vector< reco::PFCandidate > isolationPFChargedHadrCands_
Definition: Tau.h:459
bool isPFTau() const
Returns true if this pat::Tau was made from a reco::PFTau.
Definition: Tau.h:158
std::vector< pat::tau::TauPFSpecific > pfSpecific_
holder for PFTau info, or empty vector if CaloTau
Definition: Tau.h:477
void Tau::embedIsolationPFGammaCands ( )

method to store the isolation gamma candidates internally

Definition at line 422 of file Tau.cc.

References embeddedIsolationPFGammaCands_, i, isolationPFGammaCands_, isPFTau(), and pfSpecific_.

Referenced by pat::PATTauProducer::produce().

422  {
423  if (!isPFTau() ) {//additional check with warning in pat::tau producer
424  return;
425  }
426  std::vector<reco::PFCandidatePtr> candPtrs = pfSpecific_[0].selectedIsolationPFGammaCands_;
427  for (unsigned int i = 0; i < candPtrs.size(); i++) {
428  isolationPFGammaCands_.push_back(*candPtrs.at(i));
429  }
431 }
int i
Definition: DBlmapReader.cc:9
std::vector< reco::PFCandidate > isolationPFGammaCands_
Definition: Tau.h:465
bool embeddedIsolationPFGammaCands_
Definition: Tau.h:466
bool isPFTau() const
Returns true if this pat::Tau was made from a reco::PFTau.
Definition: Tau.h:158
std::vector< pat::tau::TauPFSpecific > pfSpecific_
holder for PFTau info, or empty vector if CaloTau
Definition: Tau.h:477
void Tau::embedIsolationPFNeutralHadrCands ( )

method to store the isolation neutral hadrons candidates internally

Definition at line 412 of file Tau.cc.

References embeddedIsolationPFNeutralHadrCands_, i, isolationPFNeutralHadrCands_, isPFTau(), and pfSpecific_.

Referenced by pat::PATTauProducer::produce().

412  {
413  if (!isPFTau() ) {//additional check with warning in pat::tau producer
414  return;
415  }
416  std::vector<reco::PFCandidatePtr> candPtrs = pfSpecific_[0].selectedIsolationPFNeutrHadrCands_;
417  for (unsigned int i = 0; i < candPtrs.size(); i++) {
418  isolationPFNeutralHadrCands_.push_back(*candPtrs.at(i));
419  }
421 }
int i
Definition: DBlmapReader.cc:9
std::vector< reco::PFCandidate > isolationPFNeutralHadrCands_
Definition: Tau.h:462
bool embeddedIsolationPFNeutralHadrCands_
Definition: Tau.h:463
bool isPFTau() const
Returns true if this pat::Tau was made from a reco::PFTau.
Definition: Tau.h:158
std::vector< pat::tau::TauPFSpecific > pfSpecific_
holder for PFTau info, or empty vector if CaloTau
Definition: Tau.h:477
void Tau::embedIsolationTracks ( )

method to store the isolation tracks internally

Definition at line 181 of file Tau.cc.

References edm::RefVector< C, T, F >::at(), embeddedIsolationTracks_, i, reco::BaseTau::isolationTracks(), isolationTracks_, and edm::RefVector< C, T, F >::size().

Referenced by pat::PATTauProducer::produce().

181  {
182  isolationTracks_.clear();
184  for (unsigned int i = 0; i < trackRefVec.size(); i++) {
185  isolationTracks_.push_back(*trackRefVec.at(i));
186  }
188 }
int i
Definition: DBlmapReader.cc:9
virtual const reco::TrackRefVector & isolationTracks() const
Definition: BaseTau.cc:30
std::vector< reco::Track > isolationTracks_
Definition: Tau.h:429
value_type const at(size_type idx) const
Retrieve an element of the RefVector.
Definition: RefVector.h:76
size_type size() const
Size of the RefVector.
Definition: RefVector.h:89
bool embeddedIsolationTracks_
Definition: Tau.h:428
void Tau::embedLeadPFCand ( )

method to store the leading candidate internally

  • PFTau specific content - method to store the leading candidate internally

Definition at line 317 of file Tau.cc.

References embeddedLeadPFCand_, isPFTau(), leadPFCand_, and pfSpecific_.

Referenced by pat::PATTauProducer::produce().

317  {
318  if (!isPFTau() ) {//additional check with warning in pat::tau producer
319  return;
320  }
321  leadPFCand_.clear();
322  if (pfSpecific_[0].leadPFCand_.isNonnull() ) {
323  leadPFCand_.push_back(*pfSpecific_[0].leadPFCand_); //already set in C-tor
324  embeddedLeadPFCand_ = true;
325  }
326 }
std::vector< reco::PFCandidate > leadPFCand_
Definition: Tau.h:437
bool embeddedLeadPFCand_
Definition: Tau.h:438
bool isPFTau() const
Returns true if this pat::Tau was made from a reco::PFTau.
Definition: Tau.h:158
std::vector< pat::tau::TauPFSpecific > pfSpecific_
holder for PFTau info, or empty vector if CaloTau
Definition: Tau.h:477
void Tau::embedLeadPFChargedHadrCand ( )

method to store the leading charged hadron candidate internally

method to store the leading candidate internally

Definition at line 328 of file Tau.cc.

References embeddedLeadPFChargedHadrCand_, isPFTau(), leadPFChargedHadrCand_, and pfSpecific_.

Referenced by pat::PATTauProducer::produce().

328  {
329  if (!isPFTau() ) {//additional check with warning in pat::tau producer
330  return;
331  }
332  leadPFChargedHadrCand_.clear();
333  if (pfSpecific_[0].leadPFChargedHadrCand_.isNonnull() ) {
334  leadPFChargedHadrCand_.push_back(*pfSpecific_[0].leadPFChargedHadrCand_); //already set in C-tor
336  }
337 }
bool embeddedLeadPFChargedHadrCand_
Definition: Tau.h:440
bool isPFTau() const
Returns true if this pat::Tau was made from a reco::PFTau.
Definition: Tau.h:158
std::vector< reco::PFCandidate > leadPFChargedHadrCand_
Definition: Tau.h:439
std::vector< pat::tau::TauPFSpecific > pfSpecific_
holder for PFTau info, or empty vector if CaloTau
Definition: Tau.h:477
void Tau::embedLeadPFNeutralCand ( )

method to store the leading neutral candidate internally

method to store the leading candidate internally

Definition at line 339 of file Tau.cc.

References embeddedLeadPFNeutralCand_, isPFTau(), leadPFNeutralCand_, and pfSpecific_.

Referenced by pat::PATTauProducer::produce().

339  {
340  if (!isPFTau() ) {//additional check with warning in pat::tau producer
341  return;
342  }
343  leadPFNeutralCand_.clear();
344  if (pfSpecific_[0].leadPFNeutralCand_.isNonnull() ) {
345  leadPFNeutralCand_.push_back(*pfSpecific_[0].leadPFNeutralCand_); //already set in C-tor
347  }
348 }
bool embeddedLeadPFNeutralCand_
Definition: Tau.h:442
std::vector< reco::PFCandidate > leadPFNeutralCand_
Definition: Tau.h:441
bool isPFTau() const
Returns true if this pat::Tau was made from a reco::PFTau.
Definition: Tau.h:158
std::vector< pat::tau::TauPFSpecific > pfSpecific_
holder for PFTau info, or empty vector if CaloTau
Definition: Tau.h:477
void Tau::embedLeadTrack ( )

method to store the leading track internally

method to store the isolation tracks internally

Definition at line 192 of file Tau.cc.

References embeddedLeadTrack_, reco::BaseTau::leadTrack(), and leadTrack_.

Referenced by pat::PATTauProducer::produce().

192  {
193  leadTrack_.clear();
194  if (reco::BaseTau::leadTrack().isNonnull()) {
195  leadTrack_.push_back(*reco::BaseTau::leadTrack());
196  embeddedLeadTrack_ = true;
197  }
198 }
virtual reco::TrackRef leadTrack() const
Definition: BaseTau.cc:26
bool embeddedLeadTrack_
Definition: Tau.h:431
std::vector< reco::Track > leadTrack_
Definition: Tau.h:432
void Tau::embedSignalPFCands ( )

method to store the signal candidates internally

Definition at line 350 of file Tau.cc.

References embeddedSignalPFCands_, i, isPFTau(), pfSpecific_, and signalPFCands_.

Referenced by pat::PATTauProducer::produce().

350  {
351  if (!isPFTau() ) {//additional check with warning in pat::tau producer
352  return;
353  }
354  std::vector<reco::PFCandidatePtr> candPtrs = pfSpecific_[0].selectedSignalPFCands_;
355  for (unsigned int i = 0; i < candPtrs.size(); i++) {
356  signalPFCands_.push_back(*candPtrs.at(i));
357  }
358  embeddedSignalPFCands_ = true;
359 }
int i
Definition: DBlmapReader.cc:9
std::vector< reco::PFCandidate > signalPFCands_
Definition: Tau.h:444
bool embeddedSignalPFCands_
Definition: Tau.h:445
bool isPFTau() const
Returns true if this pat::Tau was made from a reco::PFTau.
Definition: Tau.h:158
std::vector< pat::tau::TauPFSpecific > pfSpecific_
holder for PFTau info, or empty vector if CaloTau
Definition: Tau.h:477
void Tau::embedSignalPFChargedHadrCands ( )

method to store the signal charged hadrons candidates internally

Definition at line 360 of file Tau.cc.

References embeddedSignalPFChargedHadrCands_, i, isPFTau(), pfSpecific_, and signalPFChargedHadrCands_.

Referenced by pat::PATTauProducer::produce().

360  {
361  if (!isPFTau() ) {//additional check with warning in pat::tau producer
362  return;
363  }
364  std::vector<reco::PFCandidatePtr> candPtrs = pfSpecific_[0].selectedSignalPFChargedHadrCands_;
365  for (unsigned int i = 0; i < candPtrs.size(); i++) {
366  signalPFChargedHadrCands_.push_back(*candPtrs.at(i));
367  }
369 }
int i
Definition: DBlmapReader.cc:9
bool embeddedSignalPFChargedHadrCands_
Definition: Tau.h:448
std::vector< reco::PFCandidate > signalPFChargedHadrCands_
Definition: Tau.h:447
bool isPFTau() const
Returns true if this pat::Tau was made from a reco::PFTau.
Definition: Tau.h:158
std::vector< pat::tau::TauPFSpecific > pfSpecific_
holder for PFTau info, or empty vector if CaloTau
Definition: Tau.h:477
void Tau::embedSignalPFGammaCands ( )

method to store the signal gamma candidates internally

Definition at line 380 of file Tau.cc.

References embeddedSignalPFGammaCands_, i, isPFTau(), pfSpecific_, and signalPFGammaCands_.

Referenced by pat::PATTauProducer::produce().

380  {
381  if (!isPFTau() ) {//additional check with warning in pat::tau producer
382  return;
383  }
384  std::vector<reco::PFCandidatePtr> candPtrs = pfSpecific_[0].selectedSignalPFGammaCands_;
385  for (unsigned int i = 0; i < candPtrs.size(); i++) {
386  signalPFGammaCands_.push_back(*candPtrs.at(i));
387  }
389 }
int i
Definition: DBlmapReader.cc:9
bool embeddedSignalPFGammaCands_
Definition: Tau.h:454
std::vector< reco::PFCandidate > signalPFGammaCands_
Definition: Tau.h:453
bool isPFTau() const
Returns true if this pat::Tau was made from a reco::PFTau.
Definition: Tau.h:158
std::vector< pat::tau::TauPFSpecific > pfSpecific_
holder for PFTau info, or empty vector if CaloTau
Definition: Tau.h:477
void Tau::embedSignalPFNeutralHadrCands ( )

method to store the signal neutral hadrons candidates internally

Definition at line 370 of file Tau.cc.

References embeddedSignalPFNeutralHadrCands_, i, isPFTau(), pfSpecific_, and signalPFNeutralHadrCands_.

Referenced by pat::PATTauProducer::produce().

370  {
371  if (!isPFTau() ) {//additional check with warning in pat::tau producer
372  return;
373  }
374  std::vector<reco::PFCandidatePtr> candPtrs = pfSpecific_[0].selectedSignalPFNeutrHadrCands_;
375  for (unsigned int i = 0; i < candPtrs.size(); i++) {
376  signalPFNeutralHadrCands_.push_back(*candPtrs.at(i));
377  }
379 }
int i
Definition: DBlmapReader.cc:9
std::vector< reco::PFCandidate > signalPFNeutralHadrCands_
Definition: Tau.h:450
bool embeddedSignalPFNeutralHadrCands_
Definition: Tau.h:451
bool isPFTau() const
Returns true if this pat::Tau was made from a reco::PFTau.
Definition: Tau.h:158
std::vector< pat::tau::TauPFSpecific > pfSpecific_
holder for PFTau info, or empty vector if CaloTau
Definition: Tau.h:477
void Tau::embedSignalTracks ( )

method to store the signal tracks internally

method to store the isolation tracks internally

Definition at line 202 of file Tau.cc.

References edm::RefVector< C, T, F >::at(), embeddedSignalTracks_, i, reco::BaseTau::signalTracks(), signalTracks_, and edm::RefVector< C, T, F >::size().

Referenced by pat::PATTauProducer::produce().

202  {
203  signalTracks_.clear();
205  for (unsigned int i = 0; i < trackRefVec.size(); i++) {
206  signalTracks_.push_back(*trackRefVec.at(i));
207  }
208  embeddedSignalTracks_ = true;
209 }
int i
Definition: DBlmapReader.cc:9
std::vector< reco::Track > signalTracks_
Definition: Tau.h:434
bool embeddedSignalTracks_
Definition: Tau.h:433
virtual const reco::TrackRefVector & signalTracks() const
Definition: BaseTau.cc:28
value_type const at(size_type idx) const
Retrieve an element of the RefVector.
Definition: RefVector.h:76
size_type size() const
Size of the RefVector.
Definition: RefVector.h:89
float pat::Tau::emFraction ( ) const
inline

Method copied from reco::PFTau. Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 227 of file Tau.h.

References pat::tau::TauPFSpecific::emFraction_, and pfSpecific().

227 { return pfSpecific().emFraction_; }
const pat::tau::TauPFSpecific & pfSpecific() const
return PFTau info or throw exception &#39;not PFTau&#39;
Definition: Tau.cc:247
float Tau::etaetaMoment ( ) const

Definition at line 289 of file Tau.cc.

References caloSpecific(), pat::tau::TauCaloSpecific::etaetaMoment_, pat::tau::TauPFSpecific::etaetaMoment_, edm::hlt::Exception, isCaloTau(), isPFTau(), and pfSpecific().

290 {
291  if ( isCaloTau() ) return caloSpecific().etaetaMoment_;
292  if ( isPFTau() ) return pfSpecific().etaetaMoment_;
293  throw cms::Exception("Type Error") << "Requesting a CaloTau/PFTau-specific information from a pat::Tau which wasn't made from either a CaloTau or a PFTau.\n";
294 }
const pat::tau::TauCaloSpecific & caloSpecific() const
return CaloTau info or throw exception &#39;not CaloTau&#39;
Definition: Tau.cc:258
const pat::tau::TauPFSpecific & pfSpecific() const
return PFTau info or throw exception &#39;not PFTau&#39;
Definition: Tau.cc:247
bool isCaloTau() const
Returns true if this pat::Tau was made from a reco::CaloTau.
Definition: Tau.h:125
bool isPFTau() const
Returns true if this pat::Tau was made from a reco::PFTau.
Definition: Tau.h:158
float Tau::etaphiMoment ( ) const

Definition at line 303 of file Tau.cc.

References caloSpecific(), pat::tau::TauCaloSpecific::etaphiMoment_, pat::tau::TauPFSpecific::etaphiMoment_, edm::hlt::Exception, isCaloTau(), isPFTau(), and pfSpecific().

304 {
305  if ( isCaloTau() ) return caloSpecific().etaphiMoment_;
306  if ( isPFTau() ) return pfSpecific().etaphiMoment_;
307  throw cms::Exception("Type Error") << "Requesting a CaloTau/PFTau-specific information from a pat::Tau which wasn't made from either a CaloTau or a PFTau.\n";
308 }
const pat::tau::TauCaloSpecific & caloSpecific() const
return CaloTau info or throw exception &#39;not CaloTau&#39;
Definition: Tau.cc:258
const pat::tau::TauPFSpecific & pfSpecific() const
return PFTau info or throw exception &#39;not PFTau&#39;
Definition: Tau.cc:247
bool isCaloTau() const
Returns true if this pat::Tau was made from a reco::CaloTau.
Definition: Tau.h:125
bool isPFTau() const
Returns true if this pat::Tau was made from a reco::PFTau.
Definition: Tau.h:158
bool Tau::ExistIsolationCands ( ) const

Definition at line 804 of file Tau.cc.

References edm::PtrVectorBase::isNull(), isolationChargedHadrCandPtrs_, isolationGammaCandPtrs_, and isolationNeutralHadrCandPtrs_.

Referenced by isolationCands().

804  {
806 }
reco::CandidatePtrVector isolationGammaCandPtrs_
Definition: Tau.h:501
bool isNull() const
Checks for null.
Definition: PtrVectorBase.h:46
reco::CandidatePtrVector isolationChargedHadrCandPtrs_
Definition: Tau.h:499
reco::CandidatePtrVector isolationNeutralHadrCandPtrs_
Definition: Tau.h:500
bool Tau::ExistSignalCands ( ) const

check that there is at least one non-zero collection of candidate ptrs

return the PFCandidates if available (reference or embedded), or the PackedPFCandidate on miniAOD note that the vector is returned by value.

Definition at line 800 of file Tau.cc.

References edm::PtrVectorBase::isNull(), signalChargedHadrCandPtrs_, signalGammaCandPtrs_, and signalNeutralHadrCandPtrs_.

Referenced by leadCand(), numberOfSourceCandidatePtrs(), signalCands(), and sourceCandidatePtr().

800  {
802 }
bool isNull() const
Checks for null.
Definition: PtrVectorBase.h:46
reco::CandidatePtrVector signalGammaCandPtrs_
Definition: Tau.h:497
reco::CandidatePtrVector signalNeutralHadrCandPtrs_
Definition: Tau.h:496
reco::CandidatePtrVector signalChargedHadrCandPtrs_
Definition: Tau.h:495
const reco::PFTauTransverseImpactParameter::Vector& pat::Tau::flightLength ( ) const
inline

Definition at line 322 of file Tau.h.

References pat::tau::TauPFEssential::flightLength_, and pfEssential().

322 { return pfEssential().flightLength_; }
reco::PFTauTransverseImpactParameter::Vector flightLength_
const pat::tau::TauPFEssential & pfEssential() const
Definition: Tau.cc:252
reco::PFTauTransverseImpactParameter::CovMatrix Tau::flightLengthCov ( ) const

Definition at line 276 of file Tau.cc.

References reco::Candidate::dimension, i, j, primaryVertexCov(), and secondaryVertexCov().

277 {
281  for ( int i = 0; i < dimension; ++i ) {
282  for ( int j = 0; j < dimension; ++j ) {
283  cov(i,j) = sv(i,j) + pv(i,j);
284  }
285  }
286  return cov;
287 }
int i
Definition: DBlmapReader.cc:9
const reco::PFTauTransverseImpactParameter::CovMatrix & secondaryVertexCov() const
Definition: Tau.h:327
const reco::PFTauTransverseImpactParameter::CovMatrix & primaryVertexCov() const
Definition: Tau.h:320
int j
Definition: DBlmapReader.cc:9
double pat::Tau::flightLengthSig ( ) const
inline

Definition at line 323 of file Tau.h.

References pat::tau::TauPFEssential::flightLengthSig_, and pfEssential().

323 { return pfEssential().flightLengthSig_; }
const pat::tau::TauPFEssential & pfEssential() const
Definition: Tau.cc:252
const reco::GenJet * Tau::genJet ( ) const

return matched GenJet, built from the visible particles of a generated tau

return the matched generated jet

Definition at line 219 of file Tau.cc.

References genJet_.

219  {
220  return (genJet_.size() > 0 ? &genJet_.front() : 0);
221 }
std::vector< reco::GenJet > genJet_
Definition: Tau.h:470
bool pat::Tau::hasSecondaryVertex ( ) const
inline

Definition at line 321 of file Tau.h.

References pat::tau::TauPFEssential::hasSV_, and pfEssential().

321 { return pfEssential().hasSV_; }
const pat::tau::TauPFEssential & pfEssential() const
Definition: Tau.cc:252
float pat::Tau::hcal3x3OverPLead ( ) const
inline

Method copied from reco::PFTau. Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 236 of file Tau.h.

References pat::tau::TauPFSpecific::hcal3x3OverPLead_, and pfSpecific().

236 { return pfSpecific().hcal3x3OverPLead_; }
const pat::tau::TauPFSpecific & pfSpecific() const
return PFTau info or throw exception &#39;not PFTau&#39;
Definition: Tau.cc:247
float pat::Tau::hcalMaxOverPLead ( ) const
inline

Method copied from reco::PFTau. Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 233 of file Tau.h.

References pat::tau::TauPFSpecific::hcalMaxOverPLead_, and pfSpecific().

233 { return pfSpecific().hcalMaxOverPLead_; }
const pat::tau::TauPFSpecific & pfSpecific() const
return PFTau info or throw exception &#39;not PFTau&#39;
Definition: Tau.cc:247
float pat::Tau::hcalTotOverPLead ( ) const
inline

Method copied from reco::PFTau. Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 230 of file Tau.h.

References pat::tau::TauPFSpecific::hcalTotOverPLead_, and pfSpecific().

230 { return pfSpecific().hcalTotOverPLead_; }
const pat::tau::TauPFSpecific & pfSpecific() const
return PFTau info or throw exception &#39;not PFTau&#39;
Definition: Tau.cc:247
void Tau::initializeJEC ( unsigned int  level,
const unsigned int  set = 0 
)
protected

initialize the jet to a given JEC level during creation starting from Uncorrected

============= -Tau-jet Energy Correction methods ============ (copied from DataFormats/PatCandidates/src/Jet.cc)

Definition at line 666 of file Tau.cc.

References currentJECLevel(), currentJECSet(), jec_, reco::LeafCandidate::p4(), and reco::LeafCandidate::setP4().

Referenced by pat::PATTauProducer::produce().

667 {
668  currentJECSet(set);
670  setP4(jec_[set].correction(level)*p4());
671 }
virtual void setP4(const LorentzVector &p4)
set 4-momentum
std::string currentJECLevel() const
return the name of the current step of jet energy corrections
Definition: Tau.h:382
std::vector< pat::TauJetCorrFactors > jec_
Definition: Tau.h:487
tuple level
Definition: testEve_cfg.py:34
std::string currentJECSet() const
returns the label of the current set of jet energy corrections
Definition: Tau.h:378
virtual const LorentzVector & p4() const
four-momentum Lorentz vector
bool pat::Tau::isCaloTau ( ) const
inline

Returns true if this pat::Tau was made from a reco::CaloTau.

Definition at line 125 of file Tau.h.

References caloSpecific_.

Referenced by caloSpecific(), etaetaMoment(), etaphiMoment(), p4Jet(), and phiphiMoment().

125 { return !caloSpecific_.empty(); }
std::vector< pat::tau::TauCaloSpecific > caloSpecific_
holder for CaloTau info, or empty vector if PFTau
Definition: Tau.h:481
reco::CandidatePtrVector Tau::isolationCands ( ) const

return the PFCandidates if available (reference or embedded), or the PackedPFCandidate on miniAOD note that the vector is returned by value.

the isolationCands pointers are not saved in miniAOD, so the collection is created dynamically by glueing together 3 sub-collection and re-ordering

Definition at line 877 of file Tau.cc.

References ExistIsolationCands(), first, isolationChargedHadrCandPtrs_, isolationGammaCandPtrs_, isolationNeutralHadrCandPtrs_, isolationPFCands(), reco::LeafCandidate::p(), edm::PtrVector< T >::push_back(), run_regression::ret, and python.multivaluedict::sort().

877  {
878  std::vector<reco::PFCandidatePtr> r0 = isolationPFCands();
880  if(!Tau::ExistIsolationCands() || (!r0.empty() && r0.front().isAvailable())) {
881  for (const auto & p : r0) ret.push_back(p);
882  return ret;
883  } else {
886  std::vector<std::pair<float,size_t> > pt_index;
887  size_t index=0;
888  for (const auto & p : isolationChargedHadrCandPtrs_){ ret2.push_back(p); pt_index.push_back(std::make_pair(p->pt(),index)); index++;}
889  for (const auto & p : isolationNeutralHadrCandPtrs_){ ret2.push_back(p); pt_index.push_back(std::make_pair(p->pt(),index)); index++;}
890  for (const auto & p : isolationGammaCandPtrs_){ ret2.push_back(p); pt_index.push_back(std::make_pair(p->pt(),index)); index++;}
891  std::sort(pt_index.begin(),pt_index.end(),
892  boost::bind(&std::pair<float,size_t>::first,_1) >
893  boost::bind(&std::pair<float,size_t>::first,_2));
894  for( const auto & p : pt_index){
895  ret.push_back(ret2[p.second]);
896  }
897  return ret;
898  }
899 }
virtual double p() const
magnitude of momentum vector
reco::CandidatePtrVector isolationGammaCandPtrs_
Definition: Tau.h:501
void push_back(Ptr< T > const &iPtr)
Definition: PtrVector.h:138
reco::CandidatePtrVector isolationChargedHadrCandPtrs_
Definition: Tau.h:499
bool ExistIsolationCands() const
Definition: Tau.cc:804
reco::CandidatePtrVector isolationNeutralHadrCandPtrs_
Definition: Tau.h:500
unsigned int index
Definition: LeafCandidate.h:36
bool first
Definition: L1TdeRCT.cc:75
const std::vector< reco::PFCandidatePtr > & isolationPFCands() const
Definition: Tau.cc:564
reco::CandidatePtrVector Tau::isolationChargedHadrCands ( ) const

return the PFCandidates if available (reference or embedded), or the PackedPFCandidate on miniAOD note that the vector is returned by value.

Definition at line 903 of file Tau.cc.

References edm::PtrVectorBase::isNull(), isolationChargedHadrCandPtrs_, isolationPFChargedHadrCands(), reco::LeafCandidate::p(), edm::PtrVector< T >::push_back(), and run_regression::ret.

903  {
904  std::vector<reco::PFCandidatePtr> r0 = isolationPFChargedHadrCands();
905  if(isolationChargedHadrCandPtrs_.isNull() || (!r0.empty() && r0.front().isAvailable())) {
907  for (const auto & p : r0) ret.push_back(p);
908  return ret;
909  } else {
911  }
912 }
virtual double p() const
magnitude of momentum vector
bool isNull() const
Checks for null.
Definition: PtrVectorBase.h:46
void push_back(Ptr< T > const &iPtr)
Definition: PtrVector.h:138
const std::vector< reco::PFCandidatePtr > & isolationPFChargedHadrCands() const
Definition: Tau.cc:586
reco::CandidatePtrVector isolationChargedHadrCandPtrs_
Definition: Tau.h:499
float pat::Tau::isolationECALhitsEtSum ( ) const
inline

Method copied from reco::CaloTau. Throws an exception if this pat::Tau was not made from a reco::CaloTau

Definition at line 151 of file Tau.h.

References caloSpecific(), and pat::tau::TauCaloSpecific::isolationECALhitsEtSum_.

const pat::tau::TauCaloSpecific & caloSpecific() const
return CaloTau info or throw exception &#39;not CaloTau&#39;
Definition: Tau.cc:258
reco::CandidatePtrVector Tau::isolationGammaCands ( ) const

return the PFCandidates if available (reference or embedded), or the PackedPFCandidate on miniAOD note that the vector is returned by value.

Definition at line 930 of file Tau.cc.

References edm::PtrVectorBase::isNull(), isolationGammaCandPtrs_, isolationPFGammaCands(), reco::LeafCandidate::p(), edm::PtrVector< T >::push_back(), and run_regression::ret.

930  {
931  std::vector<reco::PFCandidatePtr> r0 = isolationPFGammaCands();
932  if(isolationGammaCandPtrs_.isNull() || (!r0.empty() && r0.front().isAvailable())) {
934  for (const auto & p : r0) ret.push_back(p);
935  return ret;
936  } else {
938  }
939 }
virtual double p() const
magnitude of momentum vector
reco::CandidatePtrVector isolationGammaCandPtrs_
Definition: Tau.h:501
bool isNull() const
Checks for null.
Definition: PtrVectorBase.h:46
void push_back(Ptr< T > const &iPtr)
Definition: PtrVector.h:138
const std::vector< reco::PFCandidatePtr > & isolationPFGammaCands() const
Definition: Tau.cc:630
reco::CandidatePtrVector Tau::isolationNeutrHadrCands ( ) const

return the PFCandidates if available (reference or embedded), or the PackedPFCandidate on miniAOD note that the vector is returned by value.

Definition at line 916 of file Tau.cc.

References edm::PtrVectorBase::isNull(), isolationNeutralHadrCandPtrs_, isolationPFNeutrHadrCands(), reco::LeafCandidate::p(), edm::PtrVector< T >::push_back(), and run_regression::ret.

916  {
918  std::vector<reco::PFCandidatePtr> r0 = isolationPFNeutrHadrCands();
919  if(isolationNeutralHadrCandPtrs_.isNull() || (!r0.empty() && r0.front().isAvailable())) {
921  for (const auto & p : r0) ret.push_back(p);
922  return ret;
923  } else {
925  }
926 }
virtual double p() const
magnitude of momentum vector
bool isNull() const
Checks for null.
Definition: PtrVectorBase.h:46
void push_back(Ptr< T > const &iPtr)
Definition: PtrVector.h:138
const std::vector< reco::PFCandidatePtr > & isolationPFNeutrHadrCands() const
Definition: Tau.cc:608
reco::CandidatePtrVector isolationNeutralHadrCandPtrs_
Definition: Tau.h:500
const std::vector< reco::PFCandidatePtr > & Tau::isolationPFCands ( ) const

Method copied from reco::PFTau. Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 564 of file Tau.cc.

References embeddedIsolationPFCands_, i, isolationPFCands_, isolationPFCandsTransientPtrs_, edm::AtomicPtrCache< T >::isSet(), pfSpecific(), pfSpecific_, pat::tau::TauPFSpecific::selectedIsolationPFCands_, and edm::AtomicPtrCache< T >::set().

Referenced by isolationCands().

564  {
567  std::unique_ptr<std::vector<reco::PFCandidatePtr> > aPtrs{ new std::vector<reco::PFCandidatePtr>{}};
568  aPtrs->reserve(isolationPFCands_.size());
569  for (unsigned int i = 0; i < isolationPFCands_.size(); i++) {
570  aPtrs->push_back(reco::PFCandidatePtr(&isolationPFCands_, i) );
571  }
572  isolationPFCandsTransientPtrs_.set(std::move(aPtrs));
573  }
575  } else {
576  if(pfSpecific_.empty() || pfSpecific().selectedIsolationPFCands_.empty() || !pfSpecific().selectedIsolationPFCands_.front().isAvailable()){
577  // this part of code is called when reading from patTuple or miniAOD
578  // it returns empty collection in correct format so it can be substituted by reco::Candidates if available
579  std::unique_ptr<std::vector<reco::PFCandidatePtr> > aPtrs{new std::vector<reco::PFCandidatePtr>{}};
580  isolationPFCandsTransientPtrs_.set(std::move(aPtrs));
582  } else return pfSpecific().selectedIsolationPFCands_;
583  }
584 }
int i
Definition: DBlmapReader.cc:9
bool embeddedIsolationPFCands_
Definition: Tau.h:457
const pat::tau::TauPFSpecific & pfSpecific() const
return PFTau info or throw exception &#39;not PFTau&#39;
Definition: Tau.cc:247
bool isSet() const
std::vector< reco::PFCandidate > isolationPFCands_
Definition: Tau.h:456
std::vector< reco::PFCandidatePtr > selectedIsolationPFCands_
Definition: TauPFSpecific.h:38
bool set(std::unique_ptr< T > iNewValue) const
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > isolationPFCandsTransientPtrs_
Definition: Tau.h:458
std::vector< pat::tau::TauPFSpecific > pfSpecific_
holder for PFTau info, or empty vector if CaloTau
Definition: Tau.h:477
const std::vector< reco::PFCandidatePtr > & Tau::isolationPFChargedHadrCands ( ) const

Method copied from reco::PFTau. Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 586 of file Tau.cc.

References embeddedIsolationPFChargedHadrCands_, i, isolationPFChargedHadrCands_, isolationPFChargedHadrCandsTransientPtrs_, edm::AtomicPtrCache< T >::isSet(), pfSpecific(), pfSpecific_, pat::tau::TauPFSpecific::selectedIsolationPFChargedHadrCands_, and edm::AtomicPtrCache< T >::set().

Referenced by isolationChargedHadrCands(), and pat::PATTauSlimmer::produce().

586  {
589  std::unique_ptr<std::vector<reco::PFCandidatePtr> > aPtrs{ new std::vector<reco::PFCandidatePtr>{}};
590  aPtrs->reserve(isolationPFChargedHadrCands_.size());
591  for (unsigned int i = 0; i < isolationPFChargedHadrCands_.size(); i++) {
593  }
595  }
597  } else {
599  // this part of code is called when reading from patTuple or miniAOD
600  // it returns empty collection in correct format so it can be substituted by reco::Candidates if available
601  std::unique_ptr<std::vector<reco::PFCandidatePtr> > aPtrs{new std::vector<reco::PFCandidatePtr>{}};
605  }
606 }
int i
Definition: DBlmapReader.cc:9
std::vector< reco::PFCandidatePtr > selectedIsolationPFChargedHadrCands_
Definition: TauPFSpecific.h:39
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > isolationPFChargedHadrCandsTransientPtrs_
Definition: Tau.h:461
bool embeddedIsolationPFChargedHadrCands_
Definition: Tau.h:460
const pat::tau::TauPFSpecific & pfSpecific() const
return PFTau info or throw exception &#39;not PFTau&#39;
Definition: Tau.cc:247
bool isSet() const
bool set(std::unique_ptr< T > iNewValue) const
std::vector< reco::PFCandidate > isolationPFChargedHadrCands_
Definition: Tau.h:459
std::vector< pat::tau::TauPFSpecific > pfSpecific_
holder for PFTau info, or empty vector if CaloTau
Definition: Tau.h:477
float pat::Tau::isolationPFChargedHadrCandsPtSum ( ) const
inline

Method copied from reco::PFTau. Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 218 of file Tau.h.

References pat::tau::TauPFSpecific::isolationPFChargedHadrCandsPtSum_, and pfSpecific().

const pat::tau::TauPFSpecific & pfSpecific() const
return PFTau info or throw exception &#39;not PFTau&#39;
Definition: Tau.cc:247
float isolationPFChargedHadrCandsPtSum_
Definition: TauPFSpecific.h:44
const std::vector< reco::PFCandidatePtr > & Tau::isolationPFGammaCands ( ) const

Method copied from reco::PFTau. Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 630 of file Tau.cc.

References embeddedIsolationPFGammaCands_, i, isolationPFGammaCands_, isolationPFGammaCandsTransientPtrs_, edm::AtomicPtrCache< T >::isSet(), pfSpecific(), pfSpecific_, pat::tau::TauPFSpecific::selectedIsolationPFGammaCands_, and edm::AtomicPtrCache< T >::set().

Referenced by isolationGammaCands(), and pat::PATTauSlimmer::produce().

630  {
633  std::unique_ptr<std::vector<reco::PFCandidatePtr> > aPtrs{new std::vector<reco::PFCandidatePtr>{}};
634  aPtrs->reserve(isolationPFGammaCands_.size());
635  for (unsigned int i = 0; i < isolationPFGammaCands_.size(); i++) {
636  aPtrs->push_back(reco::PFCandidatePtr(&isolationPFGammaCands_, i) );
637  }
638  isolationPFGammaCandsTransientPtrs_.set(std::move(aPtrs));
639  }
641  } else {
642  if(pfSpecific_.empty() || pfSpecific().selectedIsolationPFGammaCands_.empty() || !pfSpecific().selectedIsolationPFGammaCands_.front().isAvailable()){
643  // this part of code is called when reading from patTuple or miniAOD
644  // it returns empty collection in correct format so it can be substituted by reco::Candidates if available
645  std::unique_ptr<std::vector<reco::PFCandidatePtr> > aPtrs{new std::vector<reco::PFCandidatePtr>{}};
646  isolationPFGammaCandsTransientPtrs_.set(std::move(aPtrs));
649  }
650 }
int i
Definition: DBlmapReader.cc:9
std::vector< reco::PFCandidate > isolationPFGammaCands_
Definition: Tau.h:465
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > isolationPFGammaCandsTransientPtrs_
Definition: Tau.h:467
const pat::tau::TauPFSpecific & pfSpecific() const
return PFTau info or throw exception &#39;not PFTau&#39;
Definition: Tau.cc:247
bool isSet() const
bool embeddedIsolationPFGammaCands_
Definition: Tau.h:466
std::vector< reco::PFCandidatePtr > selectedIsolationPFGammaCands_
Definition: TauPFSpecific.h:41
bool set(std::unique_ptr< T > iNewValue) const
std::vector< pat::tau::TauPFSpecific > pfSpecific_
holder for PFTau info, or empty vector if CaloTau
Definition: Tau.h:477
float pat::Tau::isolationPFGammaCandsEtSum ( ) const
inline

Method copied from reco::PFTau. Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 221 of file Tau.h.

References pat::tau::TauPFSpecific::isolationPFGammaCandsEtSum_, and pfSpecific().

const pat::tau::TauPFSpecific & pfSpecific() const
return PFTau info or throw exception &#39;not PFTau&#39;
Definition: Tau.cc:247
const std::vector< reco::PFCandidatePtr > & Tau::isolationPFNeutrHadrCands ( ) const

Method copied from reco::PFTau. Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 608 of file Tau.cc.

References embeddedIsolationPFNeutralHadrCands_, i, isolationPFNeutralHadrCands_, isolationPFNeutralHadrCandsTransientPtrs_, edm::AtomicPtrCache< T >::isSet(), pfSpecific(), pfSpecific_, pat::tau::TauPFSpecific::selectedIsolationPFNeutrHadrCands_, and edm::AtomicPtrCache< T >::set().

Referenced by isolationNeutrHadrCands(), and pat::PATTauSlimmer::produce().

608  {
611  std::unique_ptr<std::vector<reco::PFCandidatePtr> > aPtrs{ new std::vector<reco::PFCandidatePtr>{}};
612  aPtrs->reserve(isolationPFNeutralHadrCands_.size());
613  for (unsigned int i = 0; i < isolationPFNeutralHadrCands_.size(); i++) {
615  }
617  }
619  } else {
621  // this part of code is called when reading from patTuple or miniAOD
622  // it returns empty collection in correct format so it can be substituted by reco::Candidates if available
623  std::unique_ptr<std::vector<reco::PFCandidatePtr> > aPtrs{new std::vector<reco::PFCandidatePtr>{}};
627  }
628 }
int i
Definition: DBlmapReader.cc:9
std::vector< reco::PFCandidate > isolationPFNeutralHadrCands_
Definition: Tau.h:462
bool embeddedIsolationPFNeutralHadrCands_
Definition: Tau.h:463
const pat::tau::TauPFSpecific & pfSpecific() const
return PFTau info or throw exception &#39;not PFTau&#39;
Definition: Tau.cc:247
bool isSet() const
std::vector< reco::PFCandidatePtr > selectedIsolationPFNeutrHadrCands_
Definition: TauPFSpecific.h:40
bool set(std::unique_ptr< T > iNewValue) const
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > isolationPFNeutralHadrCandsTransientPtrs_
Definition: Tau.h:464
std::vector< pat::tau::TauPFSpecific > pfSpecific_
holder for PFTau info, or empty vector if CaloTau
Definition: Tau.h:477
const std::vector< reco::RecoTauPiZero > & Tau::isolationPiZeroCandidates ( ) const

Method copied from reco::PFTau. Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 657 of file Tau.cc.

References pat::tau::TauPFSpecific::isolationPiZeroCandidates_, pfSpecific(), and pfSpecific_.

657  {
658  if(pfSpecific_.empty()) throw cms::Exception("Type Error") << "Requesting content that is not stored in miniAOD.\n";
660 }
const pat::tau::TauPFSpecific & pfSpecific() const
return PFTau info or throw exception &#39;not PFTau&#39;
Definition: Tau.cc:247
std::vector< reco::RecoTauPiZero > isolationPiZeroCandidates_
Definition: TauPFSpecific.h:43
std::vector< pat::tau::TauPFSpecific > pfSpecific_
holder for PFTau info, or empty vector if CaloTau
Definition: Tau.h:477
const std::vector< reco::PFRecoTauChargedHadron > & Tau::isolationTauChargedHadronCandidates ( ) const

Method copied from reco::PFTau. Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 652 of file Tau.cc.

References pat::tau::TauPFSpecific::isolationTauChargedHadronCandidates_, pfSpecific(), and pfSpecific_.

652  {
653  if(pfSpecific_.empty()) throw cms::Exception("Type Error") << "Requesting content that is not stored in miniAOD.\n";
655 }
const pat::tau::TauPFSpecific & pfSpecific() const
return PFTau info or throw exception &#39;not PFTau&#39;
Definition: Tau.cc:247
std::vector< reco::PFRecoTauChargedHadron > isolationTauChargedHadronCandidates_
Definition: TauPFSpecific.h:42
std::vector< pat::tau::TauPFSpecific > pfSpecific_
holder for PFTau info, or empty vector if CaloTau
Definition: Tau.h:477
const reco::TrackRefVector & Tau::isolationTracks ( ) const
virtual

override the reco::BaseTau::isolationTracks method, to access the internal storage of the isolation tracks

override the reco::BaseTau::isolationTracks method, to access the internal storage of the track

Reimplemented from reco::BaseTau.

Definition at line 135 of file Tau.cc.

References embeddedIsolationTracks_, i, reco::BaseTau::isolationTracks(), isolationTracks_, isolationTracksTransientRefVector_, edm::AtomicPtrCache< T >::isSet(), edm::RefVector< C, T, F >::reserve(), and edm::AtomicPtrCache< T >::set().

135  {
138  std::unique_ptr<reco::TrackRefVector> trackRefVec{ new reco::TrackRefVector{}};
139  trackRefVec->reserve(isolationTracks_.size());
140  for (unsigned int i = 0; i < isolationTracks_.size(); i++) {
141  trackRefVec->push_back(reco::TrackRef(&isolationTracks_, i));
142  }
143  isolationTracksTransientRefVector_.set(std::move(trackRefVec));
144  }
146  } else {
148  }
149 }
int i
Definition: DBlmapReader.cc:9
virtual const reco::TrackRefVector & isolationTracks() const
Definition: BaseTau.cc:30
bool isSet() const
edm::AtomicPtrCache< reco::TrackRefVector > isolationTracksTransientRefVector_
Definition: Tau.h:430
void reserve(size_type n)
Reserve space for RefVector.
Definition: RefVector.h:95
std::vector< reco::Track > isolationTracks_
Definition: Tau.h:429
bool set(std::unique_ptr< T > iNewValue) const
bool embeddedIsolationTracks_
Definition: Tau.h:428
float pat::Tau::isolationTracksPtSum ( ) const
inline

Method copied from reco::CaloTau. Throws an exception if this pat::Tau was not made from a reco::CaloTau

Definition at line 148 of file Tau.h.

References caloSpecific(), and pat::tau::TauCaloSpecific::isolationTracksPtSum_.

const pat::tau::TauCaloSpecific & caloSpecific() const
return CaloTau info or throw exception &#39;not CaloTau&#39;
Definition: Tau.cc:258
bool pat::Tau::isPFTau ( ) const
inline
bool Tau::isTauIDAvailable ( const std::string &  name) const

Returns true if a specific ID is available in this pat::Tau.

Definition at line 239 of file Tau.cc.

References tauIDs_.

239  {
240  for (std::vector<IdPair>::const_iterator it = tauIDs_.begin(), ed = tauIDs_.end(); it != ed; ++it) {
241  if (it->first == name) return true;
242  }
243  return false;
244 }
std::vector< IdPair > tauIDs_
Definition: Tau.h:473
float Tau::jecFactor ( const std::string &  level,
const std::string &  set = "" 
) const

correction factor to the given level for a specific set of correction factors, starting from the current level

Definition at line 701 of file Tau.cc.

References edm::hlt::Exception, customizeTrackingMonitorSeedNumber::idx, and jec_.

Referenced by correctedTauJet().

702 {
703  for ( unsigned int idx = 0; idx < jec_.size(); ++idx ) {
704  if ( set.empty() || jec_.at(idx).jecSet() == set ){
705  if ( jec_[idx].jecLevel(level) >= 0 )
706  return jecFactor(jec_[idx].jecLevel(level), idx);
707  else
708  throw cms::Exception("InvalidRequest")
709  << "This JEC level " << level << " does not exist. \n";
710  }
711  }
712  throw cms::Exception("InvalidRequest")
713  << "This jet does not carry any jet energy correction factor information \n"
714  << "for a jet energy correction set with label " << set << "\n";
715 }
std::vector< pat::TauJetCorrFactors > jec_
Definition: Tau.h:487
tuple idx
DEBUGGING if hasattr(process,&quot;trackMonIterativeTracking2012&quot;): print &quot;trackMonIterativeTracking2012 D...
float jecFactor(const std::string &level, const std::string &set="") const
Definition: Tau.cc:701
tuple level
Definition: testEve_cfg.py:34
float Tau::jecFactor ( const unsigned int &  level,
const unsigned int &  set = 0 
) const

correction factor to the given level for a specific set of correction factors, starting from the current level

Definition at line 719 of file Tau.cc.

References currentJECLevel_, currentJECSet_, edm::hlt::Exception, jec_, jecSetAvailable(), and jecSetsAvailable().

720 {
721  if ( !jecSetsAvailable() )
722  throw cms::Exception("InvalidRequest")
723  << "This jet does not carry any jet energy correction factor information \n";
724  if ( !jecSetAvailable(set) )
725  throw cms::Exception("InvalidRequest")
726  << "This jet does not carry any jet energy correction factor information \n"
727  << "for a jet energy correction set with index " << set << "\n";
728  return jec_.at(set).correction(level)/jec_.at(currentJECSet_).correction(currentJECLevel_);
729 }
bool jecSetAvailable(const std::string &set) const
Definition: Tau.h:373
unsigned int currentJECLevel_
Definition: Tau.h:492
std::vector< pat::TauJetCorrFactors > jec_
Definition: Tau.h:487
bool jecSetsAvailable() const
Definition: Tau.h:370
tuple level
Definition: testEve_cfg.py:34
unsigned int currentJECSet_
Definition: Tau.h:490
int Tau::jecSet ( const std::string &  label) const
protected

return true if this jet carries the jet correction factors of a different set, for systematic studies

index of the set of jec factors with given label; returns -1 if no set of jec factors exists with the given label

Definition at line 674 of file Tau.cc.

References jec_.

Referenced by availableJECLevels(), and jecSetAvailable().

675 {
676  for ( std::vector<pat::TauJetCorrFactors>::const_iterator corrFactor = jec_.begin();
677  corrFactor != jec_.end(); ++corrFactor ) {
678  if ( corrFactor->jecSet() == set ) return corrFactor-jec_.begin();
679  }
680  return -1;
681 }
std::vector< pat::TauJetCorrFactors > jec_
Definition: Tau.h:487
bool pat::Tau::jecSetAvailable ( const std::string &  set) const
inline

returns true if the jet carries a set of jet energy correction factors with the given label

Definition at line 373 of file Tau.h.

References jecSet().

Referenced by jecFactor().

373 {return (jecSet(set) >= 0); };
int jecSet(const std::string &label) const
return true if this jet carries the jet correction factors of a different set, for systematic studies...
Definition: Tau.cc:674
bool pat::Tau::jecSetAvailable ( const unsigned int &  set) const
inline

returns true if the jet carries a set of jet energy correction factors with the given label

Definition at line 376 of file Tau.h.

References jec_.

376 {return (set < jec_.size()); };
std::vector< pat::TauJetCorrFactors > jec_
Definition: Tau.h:487
bool pat::Tau::jecSetsAvailable ( ) const
inline

returns true if the jet carries jet energy correction information at all

Definition at line 370 of file Tau.h.

References jec_.

Referenced by jecFactor().

370 { return !jec_.empty(); }
std::vector< pat::TauJetCorrFactors > jec_
Definition: Tau.h:487
const reco::CandidatePtr Tau::leadCand ( ) const

return the PFCandidate if available (reference or embedded), or the PackedPFCandidate on miniAOD

Definition at line 792 of file Tau.cc.

References ExistSignalCands(), edm::Ptr< T >::isAvailable(), leadPFCand(), and signalCands().

792  {
793  const reco::PFCandidatePtr leadPF = leadPFCand();
794  if (leadPF.isAvailable() || !Tau::ExistSignalCands()) return leadPF;
795  else return Tau::signalCands()[0];
796 }
const reco::PFCandidatePtr leadPFCand() const
Definition: Tau.cc:458
reco::CandidatePtrVector signalCands() const
Definition: Tau.cc:811
bool ExistSignalCands() const
check that there is at least one non-zero collection of candidate ptrs
Definition: Tau.cc:800
bool isAvailable() const
Definition: Ptr.h:158
const reco::CandidatePtr Tau::leadChargedHadrCand ( ) const

--— Methods returning associated PFCandidates that work on PAT+AOD, PAT+embedding and miniAOD --— return the PFCandidate if available (reference or embedded), or the PackedPFCandidate on miniAOD

Definition at line 768 of file Tau.cc.

References edm::Ptr< T >::isAvailable(), edm::PtrVectorBase::isNull(), edm::Ptr< T >::isNull(), leadPFChargedHadrCand(), reco::LeafCandidate::p(), run_regression::ret, and signalChargedHadrCandPtrs_.

768  {
770  if (leadPF.isAvailable() || signalChargedHadrCandPtrs_.isNull()) return leadPF;
773  if (ret.isNull() || (p->pt() > ret->pt())) ret = p;
774  }
775  return ret;
776 
777 }
virtual double p() const
magnitude of momentum vector
bool isNull() const
Checks for null.
Definition: PtrVectorBase.h:46
bool isNull() const
Checks for null.
Definition: Ptr.h:148
const reco::PFCandidatePtr leadPFChargedHadrCand() const
Definition: Tau.cc:442
bool isAvailable() const
Definition: Ptr.h:158
reco::CandidatePtrVector signalChargedHadrCandPtrs_
Definition: Tau.h:495
const reco::CandidatePtr Tau::leadNeutralCand ( ) const

return the PFCandidate if available (reference or embedded), or the PackedPFCandidate on miniAOD

Definition at line 780 of file Tau.cc.

References edm::Ptr< T >::isAvailable(), edm::PtrVectorBase::isNull(), edm::Ptr< T >::isNull(), leadPFNeutralCand(), reco::LeafCandidate::p(), run_regression::ret, and signalNeutralHadrCandPtrs_.

780  {
781  const reco::PFCandidatePtr leadPF = leadPFNeutralCand();
782  if (leadPF.isAvailable() || signalNeutralHadrCandPtrs_.isNull()) return leadPF;
785  if (ret.isNull() || (p->pt() > ret->pt())) ret = p;
786  }
787  return ret;
788 
789 }
virtual double p() const
magnitude of momentum vector
bool isNull() const
Checks for null.
Definition: PtrVectorBase.h:46
reco::CandidatePtrVector signalNeutralHadrCandPtrs_
Definition: Tau.h:496
bool isNull() const
Checks for null.
Definition: Ptr.h:148
bool isAvailable() const
Definition: Ptr.h:158
const reco::PFCandidatePtr leadPFNeutralCand() const
Definition: Tau.cc:450
const reco::PFCandidatePtr Tau::leadPFCand ( ) const

Method copied from reco::PFTau. Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 458 of file Tau.cc.

References embeddedLeadPFCand_, pat::tau::TauPFSpecific::leadPFCand_, leadPFCand_, pfSpecific(), and pfSpecific_.

Referenced by leadCand().

458  {
459  if(!embeddedLeadPFCand_){
460  if(pfSpecific_.empty()) return reco::PFCandidatePtr();
461  return pfSpecific().leadPFCand_;
462  }else
464 }
reco::PFCandidatePtr leadPFCand_
Definition: TauPFSpecific.h:31
const pat::tau::TauPFSpecific & pfSpecific() const
return PFTau info or throw exception &#39;not PFTau&#39;
Definition: Tau.cc:247
std::vector< reco::PFCandidate > leadPFCand_
Definition: Tau.h:437
bool embeddedLeadPFCand_
Definition: Tau.h:438
edm::Ptr< PFCandidate > PFCandidatePtr
persistent Ptr to a PFCandidate
std::vector< pat::tau::TauPFSpecific > pfSpecific_
holder for PFTau info, or empty vector if CaloTau
Definition: Tau.h:477
const reco::PFCandidatePtr Tau::leadPFChargedHadrCand ( ) const

Method copied from reco::PFTau. Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 442 of file Tau.cc.

References embeddedLeadPFChargedHadrCand_, pat::tau::TauPFSpecific::leadPFChargedHadrCand_, leadPFChargedHadrCand_, pfSpecific(), and pfSpecific_.

Referenced by leadChargedHadrCand().

442  {
444  if(pfSpecific_.empty()) return reco::PFCandidatePtr();
445  else return pfSpecific().leadPFChargedHadrCand_;
446  }else
448 }
reco::PFCandidatePtr leadPFChargedHadrCand_
Definition: TauPFSpecific.h:28
const pat::tau::TauPFSpecific & pfSpecific() const
return PFTau info or throw exception &#39;not PFTau&#39;
Definition: Tau.cc:247
bool embeddedLeadPFChargedHadrCand_
Definition: Tau.h:440
std::vector< reco::PFCandidate > leadPFChargedHadrCand_
Definition: Tau.h:439
edm::Ptr< PFCandidate > PFCandidatePtr
persistent Ptr to a PFCandidate
std::vector< pat::tau::TauPFSpecific > pfSpecific_
holder for PFTau info, or empty vector if CaloTau
Definition: Tau.h:477
float pat::Tau::leadPFChargedHadrCandsignedSipt ( ) const
inline

Method copied from reco::PFTau. Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 173 of file Tau.h.

References pat::tau::TauPFSpecific::leadPFChargedHadrCandsignedSipt_, and pfSpecific().

float leadPFChargedHadrCandsignedSipt_
Definition: TauPFSpecific.h:29
const pat::tau::TauPFSpecific & pfSpecific() const
return PFTau info or throw exception &#39;not PFTau&#39;
Definition: Tau.cc:247
const reco::PFCandidatePtr Tau::leadPFNeutralCand ( ) const

Method copied from reco::PFTau. Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 450 of file Tau.cc.

References embeddedLeadPFNeutralCand_, pat::tau::TauPFSpecific::leadPFNeutralCand_, leadPFNeutralCand_, pfSpecific(), and pfSpecific_.

Referenced by leadNeutralCand().

450  {
452  if(pfSpecific_.empty()) return reco::PFCandidatePtr();
453  else return pfSpecific().leadPFNeutralCand_;
454  }else
456 }
bool embeddedLeadPFNeutralCand_
Definition: Tau.h:442
std::vector< reco::PFCandidate > leadPFNeutralCand_
Definition: Tau.h:441
const pat::tau::TauPFSpecific & pfSpecific() const
return PFTau info or throw exception &#39;not PFTau&#39;
Definition: Tau.cc:247
reco::PFCandidatePtr leadPFNeutralCand_
Definition: TauPFSpecific.h:30
edm::Ptr< PFCandidate > PFCandidatePtr
persistent Ptr to a PFCandidate
std::vector< pat::tau::TauPFSpecific > pfSpecific_
holder for PFTau info, or empty vector if CaloTau
Definition: Tau.h:477
reco::PFRecoTauChargedHadronRef Tau::leadTauChargedHadronCandidate ( ) const

Method copied from reco::PFTau. Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 433 of file Tau.cc.

References edm::hlt::Exception, isPFTau(), and pfSpecific().

433  {
434  if(!isPFTau() ) throw cms::Exception("Type Error") << "Requesting content that is not stored in miniAOD.\n";
435  if ( pfSpecific().signalTauChargedHadronCandidates_.size() > 0 ) {
436  return reco::PFRecoTauChargedHadronRef(&pfSpecific().signalTauChargedHadronCandidates_,0);
437  } else {
439  }
440 }
const pat::tau::TauPFSpecific & pfSpecific() const
return PFTau info or throw exception &#39;not PFTau&#39;
Definition: Tau.cc:247
edm::Ref< PFRecoTauChargedHadronCollection > PFRecoTauChargedHadronRef
presistent reference to a PFRecoTauChargedHadron
bool isPFTau() const
Returns true if this pat::Tau was made from a reco::PFTau.
Definition: Tau.h:158
reco::TrackRef Tau::leadTrack ( ) const
virtual

override the reco::BaseTau::leadTrack method, to access the internal storage of the leading track

override the reco::BaseTau::track method, to access the internal storage of the track

Reimplemented from reco::BaseTau.

Definition at line 153 of file Tau.cc.

References embeddedLeadTrack_, reco::BaseTau::leadTrack(), and leadTrack_.

153  {
154  if (embeddedLeadTrack_) {
155  return reco::TrackRef(&leadTrack_, 0);
156  } else {
157  return reco::BaseTau::leadTrack();
158  }
159 }
virtual reco::TrackRef leadTrack() const
Definition: BaseTau.cc:26
bool embeddedLeadTrack_
Definition: Tau.h:431
edm::Ref< TrackCollection > TrackRef
persistent reference to a Track
Definition: TrackFwd.h:14
std::vector< reco::Track > leadTrack_
Definition: Tau.h:432
float pat::Tau::leadTrackHCAL3x3hitsEtSum ( ) const
inline

Method copied from reco::CaloTau. Throws an exception if this pat::Tau was not made from a reco::CaloTau

Definition at line 136 of file Tau.h.

References caloSpecific(), and pat::tau::TauCaloSpecific::leadTrackHCAL3x3hitsEtSum_.

const pat::tau::TauCaloSpecific & caloSpecific() const
return CaloTau info or throw exception &#39;not CaloTau&#39;
Definition: Tau.cc:258
float pat::Tau::leadTrackHCAL3x3hottesthitDEta ( ) const
inline

Method copied from reco::CaloTau. Throws an exception if this pat::Tau was not made from a reco::CaloTau

Definition at line 139 of file Tau.h.

References caloSpecific(), and pat::tau::TauCaloSpecific::leadTrackHCAL3x3hottesthitDEta_.

const pat::tau::TauCaloSpecific & caloSpecific() const
return CaloTau info or throw exception &#39;not CaloTau&#39;
Definition: Tau.cc:258
float pat::Tau::leadTracksignedSipt ( ) const
inline

Method copied from reco::CaloTau. Throws an exception if this pat::Tau was not made from a reco::CaloTau

Definition at line 133 of file Tau.h.

References caloSpecific(), and pat::tau::TauCaloSpecific::leadTracksignedSipt_.

const pat::tau::TauCaloSpecific & caloSpecific() const
return CaloTau info or throw exception &#39;not CaloTau&#39;
Definition: Tau.cc:258
float pat::Tau::maximumHCALhitEt ( ) const
inline

Method copied from reco::CaloTau. Throws an exception if this pat::Tau was not made from a reco::CaloTau

Definition at line 154 of file Tau.h.

References caloSpecific(), and pat::tau::TauCaloSpecific::maximumHCALhitEt_.

154 { return caloSpecific().maximumHCALhitEt_; }
const pat::tau::TauCaloSpecific & caloSpecific() const
return CaloTau info or throw exception &#39;not CaloTau&#39;
Definition: Tau.cc:258
float pat::Tau::maximumHCALPFClusterEt ( ) const
inline

Method copied from reco::PFTau. Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 224 of file Tau.h.

References pat::tau::TauPFSpecific::maximumHCALPFClusterEt_, and pfSpecific().

const pat::tau::TauPFSpecific & pfSpecific() const
return PFTau info or throw exception &#39;not PFTau&#39;
Definition: Tau.cc:247
bool pat::Tau::muonDecision ( ) const
inline

Method copied from reco::PFTau. Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 260 of file Tau.h.

References pat::tau::TauPFSpecific::muonDecision_, and pfSpecific().

260 { return pfSpecific().muonDecision_; }
const pat::tau::TauPFSpecific & pfSpecific() const
return PFTau info or throw exception &#39;not PFTau&#39;
Definition: Tau.cc:247
size_t Tau::numberOfSourceCandidatePtrs ( ) const
virtual

--— Top Projection business ----— get the number of non-null PFCandidates

Reimplemented from reco::LeafCandidate.

Definition at line 945 of file Tau.cc.

References ExistSignalCands(), pfSpecific(), pfSpecific_, pat::tau::TauPFSpecific::selectedSignalPFCands_, signalCands(), and edm::PtrVectorBase::size().

945  {
946  if (Tau::ExistSignalCands()) return Tau::signalCands().size();
947  else if(pfSpecific_.empty()) return 0;
948  else return pfSpecific().selectedSignalPFCands_.size();
949 }
size_type size() const
Size of the RefVector.
Definition: PtrVectorBase.h:73
reco::CandidatePtrVector signalCands() const
Definition: Tau.cc:811
const pat::tau::TauPFSpecific & pfSpecific() const
return PFTau info or throw exception &#39;not PFTau&#39;
Definition: Tau.cc:247
std::vector< reco::PFCandidatePtr > selectedSignalPFCands_
Definition: TauPFSpecific.h:32
bool ExistSignalCands() const
check that there is at least one non-zero collection of candidate ptrs
Definition: Tau.cc:800
std::vector< pat::tau::TauPFSpecific > pfSpecific_
holder for PFTau info, or empty vector if CaloTau
Definition: Tau.h:477
const reco::Candidate::LorentzVector & Tau::p4Jet ( ) const

Methods copied from reco::Jet. (accessible from reco::CaloTau/reco::PFTau via reco::CaloTauTagInfo/reco::PFTauTagInfo)

Definition at line 263 of file Tau.cc.

References caloSpecific(), edm::hlt::Exception, isCaloTau(), isPFTau(), pat::tau::TauPFEssential::p4Jet_, pat::tau::TauCaloSpecific::p4Jet_, and pfEssential().

264 {
265  if ( isCaloTau() ) return caloSpecific().p4Jet_;
266  if ( isPFTau() ) return pfEssential().p4Jet_;
267  throw cms::Exception("Type Error") << "Requesting a CaloTau/PFTau-specific information from a pat::Tau which wasn't made from either a CaloTau or a PFTau.\n";
268 }
const pat::tau::TauCaloSpecific & caloSpecific() const
return CaloTau info or throw exception &#39;not CaloTau&#39;
Definition: Tau.cc:258
reco::Candidate::LorentzVector p4Jet_
bool isCaloTau() const
Returns true if this pat::Tau was made from a reco::CaloTau.
Definition: Tau.h:125
const pat::tau::TauPFEssential & pfEssential() const
Definition: Tau.cc:252
bool isPFTau() const
Returns true if this pat::Tau was made from a reco::PFTau.
Definition: Tau.h:158
reco::Candidate::LorentzVector p4Jet_
const pat::tau::TauPFEssential & Tau::pfEssential ( ) const

Definition at line 252 of file Tau.cc.

References pfEssential_.

Referenced by decayMode(), dxy(), dxy_error(), dxy_PCA(), dxy_Sig(), flightLength(), flightLengthSig(), hasSecondaryVertex(), p4Jet(), primaryVertex(), primaryVertexCov(), primaryVertexPos(), secondaryVertex(), secondaryVertexCov(), and secondaryVertexPos().

252  {
253  if (pfEssential_.empty()) throw cms::Exception("Type Error") << "Requesting a PFTau-specific information from a pat::Tau which wasn't made from a PFTau.\n";
254  return pfEssential_[0];
255 }
std::vector< pat::tau::TauPFEssential > pfEssential_
Definition: Tau.h:505
const reco::PFJetRef& pat::Tau::pfJetRef ( ) const
inline

Method copied from reco::PFTau. Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 164 of file Tau.h.

References pat::tau::TauPFSpecific::pfJetRef_, and pfSpecific().

164 { return pfSpecific().pfJetRef_; }
const pat::tau::TauPFSpecific & pfSpecific() const
return PFTau info or throw exception &#39;not PFTau&#39;
Definition: Tau.cc:247
reco::PFJetRef pfJetRef_
Definition: TauPFSpecific.h:27
const pat::tau::TauPFSpecific & Tau::pfSpecific ( ) const

return PFTau info or throw exception 'not PFTau'

Definition at line 247 of file Tau.cc.

References edm::hlt::Exception, isPFTau(), and pfSpecific_.

Referenced by bremsRecoveryEOverPLead(), caloComp(), ecalStripSumEOverPLead(), electronPreIDDecision(), electronPreIDOutput(), electronPreIDTrack(), emFraction(), etaetaMoment(), etaphiMoment(), hcal3x3OverPLead(), hcalMaxOverPLead(), hcalTotOverPLead(), isolationPFCands(), isolationPFChargedHadrCands(), isolationPFChargedHadrCandsPtSum(), isolationPFGammaCands(), isolationPFGammaCandsEtSum(), isolationPFNeutrHadrCands(), isolationPiZeroCandidates(), isolationTauChargedHadronCandidates(), leadPFCand(), leadPFChargedHadrCand(), leadPFChargedHadrCandsignedSipt(), leadPFNeutralCand(), leadTauChargedHadronCandidate(), maximumHCALPFClusterEt(), muonDecision(), numberOfSourceCandidatePtrs(), pfJetRef(), phiphiMoment(), segComp(), signalPFCands(), signalPFChargedHadrCands(), signalPFGammaCands(), signalPFNeutrHadrCands(), signalPiZeroCandidates(), signalTauChargedHadronCandidates(), and sourceCandidatePtr().

247  {
248  if (!isPFTau()) throw cms::Exception("Type Error") << "Requesting a PFTau-specific information from a pat::Tau which wasn't made from a PFTau.\n";
249  return pfSpecific_[0];
250 }
bool isPFTau() const
Returns true if this pat::Tau was made from a reco::PFTau.
Definition: Tau.h:158
std::vector< pat::tau::TauPFSpecific > pfSpecific_
holder for PFTau info, or empty vector if CaloTau
Definition: Tau.h:477
float Tau::phiphiMoment ( ) const

Definition at line 296 of file Tau.cc.

References caloSpecific(), edm::hlt::Exception, isCaloTau(), isPFTau(), pfSpecific(), pat::tau::TauCaloSpecific::phiphiMoment_, and pat::tau::TauPFSpecific::phiphiMoment_.

297 {
298  if ( isCaloTau() ) return caloSpecific().phiphiMoment_;
299  if ( isPFTau() ) return pfSpecific().phiphiMoment_;
300  throw cms::Exception("Type Error") << "Requesting a CaloTau/PFTau-specific information from a pat::Tau which wasn't made from either a CaloTau or a PFTau.\n";
301 }
const pat::tau::TauCaloSpecific & caloSpecific() const
return CaloTau info or throw exception &#39;not CaloTau&#39;
Definition: Tau.cc:258
const pat::tau::TauPFSpecific & pfSpecific() const
return PFTau info or throw exception &#39;not PFTau&#39;
Definition: Tau.cc:247
bool isCaloTau() const
Returns true if this pat::Tau was made from a reco::CaloTau.
Definition: Tau.h:125
bool isPFTau() const
Returns true if this pat::Tau was made from a reco::PFTau.
Definition: Tau.h:158
const reco::VertexRef& pat::Tau::primaryVertex ( ) const
inline

Definition at line 318 of file Tau.h.

References pfEssential(), and pat::tau::TauPFEssential::pv_.

318 { return pfEssential().pv_; }
const pat::tau::TauPFEssential & pfEssential() const
Definition: Tau.cc:252
const reco::PFTauTransverseImpactParameter::CovMatrix& pat::Tau::primaryVertexCov ( ) const
inline

Definition at line 320 of file Tau.h.

References pfEssential(), and pat::tau::TauPFEssential::pvCov_.

Referenced by flightLengthCov().

320 { return pfEssential().pvCov_; }
const pat::tau::TauPFEssential & pfEssential() const
Definition: Tau.cc:252
reco::PFTauTransverseImpactParameter::CovMatrix pvCov_
const reco::PFTauTransverseImpactParameter::Point& pat::Tau::primaryVertexPos ( ) const
inline

Definition at line 319 of file Tau.h.

References pfEssential(), and pat::tau::TauPFEssential::pvPos_.

319 { return pfEssential().pvPos_; }
reco::PFTauTransverseImpactParameter::Point pvPos_
const pat::tau::TauPFEssential & pfEssential() const
Definition: Tau.cc:252
const reco::VertexRef& pat::Tau::secondaryVertex ( ) const
inline

Definition at line 325 of file Tau.h.

References pfEssential(), and pat::tau::TauPFEssential::sv_.

325 { return pfEssential().sv_; }
const pat::tau::TauPFEssential & pfEssential() const
Definition: Tau.cc:252
const reco::PFTauTransverseImpactParameter::CovMatrix& pat::Tau::secondaryVertexCov ( ) const
inline

Definition at line 327 of file Tau.h.

References pfEssential(), and pat::tau::TauPFEssential::svCov_.

Referenced by flightLengthCov().

327 { return pfEssential().svCov_; }
reco::PFTauTransverseImpactParameter::CovMatrix svCov_
const pat::tau::TauPFEssential & pfEssential() const
Definition: Tau.cc:252
const reco::PFTauTransverseImpactParameter::Point& pat::Tau::secondaryVertexPos ( ) const
inline

Definition at line 326 of file Tau.h.

References pfEssential(), and pat::tau::TauPFEssential::svPos_.

326 { return pfEssential().svPos_; }
reco::PFTauTransverseImpactParameter::Point svPos_
const pat::tau::TauPFEssential & pfEssential() const
Definition: Tau.cc:252
float pat::Tau::segComp ( ) const
inline

Method copied from reco::PFTau. Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 257 of file Tau.h.

References pfSpecific(), and pat::tau::TauPFSpecific::segComp_.

257 { return pfSpecific().segComp_; }
const pat::tau::TauPFSpecific & pfSpecific() const
return PFTau info or throw exception &#39;not PFTau&#39;
Definition: Tau.cc:247
void Tau::setDecayMode ( int  decayMode)

set decay mode

Definition at line 310 of file Tau.cc.

References decayMode(), edm::hlt::Exception, isPFTau(), and pfEssential_.

Referenced by pat::PATTauProducer::produce().

311 {
312  if (!isPFTau()) throw cms::Exception("Type Error") << "Requesting a PFTau-specific information from a pat::Tau which wasn't made from a PFTau.\n";
313  pfEssential_[0].decayMode_ = decayMode;
314 }
std::vector< pat::tau::TauPFEssential > pfEssential_
Definition: Tau.h:505
int decayMode() const
reconstructed tau decay mode (specific to PFTau)
Definition: Tau.h:337
bool isPFTau() const
Returns true if this pat::Tau was made from a reco::PFTau.
Definition: Tau.h:158
void Tau::setGenJet ( const reco::GenJetRef ref)

set the matched GenJet

method to set the matched generated jet

Definition at line 213 of file Tau.cc.

References genJet_.

Referenced by pat::PATTauProducer::produce().

213  {
214  genJet_.clear();
215  genJet_.push_back(*gj);
216 }
std::vector< reco::GenJet > genJet_
Definition: Tau.h:470
void pat::Tau::setIsolationChargedHadrCands ( const reco::CandidatePtrVector ptrs)
inline

Definition at line 300 of file Tau.h.

References isolationChargedHadrCandPtrs_.

Referenced by pat::PATTauSlimmer::produce().

reco::CandidatePtrVector isolationChargedHadrCandPtrs_
Definition: Tau.h:499
void pat::Tau::setIsolationGammaCands ( const reco::CandidatePtrVector ptrs)
inline

Definition at line 302 of file Tau.h.

References isolationGammaCandPtrs_.

Referenced by pat::PATTauSlimmer::produce().

302 { isolationGammaCandPtrs_ = ptrs;}
reco::CandidatePtrVector isolationGammaCandPtrs_
Definition: Tau.h:501
void pat::Tau::setIsolationNeutralHadrCands ( const reco::CandidatePtrVector ptrs)
inline

Definition at line 301 of file Tau.h.

References isolationNeutralHadrCandPtrs_.

Referenced by pat::PATTauSlimmer::produce().

reco::CandidatePtrVector isolationNeutralHadrCandPtrs_
Definition: Tau.h:500
void pat::Tau::setSignalChargedHadrCands ( const reco::CandidatePtrVector ptrs)
inline

setters for the PtrVectors (for miniAOD)

Definition at line 297 of file Tau.h.

References signalChargedHadrCandPtrs_.

Referenced by pat::PATTauSlimmer::produce().

reco::CandidatePtrVector signalChargedHadrCandPtrs_
Definition: Tau.h:495
void pat::Tau::setSignalGammaCands ( const reco::CandidatePtrVector ptrs)
inline

Definition at line 299 of file Tau.h.

References signalGammaCandPtrs_.

Referenced by pat::PATTauSlimmer::produce().

299 { signalGammaCandPtrs_ = ptrs;}
reco::CandidatePtrVector signalGammaCandPtrs_
Definition: Tau.h:497
void pat::Tau::setSignalNeutralHadrCands ( const reco::CandidatePtrVector ptrs)
inline

Definition at line 298 of file Tau.h.

References signalNeutralHadrCandPtrs_.

Referenced by pat::PATTauSlimmer::produce().

reco::CandidatePtrVector signalNeutralHadrCandPtrs_
Definition: Tau.h:496
void pat::Tau::setTauIDs ( const std::vector< IdPair > &  ids)
inline

Store multiple tau ID values, discarding existing ones The first one in the list becomes the 'default' tau id

Definition at line 356 of file Tau.h.

References tauIDs_.

Referenced by pat::PATTauProducer::produce().

356 { tauIDs_ = ids; }
std::vector< IdPair > tauIDs_
Definition: Tau.h:473
reco::CandidatePtrVector Tau::signalCands ( ) const

return the PFCandidates if available (reference or embedded), or the PackedPFCandidate on miniAOD note that the vector is returned by value.

the isolationCands pointers are not saved in miniAOD, so the collection is created dynamically by glueing together 3 sub-collection and re-ordering

Definition at line 811 of file Tau.cc.

References ExistSignalCands(), first, reco::LeafCandidate::p(), edm::PtrVector< T >::push_back(), run_regression::ret, signalChargedHadrCandPtrs_, signalGammaCandPtrs_, signalNeutralHadrCandPtrs_, signalPFCands(), and python.multivaluedict::sort().

Referenced by leadCand(), numberOfSourceCandidatePtrs(), and sourceCandidatePtr().

811  {
812  std::vector<reco::PFCandidatePtr> r0 = signalPFCands();
814  if(!Tau::ExistSignalCands() || (!r0.empty() && r0.front().isAvailable())) {
815  for (const auto & p : r0) ret.push_back(p);
816  return ret;
817  } else {
820  std::vector<std::pair<float,size_t> > pt_index;
821  size_t index=0;
822  for (const auto & p : signalChargedHadrCandPtrs_){ ret2.push_back(p); pt_index.push_back(std::make_pair(p->pt(),index)); index++;}
823  for (const auto & p : signalNeutralHadrCandPtrs_){ ret2.push_back(p); pt_index.push_back(std::make_pair(p->pt(),index)); index++;}
824  for (const auto & p : signalGammaCandPtrs_){ ret2.push_back(p); pt_index.push_back(std::make_pair(p->pt(),index)); index++;}
825  std::sort(pt_index.begin(),pt_index.end(),
826  boost::bind(&std::pair<float,size_t>::first,_1) >
827  boost::bind(&std::pair<float,size_t>::first,_2));
828  for( const auto & p : pt_index){
829  ret.push_back(ret2[p.second]);
830  }
831  return ret;
832  }
833 }
virtual double p() const
magnitude of momentum vector
void push_back(Ptr< T > const &iPtr)
Definition: PtrVector.h:138
unsigned int index
Definition: LeafCandidate.h:36
bool first
Definition: L1TdeRCT.cc:75
bool ExistSignalCands() const
check that there is at least one non-zero collection of candidate ptrs
Definition: Tau.cc:800
reco::CandidatePtrVector signalGammaCandPtrs_
Definition: Tau.h:497
reco::CandidatePtrVector signalNeutralHadrCandPtrs_
Definition: Tau.h:496
const std::vector< reco::PFCandidatePtr > & signalPFCands() const
Definition: Tau.cc:466
reco::CandidatePtrVector signalChargedHadrCandPtrs_
Definition: Tau.h:495
reco::CandidatePtrVector Tau::signalChargedHadrCands ( ) const

return the PFCandidates if available (reference or embedded), or the PackedPFCandidate on miniAOD note that the vector is returned by value.

Definition at line 837 of file Tau.cc.

References edm::PtrVectorBase::isNull(), reco::LeafCandidate::p(), edm::PtrVector< T >::push_back(), run_regression::ret, signalChargedHadrCandPtrs_, and signalPFChargedHadrCands().

837  {
838  std::vector<reco::PFCandidatePtr> r0 = signalPFChargedHadrCands();
839  if(signalChargedHadrCandPtrs_.isNull() || (!r0.empty() && r0.front().isAvailable())) {
841  for (const auto & p : r0) ret.push_back(p);
842  return ret;
843  } else {
845  }
846 }
virtual double p() const
magnitude of momentum vector
bool isNull() const
Checks for null.
Definition: PtrVectorBase.h:46
void push_back(Ptr< T > const &iPtr)
Definition: PtrVector.h:138
const std::vector< reco::PFCandidatePtr > & signalPFChargedHadrCands() const
Definition: Tau.cc:488
reco::CandidatePtrVector signalChargedHadrCandPtrs_
Definition: Tau.h:495
reco::CandidatePtrVector Tau::signalGammaCands ( ) const

return the PFCandidates if available (reference or embedded), or the PackedPFCandidate on miniAOD note that the vector is returned by value.

Definition at line 864 of file Tau.cc.

References edm::PtrVectorBase::isNull(), reco::LeafCandidate::p(), edm::PtrVector< T >::push_back(), run_regression::ret, signalGammaCandPtrs_, and signalPFGammaCands().

864  {
865  std::vector<reco::PFCandidatePtr> r0 = signalPFGammaCands();
866  if(signalGammaCandPtrs_.isNull() || (!r0.empty() && r0.front().isAvailable())) {
868  for (const auto & p : r0) ret.push_back(p);
869  return ret;
870  } else {
871  return signalGammaCandPtrs_;
872  }
873 }
virtual double p() const
magnitude of momentum vector
bool isNull() const
Checks for null.
Definition: PtrVectorBase.h:46
void push_back(Ptr< T > const &iPtr)
Definition: PtrVector.h:138
reco::CandidatePtrVector signalGammaCandPtrs_
Definition: Tau.h:497
const std::vector< reco::PFCandidatePtr > & signalPFGammaCands() const
Definition: Tau.cc:532
reco::CandidatePtrVector Tau::signalNeutrHadrCands ( ) const

return the PFCandidates if available (reference or embedded), or the PackedPFCandidate on miniAOD note that the vector is returned by value.

Definition at line 851 of file Tau.cc.

References edm::PtrVectorBase::isNull(), reco::LeafCandidate::p(), edm::PtrVector< T >::push_back(), run_regression::ret, signalNeutralHadrCandPtrs_, and signalPFNeutrHadrCands().

851  {
852  std::vector<reco::PFCandidatePtr> r0 = signalPFNeutrHadrCands();
853  if(signalNeutralHadrCandPtrs_.isNull() || (!r0.empty() && r0.front().isAvailable())) {
855  for (const auto & p : r0) ret.push_back(p);
856  return ret;
857  } else {
859  }
860 }
virtual double p() const
magnitude of momentum vector
bool isNull() const
Checks for null.
Definition: PtrVectorBase.h:46
void push_back(Ptr< T > const &iPtr)
Definition: PtrVector.h:138
reco::CandidatePtrVector signalNeutralHadrCandPtrs_
Definition: Tau.h:496
const std::vector< reco::PFCandidatePtr > & signalPFNeutrHadrCands() const
Definition: Tau.cc:510
const std::vector< reco::PFCandidatePtr > & Tau::signalPFCands ( ) const

Method copied from reco::PFTau. Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 466 of file Tau.cc.

References embeddedSignalPFCands_, i, edm::AtomicPtrCache< T >::isSet(), pfSpecific(), pfSpecific_, pat::tau::TauPFSpecific::selectedSignalPFCands_, edm::AtomicPtrCache< T >::set(), signalPFCands_, and signalPFCandsTransientPtrs_.

Referenced by signalCands().

466  {
469  std::unique_ptr<std::vector<reco::PFCandidatePtr> > aPtrs{new std::vector<reco::PFCandidatePtr>{}};
470  aPtrs->reserve(signalPFCands_.size());
471  for (unsigned int i = 0; i < signalPFCands_.size(); i++) {
472  aPtrs->push_back(reco::PFCandidatePtr(&signalPFCands_, i) );
473  }
474  signalPFCandsTransientPtrs_.set(std::move(aPtrs));
475  }
477  } else {
478  if(pfSpecific_.empty() || pfSpecific().selectedSignalPFCands_.empty() || !pfSpecific().selectedSignalPFCands_.front().isAvailable()){
479  // this part of code is called when reading from patTuple or miniAOD
480  // it returns empty collection in correct format so it can be substituted by reco::Candidates if available
481  std::unique_ptr<std::vector<reco::PFCandidatePtr> > aPtrs{new std::vector<reco::PFCandidatePtr>{}};
482  signalPFCandsTransientPtrs_.set(std::move(aPtrs));
484  } else return pfSpecific().selectedSignalPFCands_;
485  }
486 }
int i
Definition: DBlmapReader.cc:9
std::vector< reco::PFCandidate > signalPFCands_
Definition: Tau.h:444
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > signalPFCandsTransientPtrs_
Definition: Tau.h:446
const pat::tau::TauPFSpecific & pfSpecific() const
return PFTau info or throw exception &#39;not PFTau&#39;
Definition: Tau.cc:247
bool isSet() const
std::vector< reco::PFCandidatePtr > selectedSignalPFCands_
Definition: TauPFSpecific.h:32
bool set(std::unique_ptr< T > iNewValue) const
bool embeddedSignalPFCands_
Definition: Tau.h:445
std::vector< pat::tau::TauPFSpecific > pfSpecific_
holder for PFTau info, or empty vector if CaloTau
Definition: Tau.h:477
const std::vector< reco::PFCandidatePtr > & Tau::signalPFChargedHadrCands ( ) const

Method copied from reco::PFTau. Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 488 of file Tau.cc.

References embeddedSignalPFChargedHadrCands_, i, edm::AtomicPtrCache< T >::isSet(), pfSpecific(), pfSpecific_, pat::tau::TauPFSpecific::selectedSignalPFChargedHadrCands_, edm::AtomicPtrCache< T >::set(), signalPFChargedHadrCands_, and signalPFChargedHadrCandsTransientPtrs_.

Referenced by pat::PATTauSlimmer::produce(), and signalChargedHadrCands().

488  {
491  std::unique_ptr<std::vector<reco::PFCandidatePtr> > aPtrs{ new std::vector<reco::PFCandidatePtr>{}};
492  aPtrs->reserve(signalPFChargedHadrCands_.size());
493  for (unsigned int i = 0; i < signalPFChargedHadrCands_.size(); i++) {
494  aPtrs->push_back(reco::PFCandidatePtr(&signalPFChargedHadrCands_, i) );
495  }
497  }
499  } else {
500  if(pfSpecific_.empty() || pfSpecific().selectedSignalPFChargedHadrCands_.empty() || !pfSpecific().selectedSignalPFChargedHadrCands_.front().isAvailable()){
501  // this part of code is called when reading from patTuple or miniAOD
502  // it returns empty collection in correct format so it can be substituted by reco::Candidates if available
503  std::unique_ptr<std::vector<reco::PFCandidatePtr> > aPtrs{new std::vector<reco::PFCandidatePtr>{}};
507  }
508 }
int i
Definition: DBlmapReader.cc:9
bool embeddedSignalPFChargedHadrCands_
Definition: Tau.h:448
const pat::tau::TauPFSpecific & pfSpecific() const
return PFTau info or throw exception &#39;not PFTau&#39;
Definition: Tau.cc:247
bool isSet() const
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > signalPFChargedHadrCandsTransientPtrs_
Definition: Tau.h:449
std::vector< reco::PFCandidate > signalPFChargedHadrCands_
Definition: Tau.h:447
std::vector< reco::PFCandidatePtr > selectedSignalPFChargedHadrCands_
Definition: TauPFSpecific.h:33
bool set(std::unique_ptr< T > iNewValue) const
std::vector< pat::tau::TauPFSpecific > pfSpecific_
holder for PFTau info, or empty vector if CaloTau
Definition: Tau.h:477
const std::vector< reco::PFCandidatePtr > & Tau::signalPFGammaCands ( ) const

Method copied from reco::PFTau. Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 532 of file Tau.cc.

References embeddedSignalPFGammaCands_, i, edm::AtomicPtrCache< T >::isSet(), pfSpecific(), pfSpecific_, pat::tau::TauPFSpecific::selectedSignalPFGammaCands_, edm::AtomicPtrCache< T >::set(), signalPFGammaCands_, and signalPFGammaCandsTransientPtrs_.

Referenced by pat::PATTauSlimmer::produce(), and signalGammaCands().

532  {
535  std::unique_ptr<std::vector<reco::PFCandidatePtr> > aPtrs{ new std::vector<reco::PFCandidatePtr>{}};
536  aPtrs->reserve(signalPFGammaCands_.size());
537  for (unsigned int i = 0; i < signalPFGammaCands_.size(); i++) {
538  aPtrs->push_back(reco::PFCandidatePtr(&signalPFGammaCands_, i) );
539  }
540  signalPFGammaCandsTransientPtrs_.set(std::move(aPtrs));
541  }
543  } else {
544  if(pfSpecific_.empty() || pfSpecific().selectedSignalPFGammaCands_.empty() || !pfSpecific().selectedSignalPFGammaCands_.front().isAvailable()){
545  // this part of code is called when reading from patTuple or miniAOD
546  // it returns empty collection in correct format so it can be substituted by reco::Candidates if available
547  std::unique_ptr<std::vector<reco::PFCandidatePtr> > aPtrs{new std::vector<reco::PFCandidatePtr>{}};
548  signalPFGammaCandsTransientPtrs_.set(std::move(aPtrs));
550  } else return pfSpecific().selectedSignalPFGammaCands_;
551  }
552 }
int i
Definition: DBlmapReader.cc:9
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > signalPFGammaCandsTransientPtrs_
Definition: Tau.h:455
const pat::tau::TauPFSpecific & pfSpecific() const
return PFTau info or throw exception &#39;not PFTau&#39;
Definition: Tau.cc:247
bool isSet() const
bool embeddedSignalPFGammaCands_
Definition: Tau.h:454
bool set(std::unique_ptr< T > iNewValue) const
std::vector< reco::PFCandidatePtr > selectedSignalPFGammaCands_
Definition: TauPFSpecific.h:35
std::vector< reco::PFCandidate > signalPFGammaCands_
Definition: Tau.h:453
std::vector< pat::tau::TauPFSpecific > pfSpecific_
holder for PFTau info, or empty vector if CaloTau
Definition: Tau.h:477
const std::vector< reco::PFCandidatePtr > & Tau::signalPFNeutrHadrCands ( ) const

Method copied from reco::PFTau. Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 510 of file Tau.cc.

References embeddedSignalPFNeutralHadrCands_, i, edm::AtomicPtrCache< T >::isSet(), pfSpecific(), pfSpecific_, pat::tau::TauPFSpecific::selectedSignalPFNeutrHadrCands_, edm::AtomicPtrCache< T >::set(), signalPFNeutralHadrCands_, and signalPFNeutralHadrCandsTransientPtrs_.

Referenced by pat::PATTauSlimmer::produce(), and signalNeutrHadrCands().

510  {
513  std::unique_ptr<std::vector<reco::PFCandidatePtr> > aPtrs{new std::vector<reco::PFCandidatePtr>{}};
514  aPtrs->reserve(signalPFNeutralHadrCands_.size());
515  for (unsigned int i = 0; i < signalPFNeutralHadrCands_.size(); i++) {
516  aPtrs->push_back(reco::PFCandidatePtr(&signalPFNeutralHadrCands_, i) );
517  }
519  }
521  } else {
522  if(pfSpecific_.empty() || pfSpecific().selectedSignalPFNeutrHadrCands_.empty() || !pfSpecific().selectedSignalPFNeutrHadrCands_.front().isAvailable()){
523  // this part of code is called when reading from patTuple or miniAOD
524  // it returns empty collection in correct format so it can be substituted by reco::Candidates if available
525  std::unique_ptr<std::vector<reco::PFCandidatePtr> > aPtrs{new std::vector<reco::PFCandidatePtr>{}};
529  }
530 }
int i
Definition: DBlmapReader.cc:9
std::vector< reco::PFCandidate > signalPFNeutralHadrCands_
Definition: Tau.h:450
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > signalPFNeutralHadrCandsTransientPtrs_
Definition: Tau.h:452
const pat::tau::TauPFSpecific & pfSpecific() const
return PFTau info or throw exception &#39;not PFTau&#39;
Definition: Tau.cc:247
bool isSet() const
bool embeddedSignalPFNeutralHadrCands_
Definition: Tau.h:451
bool set(std::unique_ptr< T > iNewValue) const
std::vector< reco::PFCandidatePtr > selectedSignalPFNeutrHadrCands_
Definition: TauPFSpecific.h:34
std::vector< pat::tau::TauPFSpecific > pfSpecific_
holder for PFTau info, or empty vector if CaloTau
Definition: Tau.h:477
const std::vector< reco::RecoTauPiZero > & Tau::signalPiZeroCandidates ( ) const

Method copied from reco::PFTau. Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 559 of file Tau.cc.

References pfSpecific(), pfSpecific_, and pat::tau::TauPFSpecific::signalPiZeroCandidates_.

559  {
560  if(pfSpecific_.empty()) throw cms::Exception("Type Error") << "Requesting content that is not stored in miniAOD.\n";
562 }
const pat::tau::TauPFSpecific & pfSpecific() const
return PFTau info or throw exception &#39;not PFTau&#39;
Definition: Tau.cc:247
std::vector< reco::RecoTauPiZero > signalPiZeroCandidates_
Definition: TauPFSpecific.h:37
std::vector< pat::tau::TauPFSpecific > pfSpecific_
holder for PFTau info, or empty vector if CaloTau
Definition: Tau.h:477
const std::vector< reco::PFRecoTauChargedHadron > & Tau::signalTauChargedHadronCandidates ( ) const

Method copied from reco::PFTau. Throws an exception if this pat::Tau was not made from a reco::PFTau

Definition at line 554 of file Tau.cc.

References pfSpecific(), pfSpecific_, and pat::tau::TauPFSpecific::signalTauChargedHadronCandidates_.

554  {
555  if(pfSpecific_.empty()) throw cms::Exception("Type Error") << "Requesting content that is not stored in miniAOD.\n";
557 }
const pat::tau::TauPFSpecific & pfSpecific() const
return PFTau info or throw exception &#39;not PFTau&#39;
Definition: Tau.cc:247
std::vector< reco::PFRecoTauChargedHadron > signalTauChargedHadronCandidates_
Definition: TauPFSpecific.h:36
std::vector< pat::tau::TauPFSpecific > pfSpecific_
holder for PFTau info, or empty vector if CaloTau
Definition: Tau.h:477
const reco::TrackRefVector & Tau::signalTracks ( ) const
virtual

override the reco::BaseTau::signalTracks method, to access the internal storage of the signal tracks

override the reco::BaseTau::track method, to access the internal storage of the track

Reimplemented from reco::BaseTau.

Definition at line 163 of file Tau.cc.

References embeddedSignalTracks_, i, edm::AtomicPtrCache< T >::isSet(), edm::RefVector< C, T, F >::reserve(), edm::AtomicPtrCache< T >::set(), reco::BaseTau::signalTracks(), signalTracks_, and signalTracksTransientRefVector_.

163  {
164  if (embeddedSignalTracks_) {
166  std::unique_ptr<reco::TrackRefVector> trackRefVec{ new reco::TrackRefVector{} };
167  trackRefVec->reserve(signalTracks_.size());
168  for (unsigned int i = 0; i < signalTracks_.size(); i++) {
169  trackRefVec->push_back(reco::TrackRef(&signalTracks_, i));
170  }
171  signalTracksTransientRefVector_.set(std::move(trackRefVec));
172  }
174  } else {
176  }
177 }
int i
Definition: DBlmapReader.cc:9
edm::AtomicPtrCache< reco::TrackRefVector > signalTracksTransientRefVector_
Definition: Tau.h:435
bool isSet() const
std::vector< reco::Track > signalTracks_
Definition: Tau.h:434
bool embeddedSignalTracks_
Definition: Tau.h:433
virtual const reco::TrackRefVector & signalTracks() const
Definition: BaseTau.cc:28
void reserve(size_type n)
Reserve space for RefVector.
Definition: RefVector.h:95
bool set(std::unique_ptr< T > iNewValue) const
float pat::Tau::signalTracksInvariantMass ( ) const
inline

Method copied from reco::CaloTau. Throws an exception if this pat::Tau was not made from a reco::CaloTau

Definition at line 142 of file Tau.h.

References caloSpecific(), and pat::tau::TauCaloSpecific::signalTracksInvariantMass_.

const pat::tau::TauCaloSpecific & caloSpecific() const
return CaloTau info or throw exception &#39;not CaloTau&#39;
Definition: Tau.cc:258
reco::CandidatePtr Tau::sourceCandidatePtr ( size_type  i) const
virtual

get the source candidate pointer with index i

Reimplemented from reco::LeafCandidate.

Definition at line 951 of file Tau.cc.

References ExistSignalCands(), i, pfSpecific(), pfSpecific_, pat::tau::TauPFSpecific::selectedSignalPFCands_, and signalCands().

951  {
952  if (Tau::ExistSignalCands()) return Tau::signalCands()[i];
953  else if(pfSpecific_.empty()) return reco::CandidatePtr();
954  else return pfSpecific().selectedSignalPFCands_[i];
955 }
int i
Definition: DBlmapReader.cc:9
reco::CandidatePtrVector signalCands() const
Definition: Tau.cc:811
const pat::tau::TauPFSpecific & pfSpecific() const
return PFTau info or throw exception &#39;not PFTau&#39;
Definition: Tau.cc:247
std::vector< reco::PFCandidatePtr > selectedSignalPFCands_
Definition: TauPFSpecific.h:32
bool ExistSignalCands() const
check that there is at least one non-zero collection of candidate ptrs
Definition: Tau.cc:800
std::vector< pat::tau::TauPFSpecific > pfSpecific_
holder for PFTau info, or empty vector if CaloTau
Definition: Tau.h:477
float Tau::tauID ( const std::string &  name) const

Returns a specific tau ID associated to the pat::Tau given its name For cut-based IDs, the value is 1.0 for good, 0.0 for bad. The names are defined within the configuration parameterset "tauIDSources" in PhysicsTools/PatAlgos/python/producersLayer1/tauProducer_cfi.py . Note: an exception is thrown if the specified ID is not available

Definition at line 225 of file Tau.cc.

References tauIDs_.

225  {
226  for (std::vector<IdPair>::const_iterator it = tauIDs_.begin(), ed = tauIDs_.end(); it != ed; ++it) {
227  if (it->first == name) return it->second;
228  }
229  cms::Exception ex("Key not found");
230  ex << "pat::Tau: the ID " << name << " can't be found in this pat::Tau.\n";
231  ex << "The available IDs are: ";
232  for (std::vector<IdPair>::const_iterator it = tauIDs_.begin(), ed = tauIDs_.end(); it != ed; ++it) {
233  ex << "'" << it->first << "' ";
234  }
235  ex << ".\n";
236  throw ex;
237 }
std::vector< IdPair > tauIDs_
Definition: Tau.h:473
float pat::Tau::tauID ( const char *  name) const
inline

Definition at line 348 of file Tau.h.

References AlCaHLTBitMon_QueryRunRegistry::string, and tauID().

Referenced by tauID().

348 {return tauID( std::string(name) );}
float tauID(const std::string &name) const
Definition: Tau.cc:225
const std::vector<IdPair>& pat::Tau::tauIDs ( ) const
inline

Returns all the tau IDs in the form of <name,value> pairs The 'default' ID is the first in the list

Definition at line 353 of file Tau.h.

References tauIDs_.

353 { return tauIDs_; }
std::vector< IdPair > tauIDs_
Definition: Tau.h:473
float pat::Tau::TracksInvariantMass ( ) const
inline

Method copied from reco::CaloTau. Throws an exception if this pat::Tau was not made from a reco::CaloTau

Definition at line 145 of file Tau.h.

References caloSpecific(), and pat::tau::TauCaloSpecific::TracksInvariantMass_.

145 { return caloSpecific().TracksInvariantMass_; }
const pat::tau::TauCaloSpecific & caloSpecific() const
return CaloTau info or throw exception &#39;not CaloTau&#39;
Definition: Tau.cc:258

Friends And Related Function Documentation

friend class PATTauProducer
friend

make friends with PATTauProducer so that it can set the initial jet energy scale unequal to raw calling the private initializeJEC function, which should be non accessible to any other user

Definition at line 60 of file Tau.h.

friend class PATTauSlimmer
friend

Definition at line 409 of file Tau.h.

std::ostream& reco::operator<< ( std::ostream &  out,
const Tau obj 
)
friend

pipe operator (introduced to use pat::Tau with PFTopProjectors)

Member Data Documentation

std::vector<pat::tau::TauCaloSpecific> pat::Tau::caloSpecific_
private

holder for CaloTau info, or empty vector if PFTau

Definition at line 481 of file Tau.h.

Referenced by caloSpecific(), isCaloTau(), and Tau().

unsigned int pat::Tau::currentJECLevel_
private

Definition at line 492 of file Tau.h.

Referenced by currentJECLevel(), and jecFactor().

unsigned int pat::Tau::currentJECSet_
private

Definition at line 490 of file Tau.h.

Referenced by currentJECLevel(), currentJECSet(), and jecFactor().

bool pat::Tau::embeddedIsolationPFCands_
private

Definition at line 457 of file Tau.h.

Referenced by embedIsolationPFCands(), and isolationPFCands().

bool pat::Tau::embeddedIsolationPFChargedHadrCands_
private

Definition at line 460 of file Tau.h.

Referenced by embedIsolationPFChargedHadrCands(), and isolationPFChargedHadrCands().

bool pat::Tau::embeddedIsolationPFGammaCands_
private

Definition at line 466 of file Tau.h.

Referenced by embedIsolationPFGammaCands(), and isolationPFGammaCands().

bool pat::Tau::embeddedIsolationPFNeutralHadrCands_
private

Definition at line 463 of file Tau.h.

Referenced by embedIsolationPFNeutralHadrCands(), and isolationPFNeutrHadrCands().

bool pat::Tau::embeddedIsolationTracks_
private

Definition at line 428 of file Tau.h.

Referenced by embedIsolationTracks(), and isolationTracks().

bool pat::Tau::embeddedLeadPFCand_
private

Definition at line 438 of file Tau.h.

Referenced by embedLeadPFCand(), and leadPFCand().

bool pat::Tau::embeddedLeadPFChargedHadrCand_
private

Definition at line 440 of file Tau.h.

Referenced by embedLeadPFChargedHadrCand(), and leadPFChargedHadrCand().

bool pat::Tau::embeddedLeadPFNeutralCand_
private

Definition at line 442 of file Tau.h.

Referenced by embedLeadPFNeutralCand(), and leadPFNeutralCand().

bool pat::Tau::embeddedLeadTrack_
private

Definition at line 431 of file Tau.h.

Referenced by embedLeadTrack(), and leadTrack().

bool pat::Tau::embeddedSignalPFCands_
private

Definition at line 445 of file Tau.h.

Referenced by embedSignalPFCands(), and signalPFCands().

bool pat::Tau::embeddedSignalPFChargedHadrCands_
private

Definition at line 448 of file Tau.h.

Referenced by embedSignalPFChargedHadrCands(), and signalPFChargedHadrCands().

bool pat::Tau::embeddedSignalPFGammaCands_
private

Definition at line 454 of file Tau.h.

Referenced by embedSignalPFGammaCands(), and signalPFGammaCands().

bool pat::Tau::embeddedSignalPFNeutralHadrCands_
private

Definition at line 451 of file Tau.h.

Referenced by embedSignalPFNeutralHadrCands(), and signalPFNeutrHadrCands().

bool pat::Tau::embeddedSignalTracks_
private

Definition at line 433 of file Tau.h.

Referenced by embedSignalTracks(), and signalTracks().

std::vector<reco::GenJet> pat::Tau::genJet_
private

Definition at line 470 of file Tau.h.

Referenced by genJet(), and setGenJet().

reco::CandidatePtrVector pat::Tau::isolationChargedHadrCandPtrs_
private
reco::CandidatePtrVector pat::Tau::isolationGammaCandPtrs_
private
reco::CandidatePtrVector pat::Tau::isolationNeutralHadrCandPtrs_
private
std::vector<reco::PFCandidate> pat::Tau::isolationPFCands_
private

Definition at line 456 of file Tau.h.

Referenced by embedIsolationPFCands(), and isolationPFCands().

edm::AtomicPtrCache<std::vector<reco::PFCandidatePtr> > pat::Tau::isolationPFCandsTransientPtrs_
private

Definition at line 458 of file Tau.h.

Referenced by isolationPFCands().

std::vector<reco::PFCandidate> pat::Tau::isolationPFChargedHadrCands_
private

Definition at line 459 of file Tau.h.

Referenced by embedIsolationPFChargedHadrCands(), and isolationPFChargedHadrCands().

edm::AtomicPtrCache<std::vector<reco::PFCandidatePtr> > pat::Tau::isolationPFChargedHadrCandsTransientPtrs_
private

Definition at line 461 of file Tau.h.

Referenced by isolationPFChargedHadrCands().

std::vector<reco::PFCandidate> pat::Tau::isolationPFGammaCands_
private

Definition at line 465 of file Tau.h.

Referenced by embedIsolationPFGammaCands(), and isolationPFGammaCands().

edm::AtomicPtrCache<std::vector<reco::PFCandidatePtr> > pat::Tau::isolationPFGammaCandsTransientPtrs_
private

Definition at line 467 of file Tau.h.

Referenced by isolationPFGammaCands().

std::vector<reco::PFCandidate> pat::Tau::isolationPFNeutralHadrCands_
private

Definition at line 462 of file Tau.h.

Referenced by embedIsolationPFNeutralHadrCands(), and isolationPFNeutrHadrCands().

edm::AtomicPtrCache<std::vector<reco::PFCandidatePtr> > pat::Tau::isolationPFNeutralHadrCandsTransientPtrs_
private

Definition at line 464 of file Tau.h.

Referenced by isolationPFNeutrHadrCands().

std::vector<reco::Track> pat::Tau::isolationTracks_
private

Definition at line 429 of file Tau.h.

Referenced by embedIsolationTracks(), and isolationTracks().

edm::AtomicPtrCache<reco::TrackRefVector> pat::Tau::isolationTracksTransientRefVector_
private

Definition at line 430 of file Tau.h.

Referenced by isolationTracks().

std::vector<pat::TauJetCorrFactors> pat::Tau::jec_
private
std::vector<reco::PFCandidate> pat::Tau::leadPFCand_
private

Definition at line 437 of file Tau.h.

Referenced by embedLeadPFCand(), and leadPFCand().

std::vector<reco::PFCandidate> pat::Tau::leadPFChargedHadrCand_
private

Definition at line 439 of file Tau.h.

Referenced by embedLeadPFChargedHadrCand(), and leadPFChargedHadrCand().

std::vector<reco::PFCandidate> pat::Tau::leadPFNeutralCand_
private

Definition at line 441 of file Tau.h.

Referenced by embedLeadPFNeutralCand(), and leadPFNeutralCand().

std::vector<reco::Track> pat::Tau::leadTrack_
private

Definition at line 432 of file Tau.h.

Referenced by embedLeadTrack(), and leadTrack().

std::vector<pat::tau::TauPFEssential> pat::Tau::pfEssential_
private

Definition at line 505 of file Tau.h.

Referenced by pfEssential(), pat::PATTauProducer::produce(), setDecayMode(), and Tau().

std::vector<pat::tau::TauPFSpecific> pat::Tau::pfSpecific_
private
reco::CandidatePtrVector pat::Tau::signalChargedHadrCandPtrs_
private
reco::CandidatePtrVector pat::Tau::signalGammaCandPtrs_
private

Definition at line 497 of file Tau.h.

Referenced by ExistSignalCands(), setSignalGammaCands(), signalCands(), and signalGammaCands().

reco::CandidatePtrVector pat::Tau::signalNeutralHadrCandPtrs_
private
std::vector<reco::PFCandidate> pat::Tau::signalPFCands_
private

Definition at line 444 of file Tau.h.

Referenced by embedSignalPFCands(), and signalPFCands().

edm::AtomicPtrCache<std::vector<reco::PFCandidatePtr> > pat::Tau::signalPFCandsTransientPtrs_
private

Definition at line 446 of file Tau.h.

Referenced by signalPFCands().

std::vector<reco::PFCandidate> pat::Tau::signalPFChargedHadrCands_
private

Definition at line 447 of file Tau.h.

Referenced by embedSignalPFChargedHadrCands(), and signalPFChargedHadrCands().

edm::AtomicPtrCache<std::vector<reco::PFCandidatePtr> > pat::Tau::signalPFChargedHadrCandsTransientPtrs_
private

Definition at line 449 of file Tau.h.

Referenced by signalPFChargedHadrCands().

std::vector<reco::PFCandidate> pat::Tau::signalPFGammaCands_
private

Definition at line 453 of file Tau.h.

Referenced by embedSignalPFGammaCands(), and signalPFGammaCands().

edm::AtomicPtrCache<std::vector<reco::PFCandidatePtr> > pat::Tau::signalPFGammaCandsTransientPtrs_
private

Definition at line 455 of file Tau.h.

Referenced by signalPFGammaCands().

std::vector<reco::PFCandidate> pat::Tau::signalPFNeutralHadrCands_
private

Definition at line 450 of file Tau.h.

Referenced by embedSignalPFNeutralHadrCands(), and signalPFNeutrHadrCands().

edm::AtomicPtrCache<std::vector<reco::PFCandidatePtr> > pat::Tau::signalPFNeutralHadrCandsTransientPtrs_
private

Definition at line 452 of file Tau.h.

Referenced by signalPFNeutrHadrCands().

std::vector<reco::Track> pat::Tau::signalTracks_
private

Definition at line 434 of file Tau.h.

Referenced by embedSignalTracks(), and signalTracks().

edm::AtomicPtrCache<reco::TrackRefVector> pat::Tau::signalTracksTransientRefVector_
private

Definition at line 435 of file Tau.h.

Referenced by signalTracks().

std::vector<IdPair> pat::Tau::tauIDs_
private

Definition at line 473 of file Tau.h.

Referenced by isTauIDAvailable(), setTauIDs(), tauID(), and tauIDs().