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 
26 
27 namespace reco {
29  public:
30  //to help with indexing. changing this value necissitates changing the enum below
31  const static unsigned char maxNumberOfPiZeroCandidatesAllowed = 4;
32 
35  tauDecay1ChargedPion1PiZero, // rho (770 MeV) mediated)
36  tauDecay1ChargedPion2PiZero, // a1 (1.2 GeV) mediated
37  tauDecay1ChargedPion3PiZero, // contaminated or unmerged photo
38  tauDecay1ChargedPion4PiZero, // contaminated or unmerged photo
39  tauDecay2ChargedPion0PiZero, // extra track or un-recod track
40  tauDecay2ChargedPion1PiZero, // extra track or un-recod track
41  tauDecay2ChargedPion2PiZero, // extra track or un-recod track
42  tauDecay2ChargedPion3PiZero, // extra track or un-recod track
43  tauDecay2ChargedPion4PiZero, // extra track or un-recod track
44  tauDecay3ChargedPion0PiZero, // a1 (1.2 GeV) mediated
45  tauDecay3ChargedPion1PiZero, // a1 (1.2 GeV) mediated
46  tauDecay3ChargedPion2PiZero, // a1 (1.2 GeV) mediated
47  tauDecay3ChargedPion3PiZero, // a1 (1.2 GeV) mediated
48  tauDecay3ChargedPion4PiZero, // a1 (1.2 GeV) mediated
51  tauDecayOther // catch-all
52  };
53 
57  const LorentzVector& p4,
58  const Point& vtx = Point(0, 0, 0),
59  int pdgId = 12,
60  int status = 2,
61  bool integerCharge = true)
62  : CompositeCandidate(q, p4, vtx, pdgId, status, integerCharge) {}
63 
66  const CompositeCandidate& piZeroes,
68 
69  ~PFTauDecayMode() override {}
70  PFTauDecayMode* clone() const override;
71 
73  const PFTauRef& pfTauRef() const { return pfTauRef_; }
74  void setPFTauRef(const PFTauRef& theTau) { pfTauRef_ = theTau; }
75 
77  void setDecayMode(hadronicTauDecayModes theDecayMode) { theDecayMode_ = theDecayMode; }
78 
82  const CompositeCandidate& neutralPions() const;
84  const CompositeCandidate& filteredObjects() const;
85 
87  std::vector<const Candidate*> chargedPionCandidates() const;
89  std::vector<const Candidate*> neutralPionCandidates() const;
91  std::vector<const Candidate*> decayProductCandidates() const;
93  std::vector<const Candidate*> filteredObjectCandidates(int absCharge = -2) const;
95  std::vector<const Candidate*> neutralFilteredObjectCandidates() const;
97  std::vector<const Candidate*> chargedFilteredObjectCandidates() const;
98 
100  void pfMasterClones(const Candidate* input, PFCandidateRefVector& toFill) const;
101 
108 
109  protected:
113  CompositeCandidate filteredObjects_; // stores objects considered UE
115  };
116 } // namespace reco
117 
118 #endif
reco::PFTauDecayMode::tauDecayMuon
Definition: PFTauDecayMode.h:50
reco::PFTauDecayMode::theDecayMode_
hadronicTauDecayModes theDecayMode_
Definition: PFTauDecayMode.h:114
reco::PFTauDecayMode::neutralPions
const CompositeCandidate & neutralPions() const
returns a collection of merged Pi0s
Definition: PFTauDecayMode.cc:40
input
static const std::string input
Definition: EdmProvDump.cc:48
MessageLogger.h
PFTauDecayModeFwd.h
CompositeCandidate.h
reco::PFTauDecayMode::PFTauDecayMode
PFTauDecayMode()
Definition: PFTauDecayMode.h:54
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:31
reco::PFTauDecayMode::associatedNeutralPFCandidates
PFCandidateRefVector associatedNeutralPFCandidates() const
returns the PFCandidates associated to the PiZero signal objects (i.e., the unmerged photons)
Definition: PFTauDecayMode.cc:115
reco::Candidate::Charge
int Charge
electric charge type
Definition: Candidate.h:34
reco::PFTauDecayMode::tauDecay2ChargedPion0PiZero
Definition: PFTauDecayMode.h:39
reco::PFTauDecayMode::tauDecay3ChargedPion1PiZero
Definition: PFTauDecayMode.h:45
edm::RefVector< PFCandidateCollection >
reco::VertexCompositeCandidate
Definition: VertexCompositeCandidate.h:16
reco::PFTauDecayMode::tauDecay3ChargedPion2PiZero
Definition: PFTauDecayMode.h:46
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:44
reco::PFTauDecayMode::tauDecay3ChargedPion0PiZero
Definition: PFTauDecayMode.h:44
edm::Ref< PFTauCollection >
reco::PFTauDecayMode::filteredPFCandidates
PFCandidateRefVector filteredPFCandidates() const
returns the PFCandidates that were filtered
Definition: PFTauDecayMode.cc:123
reco::PFTauDecayMode::filteredObjects_
CompositeCandidate filteredObjects_
Definition: PFTauDecayMode.h:113
reco::PFTauDecayMode::tauDecay1ChargedPion2PiZero
Definition: PFTauDecayMode.h:36
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:68
reco::PFTauDecayMode::piZeroes_
CompositeCandidate piZeroes_
Definition: PFTauDecayMode.h:112
reco::PFTauDecayMode::filteredObjects
const CompositeCandidate & filteredObjects() const
returns references to PF objects that were filtered
Definition: PFTauDecayMode.cc:42
reco::PFTauDecayMode::chargedFilteredObjectCandidates
std::vector< const Candidate * > chargedFilteredObjectCandidates() const
returns only charged filtered objects
Definition: PFTauDecayMode.cc:79
VertexCompositeCandidate.h
reco::PFTauDecayMode::setPFTauRef
void setPFTauRef(const PFTauRef &theTau)
Definition: PFTauDecayMode.h:74
reco::PFTauDecayMode::tauDecay2ChargedPion3PiZero
Definition: PFTauDecayMode.h:42
reco::PFTauDecayMode::pfTauRef
const PFTauRef & pfTauRef() const
return reference to associated PFTau object
Definition: PFTauDecayMode.h:73
reco::PFTauDecayMode::tauDecay1ChargedPion4PiZero
Definition: PFTauDecayMode.h:38
reco::PFTauDecayMode::tauDecay2ChargedPion4PiZero
Definition: PFTauDecayMode.h:43
Point
Structure Point Contains parameters of Gaussian fits to DMRs.
Definition: DMRtrends.cc:57
reco::PFTauDecayMode::tauDecayOther
Definition: PFTauDecayMode.h:51
reco::PFTauDecayMode::tauDecaysElectron
Definition: PFTauDecayMode.h:49
reco::PFTauDecayMode::setDecayMode
void setDecayMode(hadronicTauDecayModes theDecayMode)
Definition: PFTauDecayMode.h:77
reco::PFTauDecayMode::associatedChargedPFCandidates
PFCandidateRefVector associatedChargedPFCandidates() const
returns the PFCandidates associated to the charged signal objects
Definition: PFTauDecayMode.cc:107
reco::LeafCandidate::pdgId
int pdgId() const final
PDG identifier.
Definition: LeafCandidate.h:176
reco::PFTauDecayMode::tauDecay1ChargedPion0PiZero
Definition: PFTauDecayMode.h:34
reco::PFTauDecayMode::tauDecay3ChargedPion4PiZero
Definition: PFTauDecayMode.h:48
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:33
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:83
reco::PFTauDecayMode::~PFTauDecayMode
~PFTauDecayMode() override
Definition: PFTauDecayMode.h:69
reco::PFTauDecayMode::chargedPions
const VertexCompositeCandidate & chargedPions() const
returns collection of charged pions w/ vertex information (tracks are refit)
Definition: PFTauDecayMode.cc:38
PFTau.h
reco::PFTauDecayMode::tauDecay2ChargedPion2PiZero
Definition: PFTauDecayMode.h:41
reco::PFTauDecayMode::clone
PFTauDecayMode * clone() const override
returns a clone of the candidate
Definition: PFTauDecayMode.cc:36
reco::PFTauDecayMode::pfMasterClones
void pfMasterClones(const Candidate *input, PFCandidateRefVector &toFill) const
fills master clones to PF objects (utility function)
Definition: PFTauDecayMode.cc:87
reco::PFTauDecayMode::tauDecay1ChargedPion1PiZero
Definition: PFTauDecayMode.h:35
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:56
reco::PFTauDecayMode::tauDecay3ChargedPion3PiZero
Definition: PFTauDecayMode.h:47
reco::PFTauDecayMode::decayProductCandidates
std::vector< const Candidate * > decayProductCandidates() const
returns pointers to non-filtered objects
Definition: PFTauDecayMode.cc:60
reco::PFTauDecayMode::tauDecay1ChargedPion3PiZero
Definition: PFTauDecayMode.h:37
reco::PFTauDecayMode::tauDecay2ChargedPion1PiZero
Definition: PFTauDecayMode.h:40
reco::CompositeCandidate
Definition: CompositeCandidate.h:21
reco::PFTauDecayMode::pfTauRef_
PFTauRef pfTauRef_
Definition: PFTauDecayMode.h:110
reco::PFTauDecayMode::neutralPionCandidates
std::vector< const Candidate * > neutralPionCandidates() const
returns pointers to neutral pions
Definition: PFTauDecayMode.cc:52
reco::PFTauDecayMode::chargedPions_
VertexCompositeCandidate chargedPions_
Definition: PFTauDecayMode.h:111
reco::PFTauDecayMode
Definition: PFTauDecayMode.h:28
reco::PFTauDecayMode::getDecayMode
hadronicTauDecayModes getDecayMode() const
Definition: PFTauDecayMode.h:76
PFCandidateFwd.h