ATLAS Offline Software
Global/GlobalSimulation/src/L1TopoAlgs/cTauMultiplicity.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 
6 #ifndef GLOBALSIM_CTAUMULTIPLICITY_H
7 #define GLOBALSIM_CTAUMULTIPLICITY_H
8 
9 
10 #include <vector>
11 #include <map>
12 #include <string>
13 
14 namespace TrigConf {
15  class L1Threshold_cTAU;
16 }
17 
18 namespace TCS {
19  class cTauTOB;
20 }
21 
22 class StatusCode;
23 
24 namespace GlobalSim {
25 
26  class cTauTOBArray;
27  class Count;
28 
30  public:
31 
32  // Unlike other Algorithms converted from L1TopoSimulation,
33  // cTauMultiplicity still uses the C++ L1Menu object, as this
34  // contains information dereived from the menu, but which has not
35  // been made available in python.
36  cTauMultiplicity(const std::string& name,
37  unsigned int nbits,
39  const std::map<std::string, int>& isoFW_CTAU,
40  const std::map<std::string, int>& isoFW_CTAU_jTAUCoreScale
41  );
42 
43  virtual ~cTauMultiplicity() = default;
44 
46  Count & count );
47 
48 
49  // Converts the isolation score to bit to be used for the
50  // working point assignement
51  static unsigned int
52  convertIsoToBit(const std::map<std::string, int>& isoFW_CTAU,
53  const std::map<std::string, int>& isoFW_CTAU_jTAUCoreScale,
54  const float jTauCoreEt,
55  const float jTauIso,
56  const float eTauEt);
57 
58 
59  std::string toString() const;
60 
61  // expose data to be monitored
62 
63  const std::vector<double>& TOB_et() const;
64  const std::vector<double>& TOB_eta() const;
65  const std::vector<double>& TOB_phi() const;
66  const std::vector<double>& TOB_isolation_partial_loose() const;
67  const std::vector<double>& TOB_isolation_partial_medium() const;
68  const std::vector<double>& TOB_isolation_partial_tight() const;
69  const std::vector<double>& TOB_isoScore() const;
70  const std::vector<double>& accept_eta() const;
71  const std::vector<double>& accept_et() const;
72  const std::vector<double>& counts() const;
73 
74  private:
75 
76  std::string m_name{};
77  unsigned int m_nbits{0};
78 
79  unsigned int m_numberOutputBits{0};
81 
82  // data to be monitored
83  std::vector<double> m_TOB_et{};
84  std::vector<double> m_TOB_eta{};
85  std::vector<double> m_TOB_phi{};
86  std::vector<double> m_TOB_isolation_partial_loose{};
87  std::vector<double> m_TOB_isolation_partial_medium{};
88  std::vector<double> m_TOB_isolation_partial_tight{};
89  std::vector<double> m_TOB_isoScore{};
90  std::vector<double> m_accept_eta{};
91  std::vector<double> m_accept_et{};
92  std::vector<double> m_counts{};
93 
94  std::map<std::string, int> m_isoFW_CTAU;
95  std::map<std::string, int> m_isoFW_CTAU_jTAUCoreScale;
96 
97  // This function is used to map the ctau isolation working points
98  // into a common format with eFEX EM and taus.
99  // This allows us to use same functionalities from ConfigurableAlg
100  // (L1TopoInterfaces) to apply isolation cuts in multiplicity algorithms
101  // for all flavour of TOBS
102 
103  unsigned int convertIsoToBit(const TCS::cTauTOB * etauCand,
104  const TCS::cTauTOB * jtauCand) const;
105 
106  // Matching function for L1Topo
107  bool cTauMatching(const TCS::cTauTOB * etauCand,
108  const TCS::cTauTOB * jtauCand) const;
109 
110  };
111 
112 }
113 
114 #endif
GlobalSim::cTauMultiplicity::m_name
std::string m_name
Definition: Global/GlobalSimulation/src/L1TopoAlgs/cTauMultiplicity.h:76
TrigConf::L1Threshold_cTAU
Definition: L1Threshold.h:255
GlobalSim::cTauMultiplicity::TOB_et
const std::vector< double > & TOB_et() const
Definition: Global/GlobalSimulation/src/L1TopoAlgs/cTauMultiplicity.cxx:269
GlobalSim::cTauMultiplicity::TOB_isolation_partial_medium
const std::vector< double > & TOB_isolation_partial_medium() const
Definition: Global/GlobalSimulation/src/L1TopoAlgs/cTauMultiplicity.cxx:288
GlobalSim::cTauMultiplicity::m_TOB_et
std::vector< double > m_TOB_et
Definition: Global/GlobalSimulation/src/L1TopoAlgs/cTauMultiplicity.h:83
GlobalSim::cTauMultiplicity::counts
const std::vector< double > & counts() const
Definition: Global/GlobalSimulation/src/L1TopoAlgs/cTauMultiplicity.cxx:313
GlobalSim::cTauMultiplicity::m_TOB_eta
std::vector< double > m_TOB_eta
Definition: Global/GlobalSimulation/src/L1TopoAlgs/cTauMultiplicity.h:84
GlobalSim::cTauTOBArray
Definition: Global/GlobalSimulation/src/IO/cTauTOBArray.h:17
GlobalSim::cTauMultiplicity
Definition: Global/GlobalSimulation/src/L1TopoAlgs/cTauMultiplicity.h:29
GlobalSim::cTauMultiplicity::m_accept_eta
std::vector< double > m_accept_eta
Definition: Global/GlobalSimulation/src/L1TopoAlgs/cTauMultiplicity.h:90
GlobalSim::cTauMultiplicity::TOB_eta
const std::vector< double > & TOB_eta() const
Definition: Global/GlobalSimulation/src/L1TopoAlgs/cTauMultiplicity.cxx:273
GlobalSim::cTauMultiplicity::TOB_isolation_partial_loose
const std::vector< double > & TOB_isolation_partial_loose() const
Definition: Global/GlobalSimulation/src/L1TopoAlgs/cTauMultiplicity.cxx:283
GlobalSim::cTauMultiplicity::TOB_phi
const std::vector< double > & TOB_phi() const
Definition: Global/GlobalSimulation/src/L1TopoAlgs/cTauMultiplicity.cxx:278
GlobalSim::cTauMultiplicity::m_counts
std::vector< double > m_counts
Definition: Global/GlobalSimulation/src/L1TopoAlgs/cTauMultiplicity.h:92
GlobalSim::cTauMultiplicity::run
StatusCode run(const cTauTOBArray &input, Count &count)
Definition: Global/GlobalSimulation/src/L1TopoAlgs/cTauMultiplicity.cxx:40
XMLtoHeader.count
count
Definition: XMLtoHeader.py:85
GlobalSim::cTauMultiplicity::m_accept_et
std::vector< double > m_accept_et
Definition: Global/GlobalSimulation/src/L1TopoAlgs/cTauMultiplicity.h:91
TrigConf
Forward iterator to traverse the main components of the trigger configuration.
Definition: Config.h:22
GlobalSim::Count
Definition: Global/GlobalSimulation/src/IO/Count.h:23
GlobalSim::cTauMultiplicity::toString
std::string toString() const
Definition: Global/GlobalSimulation/src/L1TopoAlgs/cTauMultiplicity.cxx:259
GlobalSim::cTauMultiplicity::m_TOB_phi
std::vector< double > m_TOB_phi
Definition: Global/GlobalSimulation/src/L1TopoAlgs/cTauMultiplicity.h:85
GlobalSim
AlgTool to obtain a GlobalSim::cTAUTOBArray This class uses ReadHandls to jFex and eFex Tau Rois If t...
Definition: dump.h:8
GlobalSim::cTauMultiplicity::~cTauMultiplicity
virtual ~cTauMultiplicity()=default
GlobalSim::cTauMultiplicity::cTauMultiplicity
cTauMultiplicity(const std::string &name, unsigned int nbits, const TrigConf::L1Threshold_cTAU &, const std::map< std::string, int > &isoFW_CTAU, const std::map< std::string, int > &isoFW_CTAU_jTAUCoreScale)
Definition: Global/GlobalSimulation/src/L1TopoAlgs/cTauMultiplicity.cxx:20
GlobalSim::cTauMultiplicity::m_TOB_isolation_partial_tight
std::vector< double > m_TOB_isolation_partial_tight
Definition: Global/GlobalSimulation/src/L1TopoAlgs/cTauMultiplicity.h:88
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
PlotPulseshapeFromCool.input
input
Definition: PlotPulseshapeFromCool.py:106
GlobalSim::cTauMultiplicity::m_TOB_isolation_partial_loose
std::vector< double > m_TOB_isolation_partial_loose
Definition: Global/GlobalSimulation/src/L1TopoAlgs/cTauMultiplicity.h:86
GlobalSim::cTauMultiplicity::cTauMatching
bool cTauMatching(const TCS::cTauTOB *etauCand, const TCS::cTauTOB *jtauCand) const
Definition: Global/GlobalSimulation/src/L1TopoAlgs/cTauMultiplicity.cxx:201
GlobalSim::cTauMultiplicity::m_isoFW_CTAU_jTAUCoreScale
std::map< std::string, int > m_isoFW_CTAU_jTAUCoreScale
Definition: Global/GlobalSimulation/src/L1TopoAlgs/cTauMultiplicity.h:95
GlobalSim::cTauMultiplicity::convertIsoToBit
static unsigned int convertIsoToBit(const std::map< std::string, int > &isoFW_CTAU, const std::map< std::string, int > &isoFW_CTAU_jTAUCoreScale, const float jTauCoreEt, const float jTauIso, const float eTauEt)
Definition: Global/GlobalSimulation/src/L1TopoAlgs/cTauMultiplicity.cxx:240
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
GlobalSim::cTauMultiplicity::m_numberOutputBits
unsigned int m_numberOutputBits
Definition: Global/GlobalSimulation/src/L1TopoAlgs/cTauMultiplicity.h:79
GlobalSim::cTauMultiplicity::m_threshold
const TrigConf::L1Threshold_cTAU & m_threshold
Definition: Global/GlobalSimulation/src/L1TopoAlgs/cTauMultiplicity.h:80
GlobalSim::cTauMultiplicity::m_isoFW_CTAU
std::map< std::string, int > m_isoFW_CTAU
Definition: Global/GlobalSimulation/src/L1TopoAlgs/cTauMultiplicity.h:94
GlobalSim::cTauMultiplicity::accept_eta
const std::vector< double > & accept_eta() const
Definition: Global/GlobalSimulation/src/L1TopoAlgs/cTauMultiplicity.cxx:303
GlobalSim::cTauMultiplicity::m_TOB_isolation_partial_medium
std::vector< double > m_TOB_isolation_partial_medium
Definition: Global/GlobalSimulation/src/L1TopoAlgs/cTauMultiplicity.h:87
TCS
Definition: Global/GlobalSimulation/src/IO/Decision.h:18
GlobalSim::cTauMultiplicity::TOB_isoScore
const std::vector< double > & TOB_isoScore() const
Definition: Global/GlobalSimulation/src/L1TopoAlgs/cTauMultiplicity.cxx:298
GlobalSim::cTauMultiplicity::accept_et
const std::vector< double > & accept_et() const
Definition: Global/GlobalSimulation/src/L1TopoAlgs/cTauMultiplicity.cxx:308
GlobalSim::cTauMultiplicity::m_nbits
unsigned int m_nbits
Definition: Global/GlobalSimulation/src/L1TopoAlgs/cTauMultiplicity.h:77
TCS::cTauTOB
Definition: cTauTOB.h:13
GlobalSim::cTauMultiplicity::TOB_isolation_partial_tight
const std::vector< double > & TOB_isolation_partial_tight() const
Definition: Global/GlobalSimulation/src/L1TopoAlgs/cTauMultiplicity.cxx:293
GlobalSim::cTauMultiplicity::m_TOB_isoScore
std::vector< double > m_TOB_isoScore
Definition: Global/GlobalSimulation/src/L1TopoAlgs/cTauMultiplicity.h:89