DAS  3.0
Das Analysis System
Lepton.h
Go to the documentation of this file.
1 #pragma once
2 
3 // STD
4 #include <cstdint>
5 #include <ios>
6 
7 // Darwin
8 #include <GenericObject.h>
9 
10 namespace Darwin::Physics {
11 
14 class GenMuon : public GenericObject {
15 
16  std::string_view scale_group () const override { return ScaleVar; }
17  std::string_view weight_group () const override { return WeightVar; }
18 
19 public:
20  static inline const char * const ScaleVar = "GenMuonScales",
21  * const WeightVar = "GenMuonWgts";
22 
23  int Q = 0;
24 
25  GenMuon () = default;
26  virtual ~GenMuon() = default;
27 };
28 
31 class RecMuon : public GenMuon {
32 
33  std::string_view scale_group () const override { return ScaleVar; }
34  std::string_view weight_group () const override { return WeightVar; }
35 
36 public:
37  static inline const char * const ScaleVar = "RecMuonScales",
38  * const WeightVar = "RecMuonWgts";
39 
40  std::uint32_t selectors = 0;
41 
42  RecMuon () = default;
43  virtual ~RecMuon() = default;
44 };
45 
47 
48 } // end of Darwin::Physics namespace
49 
50 inline std::ostream& operator<< (std::ostream& s, const Darwin::Physics::GenMuon& muon)
51 {
52  return s << muon.CorrP4() << ' ' << muon.Q;
53 }
54 inline std::ostream& operator<< (std::ostream& s, const Darwin::Physics::RecMuon& muon)
55 {
56  return s << muon.CorrP4() << ' ' << muon.Q << " 0x" << std::hex << muon.selectors << std::dec;
57 }
Darwin::Physics::GenMuon::~GenMuon
virtual ~GenMuon()=default
Darwin::Physics::RecMuon
Generic detector-level muon.
Definition: Lepton.h:31
Darwin::Physics::GenMuon::scale_group
std::string_view scale_group() const override
Definition: Lepton.h:16
Darwin::Physics::RecMuon::~RecMuon
virtual ~RecMuon()=default
Darwin::Physics::RecMuon::selectors
std::uint32_t selectors
Identification cuts.
Definition: Lepton.h:40
Darwin::Physics::RecMuon::weight_group
std::string_view weight_group() const override
Definition: Lepton.h:34
Darwin::Physics::RecMuon::RecMuon
RecMuon()=default
Darwin::Physics::RecMuon::WeightVar
static const char *const *const WeightVar
Definition: Lepton.h:38
Darwin::Physics::GenMuon::ScaleVar
static const char *const ScaleVar
Definition: Lepton.h:20
operator<<
std::ostream & operator<<(std::ostream &s, const DAS::GenMuon &muon)
Definition: Lepton.h:47
Darwin::Physics::GenMuon::Q
int Q
+/- 1
Definition: Lepton.h:23
Darwin::Physics::RecMuon::ScaleVar
static const char *const ScaleVar
Definition: Lepton.h:37
Darwin::Physics::GenMuon::GenMuon
GenMuon()=default
Darwin::Physics::GenMuon::weight_group
std::string_view weight_group() const override
Definition: Lepton.h:17
Darwin::Physics::RecMuon::scale_group
std::string_view scale_group() const override
Definition: Lepton.h:33
Darwin::Physics::GenericObject::CorrP4
FourVector CorrP4(size_t i=0) const
corrected 4-vector
Definition: GenericObject.h:57
GenericObject.h
Darwin::Physics::GenMuon::WeightVar
static const char *const *const WeightVar
Definition: Lepton.h:21
Darwin::Physics
Everything what concerns physics analysis directly.
Definition: darwin.h:24
Darwin::Physics::GenMuon
Generic generator-level muon.
Definition: Lepton.h:14