DAS  3.0
Das Analysis System
Jet.h
Go to the documentation of this file.
1 #pragma once
2 
4 
5 namespace DAS {
6 
9 struct GenJet : public PhysicsObject {
10  static inline const char * const ScaleVar = "GenJetScales",
11  * const WeightVar = "GenJetWgts";
12 
13  int nBHadrons = -1,
14  nCHadrons = -1;
15  int partonFlavour = 0;
16 
17  inline int hadronFlavour () const
18  {
19  if (nBHadrons > 0) return 5;
20  else if (nCHadrons > 0) return 4;
21  else return 0;
22  }
23 
24 private:
25  std::string_view scale_group () const override { return ScaleVar; }
26  std::string_view weight_group () const override { return WeightVar; }
27 };
28 
37 struct RecJet : public GenJet {
38  static inline const char * const ScaleVar = "RecJetScales",
39  * const WeightVar = "RecJetWgts";
40 
41  // for jet energy scale corrections
42  float area = -1,
43  puID = -1;
44 
48  struct Tagger {
49  float probc = -1,
50  probb = -1,
51  probbb = -1,
52  problepb = -1,
53  probuds = -1,
54  probg = -1;
55 
56  inline float B () const { return probb+probbb+problepb; }
57  inline float CvsL () const { return probc/(probc+probuds+probg); }
58  inline float CvsB () const { return probc/(probc+probb+probbb+problepb); }
59  } DeepJet;
60 
61  RecJet () = default;
62 
63 private:
64  std::string_view scale_group () const final { return ScaleVar; }
65  std::string_view weight_group () const final { return WeightVar; }
66 };
67 
68 } // end of DAS namespace
69 
70 inline std::ostream& operator<< (std::ostream& s, const DAS::GenJet& jet)
71 {
72  return s << jet.p4 << ' ' << jet.nCHadrons << ' ' << jet.nBHadrons;
73 }
74 
75 #if defined(__ROOTCLING__)
76 #pragma link C++ class DAS::GenJet +;
77 #pragma link C++ class std::vector<DAS::GenJet> +;
78 
79 #pragma link C++ class DAS::RecJet +;
80 #pragma link C++ class DAS::RecJet::Tagger +;
81 #pragma link C++ class std::vector<DAS::RecJet> +;
82 #endif
DAS::GenJet::partonFlavour
int partonFlavour
Parton flavour (PDG ID)
Definition: Jet.h:15
DAS
Definition: applyBTagSF.cc:31
DAS::RecJet::weight_group
std::string_view weight_group() const final
Definition: Jet.h:65
DAS::PhysicsObject::p4
FourVector p4
raw four-momentum directly after reconstruction
Definition: PhysicsObject.h:50
DAS::RecJet::ScaleVar
static const char *const ScaleVar
Name of jet rec scales in variations.
Definition: Jet.h:38
operator<<
std::ostream & operator<<(std::ostream &s, const DAS::GenJet &jet)
Definition: Jet.h:70
DAS::GenJet::nBHadrons
int nBHadrons
Number of B hadrons (0, 1 or 2+)
Definition: Jet.h:13
DAS::RecJet::Tagger::probc
float probc
Probability for the jet to contain at least one D hadron.
Definition: Jet.h:49
DAS::RecJet::Tagger::probb
float probb
Probability for the jet to contain exactly one B hadron decaying hadronically.
Definition: Jet.h:50
DAS::RecJet::Tagger::CvsB
float CvsB() const
Definition: Jet.h:58
DAS::RecJet::scale_group
std::string_view scale_group() const final
Definition: Jet.h:64
DAS::PhysicsObject
Definition: PhysicsObject.h:41
DAS::RecJet::RecJet
RecJet()=default
Constructor (trivial)
DAS::RecJet
Definition: Jet.h:37
DAS::RecJet::Tagger::CvsL
float CvsL() const
Definition: Jet.h:57
DAS::GenJet::hadronFlavour
int hadronFlavour() const
Definition: Jet.h:17
DAS::RecJet::Tagger::probbb
float probbb
Probability for the jet to contain at least two B hadrons.
Definition: Jet.h:51
DAS::GenJet::ScaleVar
static const char *const ScaleVar
Name of jet gen scales in variations.
Definition: Jet.h:10
DAS::RecJet::DeepJet
struct DAS::RecJet::Tagger DeepJet
Reference
DAS::GenJet::scale_group
std::string_view scale_group() const override
Definition: Jet.h:25
DAS::RecJet::Tagger::problepb
float problepb
Probability for the jet to contain exactly one B hadron decaying leptonically.
Definition: Jet.h:52
PhysicsObject.h
DAS::RecJet::Tagger::B
float B() const
Definition: Jet.h:56
DAS::GenJet
class GenJet
Definition: Jet.h:9
DAS::GenJet::nCHadrons
int nCHadrons
Number of D hadrons (0, 1+ in 2017; 0, 1, 2+ in 2016)
Definition: Jet.h:14
DAS::GenJet::WeightVar
static const char *const *const WeightVar
Name of jet gen weights in variations.
Definition: Jet.h:11
DAS::RecJet::area
float area
Jet area (should be peaked at pi*R^2), used for the JES corrections.
Definition: Jet.h:42
DAS::RecJet::Tagger
Definition: Jet.h:48
DAS::RecJet::Tagger::probuds
float probuds
Probability for the jet to be a quark jet with no HF hadron.
Definition: Jet.h:53
DAS::GenJet::weight_group
std::string_view weight_group() const override
Definition: Jet.h:26
DAS::RecJet::WeightVar
static const char *const *const WeightVar
Name of jet rec weights in variations.
Definition: Jet.h:39
DAS::RecJet::Tagger::probg
float probg
Probability for the jet to be a gluon jet with no HF hadron.
Definition: Jet.h:54
DAS::RecJet::puID
float puID
pile-up jet ID
Definition: Jet.h:43