ATLAS Offline Software
TrigBtagEmulationJet.h
Go to the documentation of this file.
1 /*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRIGBTAGEMULATION_JET_H
6 #define TRIGBTAGEMULATION_JET_H
7 
8 #include "xAODJet/JetContainer.h"
12 
13 #include <string>
14 
15 namespace Trig {
16 
18 public:
21  const std::string& btagLink = "btaggingLink");
22  virtual ~TrigBtagEmulationJet() = default;
23 
24  double pt() const;
25  double eta() const;
26  double phi() const;
27  float jvt() const;
28  const TLorentzVector& p4() const;
29  const xAOD::Jet* jet() const;
30  const xAOD::BTagging* btag() const;
31 
32  bool satisfy(const std::string& tagger_name,
33  double workingPoint) const;
34 
35 private:
36  double dl1r_weight(double pu, double pb, double pc) const;
37 
38 private:
39  const xAOD::Jet *m_jet = nullptr;
40  const xAOD::BTagging *m_btag = nullptr;
41 
42  double m_pt;
43  double m_eta;
44  double m_phi;
45  double m_dl1r_cFrac = 0.018;
46  TLorentzVector m_p4;
47 };
48 
49  inline double TrigBtagEmulationJet::pt() const { return m_pt; }
50  inline double TrigBtagEmulationJet::eta() const { return m_eta; };
51  inline double TrigBtagEmulationJet::phi() const { return m_phi; }
52  inline float TrigBtagEmulationJet::jvt() const {
53  static const SG::AuxElement::Accessor<float> JVT( "Jvt" );
54  return JVT(*m_jet);
55  }
56  inline const TLorentzVector& TrigBtagEmulationJet::p4() const { return m_p4; }
57  inline const xAOD::Jet* TrigBtagEmulationJet::jet() const { return m_jet; }
58  inline const xAOD::BTagging* TrigBtagEmulationJet::btag() const { return m_btag; }
59  inline double TrigBtagEmulationJet::dl1r_weight(double pu, double pb, double pc) const
60  { return std::log( pb / ((pu * (1 - m_dl1r_cFrac)) + (m_dl1r_cFrac * pc)) ); }
61 
62 } //namespace
63 
64 #endif
Trig::TrigBtagEmulationJet::m_eta
double m_eta
Definition: TrigBtagEmulationJet.h:43
keylayer_zslicemap.pb
pb
Definition: keylayer_zslicemap.py:188
Trig::TrigBtagEmulationJet::m_btag
const xAOD::BTagging * m_btag
Definition: TrigBtagEmulationJet.h:40
Trig
The common trigger namespace for trigger analysis tools.
Definition: CaloTowerVecMon.h:44
SG::Accessor
Helper class to provide type-safe access to aux data.
Definition: Control/AthContainers/AthContainers/Accessor.h:66
Trig::TrigBtagEmulationJet
Definition: TrigBtagEmulationJet.h:17
Trig::TrigBtagEmulationJet::m_p4
TLorentzVector m_p4
Definition: TrigBtagEmulationJet.h:46
Trig::TrigBtagEmulationJet::TrigBtagEmulationJet
TrigBtagEmulationJet()=delete
Trig::TrigBtagEmulationJet::btag
const xAOD::BTagging * btag() const
Definition: TrigBtagEmulationJet.h:58
Trig::TrigBtagEmulationJet::dl1r_weight
double dl1r_weight(double pu, double pb, double pc) const
Definition: TrigBtagEmulationJet.h:59
BTaggingAuxContainer.h
Trig::TrigBtagEmulationJet::p4
const TLorentzVector & p4() const
Definition: TrigBtagEmulationJet.h:56
Trig::TrigBtagEmulationJet::satisfy
bool satisfy(const std::string &tagger_name, double workingPoint) const
Definition: TrigBtagEmulationJet.cxx:22
Trig::TrigBtagEmulationJet::m_phi
double m_phi
Definition: TrigBtagEmulationJet.h:44
Trig::TrigBtagEmulationJet::m_pt
double m_pt
Definition: TrigBtagEmulationJet.h:42
xAOD::BTagging_v1
Definition: BTagging_v1.h:39
Trig::TrigBtagEmulationJet::jet
const xAOD::Jet * jet() const
Definition: TrigBtagEmulationJet.h:57
BTaggingContainer.h
Trig::TrigBtagEmulationJet::eta
double eta() const
Definition: TrigBtagEmulationJet.h:50
Trig::TrigBtagEmulationJet::m_dl1r_cFrac
double m_dl1r_cFrac
Definition: TrigBtagEmulationJet.h:45
Trig::TrigBtagEmulationJet::pt
double pt() const
Definition: TrigBtagEmulationJet.h:49
CheckAppliedSFs.pu
pu
Definition: CheckAppliedSFs.py:311
xAOD::Jet_v1
Class describing a jet.
Definition: Jet_v1.h:57
JetContainer.h
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
JetAuxContainer.h
Trig::TrigBtagEmulationJet::m_jet
const xAOD::Jet * m_jet
Definition: TrigBtagEmulationJet.h:39
Trig::TrigBtagEmulationJet::~TrigBtagEmulationJet
virtual ~TrigBtagEmulationJet()=default
Trig::TrigBtagEmulationJet::jvt
float jvt() const
Definition: TrigBtagEmulationJet.h:52
python.SystemOfUnits.pc
float pc
Definition: SystemOfUnits.py:99
Trig::TrigBtagEmulationJet::phi
double phi() const
Definition: TrigBtagEmulationJet.h:51