ATLAS Offline Software
Public Member Functions | Private Member Functions | Private Attributes | List of all members
TrigTauInfo Class Reference

#include <TrigTauInfo.h>

Collaboration diagram for TrigTauInfo:

Public Member Functions

 TrigTauInfo ()
 
 TrigTauInfo (const std::string &trigger)
 
 TrigTauInfo (const std::string &trigger, const std::map< std::string, float > &L1Phase1_thresholds)
 
 TrigTauInfo (const std::string &trigger, const std::map< std::string, float > &L1Phase1_thresholds, const std::map< std::string, uint64_t > &L1Phase1_threshold_patterns)
 
 TrigTauInfo (const std::string &trigger, const std::map< int, int > &L1Phase1ThrMap_eTAU, const std::map< int, int > &L1Phase1ThrMap_jTAU)
 
const std::string & getTriggerName () const
 
bool isStreamer () const
 
float getHLTTauThreshold () const
 
const std::vector< float > & getHLTTauThresholds () const
 
const std::string getHLTTauType () const
 
const std::vector< std::string > & getHLTTauTypes () const
 
const std::string & getTriggerL1Name () const
 
const std::vector< std::string > & getTriggerL1Items () const
 
const std::string getL1TauItem () const
 
const std::vector< std::string > & getL1TauItems () const
 
float getL1TauThreshold () const
 
const std::vector< float > & getL1TauThresholds () const
 
const std::string getL1TauType () const
 
const std::vector< std::string > & getL1TauTypes () const
 
const std::string getL1TauIsolation () const
 
const std::vector< std::string > & getL1TauIsolations () const
 
bool isL1TauIsolated (const size_t idx=0) const
 
bool areAnyL1TauIsolated () const
 
int64_t getL1TauThresholdPattern () const
 
const std::vector< int64_t > & getL1TauThresholdPatterns () const
 
bool isHLTSingleTau () const
 
bool isHLTDiTau () const
 
bool isHLTTandP () const
 
bool isL1TauOnly () const
 
bool isTauStreamer () const
 
bool hasHLTElectronLeg () const
 
bool hasHLTMuonLeg () const
 
bool hasHLTGammaLeg () const
 
bool hasHLTJetLeg () const
 
bool hasHLTMETLeg () const
 
float getHLTElecThreshold () const
 
const std::vector< float > & getHLTElecThresholds () const
 
float getHLTMuonThreshold () const
 
const std::vector< float > & getHLTMuonThresholds () const
 
float getHLTGammaThreshold () const
 
const std::vector< float > & getHLTGammaThresholds () const
 
float getHLTJetThreshold () const
 
const std::vector< float > & getHLTJetThresholds () const
 
float getHLTMETThreshold () const
 
const std::vector< float > & getHLTMETThresholds () const
 

Private Member Functions

bool is_number (const std::string &s)
 
void parseTriggerString (bool remove_L1_phase1_thresholds=true)
 
void parseTriggerString (const std::map< std::string, float > &L1Phase1_thresholds)
 
void parseTriggerString (const std::map< std::string, float > &L1Phase1_thresholds, const std::map< std::string, uint64_t > &L1Phase1_threshold_patterns)
 
void parseTriggerString (const std::map< int, int > &L1Phase1ThrMap_eTAU, const std::map< int, int > &L1Phase1ThrMap_jTAU)
 

Private Attributes

std::string m_trigger
 
bool m_isStreamer = false
 
std::vector< float > m_HLTThr
 
std::vector< std::string > m_HLTTauTypes
 
std::string m_L1Item
 
std::vector< std::string > m_L1Items
 
std::vector< float > m_tauL1Thr
 
std::vector< std::string > m_tauL1Items
 
std::vector< std::string > m_tauL1Type
 
std::vector< std::string > m_tauL1Iso
 
std::vector< int64_t > m_tauL1ThresholdPattern
 
std::vector< float > m_HLTElecThr
 
std::vector< float > m_HLTMuonThr
 
std::vector< float > m_HLTGammaThr
 
std::vector< float > m_HLTJetThr
 
std::vector< float > m_HLTMETThr
 

Detailed Description

Definition at line 15 of file TrigTauInfo.h.

Constructor & Destructor Documentation

◆ TrigTauInfo() [1/5]

TrigTauInfo::TrigTauInfo ( )
inline

Definition at line 17 of file TrigTauInfo.h.

17 {} // Required for the dictionary

◆ TrigTauInfo() [2/5]

TrigTauInfo::TrigTauInfo ( const std::string &  trigger)

Definition at line 7 of file TrigTauInfo.cxx.

9 {
11 }

◆ TrigTauInfo() [3/5]

TrigTauInfo::TrigTauInfo ( const std::string &  trigger,
const std::map< std::string, float > &  L1Phase1_thresholds 
)

Definition at line 13 of file TrigTauInfo.cxx.

15 {
16  parseTriggerString(L1Phase1_thresholds);
17 }

◆ TrigTauInfo() [4/5]

TrigTauInfo::TrigTauInfo ( const std::string &  trigger,
const std::map< std::string, float > &  L1Phase1_thresholds,
const std::map< std::string, uint64_t > &  L1Phase1_threshold_patterns 
)

Definition at line 19 of file TrigTauInfo.cxx.

21 {
22  parseTriggerString(L1Phase1_thresholds, L1Phase1_threshold_patterns);
23 }

◆ TrigTauInfo() [5/5]

TrigTauInfo::TrigTauInfo ( const std::string &  trigger,
const std::map< int, int > &  L1Phase1ThrMap_eTAU,
const std::map< int, int > &  L1Phase1ThrMap_jTAU 
)

Definition at line 25 of file TrigTauInfo.cxx.

27 {
28  parseTriggerString(L1Phase1ThrMap_eTAU, L1Phase1ThrMap_jTAU);
29 }

Member Function Documentation

◆ areAnyL1TauIsolated()

bool TrigTauInfo::areAnyL1TauIsolated ( ) const
inline

Definition at line 42 of file TrigTauInfo.h.

42 { for(const std::string& iso : m_tauL1Iso) { if(iso.size()) return true; }; return false; } // Returns true any of the L1 items are isolated

◆ getHLTElecThreshold()

float TrigTauInfo::getHLTElecThreshold ( ) const
inline

Definition at line 58 of file TrigTauInfo.h.

58 { return m_HLTElecThr.size() ? m_HLTElecThr[0] : -1; } // Returns the main leg threshold

◆ getHLTElecThresholds()

const std::vector<float>& TrigTauInfo::getHLTElecThresholds ( ) const
inline

Definition at line 59 of file TrigTauInfo.h.

59 { return m_HLTElecThr; }

◆ getHLTGammaThreshold()

float TrigTauInfo::getHLTGammaThreshold ( ) const
inline

Definition at line 62 of file TrigTauInfo.h.

62 { return m_HLTGammaThr.size() ? m_HLTGammaThr[0] : -1; } // Returns the main leg threshold

◆ getHLTGammaThresholds()

const std::vector<float>& TrigTauInfo::getHLTGammaThresholds ( ) const
inline

Definition at line 63 of file TrigTauInfo.h.

63 { return m_HLTGammaThr; }

◆ getHLTJetThreshold()

float TrigTauInfo::getHLTJetThreshold ( ) const
inline

Definition at line 64 of file TrigTauInfo.h.

64 { return m_HLTJetThr.size() ? m_HLTJetThr[0] : -1; } // Returns the main leg threshold

◆ getHLTJetThresholds()

const std::vector<float>& TrigTauInfo::getHLTJetThresholds ( ) const
inline

Definition at line 65 of file TrigTauInfo.h.

65 { return m_HLTJetThr; }

◆ getHLTMETThreshold()

float TrigTauInfo::getHLTMETThreshold ( ) const
inline

Definition at line 66 of file TrigTauInfo.h.

66 { return m_HLTMETThr.size() ? m_HLTMETThr[0] : -1; } // Returns the main leg threshold

◆ getHLTMETThresholds()

const std::vector<float>& TrigTauInfo::getHLTMETThresholds ( ) const
inline

Definition at line 67 of file TrigTauInfo.h.

67 { return m_HLTMETThr; }

◆ getHLTMuonThreshold()

float TrigTauInfo::getHLTMuonThreshold ( ) const
inline

Definition at line 60 of file TrigTauInfo.h.

60 { return m_HLTMuonThr.size() ? m_HLTMuonThr[0] : -1; } // Returns the main leg threshold

◆ getHLTMuonThresholds()

const std::vector<float>& TrigTauInfo::getHLTMuonThresholds ( ) const
inline

Definition at line 61 of file TrigTauInfo.h.

61 { return m_HLTMuonThr; }

◆ getHLTTauThreshold()

float TrigTauInfo::getHLTTauThreshold ( ) const
inline

Definition at line 26 of file TrigTauInfo.h.

26 { return m_HLTThr.size() ? m_HLTThr[0] : -1; } // Returns the main HLT threshold

◆ getHLTTauThresholds()

const std::vector<float>& TrigTauInfo::getHLTTauThresholds ( ) const
inline

Definition at line 27 of file TrigTauInfo.h.

27 { return m_HLTThr; }

◆ getHLTTauType()

const std::string TrigTauInfo::getHLTTauType ( ) const
inline

Definition at line 28 of file TrigTauInfo.h.

28 { return m_HLTTauTypes.size() ? m_HLTTauTypes[0] : ""; } // Returns the main HLT tau leg type

◆ getHLTTauTypes()

const std::vector<std::string>& TrigTauInfo::getHLTTauTypes ( ) const
inline

Definition at line 29 of file TrigTauInfo.h.

29 { return m_HLTTauTypes; }

◆ getL1TauIsolation()

const std::string TrigTauInfo::getL1TauIsolation ( ) const
inline

Definition at line 39 of file TrigTauInfo.h.

39 { return m_tauL1Iso.size() ? m_tauL1Iso[0] : ""; } // Returns the main L1 item isolation

◆ getL1TauIsolations()

const std::vector<std::string>& TrigTauInfo::getL1TauIsolations ( ) const
inline

Definition at line 40 of file TrigTauInfo.h.

40 { return m_tauL1Iso; }

◆ getL1TauItem()

const std::string TrigTauInfo::getL1TauItem ( ) const
inline

Definition at line 33 of file TrigTauInfo.h.

33 { return m_tauL1Items.size() ? m_tauL1Items[0] : ""; } // Returns the main L1 tau item

◆ getL1TauItems()

const std::vector<std::string>& TrigTauInfo::getL1TauItems ( ) const
inline

Definition at line 34 of file TrigTauInfo.h.

34 { return m_tauL1Items; }

◆ getL1TauThreshold()

float TrigTauInfo::getL1TauThreshold ( ) const
inline

Definition at line 35 of file TrigTauInfo.h.

35 { return m_tauL1Thr.size() ? m_tauL1Thr[0] : -1; } // Returns the main L1 item threshold

◆ getL1TauThresholdPattern()

int64_t TrigTauInfo::getL1TauThresholdPattern ( ) const
inline

Definition at line 43 of file TrigTauInfo.h.

43 { return m_tauL1ThresholdPattern.size() ? m_tauL1ThresholdPattern[0] : -1; } // Returns the main L1 item thresholdPattern mask

◆ getL1TauThresholdPatterns()

const std::vector<int64_t>& TrigTauInfo::getL1TauThresholdPatterns ( ) const
inline

Definition at line 44 of file TrigTauInfo.h.

44 { return m_tauL1ThresholdPattern; }

◆ getL1TauThresholds()

const std::vector<float>& TrigTauInfo::getL1TauThresholds ( ) const
inline

Definition at line 36 of file TrigTauInfo.h.

36 { return m_tauL1Thr; }

◆ getL1TauType()

const std::string TrigTauInfo::getL1TauType ( ) const
inline

Definition at line 37 of file TrigTauInfo.h.

37 { return m_tauL1Items.size() ? m_tauL1Type[0] : ""; } // Returns the main L1 item type

◆ getL1TauTypes()

const std::vector<std::string>& TrigTauInfo::getL1TauTypes ( ) const
inline

Definition at line 38 of file TrigTauInfo.h.

38 { return m_tauL1Type; }

◆ getTriggerL1Items()

const std::vector<std::string>& TrigTauInfo::getTriggerL1Items ( ) const
inline

Definition at line 32 of file TrigTauInfo.h.

32 { return m_L1Items; }

◆ getTriggerL1Name()

const std::string& TrigTauInfo::getTriggerL1Name ( ) const
inline

Definition at line 31 of file TrigTauInfo.h.

31 { return m_L1Item; }

◆ getTriggerName()

const std::string& TrigTauInfo::getTriggerName ( ) const
inline

Definition at line 23 of file TrigTauInfo.h.

23 { return m_trigger; }

◆ hasHLTElectronLeg()

bool TrigTauInfo::hasHLTElectronLeg ( ) const
inline

Definition at line 52 of file TrigTauInfo.h.

52 { return m_HLTElecThr.size() >= 1; }

◆ hasHLTGammaLeg()

bool TrigTauInfo::hasHLTGammaLeg ( ) const
inline

Definition at line 54 of file TrigTauInfo.h.

54 { return m_HLTGammaThr.size() >= 1; }

◆ hasHLTJetLeg()

bool TrigTauInfo::hasHLTJetLeg ( ) const
inline

Definition at line 55 of file TrigTauInfo.h.

55 { return m_HLTJetThr.size() >= 1; }

◆ hasHLTMETLeg()

bool TrigTauInfo::hasHLTMETLeg ( ) const
inline

Definition at line 56 of file TrigTauInfo.h.

56 { return m_HLTMETThr.size() >= 1; }

◆ hasHLTMuonLeg()

bool TrigTauInfo::hasHLTMuonLeg ( ) const
inline

Definition at line 53 of file TrigTauInfo.h.

53 { return m_HLTMuonThr.size() >= 1; }

◆ is_number()

bool TrigTauInfo::is_number ( const std::string &  s)
inlineprivate

Definition at line 89 of file TrigTauInfo.h.

89  {
90  return !s.empty() && std::find_if(s.begin(), s.end(), [](unsigned char c) {return !std::isdigit(c);}) == s.end();
91  }

◆ isHLTDiTau()

bool TrigTauInfo::isHLTDiTau ( ) const
inline

Definition at line 47 of file TrigTauInfo.h.

47 { return m_HLTThr.size() > 1 && (m_HLTElecThr.size() + m_HLTMuonThr.size() + m_HLTGammaThr.size() + m_HLTJetThr.size() + m_HLTMETThr.size()) == 0; }

◆ isHLTSingleTau()

bool TrigTauInfo::isHLTSingleTau ( ) const
inline

Definition at line 46 of file TrigTauInfo.h.

46 { return m_HLTThr.size() == 1 && (m_HLTElecThr.size() + m_HLTMuonThr.size() + m_HLTGammaThr.size() + m_HLTJetThr.size() + m_HLTMETThr.size()) == 0; }

◆ isHLTTandP()

bool TrigTauInfo::isHLTTandP ( ) const
inline

Definition at line 48 of file TrigTauInfo.h.

48 { return m_HLTThr.size() == 1 && (m_HLTElecThr.size() + m_HLTMuonThr.size()) == 1 && (m_HLTGammaThr.size() + m_HLTJetThr.size() + m_HLTMETThr.size()) == 0; }

◆ isL1TauIsolated()

bool TrigTauInfo::isL1TauIsolated ( const size_t  idx = 0) const
inline

Definition at line 41 of file TrigTauInfo.h.

41 { return idx < m_tauL1Iso.size() ? m_tauL1Iso[idx].size() : false; } // Returns true if the (main by default) L1 item is isolated

◆ isL1TauOnly()

bool TrigTauInfo::isL1TauOnly ( ) const
inline

Definition at line 49 of file TrigTauInfo.h.

49 { return (m_HLTThr.size() + m_HLTElecThr.size() + m_HLTMuonThr.size() + m_HLTGammaThr.size() + m_HLTJetThr.size() + m_HLTMETThr.size()) == 0 && !m_tauL1Items.empty(); }

◆ isStreamer()

bool TrigTauInfo::isStreamer ( ) const
inline

Definition at line 24 of file TrigTauInfo.h.

24 { return m_isStreamer; }

◆ isTauStreamer()

bool TrigTauInfo::isTauStreamer ( ) const
inline

Definition at line 50 of file TrigTauInfo.h.

50 { return m_isStreamer && !m_tauL1Items.empty(); }

◆ parseTriggerString() [1/4]

void TrigTauInfo::parseTriggerString ( bool  remove_L1_phase1_thresholds = true)
private

Definition at line 31 of file TrigTauInfo.cxx.

32 {
33  std::string clean_trigger = m_trigger;
34 
35  // Change the "L1_" prefix to "L1" internally, in case the trigger being parsed is a pure L1 trigger with the usual L1 standalone naming scheme
36  if(clean_trigger.size() > 3 && clean_trigger.rfind("L1_", 0) == 0) {
37  clean_trigger = "L1" + clean_trigger.substr(3);
38  }
39 
40  std::vector<std::string> sections;
41  boost::split(sections, m_trigger, boost::is_any_of("_"));
42 
43  std::regex tau_rgx("^(\\d*)tau(\\d+)$");
44  std::regex elec_rgx("^(\\d*)e(\\d+)$");
45  std::regex muon_rgx("^(\\d*)mu(\\d+)$");
46  std::regex gamma_rgx("^(\\d*)g(\\d+)$");
47  std::regex jet_rgx("^(\\d*)j(\\d+)$");
48  std::regex met_rgx("^xe(\\d+)$");
49  std::regex noalg_rgx("^noalg$");
50  std::regex l1_rgx("^L1.*$");
51  std::regex l1_tau_rgx("(\\d*)(e|j|c|)TAU(\\d+)(L|M|T|HL|HM|HT|H|IM|I|)");
52  std::regex l1_toposeparate_rgx("^(\\d{0,2})(DETA|DPHI)(\\d{0,2})$");
53  std::regex topo_rgx("^.*(invm|dR|deta|dphi)AB.*$");
54  std::vector<std::regex*> all_regexes = {&tau_rgx, &elec_rgx, &muon_rgx, &gamma_rgx, &jet_rgx, &met_rgx, &l1_rgx};
55 
56  std::regex tau_type_rgx("^(ptonly|tracktwoMVA|tracktwoMVABDT|tracktwoLLP|trackLRT)$");
57 
58  std::smatch match;
59  std::regex_token_iterator<std::string::iterator> rend;
60 
61  // Check each leg
62  std::vector<std::string> leg;
63  for(size_t i = 0; i < sections.size(); i++) {
64  leg.push_back(sections[i]); // Attach to the current leg
65 
66  //Match the beginning of a new leg, or the end of the chain
67  if(i == sections.size() - 1 || (std::any_of(all_regexes.begin(), all_regexes.end(), [&sections, i](const std::regex* rgx) { return std::regex_match(sections[i+1], *rgx); }))) {
68  // Process the previous leg, which starts with the item, multiplicity, and threshold
69  if(std::regex_match(leg[0], match, tau_rgx)) {
70  size_t multiplicity = match[1].str() == "" ? 1 : std::stoi(match[1].str());
71  unsigned int threshold = std::stoi(match[2].str());
72  auto itr = find_if(leg.begin(), leg.end(), [tau_type_rgx](const std::string& s) { return std::regex_match(s, tau_type_rgx); });
73  std::string type = itr != leg.end() ? *itr : "";
74 
75  for(size_t j = 0; j < multiplicity; j++) {
76  m_HLTThr.push_back(threshold);
77  m_HLTTauTypes.push_back(type);
78  }
79  } else if(std::regex_match(leg[0], match, elec_rgx)) {
80  size_t multiplicity = match[1].str() == "" ? 1 : std::stoi(match[1].str());
81  unsigned int threshold = std::stoi(match[2].str());
82  for(size_t j = 0; j < multiplicity; j++) m_HLTElecThr.push_back(threshold);
83  } else if(std::regex_match(leg[0], match, muon_rgx)) {
84  size_t multiplicity = match[1].str() == "" ? 1 : std::stoi(match[1].str());
85  unsigned int threshold = std::stoi(match[2].str());
86  for(size_t j = 0; j < multiplicity; j++) m_HLTMuonThr.push_back(threshold);
87  } else if(std::regex_match(leg[0], match, gamma_rgx)) {
88  size_t multiplicity = match[1].str() == "" ? 1 : std::stoi(match[1].str());
89  unsigned int threshold = std::stoi(match[2].str());
90  for(size_t j = 0; j < multiplicity; j++) m_HLTGammaThr.push_back(threshold);
91  } else if(std::regex_match(leg[0], match, jet_rgx)) {
92  size_t multiplicity = match[1].str() == "" ? 1 : std::stoi(match[1].str());
93  unsigned int threshold = std::stoi(match[2].str());
94  for(size_t j = 0; j < multiplicity; j++) m_HLTJetThr.push_back(threshold);
95  } else if(std::regex_match(leg[0], match, met_rgx)) {
96  unsigned int threshold = std::stoi(match[2].str());
97  m_HLTMETThr.push_back(threshold);
98  } else if(std::regex_match(leg[0], match, noalg_rgx)) {
99  m_isStreamer = true;
100  } else if(std::regex_match(leg[0], l1_rgx)) { // Treat the L1 items as a leg
101  for(size_t j = 0; j < leg.size(); j++) {
102  if(std::regex_match(leg[j], topo_rgx)) continue; // Remove HLT topo sections, not part of the L1 item
103 
104  // L1Topo items (they all include a "-" in the name, or have a separate "##DETA/PHI##_" prefix):
105  if(leg[j].find('-') != std::string::npos || std::regex_match(leg[j], l1_toposeparate_rgx)) {
106  // We only keep information from the legacy L1Topo item, from which we will not always use all thresholds
107  // Since we won't be adding any more Legacy thresholds, let's hard-code it...
108  if(leg[0] == "L1TAU60" && leg[j] == "DR-TAU12ITAU12I") leg[j] = "TAU12IM"; // L1_TAU60_DR-TAU20ITAU12I, uses "TAU12IM" threshold from the L1Topo item
109  else if(leg.size() == 1 && (leg[0] == "L1DR-TAU20ITAU12I" || leg[0] == "L1DR-TAU20ITAU12I-J25")) {
110  // Uses both TAU items, in the M isolation threshold
111  leg[0] = "L1TAU20IM";
112  leg.push_back("TAU12IM");
113  // Even on combined chains using jets, we don't use the jets threshold
114  }
115  else continue; // Remove the Phase 1 L1Topo items, since we always use a multiplicity threshold
116  }
117 
118  m_L1Items.push_back(j == 0 ? leg[j].substr(2, leg[j].size()) : leg[j]); // Remove the "L1" prefix on the first L1 item
119  }
120  }
121 
122  // Start a new leg
123  leg = {};
124  }
125  }
126 
127  if(!m_L1Items.empty()) {
128  // Build the full L1 string
129  m_L1Item = m_L1Items[0];
130  for(size_t j = 1; j < m_L1Items.size(); j++) m_L1Item += "_" + m_L1Items[j];
131 
132  // Get all individual L1 TAU items
133  std::regex_token_iterator<std::string::iterator> rgx_iter(m_L1Item.begin(), m_L1Item.end(), l1_tau_rgx);
134  while(rgx_iter != rend) {
135  std::string s = *rgx_iter;
136  std::regex_match(s, match, l1_tau_rgx);
137  size_t multiplicity = match[1].str() == "" ? 1 : std::stoi(match[1].str());
138  std::string item_type = match[2].str(); // e, j, c, or ""
139  int threshold = std::stoi(match[3].str());
140  std::string item_isolation = match[4].str(); // "", L, M, T, HL, HM, HT, IM, H
141 
142  // Set the Phase 1 thresholds to -1
143  if(remove_L1_phase1_thresholds && (item_type == "e" || item_type == "j" || item_type == "c")) threshold = -1;
144 
145  for(size_t j = 0; j < multiplicity; j++) {
146  m_tauL1Items.push_back(s.substr(match[1].str().size()));
147  m_tauL1Thr.push_back(threshold);
148  m_tauL1Type.push_back(item_type + "TAU");
149  m_tauL1Iso.push_back(item_isolation);
150  m_tauL1ThresholdPattern.push_back(-1);
151  }
152  rgx_iter++;
153  }
154 
155  m_L1Item = "L1" + m_L1Items[0];
156  }
157 }

◆ parseTriggerString() [2/4]

void TrigTauInfo::parseTriggerString ( const std::map< int, int > &  L1Phase1ThrMap_eTAU,
const std::map< int, int > &  L1Phase1ThrMap_jTAU 
)
private

Definition at line 186 of file TrigTauInfo.cxx.

187 {
188  parseTriggerString(false);
189 
190  // Correct the Phase 1 thresholds:
191  for(size_t i = 0; i < m_tauL1Items.size(); i++) {
192  const std::string& item_type = m_tauL1Type.at(i);
193  if(item_type == "eTAU" || item_type == "cTAU") {
194  m_tauL1Thr[i] = L1Phase1ThrMap_eTAU.at(m_tauL1Thr.at(i));
195  } else if(item_type == "jTAU") {
196  m_tauL1Thr[i] = L1Phase1ThrMap_jTAU.at(m_tauL1Thr.at(i));
197  }
198  }
199 }

◆ parseTriggerString() [3/4]

void TrigTauInfo::parseTriggerString ( const std::map< std::string, float > &  L1Phase1_thresholds)
private

Definition at line 159 of file TrigTauInfo.cxx.

160 {
162 
163  for(size_t i = 0; i < m_tauL1Items.size(); i++) {
164  if(m_tauL1Type.at(i) == "TAU") continue; // Skip the legacy items
165 
166  const std::string& item = m_tauL1Items.at(i);
167 
168  m_tauL1Thr[i] = L1Phase1_thresholds.at(item);
169  }
170 }

◆ parseTriggerString() [4/4]

void TrigTauInfo::parseTriggerString ( const std::map< std::string, float > &  L1Phase1_thresholds,
const std::map< std::string, uint64_t > &  L1Phase1_threshold_patterns 
)
private

Definition at line 172 of file TrigTauInfo.cxx.

173 {
175 
176  for(size_t i = 0; i < m_tauL1Items.size(); i++) {
177  if(m_tauL1Type.at(i) == "TAU") continue; // Skip the legacy items
178 
179  const std::string& item = m_tauL1Items.at(i);
180 
181  m_tauL1Thr[i] = L1Phase1_thresholds.at(item);
182  m_tauL1ThresholdPattern[i] = L1Phase1_threshold_patterns.at(item);
183  }
184 }

Member Data Documentation

◆ m_HLTElecThr

std::vector<float> TrigTauInfo::m_HLTElecThr
private

Definition at line 83 of file TrigTauInfo.h.

◆ m_HLTGammaThr

std::vector<float> TrigTauInfo::m_HLTGammaThr
private

Definition at line 85 of file TrigTauInfo.h.

◆ m_HLTJetThr

std::vector<float> TrigTauInfo::m_HLTJetThr
private

Definition at line 86 of file TrigTauInfo.h.

◆ m_HLTMETThr

std::vector<float> TrigTauInfo::m_HLTMETThr
private

Definition at line 87 of file TrigTauInfo.h.

◆ m_HLTMuonThr

std::vector<float> TrigTauInfo::m_HLTMuonThr
private

Definition at line 84 of file TrigTauInfo.h.

◆ m_HLTTauTypes

std::vector<std::string> TrigTauInfo::m_HLTTauTypes
private

Definition at line 73 of file TrigTauInfo.h.

◆ m_HLTThr

std::vector<float> TrigTauInfo::m_HLTThr
private

Definition at line 72 of file TrigTauInfo.h.

◆ m_isStreamer

bool TrigTauInfo::m_isStreamer = false
private

Definition at line 71 of file TrigTauInfo.h.

◆ m_L1Item

std::string TrigTauInfo::m_L1Item
private

Definition at line 75 of file TrigTauInfo.h.

◆ m_L1Items

std::vector<std::string> TrigTauInfo::m_L1Items
private

Definition at line 76 of file TrigTauInfo.h.

◆ m_tauL1Iso

std::vector<std::string> TrigTauInfo::m_tauL1Iso
private

Definition at line 80 of file TrigTauInfo.h.

◆ m_tauL1Items

std::vector<std::string> TrigTauInfo::m_tauL1Items
private

Definition at line 78 of file TrigTauInfo.h.

◆ m_tauL1Thr

std::vector<float> TrigTauInfo::m_tauL1Thr
private

Definition at line 77 of file TrigTauInfo.h.

◆ m_tauL1ThresholdPattern

std::vector<int64_t> TrigTauInfo::m_tauL1ThresholdPattern
private

Definition at line 81 of file TrigTauInfo.h.

◆ m_tauL1Type

std::vector<std::string> TrigTauInfo::m_tauL1Type
private

Definition at line 79 of file TrigTauInfo.h.

◆ m_trigger

std::string TrigTauInfo::m_trigger
private

Definition at line 70 of file TrigTauInfo.h.


The documentation for this class was generated from the following files:
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
find
std::string find(const std::string &s)
return a remapped string
Definition: hcg.cxx:135
TrigTauInfo::m_HLTElecThr
std::vector< float > m_HLTElecThr
Definition: TrigTauInfo.h:83
TrigTauInfo::m_L1Item
std::string m_L1Item
Definition: TrigTauInfo.h:75
TrigTauInfo::m_HLTMETThr
std::vector< float > m_HLTMETThr
Definition: TrigTauInfo.h:87
TrigTauInfo::m_isStreamer
bool m_isStreamer
Definition: TrigTauInfo.h:71
TrigTauInfo::m_L1Items
std::vector< std::string > m_L1Items
Definition: TrigTauInfo.h:76
TrigTauInfo::m_HLTMuonThr
std::vector< float > m_HLTMuonThr
Definition: TrigTauInfo.h:84
PrepareReferenceFile.regex
regex
Definition: PrepareReferenceFile.py:43
python.setupRTTAlg.size
int size
Definition: setupRTTAlg.py:39
lumiFormat.i
int i
Definition: lumiFormat.py:92
TrigTauInfo::m_tauL1ThresholdPattern
std::vector< int64_t > m_tauL1ThresholdPattern
Definition: TrigTauInfo.h:81
TrigTauInfo::m_trigger
std::string m_trigger
Definition: TrigTauInfo.h:70
compute_lumi.leg
leg
Definition: compute_lumi.py:95
TrigTauInfo::m_HLTJetThr
std::vector< float > m_HLTJetThr
Definition: TrigTauInfo.h:86
TrigTauInfo::m_tauL1Items
std::vector< std::string > m_tauL1Items
Definition: TrigTauInfo.h:78
TrigTauInfo::m_HLTTauTypes
std::vector< std::string > m_HLTTauTypes
Definition: TrigTauInfo.h:73
threshold
Definition: chainparser.cxx:74
item
Definition: ItemListSvc.h:43
python.CaloScaleNoiseConfig.str
str
Definition: CaloScaleNoiseConfig.py:78
TrigTauInfo::m_HLTGammaThr
std::vector< float > m_HLTGammaThr
Definition: TrigTauInfo.h:85
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
TrigTauInfo::m_tauL1Type
std::vector< std::string > m_tauL1Type
Definition: TrigTauInfo.h:79
LArNewCalib_DelayDump_OFC_Cali.idx
idx
Definition: LArNewCalib_DelayDump_OFC_Cali.py:69
TrigTauInfo::m_tauL1Iso
std::vector< std::string > m_tauL1Iso
Definition: TrigTauInfo.h:80
python.prefilter_mask.rgx
rgx
Definition: prefilter_mask.py:14
TrigTauInfo::m_tauL1Thr
std::vector< float > m_tauL1Thr
Definition: TrigTauInfo.h:77
python.compressB64.c
def c
Definition: compressB64.py:93
TrigTauInfo::parseTriggerString
void parseTriggerString(bool remove_L1_phase1_thresholds=true)
Definition: TrigTauInfo.cxx:31
TrigTauInfo::m_HLTThr
std::vector< float > m_HLTThr
Definition: TrigTauInfo.h:72
Trk::split
@ split
Definition: LayerMaterialProperties.h:38
match
bool match(std::string s1, std::string s2)
match the individual directories of two strings
Definition: hcg.cxx:356
PhysDESDM_Quirks.trigger
trigger
Definition: PhysDESDM_Quirks.py:27