ATLAS Offline Software
Loading...
Searching...
No Matches
TrigDiTauHypoTool Class Reference

#include <TrigDiTauHypoTool.h>

Inheritance diagram for TrigDiTauHypoTool:
Collaboration diagram for TrigDiTauHypoTool:

Public Member Functions

 TrigDiTauHypoTool (const std::string &type, const std::string &name, const IInterface *parent)
virtual ~TrigDiTauHypoTool ()
virtual StatusCode initialize () override
virtual StatusCode decide (std::vector< ITrigDiTauHypoTool::ToolInfo > &input) const override
virtual bool decide (const ITrigDiTauHypoTool::ToolInfo &i) const override

Public Attributes

 log = logging.getLogger('TrigHLTDiTauHypoTool')

Private Attributes

HLT::Identifier m_decisionId
Gaudi::Property< float > m_ditau_pt_threshold {this, "ditau_pt_threshold", 200, "ditau pT threshold [GeV]" }
Gaudi::Property< float > m_ditau_omni_score {this, "ditau_id_score", 0.0, "ditau omni id score" }
Gaudi::Property< int > m_ditau_lead_max_trk {this, "ditau_lead_max_trk", 3, "ditau lead track multiplicity" }
Gaudi::Property< int > m_ditau_subl_max_trk {this, "ditau_subl_max_trk", 3, "ditau sublead track multiplicity" }

Detailed Description

Definition at line 15 of file TrigDiTauHypoTool.h.

Constructor & Destructor Documentation

◆ TrigDiTauHypoTool()

TrigDiTauHypoTool::TrigDiTauHypoTool ( const std::string & type,
const std::string & name,
const IInterface * parent )

Definition at line 15 of file TrigDiTauHypoTool.cxx.

16 : base_class(type, name, parent),
17 m_decisionId(HLT::Identifier::fromToolName(name))
18{}
static HLT::Identifier fromToolName(const std::string &tname)

◆ ~TrigDiTauHypoTool()

TrigDiTauHypoTool::~TrigDiTauHypoTool ( )
virtual

Definition at line 21 of file TrigDiTauHypoTool.cxx.

22{}

Member Function Documentation

◆ decide() [1/2]

bool TrigDiTauHypoTool::decide ( const ITrigDiTauHypoTool::ToolInfo & i) const
overridevirtual

Definition at line 38 of file TrigDiTauHypoTool.cxx.

39{
40 static const SG::ConstAccessor< int > n_tracks_leadAcc("n_tracks_lead");
41 static const SG::ConstAccessor< int > n_tracks_sublAcc("n_tracks_subl");
42 static const SG::ConstAccessor< float > ditau_ptAcc ("ditau_pt");
43 static const SG::ConstAccessor< float > omni_scoreAcc ("omni_score");
44 ATH_MSG_DEBUG(name() << ": in execute()");
45 // Tau pass flag
46 bool pass = false;
47 for(const xAOD::DiTauJet* diTau : *(input.diTauContainer)) {
48 if(ditau_ptAcc(*diTau) < m_ditau_pt_threshold.value()) continue;
49 if(omni_scoreAcc(*diTau) < m_ditau_omni_score.value()) continue;
50 if(n_tracks_leadAcc(*diTau) > m_ditau_lead_max_trk.value() || n_tracks_leadAcc(*diTau) < 0) continue;
51 if(n_tracks_sublAcc(*diTau) > m_ditau_subl_max_trk.value() || n_tracks_sublAcc(*diTau) < 0) continue;
52 pass = true;
53 }
54 ATH_MSG_DEBUG(" Pass hypo tool: " << pass);
55 return pass;
56}
#define ATH_MSG_DEBUG(x)
Helper class to provide constant type-safe access to aux data.
DiTauJet_v1 DiTauJet
Definition of the current version.
Definition DiTauJet.h:17

◆ decide() [2/2]

StatusCode TrigDiTauHypoTool::decide ( std::vector< ITrigDiTauHypoTool::ToolInfo > & input) const
overridevirtual

Definition at line 59 of file TrigDiTauHypoTool.cxx.

59 {
60 for(auto& i : input) {
61 if(passed(m_decisionId.numeric(), i.previousDecisionIDs)) {
62 if(decide(i)) {
63 addDecisionID(m_decisionId, i.decision);
64 }
65 }
66 }
67
68 return StatusCode::SUCCESS;
69}
TrigCompositeUtils::DecisionID numeric() const
numeric ID
bool passed(DecisionID id, const DecisionIDContainer &idSet)
checks if required decision ID is in the set of IDs in the container
void addDecisionID(DecisionID id, Decision *d)
Appends the decision (given as ID) to the decision object.

◆ initialize()

StatusCode TrigDiTauHypoTool::initialize ( )
overridevirtual

Definition at line 25 of file TrigDiTauHypoTool.cxx.

26{
27 ATH_MSG_DEBUG(name() << ": in initialize()");
28
29 ATH_MSG_DEBUG("TrigDiTauHypoTool will cut on:");
30 ATH_MSG_DEBUG(" - PtMin : " << m_ditau_pt_threshold.value());
31 ATH_MSG_DEBUG(" - ID Score : " << m_ditau_omni_score.value());
32 ATH_MSG_DEBUG(" - Max Lead Trk: " << m_ditau_lead_max_trk.value());
33 ATH_MSG_DEBUG(" - Max Subl Trk: " << m_ditau_subl_max_trk.value());
34 return StatusCode::SUCCESS;
35}

Member Data Documentation

◆ log

TrigDiTauHypoTool.log = logging.getLogger('TrigHLTDiTauHypoTool')

Definition at line 6 of file TrigDiTauHypoTool.py.

◆ m_decisionId

HLT::Identifier TrigDiTauHypoTool::m_decisionId
private

Definition at line 23 of file TrigDiTauHypoTool.h.

◆ m_ditau_lead_max_trk

Gaudi::Property<int> TrigDiTauHypoTool::m_ditau_lead_max_trk {this, "ditau_lead_max_trk", 3, "ditau lead track multiplicity" }
private

Definition at line 26 of file TrigDiTauHypoTool.h.

26{this, "ditau_lead_max_trk", 3, "ditau lead track multiplicity" };

◆ m_ditau_omni_score

Gaudi::Property<float> TrigDiTauHypoTool::m_ditau_omni_score {this, "ditau_id_score", 0.0, "ditau omni id score" }
private

Definition at line 25 of file TrigDiTauHypoTool.h.

25{this, "ditau_id_score", 0.0, "ditau omni id score" };

◆ m_ditau_pt_threshold

Gaudi::Property<float> TrigDiTauHypoTool::m_ditau_pt_threshold {this, "ditau_pt_threshold", 200, "ditau pT threshold [GeV]" }
private

Definition at line 24 of file TrigDiTauHypoTool.h.

24{this, "ditau_pt_threshold", 200, "ditau pT threshold [GeV]" };

◆ m_ditau_subl_max_trk

Gaudi::Property<int> TrigDiTauHypoTool::m_ditau_subl_max_trk {this, "ditau_subl_max_trk", 3, "ditau sublead track multiplicity" }
private

Definition at line 27 of file TrigDiTauHypoTool.h.

27{this, "ditau_subl_max_trk", 3, "ditau sublead track multiplicity" };

The documentation for this class was generated from the following files: