ATLAS Offline Software
cTauMultiplicity.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 // cTauMultiplicity.h
5 // TopoCore
6 
7 #ifndef __TopoCore__cTauMultiplicity__
8 #define __TopoCore__cTauMultiplicity__
9 
10 
12 #include "L1TopoEvent/TOBArray.h"
14 
15 // Include xAOD headers here
16 #ifndef TRIGCONF_STANDALONE
19 #endif
20 
21 #include <vector>
22 #include <map>
23 
24 class TH2;
25 
26 namespace TCS {
27 
28  class cTauMultiplicity : public CountingAlg {
29  public:
30  cTauMultiplicity(const std::string & name);
31  virtual ~cTauMultiplicity() = default;
32 
33  virtual StatusCode initialize() override;
34 
35  virtual StatusCode processBitCorrect(const TCS::InputTOBArray& input, Count& count) override final;
36 
37  virtual StatusCode process(const TCS::InputTOBArray& input, Count& count ) override final;
38 
39  #ifndef TRIGCONF_STANDALONE
40  // Functions for HLT seeding
41  // Returns index of jtau matched to etau
42  static size_t cTauMatching(const xAOD::eFexTauRoI& eTau, const xAOD::jFexTauRoIContainer& jTauRoIs);
43  // Returns true when a matching is found
44  static bool cTauMatching(const xAOD::eFexTauRoI& eTau, const xAOD::jFexTauRoI& jTau);
45  // Check cTAU isolation
46  static bool checkIsolationWP(const xAOD::eFexTauRoI& eTau, const xAOD::jFexTauRoI& jTau, const TrigConf::L1Threshold_cTAU& thr);
47  // Check eTAU rCore/BDT and rHad WPs
48  static bool checkeTAUWP(const xAOD::eFexTauRoI& eTau, const TrigConf::L1Threshold_cTAU& thr);
49  #endif
50 
51  private:
53  std::shared_ptr<TrigConf::L1ThrExtraInfo_cTAU> m_extraInfo;
54 
55  bool checkIsolationWP(const TCS::cTauTOB* etauCand, const TCS::cTauTOB* jtauCand) const;
56  bool checkeTAUWP(const TCS::cTauTOB* etauCand) const;
57 
58  // Matching function for L1Topo
59  bool cTauMatching(const TCS::cTauTOB* etauCand, const TCS::cTauTOB* jtauCand) const;
60 
61  // cTau monitoring histograms
62  std::vector<std::string> m_histcTauEt;
63  std::vector<std::string> m_histcTauPhiEta;
64  std::vector<std::string> m_histcTauEtEta;
65  std::vector<std::string> m_histcTauIsoFraction;
66  std::vector<std::string> m_histcTauIsoMatchedPass;
67 
69  };
70 
71 }
72 
73 #endif
TCS::cTauMultiplicity::initialize
virtual StatusCode initialize() override
Definition: cTauMultiplicity.cxx:28
TrigConf::Selection::WP
WP
Definition: L1ThresholdBase.h:298
TCS::cTauMultiplicity::m_histcTauPhiEta
std::vector< std::string > m_histcTauPhiEta
Definition: cTauMultiplicity.h:63
xAOD::jFexTauRoI_v1
Class describing properties of a LVL1 jFEX global Trigger Object (TOB) in the xAOD format.
Definition: jFexTauRoI_v1.h:23
TrigConf::L1Threshold_cTAU
Definition: L1Threshold.h:255
TCS::cTauMultiplicity::~cTauMultiplicity
virtual ~cTauMultiplicity()=default
TCS::cTauMultiplicity::m_histcTauIsoMatchedPass
std::vector< std::string > m_histcTauIsoMatchedPass
Definition: cTauMultiplicity.h:66
eFexTauRoIContainer.h
L1Threshold.h
jFexTauRoIContainer.h
CountingAlg.h
XMLtoHeader.count
count
Definition: XMLtoHeader.py:84
IBLCalibrationConfig.thr
thr
Definition: IBLCalibrationConfig.py:39
TCS::cTauMultiplicity::m_histcTauEt
std::vector< std::string > m_histcTauEt
Definition: cTauMultiplicity.h:62
TCS::ConfigurableAlg::name
const std::string & name() const
Definition: ConfigurableAlg.h:48
TCS::cTauMultiplicity::cTauMultiplicity
cTauMultiplicity(const std::string &name)
Definition: cTauMultiplicity.cxx:23
xAOD::eFexTauRoI_v1
Class describing a LVL1 eFEX tau region of interest.
Definition: eFexTauRoI_v1.h:29
TCS::InputTOBArray
Definition: InputTOBArray.h:15
TCS::cTauMultiplicity::checkIsolationWP
static bool checkIsolationWP(const xAOD::eFexTauRoI &eTau, const xAOD::jFexTauRoI &jTau, const TrigConf::L1Threshold_cTAU &thr)
Definition: cTauMultiplicity.cxx:242
TOBArray.h
TCS::cTauMultiplicity::checkeTAUWP
static bool checkeTAUWP(const xAOD::eFexTauRoI &eTau, const TrigConf::L1Threshold_cTAU &thr)
Definition: cTauMultiplicity.cxx:249
TCS::cTauMultiplicity::m_extraInfo
std::shared_ptr< TrigConf::L1ThrExtraInfo_cTAU > m_extraInfo
Definition: cTauMultiplicity.h:53
DataVector
Derived DataVector<T>.
Definition: DataVector.h:795
TCS::cTauMultiplicity::cTauMatching
static size_t cTauMatching(const xAOD::eFexTauRoI &eTau, const xAOD::jFexTauRoIContainer &jTauRoIs)
Definition: cTauMultiplicity.cxx:183
TCS::cTauMultiplicity::m_threshold
const TrigConf::L1Threshold_cTAU * m_threshold
Definition: cTauMultiplicity.h:52
TCS::cTauMultiplicity::m_histcTauIsoFraction
std::vector< std::string > m_histcTauIsoFraction
Definition: cTauMultiplicity.h:65
TCS::cTauMultiplicity::processBitCorrect
virtual StatusCode processBitCorrect(const TCS::InputTOBArray &input, Count &count) override final
Definition: cTauMultiplicity.cxx:56
TCS::Count
Definition: L1Topo/L1TopoInterfaces/L1TopoInterfaces/Count.h:20
TCS::cTauMultiplicity
Definition: cTauMultiplicity.h:28
TCS::cTauMultiplicity::m_histcTauEtEta
std::vector< std::string > m_histcTauEtEta
Definition: cTauMultiplicity.h:64
TCS
Definition: Global/GlobalSimulation/src/IO/Decision.h:18
TCS::cTauTOB
Definition: cTauTOB.h:13
TCS::cTauMultiplicity::process
virtual StatusCode process(const TCS::InputTOBArray &input, Count &count) override final
Definition: cTauMultiplicity.cxx:62
TCS::CountingAlg
Definition: CountingAlg.h:25
TCS::StatusCode
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/StatusCode.h:15