4 #ifndef DataFormats_PatCandidates_Tau_h
5 #define DataFormats_PatCandidates_Tau_h
66 typedef std::pair<std::string, float>
IdPair;
184 const std::vector<reco::PFCandidatePtr>&
signalPFCands()
const;
419 float jecFactor(
const unsigned int&
level,
const unsigned int& set = 0)
const;
516 std::vector<pat::TauJetCorrFactors>
jec_;
float leadTracksignedSipt_
bool electronPreIDDecision_
bool embeddedLeadPFNeutralCand_
virtual Tau * clone() const
required reimplementation of the Candidate's clone method
const std::vector< IdPair > & tauIDs() const
const LorentzVector & correctedP4(const std::string &level, const std::string &set="") const
edm::AtomicPtrCache< reco::TrackRefVector > signalTracksTransientRefVector_
const std::vector< reco::PFCandidatePtr > & isolationPFCands() const
const std::vector< std::string > availableJECSets() const
float etaAtEcalEntranceLeadChargedCand_
float hcalTotOverPLead() const
void currentJECLevel(const unsigned int &level)
update the current JEC level; used by correctedJet
const LorentzVector & correctedP4(const unsigned int &level, const unsigned int &set=0) const
const pat::tau::TauCaloSpecific & caloSpecific() const
return CaloTau info or throw exception 'not CaloTau'
reco::CandidatePtrVector isolationGammaCandPtrs_
reco::CaloTauTagInfoRef CaloTauTagInfoRef_
edm::RefProd< TauCollection > TauRefProd
pat::tau::TauPFEssential::CovMatrix flightLengthCov() const
const reco::CandidatePtr leadCand() const
return the PFCandidate if available (reference or embedded), or the PackedPFCandidate on miniAOD ...
float bremsRecoveryEOverPLead_
const reco::TrackRefVector & isolationTracks() const
override the reco::BaseTau::isolationTracks method, to access the internal storage of the isolation t...
float electronPreIDOutput_
reco::CandidatePtrVector isolationChargedHadrCands() const
void embedIsolationPFCands()
method to store the isolation candidates internally
bool embeddedSignalPFChargedHadrCands_
float isolationTracksPtSum() const
std::vector< reco::PFCandidate > leadPFNeutralCand_
void embedIsolationPFGammaCands()
method to store the isolation gamma candidates internally
float hcalEnergyLeadChargedHadrCand() const
return hcal energy from LeadChargedHadrCand
reco::TrackRef electronPreIDTrack_
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > isolationPFChargedHadrCandsTransientPtrs_
std::vector< reco::PFCandidate > signalPFNeutralHadrCands_
std::vector< reco::PFCandidate > signalPFCands_
size_t numberOfSourceCandidatePtrs() const
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > signalPFNeutralHadrCandsTransientPtrs_
bool embeddedIsolationPFChargedHadrCands_
bool jecSetAvailable(const std::string &set) const
bool embeddedIsolationPFCands_
const std::vector< reco::PFCandidatePtr > & isolationPFChargedHadrCands() const
float isolationTracksPtSum_
float hcal3x3OverPLead() const
bool jecSetAvailable(const unsigned int &set) const
const pat::tau::TauPFEssential & pfEssential() const
const reco::PFCandidatePtr leadPFChargedHadrCand() const
reco::CaloTauTagInfoRef caloTauTagInfoRef() const
void embedLeadTrack()
method to store the leading track internally
const pat::tau::TauPFEssential::Point & secondaryVertexPos() const
void embedSignalPFChargedHadrCands()
method to store the signal charged hadrons candidates internally
std::vector< reco::PFCandidate > isolationPFGammaCands_
std::vector< reco::PFCandidate > isolationPFNeutralHadrCands_
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > isolationPFGammaCandsTransientPtrs_
float TracksInvariantMass() const
std::vector< Tau > TauCollection
const reco::CandidatePtr leadNeutralCand() const
return the PFCandidate if available (reference or embedded), or the PackedPFCandidate on miniAOD ...
const std::vector< reco::PFRecoTauChargedHadron > & signalTauChargedHadronCandidates() const
std::vector< reco::GenJet > genJet_
void setDecayMode(int)
set decay mode
reco::CandidatePtr sourceCandidatePtr(size_type i) const
get the source candidate pointer with index i
const reco::TrackRef & electronPreIDTrack() const
float leadTrackHCAL3x3hottesthitDEta() const
edm::Ref< TauCollection > TauRef
const std::vector< std::string > availableJECLevels(const std::string &set) const
void setTauIDs(const std::vector< IdPair > &ids)
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > signalPFCandsTransientPtrs_
float tauID(const std::string &name) const
bool embeddedIsolationPFNeutralHadrCands_
reco::CandidatePtrVector signalCands() const
float leadPFChargedHadrCandsignedSipt_
float isolationPFGammaCandsEtSum() const
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > signalPFGammaCandsTransientPtrs_
float hcalEnergy() const
return sum of hcal energies from signal candidates
int jecSet(const std::string &label) const
float phiphiMoment() const
edm::RefVector< TauCollection > TauRefVector
float maximumHCALPFClusterEt() const
std::pair< std::string, float > IdPair
std::vector< reco::PFCandidate > leadPFCand_
reco::CandidatePtrVector signalGammaCands() const
const pat::tau::TauPFEssential::CovMatrix & primaryVertexCov() const
const std::vector< reco::PFRecoTauChargedHadron > & isolationTauChargedHadronCandidates() const
bool embeddedSignalPFGammaCands_
reco::CandidatePtrVector isolationNeutrHadrCands() const
float leadTrackHCAL3x3hottesthitDEta_
float maximumHCALhitEt() const
unsigned int currentJECLevel_
edm::AtomicPtrCache< reco::TrackRefVector > isolationTracksTransientRefVector_
const std::vector< reco::PFCandidatePtr > & signalPFCands() const
reco::PFRecoTauChargedHadronRef leadTauChargedHadronCandidate() const
float hcalMaxOverPLead() const
void setIsolationGammaCands(const reco::CandidatePtrVector &ptrs)
void embedSignalPFCands()
method to store the signal candidates internally
float isolationECALhitsEtSum_
void currentJECSet(const unsigned int &set)
update the current JEC set; used by correctedJet
float isolationPFChargedHadrCandsPtSum() const
reco::CandidatePtrVector isolationChargedHadrCandPtrs_
float ecalStripSumEOverPLead_
std::ostream & operator<<(std::ostream &, BeamSpot beam)
std::vector< reco::Track > signalTracks_
std::vector< IdPair > tauIDs_
float signalTracksInvariantMass() const
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > signalPFChargedHadrCandsTransientPtrs_
bool embeddedIsolationPFGammaCands_
const reco::VertexRef & primaryVertex() const
float etaetaMoment() const
std::vector< reco::PFCandidate > signalPFChargedHadrCands_
void setIsolationNeutralHadrCands(const reco::CandidatePtrVector &ptrs)
const pat::tau::TauPFEssential::Vector & flightLength() const
Analysis-level lepton class.
void setIsolationChargedHadrCands(const reco::CandidatePtrVector &ptrs)
float ecalEnergyLeadChargedHadrCand() const
float isolationECALhitsEtSum() const
float signalTracksInvariantMass_
Tau correctedTauJet(const std::string &level, const std::string &set="") const
float jecFactor(const std::string &level, const std::string &set="") const
reco::CandidatePtrVector isolationNeutralHadrCandPtrs_
Jets made from MC generator particles.
bool embeddedSignalTracks_
float isolationPFGammaCandsEtSum_
const reco::VertexRef & secondaryVertex() const
void setSignalChargedHadrCands(const reco::CandidatePtrVector &ptrs)
setters for the PtrVectors (for miniAOD)
float maximumHCALPFClusterEt_
bool hasSecondaryVertex() const
float TracksInvariantMass_
reco::CandidatePtrVector signalNeutrHadrCands() const
const reco::CandidatePtr leadChargedHadrCand() const
std::vector< pat::tau::TauPFEssential > pfEssential_
void embedIsolationPFNeutralHadrCands()
method to store the isolation neutral hadrons candidates internally
const std::vector< reco::RecoTauPiZero > & signalPiZeroCandidates() const
void embedLeadPFChargedHadrCand()
method to store the leading charged hadron candidate internally
std::string currentJECLevel() const
return the name of the current step of jet energy corrections
const reco::PFCandidatePtr leadPFCand() const
Analysis-level tau class.
const pat::tau::TauPFEssential::CovMatrix & secondaryVertexCov() const
bool embeddedLeadPFChargedHadrCand_
void embedIsolationPFChargedHadrCands()
method to store the isolation charged hadrons candidates internally
bool embeddedSignalPFNeutralHadrCands_
std::vector< reco::PFCandidate > isolationPFCands_
std::vector< reco::Track > isolationTracks_
void setGenJet(const reco::GenJetRef &ref)
set the matched GenJet
float ptLeadChargedCand() const
return pt from LeadChargedCand
bool isTauIDAvailable(const std::string &name) const
Returns true if a specific ID is available in this pat::Tau.
const std::vector< reco::PFCandidatePtr > & signalPFChargedHadrCands() const
float isolationPFChargedHadrCandsPtSum_
void embedLeadPFNeutralCand()
method to store the leading neutral candidate internally
const pat::tau::TauPFEssential::Point & dxy_PCA() const
std::vector< pat::tau::TauCaloSpecific > caloSpecific_
holder for CaloTau info, or empty vector if PFTau
void setSignalGammaCands(const reco::CandidatePtrVector &ptrs)
float ecalStripSumEOverPLead() const
bool isCaloTau() const
Returns true if this pat::Tau was made from a reco::CaloTau.
const std::vector< reco::PFCandidatePtr > & signalPFNeutrHadrCands() const
float leadTrackHCAL3x3hitsEtSum() const
const std::vector< reco::PFCandidatePtr > & isolationPFGammaCands() const
reco::CandidatePtrVector signalGammaCandPtrs_
int decayMode() const
reconstructed tau decay mode (specific to PFTau)
const reco::PFJetRef & pfJetRef() const
float bremsRecoveryEOverPLead() const
std::vector< pat::TauJetCorrFactors > jec_
float etaphiMoment() const
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > isolationPFNeutralHadrCandsTransientPtrs_
std::vector< reco::PFCandidate > signalPFGammaCands_
float leadPFChargedHadrCandsignedSipt() const
std::vector< reco::Track > leadTrack_
std::vector< reco::PFCandidate > isolationPFChargedHadrCands_
math::XYZTLorentzVector LorentzVector
Lorentz vector.
bool jecSetsAvailable() const
float emFraction_MVA() const
return emFraction_MVA
void initializeJEC(unsigned int level, const unsigned int set=0)
initialize the jet to a given JEC level during creation starting from Uncorrected ...
const pat::tau::TauPFSpecific & pfSpecific() const
return PFTau info or throw exception 'not PFTau'
void embedSignalPFNeutralHadrCands()
method to store the signal neutral hadrons candidates internally
reco::CandidatePtrVector signalNeutralHadrCandPtrs_
const reco::GenJet * genJet() const
return matched GenJet, built from the visible particles of a generated tau
float flightLengthSig() const
void addJECFactors(const TauJetCorrFactors &jec)
add more sets of energy correction factors
bool embeddedSignalPFCands_
float tauID(const char *name) const
float leadingTrackNormChi2() const
return normalized chi2 of leading track
float leadingTrackNormChi2_
const reco::TrackRefVector & signalTracks() const
override the reco::BaseTau::signalTracks method, to access the internal storage of the signal tracks ...
float leadTrackHCAL3x3hitsEtSum_
reco::TrackRef leadTrack() const
override the reco::BaseTau::leadTrack method, to access the internal storage of the leading track ...
void embedSignalTracks()
method to store the signal tracks internally
reco::CandidatePtrVector isolationGammaCands() const
bool isPFTau() const
Returns true if this pat::Tau was made from a reco::PFTau.
const std::vector< std::string > availableJECLevels(const int &set=0) const
bool embeddedIsolationTracks_
float leadTracksignedSipt() const
reco::CandidatePtrVector signalChargedHadrCands() const
void embedSignalPFGammaCands()
method to store the signal gamma candidates internally
const std::vector< reco::RecoTauPiZero > & isolationPiZeroCandidates() const
float etaAtEcalEntrance() const
return etaAtEcalEntrance
float etaAtEcalEntranceLeadChargedCand() const
return etaAtEcalEntrance from LeadChargedCand
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > isolationPFCandsTransientPtrs_
bool ExistIsolationCands() const
float ecalEnergyLeadChargedHadrCand_
std::vector< reco::PFCandidate > leadPFChargedHadrCand_
std::string currentJECSet() const
returns the label of the current set of jet energy corrections
bool ExistSignalCands() const
const std::vector< reco::PFCandidatePtr > & signalPFGammaCands() const
reco::CandidatePtrVector isolationCands() const
void embedIsolationTracks()
method to store the isolation tracks internally
float hcalEnergyLeadChargedHadrCand_
virtual const LorentzVector & p4() const final
four-momentum Lorentz vector
reco::Candidate::LorentzVector p4Jet() const
std::vector< pat::tau::TauPFSpecific > pfSpecific_
holder for PFTau info, or empty vector if CaloTau
const std::vector< reco::PFCandidatePtr > & isolationPFNeutrHadrCands() const
float electronPreIDOutput() const
reco::CandidatePtrVector signalChargedHadrCandPtrs_
unsigned int currentJECSet_
bool electronPreIDDecision() const
void setSignalNeutralHadrCands(const reco::CandidatePtrVector &ptrs)
bool muonDecision() const
const pat::tau::TauPFEssential::Point & primaryVertexPos() const
math::ErrorF< 3 >::type CovMatrix
const reco::PFCandidatePtr leadPFNeutralCand() const