Imperial Analysis
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Muon.hh
Go to the documentation of this file.
1 #ifndef ICHiggsTauTau_Muon_hh
2 #define ICHiggsTauTau_Muon_hh
3 #include <map>
4 #include <string>
5 #include "Math/Vector4D.h"
6 #include "Math/Vector4Dfwd.h"
7 #include "Math/Point3D.h"
8 #include "Math/Point3Dfwd.h"
10 #include "Rtypes.h"
11 
12 namespace ic {
13 
22 class Muon : public Candidate {
23  private:
24  typedef ROOT::Math::XYZPoint Point;
25  typedef std::map<std::size_t, float> UFmap;
26 
27  public:
28  Muon();
29  virtual ~Muon();
30  virtual void Print() const;
31 
32 
34 
35 
42  inline std::vector<std::size_t> const& gen_particles() const {
43  return gen_particles_;
44  }
45 
47  inline Point const& ref_point() const { return ref_point_; }
48 
50  inline bool is_standalone() const { return is_standalone_; }
51 
53  inline bool is_global() const { return is_global_; }
54 
56  inline bool is_tracker() const { return is_tracker_; }
57 
59  inline bool is_calo() const { return is_calo_; }
60 
62  inline bool is_pf() const { return is_pf_; }
63 
65  inline double gt_normalized_chi2() const { return gt_normalized_chi2_; }
66 
68  inline float cq_chi2_localposition() const { return cq_chi2_localposition_; }
69 
71  inline float cq_trk_kink() const { return cq_trk_kink_; }
72 
74  inline int gt_valid_muon_hits() const { return gt_valid_muon_hits_; }
75 
77  inline int matched_stations() const { return matched_stations_; }
78 
80  inline int it_pixel_hits() const { return it_pixel_hits_; }
81 
83  inline int it_tracker_hits() const { return it_tracker_hits_; }
84 
86  inline int it_layers_with_measurement() const {
87  return it_layers_with_measurement_;
88  }
89 
91  inline double it_valid_fraction() const { return it_valid_fraction_; }
92 
94  inline float segment_compatibility() const { return segment_compatibility_; }
95 
97  inline float dr03_tk_sum_pt() const { return dr03_tk_sum_pt_; }
98 
100  inline float dr03_ecal_rechit_sum_et() const {
101  return dr03_ecal_rechit_sum_et_;
102  }
103 
105  inline float dr03_hcal_tower_sum_et() const {
106  return dr03_hcal_tower_sum_et_;
107  }
108 
111  inline float dr03_pfiso_charged_all() const {
112  return dr03_pfiso_charged_all_;
113  }
114 
116  inline float dr03_pfiso_charged() const { return dr03_pfiso_charged_; }
117 
119  inline float dr03_pfiso_neutral() const { return dr03_pfiso_neutral_; }
120 
122  inline float dr03_pfiso_gamma() const { return dr03_pfiso_gamma_; }
123 
125  inline float dr03_pfiso_pu() const { return dr03_pfiso_pu_; }
126 
129  inline float dr04_pfiso_charged_all() const {
130  return dr04_pfiso_charged_all_;
131  }
132 
134  inline float dr04_pfiso_charged() const { return dr04_pfiso_charged_; }
135 
137  inline float dr04_pfiso_neutral() const { return dr04_pfiso_neutral_; }
138 
140  inline float dr04_pfiso_gamma() const { return dr04_pfiso_gamma_; }
141 
143  inline float dr04_pfiso_pu() const { return dr04_pfiso_pu_; }
144 
146  inline double vx() const { return ref_point_.x(); }
147 
149  inline double vy() const { return ref_point_.y(); }
150 
152  inline double vz() const { return ref_point_.z(); }
153 
155  inline double dxy_vertex() const { return dxy_vertex_; }
156 
158  inline double dz_vertex() const { return dz_vertex_; }
159 
161  inline double dxy_beamspot() const { return dxy_beamspot_; }
164 
166  inline void set_gen_particles(std::vector<std::size_t> const& gen_particles) {
168  gen_particles_ = gen_particles;
169  }
170 
172  inline void set_ref_point(Point const& ref_point) { ref_point_ = ref_point; }
173 
175  inline void set_is_standalone(bool const& is_standalone) {
176  is_standalone_ = is_standalone;
177  }
178 
180  inline void set_is_global(bool const& is_global) { is_global_ = is_global; }
181 
183  inline void set_is_tracker(bool const& is_tracker) {
184  is_tracker_ = is_tracker;
185  }
186 
188  inline void set_is_calo(bool const& is_calo) { is_calo_ = is_calo; }
189 
191  inline void set_is_pf(bool const& is_pf) { is_pf_ = is_pf; }
192 
194  inline void set_gt_normalized_chi2(double const& gt_normalized_chi2) {
195  gt_normalized_chi2_ = gt_normalized_chi2;
196  }
197 
200  cq_chi2_localposition_ = cq_chi2_localposition;
201  }
202 
204  inline void set_cq_trk_kink(float const& cq_trk_kink) {
205  cq_trk_kink_ = cq_trk_kink;
206  }
207 
209  inline void set_gt_valid_muon_hits(int const& gt_valid_muon_hits) {
210  gt_valid_muon_hits_ = gt_valid_muon_hits;
211  }
212 
214  inline void set_matched_stations(int const& matched_stations) {
215  matched_stations_ = matched_stations;
216  }
217 
219  inline void set_it_pixel_hits(int const& it_pixel_hits) {
220  it_pixel_hits_ = it_pixel_hits;
221  }
222 
224  inline void set_it_tracker_hits(int const& it_tracker_hits) {
225  it_tracker_hits_ = it_tracker_hits;
226  }
227 
230  int const& it_layers_with_measurement) {
231  it_layers_with_measurement_ = it_layers_with_measurement;
232  }
233 
235  inline void set_it_valid_fraction(double const& it_valid_fraction) {
236  it_valid_fraction_ = it_valid_fraction;
237  }
238 
241  segment_compatibility_ = segment_compatibility;
242  }
243 
245  inline void set_dr03_tk_sum_pt(float const& dr03_tk_sum_pt) {
246  dr03_tk_sum_pt_ = dr03_tk_sum_pt;
247  }
248 
251  float const& dr03_ecal_rechit_sum_et) {
252  dr03_ecal_rechit_sum_et_ = dr03_ecal_rechit_sum_et;
253  }
254 
257  dr03_hcal_tower_sum_et_ = dr03_hcal_tower_sum_et;
258  }
259 
262  dr03_pfiso_charged_all_ = dr03_pfiso_charged_all;
263  }
264 
266  inline void set_dr03_pfiso_charged(float const& dr03_pfiso_charged) {
267  dr03_pfiso_charged_ = dr03_pfiso_charged;
268  }
269 
271  inline void set_dr03_pfiso_neutral(float const& dr03_pfiso_neutral) {
272  dr03_pfiso_neutral_ = dr03_pfiso_neutral;
273  }
274 
276  inline void set_dr03_pfiso_gamma(float const& dr03_pfiso_gamma) {
277  dr03_pfiso_gamma_ = dr03_pfiso_gamma;
278  }
279 
281  inline void set_dr03_pfiso_pu(float const& dr03_pfiso_pu) {
282  dr03_pfiso_pu_ = dr03_pfiso_pu;
283  }
284 
287  dr04_pfiso_charged_all_ = dr04_pfiso_charged_all;
288  }
289 
291  inline void set_dr04_pfiso_charged(float const& dr04_pfiso_charged) {
292  dr04_pfiso_charged_ = dr04_pfiso_charged;
293  }
294 
296  inline void set_dr04_pfiso_neutral(float const& dr04_pfiso_neutral) {
297  dr04_pfiso_neutral_ = dr04_pfiso_neutral;
298  }
299 
301  inline void set_dr04_pfiso_gamma(float const& dr04_pfiso_gamma) {
302  dr04_pfiso_gamma_ = dr04_pfiso_gamma;
303  }
304 
306  inline void set_dr04_pfiso_pu(float const& dr04_pfiso_pu) {
307  dr04_pfiso_pu_ = dr04_pfiso_pu;
308  }
309 
311  inline void set_vx(double const& x) { ref_point_.SetX(x); }
312 
314  inline void set_vy(double const& y) { ref_point_.SetY(y); }
315 
317  inline void set_vz(double const& z) { ref_point_.SetZ(z); }
318 
320  inline void set_dxy_vertex(double const& dxy_vertex) {
321  dxy_vertex_ = dxy_vertex;
322  }
323 
325  inline void set_dz_vertex(double const& dz_vertex) { dz_vertex_ = dz_vertex; }
326 
328  inline void set_dxy_beamspot(double const& dxy_beamspot) {
329  dxy_beamspot_ = dxy_beamspot;
330  }
345  void SetIdIso(std::string const& name, float const& value);
351  bool HasIdIso(std::string const& name) const;
357  float GetIdIso(std::string const& name) const;
360  private:
361  float dr03_tk_sum_pt_;
362  float dr03_ecal_rechit_sum_et_;
363  float dr03_hcal_tower_sum_et_;
364 
365  float dr03_pfiso_charged_all_;
366  float dr03_pfiso_charged_;
367  float dr03_pfiso_neutral_;
368  float dr03_pfiso_gamma_;
369  float dr03_pfiso_pu_;
370  float dr04_pfiso_charged_all_;
371  float dr04_pfiso_charged_;
372  float dr04_pfiso_neutral_;
373  float dr04_pfiso_gamma_;
374  float dr04_pfiso_pu_;
375 
376  bool is_standalone_;
377  bool is_global_;
378  bool is_tracker_;
379  bool is_calo_;
380  bool is_pf_;
381  double gt_normalized_chi2_;
382  float cq_chi2_localposition_;
383  float cq_trk_kink_;
384  int gt_valid_muon_hits_;
385  int matched_stations_;
386  int it_pixel_hits_;
387  int it_tracker_hits_;
388  int it_layers_with_measurement_;
389  double it_valid_fraction_;
390  float segment_compatibility_;
391 
392  Point ref_point_;
393 
394  double dxy_vertex_;
395  double dz_vertex_;
396  double dxy_beamspot_;
397 
398  std::vector<std::size_t> gen_particles_;
399 
400  UFmap muon_idiso_;
401 
402  #ifndef SKIP_CINT_DICT
403  public:
404  ClassDef(Muon, 5);
405  #endif
406 };
407 
408 typedef std::vector<ic::Muon> MuonCollection;
409 }
411 #endif
void set_vy(double const &y)
The y-coordinate of the ref_point()
Definition: Muon.hh:314
float dr03_pfiso_pu() const
PF isolation, using charged pileup in a cone with .
Definition: Muon.hh:125
virtual void Print() const
Definition: Muon.cc:61
bool is_calo() const
Muon was reconstructed by the calo-muon algorithm.
Definition: Muon.hh:59
float dr03_pfiso_neutral() const
PF isolation, using neutral hadrons in a cone with .
Definition: Muon.hh:119
Point const & ref_point() const
Point-of-closest-approach (PCA) of the muon track to the beamspot.
Definition: Muon.hh:47
void set_is_global(bool const &is_global)
Muon was reconstructed by the global algorithm.
Definition: Muon.hh:180
double dxy_beamspot() const
Transverse impact parameter of the tracker track with the beamspot.
Definition: Muon.hh:161
float dr04_pfiso_neutral() const
PF isolation, using neutral hadrons in a cone with .
Definition: Muon.hh:137
float GetIdIso(std::string const &name) const
Get the value associated to a label.
Definition: Muon.cc:50
float dr04_pfiso_charged() const
PF isolation, using charged hadrons in a cone with .
Definition: Muon.hh:134
ClassDef(Muon, 5)
void set_dr04_pfiso_charged_all(float const &dr04_pfiso_charged_all)
PF isolation, using all charged particles in a cone with .
Definition: Muon.hh:286
void set_ref_point(Point const &ref_point)
Point-of-closest-approach (PCA) of the muon track to the beamspot.
Definition: Muon.hh:172
bool is_pf() const
Muon was reconstructed by the PF algorithm.
Definition: Muon.hh:62
void set_cq_chi2_localposition(float const &cq_chi2_localposition)
for the sta-tk matching of local position
Definition: Muon.hh:199
void set_is_calo(bool const &is_calo)
Muon was reconstructed by the calo-muon algorithm.
Definition: Muon.hh:188
void set_dr03_ecal_rechit_sum_et(float const &dr03_ecal_rechit_sum_et)
ECAL isolation in a cone with .
Definition: Muon.hh:250
Stores a four-momentum, charge and identifier, and is the base class for most other physics objects...
Definition: Candidate.hh:13
std::vector< std::size_t > const & gen_particles() const
A vector to refer to ic::GenParticle::id() values.
Definition: Muon.hh:42
void set_dxy_beamspot(double const &dxy_beamspot)
Transverse impact parameter of the tracker track with the beamspot.
Definition: Muon.hh:328
float dr04_pfiso_charged_all() const
PF isolation, using all charged particles in a cone with .
Definition: Muon.hh:129
void set_vz(double const &z)
The z-coordinate of the ref_point()
Definition: Muon.hh:317
int it_tracker_hits() const
Number of hits in the tracker.
Definition: Muon.hh:83
float dr03_pfiso_gamma() const
PF isolation, using photons in a cone with .
Definition: Muon.hh:122
bool is_tracker() const
Muon was reconstructed by the tracker-only algorithm.
Definition: Muon.hh:56
void set_is_pf(bool const &is_pf)
Muon was reconstructed by the PF algorithm.
Definition: Muon.hh:191
void set_dr03_pfiso_gamma(float const &dr03_pfiso_gamma)
PF isolation, using photons in a cone with .
Definition: Muon.hh:276
void set_segment_compatibility(float const &segment_compatibility)
Compatibility of segment with global fit.
Definition: Muon.hh:240
bool is_global() const
Muon was reconstructed by the global algorithm.
Definition: Muon.hh:53
void set_is_tracker(bool const &is_tracker)
Muon was reconstructed by the tracker-only algorithm.
Definition: Muon.hh:183
void set_dr03_hcal_tower_sum_et(float const &dr03_hcal_tower_sum_et)
HCAL isolation in a cone with .
Definition: Muon.hh:256
int matched_stations() const
Number of matched muon station track segments.
Definition: Muon.hh:77
void set_vx(double const &x)
The x-coordinate of the ref_point()
Definition: Muon.hh:311
Definition: CaloJet.hh:9
void set_is_standalone(bool const &is_standalone)
Muon was reconstructed by the stand-alone algorithm.
Definition: Muon.hh:175
float dr04_pfiso_pu() const
PF isolation, using charged pileup in a cone with .
Definition: Muon.hh:143
void set_it_pixel_hits(int const &it_pixel_hits)
Number of pixel layer hits in the tracker.
Definition: Muon.hh:219
void set_dr03_pfiso_neutral(float const &dr03_pfiso_neutral)
PF isolation, using neutral hadrons in a cone with .
Definition: Muon.hh:271
void set_gt_valid_muon_hits(int const &gt_valid_muon_hits)
Number of muon station hits used in the global track fit.
Definition: Muon.hh:209
int it_layers_with_measurement() const
Number of tracker layers with measurement.
Definition: Muon.hh:86
void set_dr04_pfiso_charged(float const &dr04_pfiso_charged)
PF isolation, using charged hadrons in a cone with .
Definition: Muon.hh:291
bool HasIdIso(std::string const &name) const
Check if a value with label name has already been defined.
Definition: Muon.cc:46
void set_dr03_pfiso_charged(float const &dr03_pfiso_charged)
PF isolation, using charged hadrons in a cone with .
Definition: Muon.hh:266
void set_gen_particles(std::vector< std::size_t > const &gen_particles)
A vector to refer to ic::GenParticle::id() values.
Definition: Muon.hh:167
float dr04_pfiso_gamma() const
PF isolation, using photons in a cone with .
Definition: Muon.hh:140
double vz() const
The z-coordinate of the ref_point()
Definition: Muon.hh:152
void set_it_tracker_hits(int const &it_tracker_hits)
Number of hits in the tracker.
Definition: Muon.hh:224
float dr03_tk_sum_pt() const
Tracker isolation in a cone with .
Definition: Muon.hh:97
virtual ~Muon()
Definition: Muon.cc:40
void set_cq_trk_kink(float const &cq_trk_kink)
Kink position for the tracker stub and global track.
Definition: Muon.hh:204
This class stores a subset of the reco::Muon properties which are most commonly used in analysis...
Definition: Muon.hh:22
float segment_compatibility() const
Compatibility of segment with global fit.
Definition: Muon.hh:94
float dr03_pfiso_charged_all() const
PF isolation, using all charged particles in a cone with .
Definition: Muon.hh:111
double dz_vertex() const
Longitudinal impact parameter of the tracker track with primary vertex.
Definition: Muon.hh:158
float cq_trk_kink() const
Kink position for the tracker stub and global track.
Definition: Muon.hh:71
std::vector< ic::Muon > MuonCollection
Definition: Muon.hh:408
double vy() const
The y-coordinate of the ref_point()
Definition: Muon.hh:149
void set_dr04_pfiso_pu(float const &dr04_pfiso_pu)
PF isolation, using charged pileup in a cone with .
Definition: Muon.hh:306
void set_dr04_pfiso_gamma(float const &dr04_pfiso_gamma)
PF isolation, using photons in a cone with .
Definition: Muon.hh:301
int gt_valid_muon_hits() const
Number of muon station hits used in the global track fit.
Definition: Muon.hh:74
void set_dxy_vertex(double const &dxy_vertex)
Transverse impact parameter of the tracker track with the primary vertex.
Definition: Muon.hh:320
float dr03_ecal_rechit_sum_et() const
ECAL isolation in a cone with .
Definition: Muon.hh:100
void set_dr03_tk_sum_pt(float const &dr03_tk_sum_pt)
Tracker isolation in a cone with .
Definition: Muon.hh:245
void SetIdIso(std::string const &name, float const &value)
Add a new entry, overwriting any existing one with the same name.
Definition: Muon.cc:42
void set_dr03_pfiso_pu(float const &dr03_pfiso_pu)
PF isolation, using charged pileup in a cone with .
Definition: Muon.hh:281
double vx() const
The x-coordinate of the ref_point()
Definition: Muon.hh:146
double dxy_vertex() const
Transverse impact parameter of the tracker track with the primary vertex.
Definition: Muon.hh:155
float dr03_pfiso_charged() const
PF isolation, using charged hadrons in a cone with .
Definition: Muon.hh:116
float cq_chi2_localposition() const
for the sta-tk matching of local position
Definition: Muon.hh:68
int it_pixel_hits() const
Number of pixel layer hits in the tracker.
Definition: Muon.hh:80
Muon()
Definition: Muon.cc:6
double it_valid_fraction() const
Fraction of valid inner tracker hits.
Definition: Muon.hh:91
float dr03_hcal_tower_sum_et() const
HCAL isolation in a cone with .
Definition: Muon.hh:105
void set_dr04_pfiso_neutral(float const &dr04_pfiso_neutral)
PF isolation, using neutral hadrons in a cone with .
Definition: Muon.hh:296
void set_gt_normalized_chi2(double const &gt_normalized_chi2)
Normalised of the global track fit.
Definition: Muon.hh:194
void set_matched_stations(int const &matched_stations)
Number of matched muon station track segments.
Definition: Muon.hh:214
void set_dz_vertex(double const &dz_vertex)
Longitudinal impact parameter of the tracker track with primary vertex.
Definition: Muon.hh:325
void set_dr03_pfiso_charged_all(float const &dr03_pfiso_charged_all)
PF isolation, using all charged particles in a cone with .
Definition: Muon.hh:261
bool is_standalone() const
Muon was reconstructed by the stand-alone algorithm.
Definition: Muon.hh:50
void set_it_valid_fraction(double const &it_valid_fraction)
Fraction of valid inner tracker hits.
Definition: Muon.hh:235
double gt_normalized_chi2() const
Normalised of the global track fit.
Definition: Muon.hh:65
void set_it_layers_with_measurement(int const &it_layers_with_measurement)
Number of tracker layers with measurement.
Definition: Muon.hh:229