CMS 3D CMS Logo

PFTauDecayMode.h
Go to the documentation of this file.
1 #ifndef DataFormats_TauReco_PFTauDecayMode_h
2 #define DataFormats_TauReco_PFTauDecayMode_h
3 
4 /* class PFTauDecayMode
5  *
6  * Stores information for determing the type of hadronic decay of a tau lepton
7  *
8  * Associated to a reco::PFTau object
9  * Provides functionality for:
10  * - merging gamma candidates into candidate PiZeroes
11  * - indexing reconstructed hadronic decay mode
12  * - computing vertex information for multi-prong
13  * - filtering suspected underlying event
14  *
15  * author: Evan K. Friis, UC Davis (evan.klose.friis@cern.ch)
16  * created: Mon Jun 30 13:53:59 PDT 2008
17  */
18 
25 
26 namespace reco {
28  public:
29  //to help with indexing. changing this value necissitates changing the enum below
30  const static unsigned char maxNumberOfPiZeroCandidatesAllowed = 4;
31 
34  tauDecay1ChargedPion1PiZero, // rho (770 MeV) mediated)
35  tauDecay1ChargedPion2PiZero, // a1 (1.2 GeV) mediated
36  tauDecay1ChargedPion3PiZero, // contaminated or unmerged photo
37  tauDecay1ChargedPion4PiZero, // contaminated or unmerged photo
38  tauDecay2ChargedPion0PiZero, // extra track or un-recod track
39  tauDecay2ChargedPion1PiZero, // extra track or un-recod track
40  tauDecay2ChargedPion2PiZero, // extra track or un-recod track
41  tauDecay2ChargedPion3PiZero, // extra track or un-recod track
42  tauDecay2ChargedPion4PiZero, // extra track or un-recod track
43  tauDecay3ChargedPion0PiZero, // a1 (1.2 GeV) mediated
44  tauDecay3ChargedPion1PiZero, // a1 (1.2 GeV) mediated
45  tauDecay3ChargedPion2PiZero, // a1 (1.2 GeV) mediated
46  tauDecay3ChargedPion3PiZero, // a1 (1.2 GeV) mediated
47  tauDecay3ChargedPion4PiZero, // a1 (1.2 GeV) mediated
50  tauDecayOther // catch-all
51  };
52 
56  const LorentzVector& p4,
57  const Point& vtx = Point(0, 0, 0),
58  int pdgId = 12,
59  int status = 2,
60  bool integerCharge = true)
61  : CompositeCandidate(q, p4, vtx, pdgId, status, integerCharge) {}
62 
65  const CompositeCandidate& piZeroes,
67 
68  ~PFTauDecayMode() override {}
69  PFTauDecayMode* clone() const override;
70 
72  const PFTauRef& pfTauRef() const { return pfTauRef_; }
73  void setPFTauRef(const PFTauRef& theTau) { pfTauRef_ = theTau; }
74 
76  void setDecayMode(hadronicTauDecayModes theDecayMode) { theDecayMode_ = theDecayMode; }
77 
81  const CompositeCandidate& neutralPions() const;
83  const CompositeCandidate& filteredObjects() const;
84 
86  std::vector<const Candidate*> chargedPionCandidates() const;
88  std::vector<const Candidate*> neutralPionCandidates() const;
90  std::vector<const Candidate*> decayProductCandidates() const;
92  std::vector<const Candidate*> filteredObjectCandidates(int absCharge = -2) const;
94  std::vector<const Candidate*> neutralFilteredObjectCandidates() const;
96  std::vector<const Candidate*> chargedFilteredObjectCandidates() const;
97 
99  void pfMasterClones(const Candidate* input, PFCandidateRefVector& toFill) const;
100 
107 
108  protected:
112  CompositeCandidate filteredObjects_; // stores objects considered UE
114  };
115 } // namespace reco
116 
117 #endif
reco::PFTauDecayMode::tauDecayMuon
Definition: PFTauDecayMode.h:49
reco::PFTauDecayMode::theDecayMode_
hadronicTauDecayModes theDecayMode_
Definition: PFTauDecayMode.h:113
reco::PFTauDecayMode::neutralPions
const CompositeCandidate & neutralPions() const
returns a collection of merged Pi0s
Definition: PFTauDecayMode.cc:41
input
static const std::string input
Definition: EdmProvDump.cc:48
PFTauDecayModeFwd.h
CompositeCandidate.h
reco::PFTauDecayMode::PFTauDecayMode
PFTauDecayMode()
Definition: PFTauDecayMode.h:53
reco::LeafCandidate::Point
math::XYZPoint Point
point in the space
Definition: LeafCandidate.h:27
reco::LeafCandidate::status
int status() const final
status word
Definition: LeafCandidate.h:180
PFCandidate.h
reco::PFTauDecayMode::maxNumberOfPiZeroCandidatesAllowed
const static unsigned char maxNumberOfPiZeroCandidatesAllowed
Definition: PFTauDecayMode.h:30
reco::PFTauDecayMode::associatedNeutralPFCandidates
PFCandidateRefVector associatedNeutralPFCandidates() const
returns the PFCandidates associated to the PiZero signal objects (i.e., the unmerged photons)
Definition: PFTauDecayMode.cc:116
reco::Candidate::Charge
int Charge
electric charge type
Definition: Candidate.h:34
reco::PFTauDecayMode::tauDecay2ChargedPion0PiZero
Definition: PFTauDecayMode.h:38
reco::PFTauDecayMode::tauDecay3ChargedPion1PiZero
Definition: PFTauDecayMode.h:44
edm::RefVector< PFCandidateCollection >
reco::VertexCompositeCandidate
Definition: VertexCompositeCandidate.h:16
reco::PFTauDecayMode::tauDecay3ChargedPion2PiZero
Definition: PFTauDecayMode.h:45
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:45
reco::PFTauDecayMode::chargedPionCandidates
std::vector< const Candidate * > chargedPionCandidates() const
returns pointers to charged pions
Definition: PFTauDecayMode.cc:45
reco::PFTauDecayMode::tauDecay3ChargedPion0PiZero
Definition: PFTauDecayMode.h:43
edm::Ref< PFTauCollection >
reco::PFTauDecayMode::filteredPFCandidates
PFCandidateRefVector filteredPFCandidates() const
returns the PFCandidates that were filtered
Definition: PFTauDecayMode.cc:124
reco::PFTauDecayMode::filteredObjects_
CompositeCandidate filteredObjects_
Definition: PFTauDecayMode.h:112
reco::PFTauDecayMode::tauDecay1ChargedPion2PiZero
Definition: PFTauDecayMode.h:35
reco::PFTauDecayMode::filteredObjectCandidates
std::vector< const Candidate * > filteredObjectCandidates(int absCharge=-2) const
returns pointers to filtered objects (i.e. those not included in signal objects)
Definition: PFTauDecayMode.cc:69
reco::PFTauDecayMode::piZeroes_
CompositeCandidate piZeroes_
Definition: PFTauDecayMode.h:111
reco::PFTauDecayMode::filteredObjects
const CompositeCandidate & filteredObjects() const
returns references to PF objects that were filtered
Definition: PFTauDecayMode.cc:43
reco::PFTauDecayMode::chargedFilteredObjectCandidates
std::vector< const Candidate * > chargedFilteredObjectCandidates() const
returns only charged filtered objects
Definition: PFTauDecayMode.cc:80
VertexCompositeCandidate.h
reco::PFTauDecayMode::setPFTauRef
void setPFTauRef(const PFTauRef &theTau)
Definition: PFTauDecayMode.h:73
reco::PFTauDecayMode::tauDecay2ChargedPion3PiZero
Definition: PFTauDecayMode.h:41
reco::PFTauDecayMode::pfTauRef
const PFTauRef & pfTauRef() const
return reference to associated PFTau object
Definition: PFTauDecayMode.h:72
reco::PFTauDecayMode::tauDecay1ChargedPion4PiZero
Definition: PFTauDecayMode.h:37
reco::PFTauDecayMode::tauDecay2ChargedPion4PiZero
Definition: PFTauDecayMode.h:42
Point
Structure Point Contains parameters of Gaussian fits to DMRs.
Definition: DMRtrends.cc:57
reco::PFTauDecayMode::tauDecayOther
Definition: PFTauDecayMode.h:50
reco::PFTauDecayMode::tauDecaysElectron
Definition: PFTauDecayMode.h:48
reco::PFTauDecayMode::setDecayMode
void setDecayMode(hadronicTauDecayModes theDecayMode)
Definition: PFTauDecayMode.h:76
reco::PFTauDecayMode::associatedChargedPFCandidates
PFCandidateRefVector associatedChargedPFCandidates() const
returns the PFCandidates associated to the charged signal objects
Definition: PFTauDecayMode.cc:108
reco::LeafCandidate::pdgId
int pdgId() const final
PDG identifier.
Definition: LeafCandidate.h:176
reco::PFTauDecayMode::tauDecay1ChargedPion0PiZero
Definition: PFTauDecayMode.h:33
reco::PFTauDecayMode::tauDecay3ChargedPion4PiZero
Definition: PFTauDecayMode.h:47
reco::LeafCandidate::p4
const LorentzVector & p4() const final
four-momentum Lorentz vector
Definition: LeafCandidate.h:114
submitPVResolutionJobs.q
q
Definition: submitPVResolutionJobs.py:84
reco::Candidate
Definition: Candidate.h:27
reco::PFTauDecayMode::hadronicTauDecayModes
hadronicTauDecayModes
Definition: PFTauDecayMode.h:32
extraflags_cff.vtx
vtx
Definition: extraflags_cff.py:18
reco::PFTauDecayMode::neutralFilteredObjectCandidates
std::vector< const Candidate * > neutralFilteredObjectCandidates() const
returns only netural filtered objects
Definition: PFTauDecayMode.cc:84
reco::PFTauDecayMode::~PFTauDecayMode
~PFTauDecayMode() override
Definition: PFTauDecayMode.h:68
reco::PFTauDecayMode::chargedPions
const VertexCompositeCandidate & chargedPions() const
returns collection of charged pions w/ vertex information (tracks are refit)
Definition: PFTauDecayMode.cc:39
PFTau.h
reco::PFTauDecayMode::tauDecay2ChargedPion2PiZero
Definition: PFTauDecayMode.h:40
reco::PFTauDecayMode::clone
PFTauDecayMode * clone() const override
returns a clone of the candidate
Definition: PFTauDecayMode.cc:37
reco::PFTauDecayMode::pfMasterClones
void pfMasterClones(const Candidate *input, PFCandidateRefVector &toFill) const
fills master clones to PF objects (utility function)
Definition: PFTauDecayMode.cc:88
reco::PFTauDecayMode::tauDecay1ChargedPion1PiZero
Definition: PFTauDecayMode.h:34
reco::Candidate::LorentzVector
math::XYZTLorentzVector LorentzVector
Lorentz vector.
Definition: Candidate.h:36
reco::PFTauDecayMode::PFTauDecayMode
PFTauDecayMode(Charge q, const LorentzVector &p4, const Point &vtx=Point(0, 0, 0), int pdgId=12, int status=2, bool integerCharge=true)
constructor from values
Definition: PFTauDecayMode.h:55
reco::PFTauDecayMode::tauDecay3ChargedPion3PiZero
Definition: PFTauDecayMode.h:46
reco::PFTauDecayMode::decayProductCandidates
std::vector< const Candidate * > decayProductCandidates() const
returns pointers to non-filtered objects
Definition: PFTauDecayMode.cc:61
reco::PFTauDecayMode::tauDecay1ChargedPion3PiZero
Definition: PFTauDecayMode.h:36
reco::PFTauDecayMode::tauDecay2ChargedPion1PiZero
Definition: PFTauDecayMode.h:39
reco::CompositeCandidate
Definition: CompositeCandidate.h:21
reco::PFTauDecayMode::pfTauRef_
PFTauRef pfTauRef_
Definition: PFTauDecayMode.h:109
reco::PFTauDecayMode::neutralPionCandidates
std::vector< const Candidate * > neutralPionCandidates() const
returns pointers to neutral pions
Definition: PFTauDecayMode.cc:53
reco::PFTauDecayMode::chargedPions_
VertexCompositeCandidate chargedPions_
Definition: PFTauDecayMode.h:110
reco::PFTauDecayMode
Definition: PFTauDecayMode.h:27
reco::PFTauDecayMode::getDecayMode
hadronicTauDecayModes getDecayMode() const
Definition: PFTauDecayMode.h:75
PFCandidateFwd.h