DAS  3.0
Das Analysis System
Lepton.h
Go to the documentation of this file.
1 #pragma once
2 
4 
5 namespace DAS {
6 
9 struct GenMuon : public PhysicsObject {
10  static inline const char * const ScaleVar = "GenMuonScales", //< Name of muon gen scales in variations
11  * const WeightVar = "GenMuonWgts"; //< Name of muon gen weights in variations
12 
13  int Q = 0;
14 
15  GenMuon () = default;
16  virtual ~GenMuon() = default;
17 
18 private:
19  std::string_view scale_group () const override { return ScaleVar; }
20  std::string_view weight_group () const override { return WeightVar; }
21 };
22 
25 struct RecMuon : public GenMuon {
26  static inline const char * const ScaleVar = "RecMuonScales", //< Name of muon rec scales in variations
27  * const WeightVar = "RecMuonWgts"; //< Name of muon rec weights in variations
28 
29  unsigned int selectors;
30 
31  float Dxy = -999,
32  Dz = -999;
33 
34  int nTkHits = -1;
35 
36  RecMuon () = default;
37 
39 
40 private:
41  std::string_view scale_group () const final { return ScaleVar; }
42  std::string_view weight_group () const final { return WeightVar; }
43 };
44 
45 } // end of DAS namespace
46 
47 inline std::ostream& operator<< (std::ostream& s, const DAS::GenMuon& muon)
48 {
49  return s << muon.p4 << ' ' << muon.Q;
50 }
51 inline std::ostream& operator<< (std::ostream& s, const DAS::RecMuon& muon)
52 {
53  return s << muon.p4 << ' ' << muon.Q << ' ' << muon.selectors;
54 }
55 
56 #if defined(__ROOTCLING__)
57 #pragma link C++ class DAS::GenMuon +;
58 #pragma link C++ class std::vector<DAS::GenMuon> +;
59 
60 #pragma link C++ class DAS::RecMuon +;
61 #pragma link C++ class std::vector<DAS::RecMuon> +;
62 #endif
DAS
Definition: applyBTagSF.cc:31
DAS::PhysicsObject::p4
FourVector p4
raw four-momentum directly after reconstruction
Definition: PhysicsObject.h:47
DAS::RecMuon::Dxy
float Dxy
transverse distance to PV
Definition: Lepton.h:31
DAS::RecMuon::ScaleVar
static const char *const ScaleVar
Definition: Lepton.h:26
DAS::GenMuon::scale_group
std::string_view scale_group() const override
Definition: Lepton.h:19
DAS::RecMuon::nTkHits
int nTkHits
number of hits in tracker
Definition: Lepton.h:34
DAS::RecMuon::Dz
float Dz
longitudinal distance to PV
Definition: Lepton.h:32
DAS::RecMuon::weight_group
std::string_view weight_group() const final
Definition: Lepton.h:42
DAS::PhysicsObject
Definition: PhysicsObject.h:38
DAS::RecMuon
class RecMuon
Definition: Lepton.h:25
PhysicsObject.h
DAS::GenMuon
class GenMuon
Definition: Lepton.h:9
DAS::RecMuon::WeightVar
static const char *const *const WeightVar
Definition: Lepton.h:27
operator<<
std::ostream & operator<<(std::ostream &s, const DAS::GenMuon &muon)
Definition: Lepton.h:47
DAS::GenMuon::ScaleVar
static const char *const ScaleVar
Definition: Lepton.h:10
DAS::RecMuon::selectors
unsigned int selectors
muon ID & PF isolation
Definition: Lepton.h:29
DAS::GenMuon::weight_group
std::string_view weight_group() const override
Definition: Lepton.h:20
DAS::RecMuon::scale_group
std::string_view scale_group() const final
Definition: Lepton.h:41
DAS::GenMuon::WeightVar
static const char *const *const WeightVar
Definition: Lepton.h:11
DAS::GenMuon::~GenMuon
virtual ~GenMuon()=default
Destructor.
DAS::GenMuon::GenMuon
GenMuon()=default
Constructor (trivial)
DAS::RecMuon::RecMuon
RecMuon()=default
Constructor (trivial)
DAS::GenMuon::Q
int Q
+/- 1
Definition: Lepton.h:13