ATLAS Offline Software
TrigBtagEmulationChain.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 TRIGBTAGEMULATIONCHAIN_H
6 #define TRIGBTAGEMULATIONCHAIN_H
7 
9 #include "GaudiKernel/ToolHandle.h"
10 #include "src/JetManagerTool.h"
11 
12 #include <string>
13 #include <vector>
14 
15 namespace Trig {
16 
18  : public AthMessaging {
19  public:
21  TrigBtagEmulationChain(const std::string& name,
22  const std::vector< std::string >& definition);
23  virtual ~TrigBtagEmulationChain() = default;
24 
26  const std::string& name() const;
27  const std::string& l1_requirement() const;
28  const std::vector<std::string>& chainPartName() const;
29  const std::vector<int>& jet_multiplicity() const;
30  const std::vector<double>& jet_pt() const;
31  const std::vector<double>& jet_eta_min() const;
32  const std::vector<double>& jet_eta_max() const;
33  const std::vector<double>& jvt() const;
34  const std::vector<bool>& is_PFlow() const;
35  const std::vector<std::string>& tagger() const;
36  const std::vector<std::string>& jet_presel() const;
37  const std::string& dijetmass() const;
38  int shared_idx() const;
39 
40 private:
41  void parseChainDefinition(const std::vector<std::string>& definition);
42 
43 private:
44  std::string m_name;
45  std::string m_l1_requirement = "";
46  std::vector<std::string> m_chainPartName {};
47  std::vector<int> m_jet_multiplicity {};
48  std::vector<double> m_jet_pt {};
49  std::vector<double> m_jet_eta_min {};
50  std::vector<double> m_jet_eta_max {};
51  std::vector<double> m_jvt {};
52  std::vector<bool> m_is_PFlow {};
53  std::vector<std::string> m_tagger {};
54  std::vector<std::string> m_jet_presel {};
55  std::string m_dijetmass = "";
56  int m_shared_idx = 0;
57 };
58 
59  inline const std::string& TrigBtagEmulationChain::name() const { return m_name; }
60  inline const std::string& TrigBtagEmulationChain::l1_requirement() const { return m_l1_requirement; }
61  inline const std::vector<std::string>& TrigBtagEmulationChain::chainPartName() const { return m_chainPartName; }
62  inline const std::vector<int>& TrigBtagEmulationChain::jet_multiplicity() const { return m_jet_multiplicity; }
63  inline const std::vector<double>& TrigBtagEmulationChain::jet_pt() const { return m_jet_pt; }
64  inline const std::vector<double>& TrigBtagEmulationChain::jet_eta_min() const { return m_jet_eta_min; }
65  inline const std::vector<double>& TrigBtagEmulationChain::jet_eta_max() const { return m_jet_eta_max; }
66  inline const std::vector<double>& TrigBtagEmulationChain::jvt() const { return m_jvt; }
67  inline const std::vector<bool>& TrigBtagEmulationChain::is_PFlow() const { return m_is_PFlow; }
68  inline const std::vector<std::string>& TrigBtagEmulationChain::tagger() const { return m_tagger; }
69  inline const std::vector<std::string>& TrigBtagEmulationChain::jet_presel() const { return m_jet_presel; }
70  inline const std::string& TrigBtagEmulationChain::dijetmass() const { return m_dijetmass; }
71  inline int TrigBtagEmulationChain::shared_idx() const { return m_shared_idx; }
72 
73 } //namespace
74 
75 #endif
Trig::TrigBtagEmulationChain::jet_eta_min
const std::vector< double > & jet_eta_min() const
Definition: TrigBtagEmulationChain.h:64
Trig::TrigBtagEmulationChain::parseChainDefinition
void parseChainDefinition(const std::vector< std::string > &definition)
Definition: TrigBtagEmulationChain.cxx:25
Trig::TrigBtagEmulationChain::m_tagger
std::vector< std::string > m_tagger
Definition: TrigBtagEmulationChain.h:53
Trig
The common trigger namespace for trigger analysis tools.
Definition: CaloTowerVecMon.h:44
Trig::TrigBtagEmulationChain::m_jet_presel
std::vector< std::string > m_jet_presel
Definition: TrigBtagEmulationChain.h:54
Trig::TrigBtagEmulationChain::m_shared_idx
int m_shared_idx
Definition: TrigBtagEmulationChain.h:56
Trig::TrigBtagEmulationChain::jet_multiplicity
const std::vector< int > & jet_multiplicity() const
Definition: TrigBtagEmulationChain.h:62
Trig::TrigBtagEmulationChain::m_name
std::string m_name
Definition: TrigBtagEmulationChain.h:44
Trig::TrigBtagEmulationChain::is_PFlow
const std::vector< bool > & is_PFlow() const
Definition: TrigBtagEmulationChain.h:67
Trig::TrigBtagEmulationChain::m_jet_pt
std::vector< double > m_jet_pt
Definition: TrigBtagEmulationChain.h:48
Trig::TrigBtagEmulationChain
Definition: TrigBtagEmulationChain.h:18
Trig::TrigBtagEmulationChain::m_is_PFlow
std::vector< bool > m_is_PFlow
Definition: TrigBtagEmulationChain.h:52
Trig::TrigBtagEmulationChain::name
const std::string & name() const
Name.
Definition: TrigBtagEmulationChain.h:59
Trig::TrigBtagEmulationChain::dijetmass
const std::string & dijetmass() const
Definition: TrigBtagEmulationChain.h:70
Trig::TrigBtagEmulationChain::l1_requirement
const std::string & l1_requirement() const
Definition: TrigBtagEmulationChain.h:60
Trig::TrigBtagEmulationChain::jvt
const std::vector< double > & jvt() const
Definition: TrigBtagEmulationChain.h:66
AthMessaging
Class to provide easy MsgStream access and capabilities.
Definition: AthMessaging.h:55
Trig::TrigBtagEmulationChain::jet_pt
const std::vector< double > & jet_pt() const
Definition: TrigBtagEmulationChain.h:63
Trig::TrigBtagEmulationChain::tagger
const std::vector< std::string > & tagger() const
Definition: TrigBtagEmulationChain.h:68
Trig::TrigBtagEmulationChain::chainPartName
const std::vector< std::string > & chainPartName() const
Definition: TrigBtagEmulationChain.h:61
Trig::TrigBtagEmulationChain::m_chainPartName
std::vector< std::string > m_chainPartName
Definition: TrigBtagEmulationChain.h:46
Trig::TrigBtagEmulationChain::m_dijetmass
std::string m_dijetmass
Definition: TrigBtagEmulationChain.h:55
Trig::TrigBtagEmulationChain::m_l1_requirement
std::string m_l1_requirement
Definition: TrigBtagEmulationChain.h:45
Trig::TrigBtagEmulationChain::TrigBtagEmulationChain
TrigBtagEmulationChain(const std::string &name, const std::vector< std::string > &definition)
Constructors and Destructor.
Definition: TrigBtagEmulationChain.cxx:17
JetManagerTool.h
Trig::TrigBtagEmulationChain::~TrigBtagEmulationChain
virtual ~TrigBtagEmulationChain()=default
Trig::TrigBtagEmulationChain::m_jvt
std::vector< double > m_jvt
Definition: TrigBtagEmulationChain.h:51
AthMessaging.h
Trig::TrigBtagEmulationChain::m_jet_multiplicity
std::vector< int > m_jet_multiplicity
Definition: TrigBtagEmulationChain.h:47
Trig::TrigBtagEmulationChain::jet_presel
const std::vector< std::string > & jet_presel() const
Definition: TrigBtagEmulationChain.h:69
Trig::TrigBtagEmulationChain::shared_idx
int shared_idx() const
Definition: TrigBtagEmulationChain.h:71
Trig::TrigBtagEmulationChain::jet_eta_max
const std::vector< double > & jet_eta_max() const
Definition: TrigBtagEmulationChain.h:65
Trig::TrigBtagEmulationChain::m_jet_eta_max
std::vector< double > m_jet_eta_max
Definition: TrigBtagEmulationChain.h:50
Trig::TrigBtagEmulationChain::m_jet_eta_min
std::vector< double > m_jet_eta_min
Definition: TrigBtagEmulationChain.h:49