ATLAS Offline Software
BTagMuonAugmenter.h
Go to the documentation of this file.
1 // for text editors: this file is -*- C++ -*-
2 /*
3  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
4 */
5 
6 #ifndef BTAG_MUON_AUGMENTER_H
7 #define BTAG_MUON_AUGMENTER_H
8 
13 #include "xAODJet/JetContainer.h"
14 #include "xAODMuon/MuonContainer.h"
15 
16 namespace FlavorTagDiscriminants {
17 
18  // Accessor and Decorator pair template for IO purposes where you
19  // just want to decorate "someVariable" to the btagging object as
20  // "softMuon_someVariable"
21  template <typename T>
22  class CAccDec {
23  public:
24  CAccDec(const std::string& branchname)
25  : m_acc(branchname),
26  m_dec("softMuon_" + branchname){};
27 
30  };
31 
32  namespace defaults {
33  const float MUON_MAX_DR = 0.4;
34  const float MUON_MIN_PT = 4e3;
35  } // namespace defaults
36  typedef SG::AuxElement AE;
37 
39  public:
40  BTagMuonAugmenter(const std::string& muonAssociationName,
41  float muonMaxDR = defaults::MUON_MAX_DR,
42  float muonMinpT = defaults::MUON_MIN_PT,
46  void augment(const xAOD::BTagging& btag) const;
47  std::set<std::string> getDecoratorKeys() const;
48  std::set<std::string> getAuxInputKeys() const;
49  std::set<std::string> getConstituentAuxInputKeys() const;
50 
51  private:
52  // You'll probably have to add some accessors here
54  std::string m_muonAssociationName;
55  float m_muonMaxDR;
56  float m_muonMinpT;
58 
62 
75 
76  // list of variables that are just accessed and decorated with
77  // name softMuon_someVariable
78  std::vector<std::string> m_float_IO_variables;
79  // vector holding the accessors and decorators
80  std::vector<CAccDec<float>> m_float_IO;
81 
82  // same for unsigned char
83  std::vector<std::string> m_unsigned_char_IO_variables;
84  std::vector<CAccDec<unsigned char>> m_unsigned_char_IO;
85  };
86 
87 } // namespace FlavorTagDiscriminants
88 #endif
FlavorTagDiscriminants::CAccDec
Definition: BTagMuonAugmenter.h:22
BTagTrackIpAccessor.h
FlavorTagDiscriminants::BTagMuonAugmenter::m_unsigned_char_IO_variables
std::vector< std::string > m_unsigned_char_IO_variables
Definition: BTagMuonAugmenter.h:83
FlavorTagDiscriminants::BTagMuonAugmenter::m_dec_muon_ip3d_z0
AE::Decorator< float > m_dec_muon_ip3d_z0
Definition: BTagMuonAugmenter.h:69
FlavorTagDiscriminants::BTagMuonAugmenter::augment
void augment(const xAOD::BTagging &btag) const
Definition: BTagMuonAugmenter.cxx:79
FlavorTagDiscriminants::FlipTagConfig::STANDARD
@ STANDARD
FlavorTagDiscriminants
This file contains "getter" functions used for accessing tagger inputs from the EDM.
Definition: AssociationEnums.h:11
FlavorTagDiscriminants::CAccDec::CAccDec
CAccDec(const std::string &branchname)
Definition: BTagMuonAugmenter.h:24
FlavorTagDiscriminants::BTagMuonAugmenter::m_dec_muon_ip3d_d0
AE::Decorator< float > m_dec_muon_ip3d_d0
Definition: BTagMuonAugmenter.h:68
FlavorTagDiscriminants::BTagMuonAugmenter::m_muonMinpT
float m_muonMinpT
Definition: BTagMuonAugmenter.h:56
SG::AuxElement
Base class for elements of a container that can have aux data.
Definition: AuxElement.h:446
FlavorTagDiscriminants::BTagMuonAugmenter::m_dec_muon_ip3d_d0_significance
AE::Decorator< float > m_dec_muon_ip3d_d0_significance
Definition: BTagMuonAugmenter.h:70
FlavorTagDiscriminants::BTagMuonAugmenter::m_acc_muon_energyLoss
AE::ConstAccessor< float > m_acc_muon_energyLoss
Definition: BTagMuonAugmenter.h:61
FlavorTagDiscriminants::BTagMuonAugmenter::m_muonMaxDR
float m_muonMaxDR
Definition: BTagMuonAugmenter.h:55
SG::ConstAccessor
Helper class to provide constant type-safe access to aux data.
Definition: ConstAccessor.h:54
FlavorTagDiscriminants::BTagMuonAugmenter::getDecoratorKeys
std::set< std::string > getDecoratorKeys() const
Definition: BTagMuonAugmenter.cxx:219
FlipTagEnums.h
RTTAlgmain.branchname
string branchname
Definition: RTTAlgmain.py:60
BTagTrackIpAccessor
Definition: BTagTrackIpAccessor.h:29
FlavorTagDiscriminants::BTagMuonAugmenter::m_dec_muon_ip3d_sigma_d0
AE::Decorator< float > m_dec_muon_ip3d_sigma_d0
Definition: BTagMuonAugmenter.h:72
CheckAppliedSFs.e3
e3
Definition: CheckAppliedSFs.py:264
SG::Decorator
Helper class to provide type-safe access to aux data.
Definition: Decorator.h:58
FlavorTagDiscriminants::BTagMuonAugmenter::m_dec_muon_dR
AE::Decorator< float > m_dec_muon_dR
Definition: BTagMuonAugmenter.h:65
FlavorTagDiscriminants::BTagMuonAugmenter::BTagMuonAugmenter
BTagMuonAugmenter(const std::string &muonAssociationName, float muonMaxDR=defaults::MUON_MAX_DR, float muonMinpT=defaults::MUON_MIN_PT, FlipTagConfig=FlipTagConfig::STANDARD)
Definition: BTagMuonAugmenter.cxx:13
FlavorTagDiscriminants::defaults::MUON_MAX_DR
const float MUON_MAX_DR
Definition: BTagMuonAugmenter.h:33
FlavorTagDiscriminants::BTagMuonAugmenter::m_muonAssociationName
std::string m_muonAssociationName
Definition: BTagMuonAugmenter.h:54
xAOD::BTagging_v1
Definition: BTagging_v1.h:39
FlavorTagDiscriminants::CAccDec::m_dec
SG::AuxElement::Decorator< T > m_dec
Definition: BTagMuonAugmenter.h:29
FlavorTagDiscriminants::BTagMuonAugmenter::m_dec_muon_ip3d_z0_significance
AE::Decorator< float > m_dec_muon_ip3d_z0_significance
Definition: BTagMuonAugmenter.h:71
FlavorTagDiscriminants::BTagMuonAugmenter::m_dec_muon_isDefaults
AE::Decorator< char > m_dec_muon_isDefaults
Definition: BTagMuonAugmenter.h:63
FlavorTagDiscriminants::BTagMuonAugmenter::m_btag_track_aug
BTagTrackIpAccessor m_btag_track_aug
Definition: BTagMuonAugmenter.h:53
FlavorTagDiscriminants::BTagMuonAugmenter::m_dec_muon_link
AE::Decorator< ElementLink< xAOD::MuonContainer > > m_dec_muon_link
Definition: BTagMuonAugmenter.h:74
FlavorTagDiscriminants::BTagMuonAugmenter::BTagMuonAugmenter
BTagMuonAugmenter(BTagMuonAugmenter &&)
Base_Fragment.defaults
dictionary defaults
This includes now the top quark, the leptons and the bosons.
Definition: GeneratorFilters/share/common/Base_Fragment.py:79
EventInfo.h
MuonContainer.h
FlavorTagDiscriminants::BTagMuonAugmenter::m_dec_muon_qOverPratio
AE::Decorator< float > m_dec_muon_qOverPratio
Definition: BTagMuonAugmenter.h:66
FlavorTagDiscriminants::BTagMuonAugmenter::m_dec_muon_pTrel
AE::Decorator< float > m_dec_muon_pTrel
Definition: BTagMuonAugmenter.h:67
FlavorTagDiscriminants::BTagMuonAugmenter::m_acc_assocMuons
AE::ConstAccessor< std::vector< ElementLink< xAOD::MuonContainer > > > m_acc_assocMuons
Definition: BTagMuonAugmenter.h:59
JetContainer.h
FlavorTagDiscriminants::BTagMuonAugmenter::~BTagMuonAugmenter
~BTagMuonAugmenter()
FlavorTagDiscriminants::CAccDec::m_acc
SG::AuxElement::ConstAccessor< T > m_acc
Definition: BTagMuonAugmenter.h:26
FlavorTagDiscriminants::defaults::MUON_MIN_PT
const float MUON_MIN_PT
Definition: BTagMuonAugmenter.h:34
FlavorTagDiscriminants::BTagMuonAugmenter::m_acc_jetLink
AE::ConstAccessor< ElementLink< xAOD::JetContainer > > m_acc_jetLink
Definition: BTagMuonAugmenter.h:60
FlavorTagDiscriminants::BTagMuonAugmenter::getAuxInputKeys
std::set< std::string > getAuxInputKeys() const
Definition: BTagMuonAugmenter.cxx:239
FlavorTagDiscriminants::BTagMuonAugmenter::m_float_IO
std::vector< CAccDec< float > > m_float_IO
Definition: BTagMuonAugmenter.h:80
FlavorTagDiscriminants::FlipTagConfig
FlipTagConfig
Definition: FlipTagEnums.h:14
FlavorTagDiscriminants::AE
SG::AuxElement AE
Definition: BTagMuonAugmenter.h:36
FlavorTagDiscriminants::BTagMuonAugmenter::m_flip_config
FlipTagConfig m_flip_config
Definition: BTagMuonAugmenter.h:57
FlavorTagDiscriminants::BTagMuonAugmenter::m_unsigned_char_IO
std::vector< CAccDec< unsigned char > > m_unsigned_char_IO
Definition: BTagMuonAugmenter.h:84
FlavorTagDiscriminants::BTagMuonAugmenter::getConstituentAuxInputKeys
std::set< std::string > getConstituentAuxInputKeys() const
Definition: BTagMuonAugmenter.cxx:245
FlavorTagDiscriminants::BTagMuonAugmenter
Definition: BTagMuonAugmenter.h:38
FlavorTagDiscriminants::BTagMuonAugmenter::m_dec_muon_ip3d_sigma_z0
AE::Decorator< float > m_dec_muon_ip3d_sigma_z0
Definition: BTagMuonAugmenter.h:73
FlavorTagDiscriminants::BTagMuonAugmenter::m_float_IO_variables
std::vector< std::string > m_float_IO_variables
Definition: BTagMuonAugmenter.h:78
BTaggingFwd.h
FlavorTagDiscriminants::BTagMuonAugmenter::m_dec_nAssocMuons
AE::Decorator< int > m_dec_nAssocMuons
Definition: BTagMuonAugmenter.h:64