CMS 3D CMS Logo

Tau.h
Go to the documentation of this file.
1 #ifndef DataFormats_PatCandidates_Tau_h
2 #define DataFormats_PatCandidates_Tau_h
3 
27 
32 
34 
35 // Define typedefs for convenience
36 namespace pat {
37  class Tau;
38  typedef std::vector<Tau> TauCollection;
42 }
43 
44 namespace reco {
46  std::ostream& operator<<(std::ostream& out, const pat::Tau& obj);
47  // bool sortByPt(const CandidatePtrVector::const_iterator &lhs, const CandidatePtrVector::const_iterator &rhs) { return (*lhs)->pt() < (*rhs)->pt(); }
48 }
49 
50 // Class definition
51 namespace pat {
52 
53 
54  class PATTauSlimmer;
55 
56  class Tau : public Lepton<reco::BaseTau> {
60  friend class PATTauProducer;
61 
62  public:
63 
64  typedef std::pair<std::string, float> IdPair;
65 
67  Tau();
69  Tau(const reco::BaseTau & aTau);
71  Tau(const edm::RefToBase<reco::BaseTau> & aTauRef);
73  Tau(const edm::Ptr<reco::BaseTau> & aTauRef);
75  ~Tau() override;
76 
78  Tau * clone() const override { return new Tau(*this); }
79 
80  // ---- methods for content embedding ----
82  const reco::TrackRefVector & isolationTracks() const override;
84  reco::TrackRef leadTrack() const override;
86  const reco::TrackRefVector & signalTracks() const override;
88  void embedIsolationTracks();
90  void embedLeadTrack();
92  void embedSignalTracks();
95  void embedLeadPFCand();
101  void embedSignalPFCands();
109  void embedIsolationPFCands();
116 
117  // ---- matched GenJet methods ----
119  const reco::GenJet * genJet() const;
121  void setGenJet(const reco::GenJetRef & ref);
122 
123  // ---- CaloTau accessors (getters only) ----
125  bool isCaloTau() const { return !caloSpecific_.empty(); }
127  const pat::tau::TauCaloSpecific & caloSpecific() const ;
133  float leadTracksignedSipt() const { return caloSpecific().leadTracksignedSipt_; }
136  float leadTrackHCAL3x3hitsEtSum() const { return caloSpecific().leadTrackHCAL3x3hitsEtSum_; }
139  float leadTrackHCAL3x3hottesthitDEta() const { return caloSpecific().leadTrackHCAL3x3hottesthitDEta_; }
142  float signalTracksInvariantMass() const { return caloSpecific().signalTracksInvariantMass_; }
145  float TracksInvariantMass() const { return caloSpecific().TracksInvariantMass_; }
148  float isolationTracksPtSum() const { return caloSpecific().isolationTracksPtSum_; }
151  float isolationECALhitsEtSum() const { return caloSpecific().isolationECALhitsEtSum_; }
154  float maximumHCALhitEt() const { return caloSpecific().maximumHCALhitEt_; }
155 
156  // ---- PFTau accessors (getters only) ----
158  bool isPFTau() const { return !pfSpecific_.empty(); }
160  const pat::tau::TauPFSpecific & pfSpecific() const ;
161  const pat::tau::TauPFEssential & pfEssential() const;
164  const reco::JetBaseRef & pfJetRef() const { return pfSpecific().pfJetRef_; }
167  reco::PFRecoTauChargedHadronRef leadTauChargedHadronCandidate() const;
170  const reco::PFCandidatePtr leadPFChargedHadrCand() const;
176  const reco::PFCandidatePtr leadPFNeutralCand() const;
179  const reco::PFCandidatePtr leadPFCand() const;
182  const std::vector<reco::PFCandidatePtr>& signalPFCands() const;
185  const std::vector<reco::PFCandidatePtr>& signalPFChargedHadrCands() const;
188  const std::vector<reco::PFCandidatePtr>& signalPFNeutrHadrCands() const;
191  const std::vector<reco::PFCandidatePtr>& signalPFGammaCands() const;
194  const std::vector<reco::PFRecoTauChargedHadron> & signalTauChargedHadronCandidates() const;
197  const std::vector<reco::RecoTauPiZero> & signalPiZeroCandidates() const;
200  const std::vector<reco::PFCandidatePtr>& isolationPFCands() const;
203  const std::vector<reco::PFCandidatePtr>& isolationPFChargedHadrCands() const;
206  const std::vector<reco::PFCandidatePtr>& isolationPFNeutrHadrCands() const;
209  const std::vector<reco::PFCandidatePtr>& isolationPFGammaCands() const;
212  const std::vector<reco::PFRecoTauChargedHadron> & isolationTauChargedHadronCandidates() const;
215  const std::vector<reco::RecoTauPiZero> & isolationPiZeroCandidates() const;
221  float isolationPFGammaCandsEtSum() const { return pfSpecific().isolationPFGammaCandsEtSum_; }
224  float maximumHCALPFClusterEt() const { return pfSpecific().maximumHCALPFClusterEt_; }
227  float emFraction() const { return pfSpecific().emFraction_; }
230  float hcalTotOverPLead() const { return pfSpecific().hcalTotOverPLead_; }
233  float hcalMaxOverPLead() const { return pfSpecific().hcalMaxOverPLead_; }
236  float hcal3x3OverPLead() const { return pfSpecific().hcal3x3OverPLead_; }
239  float ecalStripSumEOverPLead() const { return pfSpecific().ecalStripSumEOverPLead_; }
242  float bremsRecoveryEOverPLead() const { return pfSpecific().bremsRecoveryEOverPLead_; }
245  const reco::TrackRef & electronPreIDTrack() const { return pfSpecific().electronPreIDTrack_; }
248  float electronPreIDOutput() const { return pfSpecific().electronPreIDOutput_; }
251  bool electronPreIDDecision() const { return pfSpecific().electronPreIDDecision_; }
254  float caloComp() const { return pfSpecific().caloComp_; }
257  float segComp() const { return pfSpecific().segComp_; }
260  bool muonDecision() const { return pfSpecific().muonDecision_; }
261 
264  const reco::CandidatePtr leadChargedHadrCand() const;
266  const reco::CandidatePtr leadNeutralCand() const;
268  const reco::CandidatePtr leadCand() const;
271  bool ExistSignalCands() const;
272  bool ExistIsolationCands() const;
273  reco::CandidatePtrVector signalCands() const;
276  reco::CandidatePtrVector signalChargedHadrCands() const;
279  reco::CandidatePtrVector signalNeutrHadrCands() const;
282  reco::CandidatePtrVector signalGammaCands() const;
285  reco::CandidatePtrVector isolationCands() const;
288  reco::CandidatePtrVector isolationChargedHadrCands() const;
291  reco::CandidatePtrVector isolationNeutrHadrCands() const;
294  reco::CandidatePtrVector isolationGammaCands() const;
295 
297  void setSignalChargedHadrCands(const reco::CandidatePtrVector &ptrs) { signalChargedHadrCandPtrs_ = ptrs;}
298  void setSignalNeutralHadrCands(const reco::CandidatePtrVector &ptrs) { signalNeutralHadrCandPtrs_ = ptrs;}
299  void setSignalGammaCands(const reco::CandidatePtrVector &ptrs) { signalGammaCandPtrs_ = ptrs;}
300  void setIsolationChargedHadrCands(const reco::CandidatePtrVector &ptrs) { isolationChargedHadrCandPtrs_ = ptrs;}
301  void setIsolationNeutralHadrCands(const reco::CandidatePtrVector &ptrs) { isolationNeutralHadrCandPtrs_ = ptrs;}
302  void setIsolationGammaCands(const reco::CandidatePtrVector &ptrs) { isolationGammaCandPtrs_ = ptrs;}
303 
306  size_t numberOfSourceCandidatePtrs() const override ;
308  reco::CandidatePtr sourceCandidatePtr( size_type i ) const override;
309 
310 
314  const pat::tau::TauPFEssential::Point& dxy_PCA() const { return pfEssential().dxy_PCA_; }
315  float dxy() const { return pfEssential().dxy_; }
316  float dxy_error() const { return pfEssential().dxy_error_; }
317  float dxy_Sig() const;
318  const reco::VertexRef& primaryVertex() const { return pfEssential().pv_; }
319  const pat::tau::TauPFEssential::Point& primaryVertexPos() const { return pfEssential().pvPos_; }
320  const pat::tau::TauPFEssential::CovMatrix& primaryVertexCov() const { return pfEssential().pvCov_; }
321  bool hasSecondaryVertex() const { return pfEssential().hasSV_; }
322  const pat::tau::TauPFEssential::Vector& flightLength() const { return pfEssential().flightLength_; }
323  float flightLengthSig() const { return pfEssential().flightLengthSig_; }
324  pat::tau::TauPFEssential::CovMatrix flightLengthCov() const;
325  const reco::VertexRef& secondaryVertex() const { return pfEssential().sv_; }
326  const pat::tau::TauPFEssential::Point& secondaryVertexPos() const { return pfEssential().svPos_; }
327  const pat::tau::TauPFEssential::CovMatrix& secondaryVertexCov() const { return pfEssential().svCov_; }
328  float ip3d() const { return pfEssential().ip3d_; }
329  float ip3d_error() const { return pfEssential().ip3d_error_; }
330  float ip3d_Sig() const;
331 
335  float ecalEnergy() const { return pfEssential().ecalEnergy_; }
337  float hcalEnergy() const { return pfEssential().hcalEnergy_; }
339  float leadingTrackNormChi2() const { return pfEssential().leadingTrackNormChi2_; }
340 
344  float ecalEnergyLeadChargedHadrCand() const { return pfEssential().ecalEnergyLeadChargedHadrCand_; }
346  float hcalEnergyLeadChargedHadrCand() const { return pfEssential().hcalEnergyLeadChargedHadrCand_; }
348  float phiAtEcalEntrance() const { return pfEssential().phiAtEcalEntrance_; }
350  float etaAtEcalEntrance() const { return pfEssential().etaAtEcalEntrance_; }
354  float ptLeadChargedCand() const { return pfEssential().ptLeadChargedCand_; }
356  float emFraction_MVA() const { return pfEssential().emFraction_; }
357 
360  reco::Candidate::LorentzVector p4Jet() const;
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:
457  void initFromBaseTau(const reco::BaseTau& aTau);
458  // ---- for content embedding ----
460  std::vector<reco::Track> isolationTracks_;
463  std::vector<reco::Track> leadTrack_;
465  std::vector<reco::Track> signalTracks_;
467  // specific for PFTau
468  std::vector<reco::PFCandidate> leadPFCand_;
470  std::vector<reco::PFCandidate> leadPFChargedHadrCand_;
472  std::vector<reco::PFCandidate> leadPFNeutralCand_;
474 
475  std::vector<reco::PFCandidate> signalPFCands_;
478  std::vector<reco::PFCandidate> signalPFChargedHadrCands_;
481  std::vector<reco::PFCandidate> signalPFNeutralHadrCands_;
484  std::vector<reco::PFCandidate> signalPFGammaCands_;
487  std::vector<reco::PFCandidate> isolationPFCands_;
490  std::vector<reco::PFCandidate> isolationPFChargedHadrCands_;
493  std::vector<reco::PFCandidate> isolationPFNeutralHadrCands_;
496  std::vector<reco::PFCandidate> isolationPFGammaCands_;
499 
500  // ---- matched GenJet holder ----
501  std::vector<reco::GenJet> genJet_;
502 
503  // ---- tau ID's holder ----
504  std::vector<IdPair> tauIDs_;
505 
506  // ---- PFTau specific variables ----
508  std::vector<pat::tau::TauPFSpecific> pfSpecific_;
509 
510  // ---- CaloTau specific variables ----
512  std::vector<pat::tau::TauCaloSpecific> caloSpecific_;
513 
514  // ---- energy scale correction factors ----
515  // energy scale correction factors; the string carries a potential label if
516  // more then one set of correction factors is embedded. The label corresponds
517  // to the label of the jetCorrFactors module that has been embedded.
518  std::vector<pat::TauJetCorrFactors> jec_;
519  // currently applied set of jet energy correction factors (i.e. the index in
520  // jetEnergyCorrections_)
521  unsigned int currentJECSet_;
522  // currently applied jet energy correction level
523  unsigned int currentJECLevel_;
524 
525  // ---- references to packed pf candidates -----
529 
533 
534  // -- essential info to keep
535 
536  std::vector<pat::tau::TauPFEssential> pfEssential_;
537 
538 
539  };
540 }
541 
542 #endif
bool embeddedLeadPFNeutralCand_
Definition: Tau.h:473
const reco::JetBaseRef & pfJetRef() const
Definition: Tau.h:164
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:466
embedIsolationPFNeutralHadrCands
embed in AOD externally stored isolation PFChargedHadronCandidates
float hcalTotOverPLead() const
Definition: Tau.h:230
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
reco::CandidatePtrVector isolationGammaCandPtrs_
Definition: Tau.h:532
reco::CaloTauTagInfoRef CaloTauTagInfoRef_
edm::RefProd< TauCollection > TauRefProd
Definition: Tau.h:40
embedIsolationPFChargedHadrCands
embed in AOD externally stored isolation PFCandidates
float caloComp() const
Definition: Tau.h:254
size_t size_type
Definition: Candidate.h:30
bool embeddedSignalPFChargedHadrCands_
Definition: Tau.h:479
float isolationTracksPtSum() const
Definition: Tau.h:148
std::vector< reco::PFCandidate > leadPFNeutralCand_
Definition: Tau.h:472
float hcalEnergyLeadChargedHadrCand() const
return hcal energy from LeadChargedHadrCand
Definition: Tau.h:346
reco::TrackRef electronPreIDTrack_
Definition: TauPFSpecific.h:54
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > isolationPFChargedHadrCandsTransientPtrs_
Definition: Tau.h:492
float dxy() const
Definition: Tau.h:315
std::vector< reco::PFCandidate > signalPFNeutralHadrCands_
Definition: Tau.h:481
std::vector< reco::PFCandidate > signalPFCands_
Definition: Tau.h:475
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > signalPFNeutralHadrCandsTransientPtrs_
Definition: Tau.h:483
bool embeddedIsolationPFChargedHadrCands_
Definition: Tau.h:491
bool jecSetAvailable(const std::string &set) const
Definition: Tau.h:402
bool embeddedIsolationPFCands_
Definition: Tau.h:488
float hcal3x3OverPLead() const
Definition: Tau.h:236
bool jecSetAvailable(const unsigned int &set) const
Definition: Tau.h:405
Slimmer of PAT Taus.
reco::CaloTauTagInfoRef caloTauTagInfoRef() const
Definition: Tau.h:130
embedSignalPFGammaCands
embed in AOD externally stored signal PFNeutralHadronCandidates
const pat::tau::TauPFEssential::Point & secondaryVertexPos() const
Definition: Tau.h:326
std::vector< reco::PFCandidate > isolationPFGammaCands_
Definition: Tau.h:496
embedSignalPFCands
embed in AOD externally stored leading PFNeutral Candidate
std::vector< reco::PFCandidate > isolationPFNeutralHadrCands_
Definition: Tau.h:493
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > isolationPFGammaCandsTransientPtrs_
Definition: Tau.h:498
float TracksInvariantMass() const
Definition: Tau.h:145
std::vector< Tau > TauCollection
Definition: Tau.h:37
std::vector< reco::GenJet > genJet_
Definition: Tau.h:501
const reco::TrackRef & electronPreIDTrack() const
Definition: Tau.h:245
float leadTrackHCAL3x3hottesthitDEta() const
Definition: Tau.h:139
edm::Ref< TauCollection > TauRef
Definition: Tau.h:39
const std::vector< std::string > availableJECLevels(const std::string &set) const
Definition: Tau.h:396
void setTauIDs(const std::vector< IdPair > &ids)
Definition: Tau.h:385
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > signalPFCandsTransientPtrs_
Definition: Tau.h:477
bool embeddedIsolationPFNeutralHadrCands_
Definition: Tau.h:494
float leadPFChargedHadrCandsignedSipt_
Definition: TauPFSpecific.h:29
bool embeddedLeadTrack_
Definition: Tau.h:462
float isolationPFGammaCandsEtSum() const
Definition: Tau.h:221
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > signalPFGammaCandsTransientPtrs_
Definition: Tau.h:486
float hcalEnergy() const
return sum of hcal energies from signal candidates
Definition: Tau.h:337
edm::RefVector< TauCollection > TauRefVector
Definition: Tau.h:41
float maximumHCALPFClusterEt() const
Definition: Tau.h:224
float ecalEnergy() const
Definition: Tau.h:335
std::pair< std::string, float > IdPair
Definition: Tau.h:64
std::vector< reco::PFCandidate > leadPFCand_
Definition: Tau.h:468
const pat::tau::TauPFEssential::CovMatrix & primaryVertexCov() const
Definition: Tau.h:320
InputIterator leadCand(InputIterator begin, InputIterator end)
embedSignalPFNeutralHadrCands
embed in AOD externally stored signal PFChargedHadronCandidates
bool embeddedSignalPFGammaCands_
Definition: Tau.h:485
Definition: HeavyIon.h:7
float maximumHCALhitEt() const
Definition: Tau.h:154
unsigned int currentJECLevel_
Definition: Tau.h:523
float ip3d_error() const
Definition: Tau.h:329
static const int tauID
Definition: TopGenEvent.h:21
edm::AtomicPtrCache< reco::TrackRefVector > isolationTracksTransientRefVector_
Definition: Tau.h:461
char const * label
float hcalMaxOverPLead() const
Definition: Tau.h:233
embedSignalTracks
embed in AOD externally stored leading track
void setIsolationGammaCands(const reco::CandidatePtrVector &ptrs)
Definition: Tau.h:302
void currentJECSet(const unsigned int &set)
update the current JEC set; used by correctedJet
Definition: Tau.h:446
float isolationPFChargedHadrCandsPtSum() const
Definition: Tau.h:218
reco::CandidatePtrVector isolationChargedHadrCandPtrs_
Definition: Tau.h:530
std::ostream & operator<<(std::ostream &, BeamSpot beam)
Definition: BeamSpot.cc:71
std::vector< reco::Track > signalTracks_
Definition: Tau.h:465
embedIsolationPFGammaCands
embed in AOD externally stored isolation PFNeutralHadronCandidates
std::vector< IdPair > tauIDs_
Definition: Tau.h:504
embedIsolationTracks
embed in AOD externally stored signal tracks
float signalTracksInvariantMass() const
Definition: Tau.h:142
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > signalPFChargedHadrCandsTransientPtrs_
Definition: Tau.h:480
bool embeddedIsolationPFGammaCands_
Definition: Tau.h:497
math::XYZVectorF Vector
const reco::VertexRef & primaryVertex() const
Definition: Tau.h:318
std::vector< reco::PFCandidate > signalPFChargedHadrCands_
Definition: Tau.h:478
float ip3d() const
Definition: Tau.h:328
void setIsolationNeutralHadrCands(const reco::CandidatePtrVector &ptrs)
Definition: Tau.h:301
const pat::tau::TauPFEssential::Vector & flightLength() const
Definition: Tau.h:322
void setIsolationChargedHadrCands(const reco::CandidatePtrVector &ptrs)
Definition: Tau.h:300
std::ostream & operator<<(std::ostream &out, const strbitset::index_type &r)
Definition: strbitset.cc:27
float ecalEnergyLeadChargedHadrCand() const
Definition: Tau.h:344
float isolationECALhitsEtSum() const
Definition: Tau.h:151
reco::CandidatePtrVector isolationNeutralHadrCandPtrs_
Definition: Tau.h:531
Jets made from MC generator particles.
Definition: GenJet.h:25
bool embeddedSignalTracks_
Definition: Tau.h:464
const reco::VertexRef & secondaryVertex() const
Definition: Tau.h:325
void setSignalChargedHadrCands(const reco::CandidatePtrVector &ptrs)
setters for the PtrVectors (for miniAOD)
Definition: Tau.h:297
const LorentzVector & p4() const final
four-momentum Lorentz vector
Definition: LeafCandidate.h:99
embedLeadPFNeutralCand
embed in AOD externally stored leading PFChargedHadron candidate
bool embeddedLeadPFCand_
Definition: Tau.h:469
bool hasSecondaryVertex() const
Definition: Tau.h:321
reco::JetBaseRef pfJetRef_
Definition: TauPFSpecific.h:27
float phiAtEcalEntrance() const
return phiAtEcalEntrance
Definition: Tau.h:348
std::vector< pat::tau::TauPFEssential > pfEssential_
Definition: Tau.h:536
std::string currentJECLevel() const
return the name of the current step of jet energy corrections
Definition: Tau.h:411
Analysis-level tau class.
Definition: Tau.h:56
const pat::tau::TauPFEssential::CovMatrix & secondaryVertexCov() const
Definition: Tau.h:327
bool embeddedLeadPFChargedHadrCand_
Definition: Tau.h:471
bool embeddedSignalPFNeutralHadrCands_
Definition: Tau.h:482
std::vector< reco::PFCandidate > isolationPFCands_
Definition: Tau.h:487
std::vector< reco::Track > isolationTracks_
Definition: Tau.h:460
float ptLeadChargedCand() const
return pt from LeadChargedCand
Definition: Tau.h:354
Definition: Tau.py:1
embedSignalPFChargedHadrCands
embed in AOD externally stored signal PFCandidates
float isolationPFChargedHadrCandsPtSum_
Definition: TauPFSpecific.h:44
const pat::tau::TauPFEssential::Point & dxy_PCA() const
Definition: Tau.h:314
float emFraction() const
Definition: Tau.h:227
std::vector< pat::tau::TauCaloSpecific > caloSpecific_
holder for CaloTau info, or empty vector if PFTau
Definition: Tau.h:512
void setSignalGammaCands(const reco::CandidatePtrVector &ptrs)
Definition: Tau.h:299
float ecalStripSumEOverPLead() const
Definition: Tau.h:239
bool isCaloTau() const
Returns true if this pat::Tau was made from a reco::CaloTau.
Definition: Tau.h:125
float leadTrackHCAL3x3hitsEtSum() const
Definition: Tau.h:136
reco::CandidatePtrVector signalGammaCandPtrs_
Definition: Tau.h:528
int decayMode() const
reconstructed tau decay mode (specific to PFTau)
Definition: Tau.h:366
Tau * clone() const override
required reimplementation of the Candidate&#39;s clone method
Definition: Tau.h:78
float bremsRecoveryEOverPLead() const
Definition: Tau.h:242
std::vector< pat::TauJetCorrFactors > jec_
Definition: Tau.h:518
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > isolationPFNeutralHadrCandsTransientPtrs_
Definition: Tau.h:495
std::vector< reco::PFCandidate > signalPFGammaCands_
Definition: Tau.h:484
float leadPFChargedHadrCandsignedSipt() const
Definition: Tau.h:173
std::vector< reco::Track > leadTrack_
Definition: Tau.h:463
std::vector< reco::PFCandidate > isolationPFChargedHadrCands_
Definition: Tau.h:490
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
reco::CandidatePtrVector signalNeutralHadrCandPtrs_
Definition: Tau.h:527
float flightLengthSig() const
Definition: Tau.h:323
void addJECFactors(const TauJetCorrFactors &jec)
add more sets of energy correction factors
Definition: Tau.h:450
fixed size matrix
bool embeddedSignalPFCands_
Definition: Tau.h:476
float tauID(const char *name) const
Definition: Tau.h:377
float leadingTrackNormChi2() const
return normalized chi2 of leading track
Definition: Tau.h:339
float segComp() const
Definition: Tau.h:257
embedIsolationPFCands
embed in AOD externally stored signal PFGammaCandidates
bool isPFTau() const
Returns true if this pat::Tau was made from a reco::PFTau.
Definition: Tau.h:158
bool embeddedIsolationTracks_
Definition: Tau.h:459
float leadTracksignedSipt() const
Definition: Tau.h:133
Definition: Lepton.py:1
embedLeadPFCand
embed in AOD externally stored isolation tracks embedding objects (for PFTaus only) ...
embedLeadPFChargedHadrCand
embed in AOD externally stored leading PFCandidate
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:489
std::vector< reco::PFCandidate > leadPFChargedHadrCand_
Definition: Tau.h:470
std::string currentJECSet() const
returns the label of the current set of jet energy corrections
Definition: Tau.h:407
std::vector< pat::tau::TauPFSpecific > pfSpecific_
holder for PFTau info, or empty vector if CaloTau
Definition: Tau.h:508
float electronPreIDOutput() const
Definition: Tau.h:248
reco::CandidatePtrVector signalChargedHadrCandPtrs_
Definition: Tau.h:526
unsigned int currentJECSet_
Definition: Tau.h:521
bool electronPreIDDecision() const
Definition: Tau.h:251
void setSignalNeutralHadrCands(const reco::CandidatePtrVector &ptrs)
Definition: Tau.h:298
bool muonDecision() const
Definition: Tau.h:260
Produces pat::Tau&#39;s.
const pat::tau::TauPFEssential::Point & primaryVertexPos() const
Definition: Tau.h:319
float dxy_error() const
Definition: Tau.h:316
math::ErrorF< 3 >::type CovMatrix