ATLAS Offline Software
L1Topo/L1TopoAlgorithms/L1TopoAlgorithms/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 // 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();
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_histcTauPartialIsoLoose;
66  std::vector<std::string> m_histcTauPartialIsoMedium;
67  std::vector<std::string> m_histcTauPartialIsoMedium12;
68  std::vector<std::string> m_histcTauPartialIsoMedium20;
69  std::vector<std::string> m_histcTauPartialIsoMedium30;
70  std::vector<std::string> m_histcTauPartialIsoMedium35;
71  std::vector<std::string> m_histcTauPartialIsoTight;
72  std::vector<std::string> m_histcTauIsoMatchedPass;
73 
75 
76  };
77 
78 }
79 
80 #endif
TCS::cTauMultiplicity::initialize
virtual StatusCode initialize() override
Definition: L1Topo/L1TopoAlgorithms/Root/cTauMultiplicity.cxx:31
TrigConf::Selection::WP
WP
Definition: L1ThresholdBase.h:298
TCS::cTauMultiplicity::m_histcTauPhiEta
std::vector< std::string > m_histcTauPhiEta
Definition: L1Topo/L1TopoAlgorithms/L1TopoAlgorithms/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:22
TrigConf::L1Threshold_cTAU
Definition: L1Threshold.h:255
TCS::cTauMultiplicity::m_histcTauPartialIsoMedium30
std::vector< std::string > m_histcTauPartialIsoMedium30
Definition: L1Topo/L1TopoAlgorithms/L1TopoAlgorithms/cTauMultiplicity.h:69
TCS::cTauMultiplicity::m_histcTauIsoMatchedPass
std::vector< std::string > m_histcTauIsoMatchedPass
Definition: L1Topo/L1TopoAlgorithms/L1TopoAlgorithms/cTauMultiplicity.h:72
eFexTauRoIContainer.h
TCS::cTauMultiplicity::m_histcTauPartialIsoMedium35
std::vector< std::string > m_histcTauPartialIsoMedium35
Definition: L1Topo/L1TopoAlgorithms/L1TopoAlgorithms/cTauMultiplicity.h:70
L1Threshold.h
jFexTauRoIContainer.h
CountingAlg.h
XMLtoHeader.count
count
Definition: XMLtoHeader.py:85
TCS::cTauMultiplicity::m_histcTauPartialIsoMedium12
std::vector< std::string > m_histcTauPartialIsoMedium12
Definition: L1Topo/L1TopoAlgorithms/L1TopoAlgorithms/cTauMultiplicity.h:67
TCS::cTauMultiplicity::m_histcTauPartialIsoTight
std::vector< std::string > m_histcTauPartialIsoTight
Definition: L1Topo/L1TopoAlgorithms/L1TopoAlgorithms/cTauMultiplicity.h:71
TCS::cTauMultiplicity::m_histcTauPartialIsoMedium
std::vector< std::string > m_histcTauPartialIsoMedium
Definition: L1Topo/L1TopoAlgorithms/L1TopoAlgorithms/cTauMultiplicity.h:66
TCS::cTauMultiplicity::m_histcTauPartialIsoMedium20
std::vector< std::string > m_histcTauPartialIsoMedium20
Definition: L1Topo/L1TopoAlgorithms/L1TopoAlgorithms/cTauMultiplicity.h:68
TCS::cTauMultiplicity::m_histcTauEt
std::vector< std::string > m_histcTauEt
Definition: L1Topo/L1TopoAlgorithms/L1TopoAlgorithms/cTauMultiplicity.h:62
TCS::ConfigurableAlg::name
const std::string & name() const
Definition: ConfigurableAlg.h:48
TCS::cTauMultiplicity::cTauMultiplicity
cTauMultiplicity(const std::string &name)
Definition: L1Topo/L1TopoAlgorithms/Root/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
PlotPulseshapeFromCool.input
input
Definition: PlotPulseshapeFromCool.py:106
TCS::cTauMultiplicity::checkIsolationWP
static bool checkIsolationWP(const xAOD::eFexTauRoI &eTau, const xAOD::jFexTauRoI &jTau, const TrigConf::L1Threshold_cTAU &thr)
Definition: L1Topo/L1TopoAlgorithms/Root/cTauMultiplicity.cxx:271
TOBArray.h
TCS::cTauMultiplicity::checkeTAUWP
static bool checkeTAUWP(const xAOD::eFexTauRoI &eTau, const TrigConf::L1Threshold_cTAU &thr)
Definition: L1Topo/L1TopoAlgorithms/Root/cTauMultiplicity.cxx:278
TCS::cTauMultiplicity::m_extraInfo
std::shared_ptr< TrigConf::L1ThrExtraInfo_cTAU > m_extraInfo
Definition: L1Topo/L1TopoAlgorithms/L1TopoAlgorithms/cTauMultiplicity.h:53
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
TH2
Definition: rootspy.cxx:373
TCS::cTauMultiplicity::cTauMatching
static size_t cTauMatching(const xAOD::eFexTauRoI &eTau, const xAOD::jFexTauRoIContainer &jTauRoIs)
Definition: L1Topo/L1TopoAlgorithms/Root/cTauMultiplicity.cxx:212
TCS::cTauMultiplicity::m_threshold
const TrigConf::L1Threshold_cTAU * m_threshold
Definition: L1Topo/L1TopoAlgorithms/L1TopoAlgorithms/cTauMultiplicity.h:52
TCS::cTauMultiplicity::processBitCorrect
virtual StatusCode processBitCorrect(const TCS::InputTOBArray &input, Count &count) override final
Definition: L1Topo/L1TopoAlgorithms/Root/cTauMultiplicity.cxx:65
TCS::cTauMultiplicity::~cTauMultiplicity
virtual ~cTauMultiplicity()
Definition: L1Topo/L1TopoAlgorithms/Root/cTauMultiplicity.cxx:28
TCS::Count
Definition: L1Topo/L1TopoInterfaces/L1TopoInterfaces/Count.h:20
TCS::cTauMultiplicity
Definition: L1Topo/L1TopoAlgorithms/L1TopoAlgorithms/cTauMultiplicity.h:28
TCS::cTauMultiplicity::m_histcTauEtEta
std::vector< std::string > m_histcTauEtEta
Definition: L1Topo/L1TopoAlgorithms/L1TopoAlgorithms/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: L1Topo/L1TopoAlgorithms/Root/cTauMultiplicity.cxx:72
TCS::cTauMultiplicity::m_histcTauPartialIsoLoose
std::vector< std::string > m_histcTauPartialIsoLoose
Definition: L1Topo/L1TopoAlgorithms/L1TopoAlgorithms/cTauMultiplicity.h:65
TCS::CountingAlg
Definition: CountingAlg.h:25
TCS::StatusCode
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/StatusCode.h:15