CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Tau.h
Go to the documentation of this file.
1 //
2 //
3 
4 #ifndef DataFormats_PatCandidates_Tau_h
5 #define DataFormats_PatCandidates_Tau_h
6 
29 
34 
36 
37 // Define typedefs for convenience
38 namespace pat {
39  class Tau;
40  typedef std::vector<Tau> TauCollection;
44 }
45 
46 namespace reco {
48  std::ostream& operator<<(std::ostream& out, const pat::Tau& obj);
49  // bool sortByPt(const CandidatePtrVector::const_iterator &lhs, const CandidatePtrVector::const_iterator &rhs) { return (*lhs)->pt() < (*rhs)->pt(); }
50 }
51 
52 // Class definition
53 namespace pat {
54 
55 
56  class PATTauSlimmer;
57 
58  class Tau : public Lepton<reco::BaseTau> {
62  friend class PATTauProducer;
63 
64  public:
65 
66  typedef std::pair<std::string, float> IdPair;
67 
69  Tau();
71  Tau(const reco::BaseTau & aTau);
73  Tau(const edm::RefToBase<reco::BaseTau> & aTauRef);
75  Tau(const edm::Ptr<reco::BaseTau> & aTauRef);
77  virtual ~Tau();
78 
80  virtual Tau * clone() const { return new Tau(*this); }
81 
82  // ---- methods for content embedding ----
84  const reco::TrackRefVector & isolationTracks() const;
86  reco::TrackRef leadTrack() const;
88  const reco::TrackRefVector & signalTracks() const;
90  void embedIsolationTracks();
92  void embedLeadTrack();
94  void embedSignalTracks();
97  void embedLeadPFCand();
101  void embedLeadPFNeutralCand();
103  void embedSignalPFCands();
111  void embedIsolationPFCands();
118 
119  // ---- matched GenJet methods ----
121  const reco::GenJet * genJet() const;
123  void setGenJet(const reco::GenJetRef & ref);
124 
125  // ---- CaloTau accessors (getters only) ----
127  bool isCaloTau() const { return !caloSpecific_.empty(); }
129  const pat::tau::TauCaloSpecific & caloSpecific() const ;
156  float maximumHCALhitEt() const { return caloSpecific().maximumHCALhitEt_; }
157 
158  // ---- PFTau accessors (getters only) ----
160  bool isPFTau() const { return !pfSpecific_.empty(); }
162  const pat::tau::TauPFSpecific & pfSpecific() const ;
163  const pat::tau::TauPFEssential & pfEssential() const;
166  const reco::PFJetRef & pfJetRef() const { return pfSpecific().pfJetRef_; }
181  const reco::PFCandidatePtr leadPFCand() const;
184  const std::vector<reco::PFCandidatePtr>& signalPFCands() const;
187  const std::vector<reco::PFCandidatePtr>& signalPFChargedHadrCands() const;
190  const std::vector<reco::PFCandidatePtr>& signalPFNeutrHadrCands() const;
193  const std::vector<reco::PFCandidatePtr>& signalPFGammaCands() const;
196  const std::vector<reco::PFRecoTauChargedHadron> & signalTauChargedHadronCandidates() const;
199  const std::vector<reco::RecoTauPiZero> & signalPiZeroCandidates() const;
202  const std::vector<reco::PFCandidatePtr>& isolationPFCands() const;
205  const std::vector<reco::PFCandidatePtr>& isolationPFChargedHadrCands() const;
208  const std::vector<reco::PFCandidatePtr>& isolationPFNeutrHadrCands() const;
211  const std::vector<reco::PFCandidatePtr>& isolationPFGammaCands() const;
214  const std::vector<reco::PFRecoTauChargedHadron> & isolationTauChargedHadronCandidates() const;
217  const std::vector<reco::RecoTauPiZero> & isolationPiZeroCandidates() const;
229  float emFraction() const { return pfSpecific().emFraction_; }
232  float hcalTotOverPLead() const { return pfSpecific().hcalTotOverPLead_; }
235  float hcalMaxOverPLead() const { return pfSpecific().hcalMaxOverPLead_; }
238  float hcal3x3OverPLead() const { return pfSpecific().hcal3x3OverPLead_; }
256  float caloComp() const { return pfSpecific().caloComp_; }
259  float segComp() const { return pfSpecific().segComp_; }
262  bool muonDecision() const { return pfSpecific().muonDecision_; }
263 
268  const reco::CandidatePtr leadNeutralCand() const;
270  const reco::CandidatePtr leadCand() const;
273  bool ExistSignalCands() const;
274  bool ExistIsolationCands() const;
297 
305 
308  size_t numberOfSourceCandidatePtrs() const ;
311 
312 
317  float dxy() const { return pfEssential().dxy_; }
318  float dxy_error() const { return pfEssential().dxy_error_; }
319  float dxy_Sig() const;
320  const reco::VertexRef& primaryVertex() const { return pfEssential().pv_; }
323  bool hasSecondaryVertex() const { return pfEssential().hasSV_; }
325  float flightLengthSig() const { return pfEssential().flightLengthSig_; }
327  const reco::VertexRef& secondaryVertex() const { return pfEssential().sv_; }
330  float ip3d() const { return pfEssential().ip3d_; }
331  float ip3d_error() const { return pfEssential().ip3d_error_; }
332  float ip3d_Sig() const;
333 
337  float ecalEnergy() const { return pfEssential().ecalEnergy_; }
339  float hcalEnergy() const { return pfEssential().hcalEnergy_; }
342 
356  float emFraction_MVA() const { return pfEssential().emFraction_; }
357 
361  float etaetaMoment() const;
362  float phiphiMoment() const;
363  float etaphiMoment() const;
364 
366  int decayMode() const { return pfEssential().decayMode_; }
368  void setDecayMode(int);
369 
370  // ---- methods for tau ID ----
376  float tauID(const std::string & name) const;
377  float tauID(const char* name ) const {return tauID( std::string(name) );}
379  bool isTauIDAvailable(const std::string & name) const;
382  const std::vector<IdPair> & tauIDs() const { return tauIDs_; }
385  void setTauIDs(const std::vector<IdPair> & ids) { tauIDs_ = ids; }
386 
388  friend std::ostream& reco::operator<<(std::ostream& out, const Tau& obj);
389 
392  const std::vector<std::string> availableJECSets() const;
393  // returns the available JEC Levels for a given jecSet
394  const std::vector<std::string> availableJECLevels(const int& set = 0) const;
395  // returns the available JEC Levels for a given jecSet
396  const std::vector<std::string> availableJECLevels(const std::string& set) const { return availableJECLevels(jecSet(set)); };
399  bool jecSetsAvailable() const { return !jec_.empty(); }
402  bool jecSetAvailable(const std::string& set) const {return (jecSet(set) >= 0); };
405  bool jecSetAvailable(const unsigned int& set) const {return (set < jec_.size()); };
408  return currentJECSet_<jec_.size() ? jec_.at(currentJECSet_).jecSet() : std::string("ERROR");
409  }
412  return currentJECSet_<jec_.size() ? jec_.at(currentJECSet_).jecLevel(currentJECLevel_) : std::string("ERROR");
413  }
416  float jecFactor(const std::string& level, const std::string& set = "") const;
419  float jecFactor(const unsigned int& level, const unsigned int& set = 0) const;
422  Tau correctedTauJet(const std::string& level, const std::string& set = "") const;
425  Tau correctedTauJet(const unsigned int& level, const unsigned int& set = 0) const;
428  const LorentzVector& correctedP4(const std::string& level, const std::string& set = "") const {
429  return correctedTauJet(level, set).p4();
430  }
433  const LorentzVector& correctedP4(const unsigned int& level, const unsigned int& set = 0) const {
434  return correctedTauJet(level, set).p4();
435  }
436 
437 
438  friend class PATTauSlimmer;
439 
440  protected:
441 
444  int jecSet(const std::string& label) const;
446  void currentJECSet(const unsigned int& set) { currentJECSet_=set; };
448  void currentJECLevel(const unsigned int& level) { currentJECLevel_=level; };
450  void addJECFactors(const TauJetCorrFactors& jec) {jec_.push_back(jec); };
452  void initializeJEC(unsigned int level, const unsigned int set = 0);
453 
454 
455  private:
456  // ---- for content embedding ----
458  std::vector<reco::Track> isolationTracks_;
461  std::vector<reco::Track> leadTrack_;
463  std::vector<reco::Track> signalTracks_;
465  // specific for PFTau
466  std::vector<reco::PFCandidate> leadPFCand_;
468  std::vector<reco::PFCandidate> leadPFChargedHadrCand_;
470  std::vector<reco::PFCandidate> leadPFNeutralCand_;
472 
473  std::vector<reco::PFCandidate> signalPFCands_;
476  std::vector<reco::PFCandidate> signalPFChargedHadrCands_;
479  std::vector<reco::PFCandidate> signalPFNeutralHadrCands_;
482  std::vector<reco::PFCandidate> signalPFGammaCands_;
485  std::vector<reco::PFCandidate> isolationPFCands_;
488  std::vector<reco::PFCandidate> isolationPFChargedHadrCands_;
491  std::vector<reco::PFCandidate> isolationPFNeutralHadrCands_;
494  std::vector<reco::PFCandidate> isolationPFGammaCands_;
497 
498  // ---- matched GenJet holder ----
499  std::vector<reco::GenJet> genJet_;
500 
501  // ---- tau ID's holder ----
502  std::vector<IdPair> tauIDs_;
503 
504  // ---- PFTau specific variables ----
506  std::vector<pat::tau::TauPFSpecific> pfSpecific_;
507 
508  // ---- CaloTau specific variables ----
510  std::vector<pat::tau::TauCaloSpecific> caloSpecific_;
511 
512  // ---- energy scale correction factors ----
513  // energy scale correction factors; the string carries a potential label if
514  // more then one set of correction factors is embedded. The label corresponds
515  // to the label of the jetCorrFactors module that has been embedded.
516  std::vector<pat::TauJetCorrFactors> jec_;
517  // currently applied set of jet energy correction factors (i.e. the index in
518  // jetEnergyCorrections_)
519  unsigned int currentJECSet_;
520  // currently applied jet energy correction level
521  unsigned int currentJECLevel_;
522 
523  // ---- references to packed pf candidates -----
527 
531 
532  // -- essential info to keep
533 
534  std::vector<pat::tau::TauPFEssential> pfEssential_;
535 
536 
537  };
538 }
539 
540 #endif
bool embeddedLeadPFNeutralCand_
Definition: Tau.h:471
virtual Tau * clone() const
required reimplementation of the Candidate&#39;s clone method
Definition: Tau.h:80
int i
Definition: DBlmapReader.cc:9
const std::vector< IdPair > & tauIDs() const
Definition: Tau.h:382
const LorentzVector & correctedP4(const std::string &level, const std::string &set="") const
Definition: Tau.h:428
edm::AtomicPtrCache< reco::TrackRefVector > signalTracksTransientRefVector_
Definition: Tau.h:464
const std::vector< reco::PFCandidatePtr > & isolationPFCands() const
const std::vector< std::string > availableJECSets() const
float hcalTotOverPLead() const
Definition: Tau.h:232
void currentJECLevel(const unsigned int &level)
update the current JEC level; used by correctedJet
Definition: Tau.h:448
const LorentzVector & correctedP4(const unsigned int &level, const unsigned int &set=0) const
Definition: Tau.h:433
const pat::tau::TauCaloSpecific & caloSpecific() const
return CaloTau info or throw exception &#39;not CaloTau&#39;
reco::CandidatePtrVector isolationGammaCandPtrs_
Definition: Tau.h:530
reco::CaloTauTagInfoRef CaloTauTagInfoRef_
edm::RefProd< TauCollection > TauRefProd
Definition: Tau.h:42
pat::tau::TauPFEssential::CovMatrix flightLengthCov() const
const reco::CandidatePtr leadCand() const
return the PFCandidate if available (reference or embedded), or the PackedPFCandidate on miniAOD ...
const reco::TrackRefVector & isolationTracks() const
override the reco::BaseTau::isolationTracks method, to access the internal storage of the isolation t...
reco::CandidatePtrVector isolationChargedHadrCands() const
void embedIsolationPFCands()
method to store the isolation candidates internally
float caloComp() const
Definition: Tau.h:256
size_t size_type
Definition: Candidate.h:30
bool embeddedSignalPFChargedHadrCands_
Definition: Tau.h:477
float isolationTracksPtSum() const
Definition: Tau.h:150
std::vector< reco::PFCandidate > leadPFNeutralCand_
Definition: Tau.h:470
void embedIsolationPFGammaCands()
method to store the isolation gamma candidates internally
float hcalEnergyLeadChargedHadrCand() const
return hcal energy from LeadChargedHadrCand
Definition: Tau.h:348
reco::TrackRef electronPreIDTrack_
Definition: TauPFSpecific.h:54
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > isolationPFChargedHadrCandsTransientPtrs_
Definition: Tau.h:490
float dxy() const
Definition: Tau.h:317
std::vector< reco::PFCandidate > signalPFNeutralHadrCands_
Definition: Tau.h:479
std::vector< reco::PFCandidate > signalPFCands_
Definition: Tau.h:473
size_t numberOfSourceCandidatePtrs() const
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > signalPFNeutralHadrCandsTransientPtrs_
Definition: Tau.h:481
bool embeddedIsolationPFChargedHadrCands_
Definition: Tau.h:489
bool jecSetAvailable(const std::string &set) const
Definition: Tau.h:402
bool embeddedIsolationPFCands_
Definition: Tau.h:486
const std::vector< reco::PFCandidatePtr > & isolationPFChargedHadrCands() const
float hcal3x3OverPLead() const
Definition: Tau.h:238
bool jecSetAvailable(const unsigned int &set) const
Definition: Tau.h:405
Slimmer of PAT Taus.
const pat::tau::TauPFEssential & pfEssential() const
const reco::PFCandidatePtr leadPFChargedHadrCand() const
reco::CaloTauTagInfoRef caloTauTagInfoRef() const
Definition: Tau.h:132
void embedLeadTrack()
method to store the leading track internally
const pat::tau::TauPFEssential::Point & secondaryVertexPos() const
Definition: Tau.h:328
void embedSignalPFChargedHadrCands()
method to store the signal charged hadrons candidates internally
std::vector< reco::PFCandidate > isolationPFGammaCands_
Definition: Tau.h:494
std::vector< reco::PFCandidate > isolationPFNeutralHadrCands_
Definition: Tau.h:491
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > isolationPFGammaCandsTransientPtrs_
Definition: Tau.h:496
float TracksInvariantMass() const
Definition: Tau.h:147
std::vector< Tau > TauCollection
Definition: Tau.h:39
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_
Definition: Tau.h:499
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
Definition: Tau.h:247
float leadTrackHCAL3x3hottesthitDEta() const
Definition: Tau.h:141
edm::Ref< TauCollection > TauRef
Definition: Tau.h:41
const std::vector< std::string > availableJECLevels(const std::string &set) const
Definition: Tau.h:396
float ip3d_Sig() const
void setTauIDs(const std::vector< IdPair > &ids)
Definition: Tau.h:385
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > signalPFCandsTransientPtrs_
Definition: Tau.h:475
float tauID(const std::string &name) const
bool embeddedIsolationPFNeutralHadrCands_
Definition: Tau.h:492
reco::CandidatePtrVector signalCands() const
float leadPFChargedHadrCandsignedSipt_
Definition: TauPFSpecific.h:29
bool embeddedLeadTrack_
Definition: Tau.h:460
float isolationPFGammaCandsEtSum() const
Definition: Tau.h:223
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > signalPFGammaCandsTransientPtrs_
Definition: Tau.h:484
float hcalEnergy() const
return sum of hcal energies from signal candidates
Definition: Tau.h:339
int jecSet(const std::string &label) const
float phiphiMoment() const
edm::RefVector< TauCollection > TauRefVector
Definition: Tau.h:43
float maximumHCALPFClusterEt() const
Definition: Tau.h:226
float ecalEnergy() const
Definition: Tau.h:337
std::pair< std::string, float > IdPair
Definition: Tau.h:66
std::vector< reco::PFCandidate > leadPFCand_
Definition: Tau.h:466
reco::CandidatePtrVector signalGammaCands() const
const pat::tau::TauPFEssential::CovMatrix & primaryVertexCov() const
Definition: Tau.h:322
const std::vector< reco::PFRecoTauChargedHadron > & isolationTauChargedHadronCandidates() const
bool embeddedSignalPFGammaCands_
Definition: Tau.h:483
reco::CandidatePtrVector isolationNeutrHadrCands() const
float maximumHCALhitEt() const
Definition: Tau.h:156
unsigned int currentJECLevel_
Definition: Tau.h:521
float ip3d_error() const
Definition: Tau.h:331
edm::AtomicPtrCache< reco::TrackRefVector > isolationTracksTransientRefVector_
Definition: Tau.h:459
const std::vector< reco::PFCandidatePtr > & signalPFCands() const
reco::PFRecoTauChargedHadronRef leadTauChargedHadronCandidate() const
float hcalMaxOverPLead() const
Definition: Tau.h:235
void setIsolationGammaCands(const reco::CandidatePtrVector &ptrs)
Definition: Tau.h:304
void embedSignalPFCands()
method to store the signal candidates internally
void currentJECSet(const unsigned int &set)
update the current JEC set; used by correctedJet
Definition: Tau.h:446
float isolationPFChargedHadrCandsPtSum() const
Definition: Tau.h:220
reco::CandidatePtrVector isolationChargedHadrCandPtrs_
Definition: Tau.h:528
std::ostream & operator<<(std::ostream &, BeamSpot beam)
Definition: BeamSpot.cc:71
std::vector< reco::Track > signalTracks_
Definition: Tau.h:463
std::vector< IdPair > tauIDs_
Definition: Tau.h:502
float signalTracksInvariantMass() const
Definition: Tau.h:144
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > signalPFChargedHadrCandsTransientPtrs_
Definition: Tau.h:478
bool embeddedIsolationPFGammaCands_
Definition: Tau.h:495
math::XYZVectorF Vector
const reco::VertexRef & primaryVertex() const
Definition: Tau.h:320
float etaetaMoment() const
std::vector< reco::PFCandidate > signalPFChargedHadrCands_
Definition: Tau.h:476
float ip3d() const
Definition: Tau.h:330
Tau()
default constructor
void setIsolationNeutralHadrCands(const reco::CandidatePtrVector &ptrs)
Definition: Tau.h:303
const pat::tau::TauPFEssential::Vector & flightLength() const
Definition: Tau.h:324
Analysis-level lepton class.
Definition: Lepton.h:30
void setIsolationChargedHadrCands(const reco::CandidatePtrVector &ptrs)
Definition: Tau.h:302
float ecalEnergyLeadChargedHadrCand() const
Definition: Tau.h:346
float isolationECALhitsEtSum() const
Definition: Tau.h:153
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_
Definition: Tau.h:529
Jets made from MC generator particles.
Definition: GenJet.h:24
bool embeddedSignalTracks_
Definition: Tau.h:462
const reco::VertexRef & secondaryVertex() const
Definition: Tau.h:327
void setSignalChargedHadrCands(const reco::CandidatePtrVector &ptrs)
setters for the PtrVectors (for miniAOD)
Definition: Tau.h:299
bool embeddedLeadPFCand_
Definition: Tau.h:467
bool hasSecondaryVertex() const
Definition: Tau.h:323
reco::CandidatePtrVector signalNeutrHadrCands() const
const reco::CandidatePtr leadChargedHadrCand() const
std::vector< pat::tau::TauPFEssential > pfEssential_
Definition: Tau.h:534
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
Definition: Tau.h:411
const reco::PFCandidatePtr leadPFCand() const
Analysis-level tau class.
Definition: Tau.h:58
const pat::tau::TauPFEssential::CovMatrix & secondaryVertexCov() const
Definition: Tau.h:329
bool embeddedLeadPFChargedHadrCand_
Definition: Tau.h:469
void embedIsolationPFChargedHadrCands()
method to store the isolation charged hadrons candidates internally
bool embeddedSignalPFNeutralHadrCands_
Definition: Tau.h:480
std::vector< reco::PFCandidate > isolationPFCands_
Definition: Tau.h:485
std::vector< reco::Track > isolationTracks_
Definition: Tau.h:458
void setGenJet(const reco::GenJetRef &ref)
set the matched GenJet
float ptLeadChargedCand() const
return pt from LeadChargedCand
Definition: Tau.h:354
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_
Definition: TauPFSpecific.h:44
void embedLeadPFNeutralCand()
method to store the leading neutral candidate internally
const pat::tau::TauPFEssential::Point & dxy_PCA() const
Definition: Tau.h:316
float emFraction() const
Definition: Tau.h:229
std::vector< pat::tau::TauCaloSpecific > caloSpecific_
holder for CaloTau info, or empty vector if PFTau
Definition: Tau.h:510
void setSignalGammaCands(const reco::CandidatePtrVector &ptrs)
Definition: Tau.h:301
float ecalStripSumEOverPLead() const
Definition: Tau.h:241
bool isCaloTau() const
Returns true if this pat::Tau was made from a reco::CaloTau.
Definition: Tau.h:127
const std::vector< reco::PFCandidatePtr > & signalPFNeutrHadrCands() const
float leadTrackHCAL3x3hitsEtSum() const
Definition: Tau.h:138
const std::vector< reco::PFCandidatePtr > & isolationPFGammaCands() const
reco::CandidatePtrVector signalGammaCandPtrs_
Definition: Tau.h:526
int decayMode() const
reconstructed tau decay mode (specific to PFTau)
Definition: Tau.h:366
const reco::PFJetRef & pfJetRef() const
Definition: Tau.h:166
float bremsRecoveryEOverPLead() const
Definition: Tau.h:244
std::vector< pat::TauJetCorrFactors > jec_
Definition: Tau.h:516
float etaphiMoment() const
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > isolationPFNeutralHadrCandsTransientPtrs_
Definition: Tau.h:493
reco::PFJetRef pfJetRef_
Definition: TauPFSpecific.h:27
std::vector< reco::PFCandidate > signalPFGammaCands_
Definition: Tau.h:482
float leadPFChargedHadrCandsignedSipt() const
Definition: Tau.h:175
std::vector< reco::Track > leadTrack_
Definition: Tau.h:461
std::vector< reco::PFCandidate > isolationPFChargedHadrCands_
Definition: Tau.h:488
math::XYZTLorentzVector LorentzVector
Lorentz vector.
Definition: Candidate.h:37
bool jecSetsAvailable() const
Definition: Tau.h:399
float emFraction_MVA() const
return emFraction_MVA
Definition: Tau.h:356
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 &#39;not PFTau&#39;
void embedSignalPFNeutralHadrCands()
method to store the signal neutral hadrons candidates internally
reco::CandidatePtrVector signalNeutralHadrCandPtrs_
Definition: Tau.h:525
const reco::GenJet * genJet() const
return matched GenJet, built from the visible particles of a generated tau
float flightLengthSig() const
Definition: Tau.h:325
void addJECFactors(const TauJetCorrFactors &jec)
add more sets of energy correction factors
Definition: Tau.h:450
bool embeddedSignalPFCands_
Definition: Tau.h:474
float dxy_Sig() const
float tauID(const char *name) const
Definition: Tau.h:377
float leadingTrackNormChi2() const
return normalized chi2 of leading track
Definition: Tau.h:341
const reco::TrackRefVector & signalTracks() const
override the reco::BaseTau::signalTracks method, to access the internal storage of the signal tracks ...
reco::TrackRef leadTrack() const
override the reco::BaseTau::leadTrack method, to access the internal storage of the leading track ...
float segComp() const
Definition: Tau.h:259
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.
Definition: Tau.h:160
const std::vector< std::string > availableJECLevels(const int &set=0) const
bool embeddedIsolationTracks_
Definition: Tau.h:457
float leadTracksignedSipt() const
Definition: Tau.h:135
reco::CandidatePtrVector signalChargedHadrCands() const
tuple level
Definition: testEve_cfg.py:34
void embedSignalPFGammaCands()
method to store the signal gamma candidates internally
const std::vector< reco::RecoTauPiZero > & isolationPiZeroCandidates() const
float etaAtEcalEntrance() const
return etaAtEcalEntrance
Definition: Tau.h:350
float etaAtEcalEntranceLeadChargedCand() const
return etaAtEcalEntrance from LeadChargedCand
Definition: Tau.h:352
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > isolationPFCandsTransientPtrs_
Definition: Tau.h:487
bool ExistIsolationCands() const
std::vector< reco::PFCandidate > leadPFChargedHadrCand_
Definition: Tau.h:468
std::string currentJECSet() const
returns the label of the current set of jet energy corrections
Definition: Tau.h:407
bool ExistSignalCands() const
const std::vector< reco::PFCandidatePtr > & signalPFGammaCands() const
reco::CandidatePtrVector isolationCands() const
void embedIsolationTracks()
method to store the isolation tracks internally
virtual ~Tau()
destructor
virtual const LorentzVector & p4() const final
four-momentum Lorentz vector
Definition: LeafCandidate.h:99
reco::Candidate::LorentzVector p4Jet() const
std::vector< pat::tau::TauPFSpecific > pfSpecific_
holder for PFTau info, or empty vector if CaloTau
Definition: Tau.h:506
const std::vector< reco::PFCandidatePtr > & isolationPFNeutrHadrCands() const
float electronPreIDOutput() const
Definition: Tau.h:250
reco::CandidatePtrVector signalChargedHadrCandPtrs_
Definition: Tau.h:524
unsigned int currentJECSet_
Definition: Tau.h:519
bool electronPreIDDecision() const
Definition: Tau.h:253
void setSignalNeutralHadrCands(const reco::CandidatePtrVector &ptrs)
Definition: Tau.h:300
bool muonDecision() const
Definition: Tau.h:262
Produces pat::Tau&#39;s.
const pat::tau::TauPFEssential::Point & primaryVertexPos() const
Definition: Tau.h:321
void embedLeadPFCand()
float dxy_error() const
Definition: Tau.h:318
math::ErrorF< 3 >::type CovMatrix
const reco::PFCandidatePtr leadPFNeutralCand() const