CMS 3D CMS Logo

RecoTauPiZero.h
Go to the documentation of this file.
1 #ifndef DataFormats_TauReco_RecoTauPiZero_h
2 #define DataFormats_TauReco_RecoTauPiZero_h
3 
5 
6 namespace reco {
8  public:
10  // Algorithm where each photon becomes a pi zero
12  kTrivial = 1,
14  kStrips = 3
15  };
16 
20  {
21  this->setPdgId(111);
22  }
23 
26  algoName_(algoName), bendCorrEta_ (0.), bendCorrPhi_ (0.)
27  {
28  this->setPdgId(111);
29  }
30 
33  const Point& vtx = Point( 0, 0, 0 ),
34  int pdgId = 111, int status = 0, bool integerCharge = true,
36  : CompositePtrCandidate(q, p4, vtx, pdgId, status, integerCharge ),
38  {
39  }
40 
43  const Point& vtx = Point( 0, 0, 0 ),
44  int pdgId = 111, int status = 0, bool integerCharge = true,
46  : CompositePtrCandidate(q, p4, vtx, pdgId, status, integerCharge ),
48  {
49  }
50 
55  {
56  this->setPdgId(111);
57  }
58 
60  ~RecoTauPiZero() override{};
61 
63  size_t numberOfGammas() const;
64 
66  size_t numberOfElectrons() const;
67 
69  double maxDeltaPhi() const;
70 
72  double maxDeltaEta() const;
73 
75  PiZeroAlgorithm algo() const;
76 
78  bool algoIs(PiZeroAlgorithm algo) const;
79 
82  float bendCorrEta() const { return bendCorrEta_; }
83  float bendCorrPhi() const { return bendCorrPhi_; }
86 
87  void print(std::ostream& out = std::cout) const;
88 
89  private:
91 
92  float bendCorrEta_;
93  float bendCorrPhi_;
94 };
95 
96 std::ostream & operator<<(std::ostream& out, const RecoTauPiZero& c);
97 
98 }
99 
100 #endif
int pdgId() const final
PDG identifier.
int Charge
electric charge type
Definition: Candidate.h:35
RecoTauPiZero(Charge q, const LorentzVector &p4, const Point &vtx=Point(0, 0, 0), int pdgId=111, int status=0, bool integerCharge=true, PiZeroAlgorithm algoName=kUndefined)
constructor from values
Definition: RecoTauPiZero.h:32
void print(std::ostream &out=std::cout) const
double maxDeltaPhi() const
Maximum DeltaPhi between a constituent and the four vector.
RecoTauPiZero(PiZeroAlgorithm algoName)
Definition: RecoTauPiZero.h:24
double maxDeltaEta() const
Maxmum DeltaEta between a constituent and the four vector.
std::ostream & operator<<(std::ostream &, BeamSpot beam)
Definition: BeamSpot.cc:71
~RecoTauPiZero() override
destructor
Definition: RecoTauPiZero.h:60
size_t numberOfElectrons() const
Number of electron constituents.
const LorentzVector & p4() const final
four-momentum Lorentz vector
Definition: LeafCandidate.h:99
PiZeroAlgorithm algoName_
Definition: RecoTauPiZero.h:90
double p() const final
magnitude of momentum vector
float bendCorrEta() const
Definition: RecoTauPiZero.h:82
void setBendCorrEta(float bendCorrEta)
Definition: RecoTauPiZero.h:84
void setBendCorrPhi(float bendCorrPhi)
Definition: RecoTauPiZero.h:85
math::XYZTLorentzVector LorentzVector
Lorentz vector.
Definition: Candidate.h:37
float bendCorrPhi() const
Definition: RecoTauPiZero.h:83
fixed size matrix
int status() const final
status word
math::XYZPoint Point
point in the space
Definition: Candidate.h:41
size_t numberOfGammas() const
Number of PFGamma constituents.
Definition: RecoTauPiZero.cc:7
PiZeroAlgorithm algo() const
Algorithm that built this piZero.
bool algoIs(PiZeroAlgorithm algo) const
Check whether a given algo produced this pi zero.
void setPdgId(int pdgId) final
RecoTauPiZero(const Candidate &p, PiZeroAlgorithm algoName=kUndefined)
constructor from a Candidate
Definition: RecoTauPiZero.h:52
math::XYZPoint Point
point in the space
Definition: LeafCandidate.h:27
RecoTauPiZero(Charge q, const PolarLorentzVector &p4, const Point &vtx=Point(0, 0, 0), int pdgId=111, int status=0, bool integerCharge=true, PiZeroAlgorithm algoName=kUndefined)
constructor from values
Definition: RecoTauPiZero.h:42
math::PtEtaPhiMLorentzVector PolarLorentzVector
Lorentz vector.
Definition: Candidate.h:39