Imperial Analysis
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Tau.hh
Go to the documentation of this file.
1 #ifndef ICHiggsTauTau_Tau_hh
2 #define ICHiggsTauTau_Tau_hh
3 #include <map>
4 #include <vector>
5 #include <string>
6 #include "Math/Point3D.h"
7 #include "Math/Point3Dfwd.h"
9 #include "Rtypes.h"
10 
11 namespace ic {
12 
17 class Tau : public Candidate {
18  private:
19  typedef std::map<std::size_t, float> UFmap;
20  typedef ROOT::Math::XYZPoint Point;
21 
22  public:
23  Tau();
24  virtual ~Tau();
25  virtual void Print() const;
26 
27 
29 
30  inline std::map<std::size_t, float> const& tau_ids() const {
33  return tau_ids_;
34  }
35 
37  inline int const& decay_mode() const { return decay_mode_; }
38 
40  inline float const& lead_ecal_energy() const { return lead_ecal_energy_; }
41 
43  inline float const& lead_hcal_energy() const { return lead_hcal_energy_; }
44 
46  inline float const& lead_p() const { return lead_p_; }
47 
50  inline float const& lead_dxy_vertex() const { return lead_dxy_vertex_; }
51 
54  inline float const& lead_dz_vertex() const { return lead_dz_vertex_; }
55 
57  inline double vx() const { return ref_point_.x(); }
58 
60  inline double vy() const { return ref_point_.y(); }
61 
63  inline double vz() const { return ref_point_.z(); }
64 
66  inline std::vector<std::size_t> const& constituent_tracks() const {
67  return constituent_tracks_;
68  }
69 
71  inline std::vector<std::size_t> const& sig_charged_cands() const {
72  return sig_charged_cands_;
73  }
74 
76  inline std::vector<std::size_t> const& iso_charged_cands() const {
77  return iso_charged_cands_;
78  }
79 
81  inline std::vector<std::size_t> const& sig_gamma_cands() const {
82  return sig_gamma_cands_;
83  }
84 
86  inline std::vector<std::size_t> const& iso_gamma_cands() const {
87  return iso_gamma_cands_;
88  }
91 
93  inline void set_tau_ids(std::map<std::size_t, float> const& tau_ids) {
95  tau_ids_ = tau_ids;
96  }
97 
99  inline void set_decay_mode(int const& decay_mode) {
100  decay_mode_ = decay_mode;
101  }
102 
104  inline void set_lead_ecal_energy(float const& lead_ecal_energy) {
105  lead_ecal_energy_ = lead_ecal_energy;
106  }
107 
109  inline void set_lead_hcal_energy(float const& lead_hcal_energy) {
110  lead_hcal_energy_ = lead_hcal_energy;
111  }
112 
114  inline void set_lead_p(float const& lead_p) { lead_p_ = lead_p; }
115 
117  inline void set_lead_dxy_vertex(float const& lead_dxy_vertex) {
118  lead_dxy_vertex_ = lead_dxy_vertex;
119  }
120 
122  inline void set_lead_dz_vertex(float const& lead_dz_vertex) {
123  lead_dz_vertex_ = lead_dz_vertex;
124  }
125 
127  inline void set_vx(double const& x) { ref_point_.SetX(x); }
128 
130  inline void set_vy(double const& y) { ref_point_.SetY(y); }
131 
133  inline void set_vz(double const& z) { ref_point_.SetZ(z); }
134 
137  std::vector<std::size_t> const& constituent_tracks) {
138  constituent_tracks_ = constituent_tracks;
139  }
140 
143  std::vector<std::size_t> const& sig_charged_cands) {
144  sig_charged_cands_ = sig_charged_cands;
145  }
146 
149  std::vector<std::size_t> const& iso_charged_cands) {
150  iso_charged_cands_ = iso_charged_cands;
151  }
152 
154  inline void set_sig_gamma_cands(
155  std::vector<std::size_t> const& sig_gamma_cands) {
156  sig_gamma_cands_ = sig_gamma_cands;
157  }
158 
160  inline void set_iso_gamma_cands(
161  std::vector<std::size_t> const& iso_gamma_cands) {
162  iso_gamma_cands_ = iso_gamma_cands;
163  }
177  void SetTauID(std::string const& name, float const& value);
183  bool HasTauID(std::string const& name) const;
189  float GetTauID(std::string const& name) const;
192  private:
193  UFmap tau_ids_;
194 
195  int decay_mode_;
196 
197  float lead_ecal_energy_;
198  float lead_hcal_energy_;
199  float lead_p_;
200  float lead_dxy_vertex_;
201  float lead_dz_vertex_;
202 
203  Point ref_point_;
204 
205  std::vector<std::size_t> constituent_tracks_;
206  std::vector<std::size_t> sig_charged_cands_;
207  std::vector<std::size_t> iso_charged_cands_;
208  std::vector<std::size_t> sig_gamma_cands_;
209  std::vector<std::size_t> iso_gamma_cands_;
210 
211  #ifndef SKIP_CINT_DICT
212  public:
213  ClassDef(Tau, 3);
214  #endif
215 };
216 
217 typedef std::vector<ic::Tau> TauCollection;
218 }
220 #endif
void set_iso_gamma_cands(std::vector< std::size_t > const &iso_gamma_cands)
A vector referring to the isolation PFCandidates.
Definition: Tau.hh:160
float const & lead_dz_vertex() const
Longitudinal impact parameter of the leading charged constituent track with the primary vertex...
Definition: Tau.hh:54
void set_lead_ecal_energy(float const &lead_ecal_energy)
ECAL energy of the leading charged PF constituent.
Definition: Tau.hh:104
void set_tau_ids(std::map< std::size_t, float > const &tau_ids)
Get the map containing the hashed discriminator labels and corresponding values.
Definition: Tau.hh:94
void SetTauID(std::string const &name, float const &value)
Add a new entry, overwriting any existing one with the same name.
Definition: Tau.cc:20
std::vector< std::size_t > const & iso_charged_cands() const
A vector referring to the isolation PFCandidates.
Definition: Tau.hh:76
ClassDef(Tau, 3)
float const & lead_dxy_vertex() const
Transverse impact parameter of the leading charged constituent track with the primary vertex...
Definition: Tau.hh:50
std::vector< std::size_t > const & constituent_tracks() const
A vector referring to the constituent track ic::Track::id()
Definition: Tau.hh:66
void set_sig_gamma_cands(std::vector< std::size_t > const &sig_gamma_cands)
A vector referring to the isolation PFCandidates.
Definition: Tau.hh:154
std::vector< std::size_t > const & sig_gamma_cands() const
A vector referring to the signal PFCandidates.
Definition: Tau.hh:81
double vz() const
The z-coordinate of the leading track PCA.
Definition: Tau.hh:63
std::map< std::size_t, float > const & tau_ids() const
Get the map containing the hashed discriminator labels and corresponding values.
Definition: Tau.hh:32
void set_lead_hcal_energy(float const &lead_hcal_energy)
HCAL energy of the leading charged PF constituent.
Definition: Tau.hh:109
Stores a four-momentum, charge and identifier, and is the base class for most other physics objects...
Definition: Candidate.hh:13
void set_lead_dz_vertex(float const &lead_dz_vertex)
Longitudinal impact parameter of the leading charged constituent track with the primary vertex...
Definition: Tau.hh:122
float const & lead_ecal_energy() const
ECAL energy of the leading charged PF constituent.
Definition: Tau.hh:40
void set_constituent_tracks(std::vector< std::size_t > const &constituent_tracks)
A vector referring to the constituent track ic::Track::id()
Definition: Tau.hh:136
void set_sig_charged_cands(std::vector< std::size_t > const &sig_charged_cands)
A vector referring to the isolation PFCandidates.
Definition: Tau.hh:142
float const & lead_p() const
Momentum of the leading charged PF constituent.
Definition: Tau.hh:46
std::vector< ic::Tau > TauCollection
Definition: Tau.hh:217
int const & decay_mode() const
The tau decay mode identifier.
Definition: Tau.hh:37
void set_lead_p(float const &lead_p)
Momentum of the leading charged PF constituent.
Definition: Tau.hh:114
Definition: CaloJet.hh:9
void set_vz(double const &z)
The z-coordinate of the leading track PCA.
Definition: Tau.hh:133
void set_vy(double const &y)
The y-coordinate of the leading track PCA.
Definition: Tau.hh:130
virtual void Print() const
Definition: Tau.cc:18
double vx() const
The x-coordinate of the leading track PCA.
Definition: Tau.hh:57
std::vector< std::size_t > const & iso_gamma_cands() const
A vector referring to the isolation PFCandidates.
Definition: Tau.hh:86
bool HasTauID(std::string const &name) const
Check if a value with label name has already been defined.
Definition: Tau.cc:35
void set_vx(double const &x)
The x-coordinate of the leading track PCA.
Definition: Tau.hh:127
void set_lead_dxy_vertex(float const &lead_dxy_vertex)
Transverse impact parameter of the leading charged constituent track with the primary vertex...
Definition: Tau.hh:117
float GetTauID(std::string const &name) const
Get the value associated to a label.
Definition: Tau.cc:24
double vy() const
The y-coordinate of the leading track PCA.
Definition: Tau.hh:60
void set_decay_mode(int const &decay_mode)
The tau decay mode identifier.
Definition: Tau.hh:99
virtual ~Tau()
Definition: Tau.cc:16
float const & lead_hcal_energy() const
HCAL energy of the leading charged PF constituent.
Definition: Tau.hh:43
void set_iso_charged_cands(std::vector< std::size_t > const &iso_charged_cands)
A vector referring to the isolation PFCandidates.
Definition: Tau.hh:148
std::vector< std::size_t > const & sig_charged_cands() const
A vector referring to the signal PFCandidates.
Definition: Tau.hh:71
This class stores a subset of the reco::PFTau properties which are most commonly used in analysis...
Definition: Tau.hh:17
Tau()
Definition: Tau.cc:7