ATLAS Offline Software
Loading...
Searching...
No Matches
TrigJetEJsHypoTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4
5#ifndef TRIGJETEJSHYPOTOOL_H
6#define TRIGJETEJSHYPOTOOL_H
7/********************************************************************
8 *
9 * NAME: TrigJetEJsHypoTool.h
10 * PACKAGE: Trigger/TrigHypothesis/TrigHLTJetHypo
11 *
12 * * @class TrigJetEJsHypoTool
13 * * @brief HypoTool for
14 * * @details HypoTool needed to decide on exotic jet selections
15 * * @author Aaron Kilgallon
16 * * @author Antonio Boveia
17 * * @author Caterina Doglioni
18 * * @author Teng Jian Khoo
19 * * @author Tim Martin
20 * * @author Rafal Bielski
21 *
22 *
23 ********************************************************************/
24
29
31
37
38
40
41 public:
42
43 TrigJetEJsHypoTool(const std::string& type,
44 const std::string& name,
45 const IInterface* parent);
46
48 StatusCode initialize();
49 StatusCode finalize();
50
51 // typedef for passing jet - decision object assocation
52 using JetDecision = std::pair<const xAOD::Jet*,TrigCompositeUtils::Decision*>;
53
61
62 StatusCode decide( std::vector<JetInfo>& decisions ) const;
63
64 const HLT::Identifier& getId() const;
65
66 private:
67
68 // Identifier is used to keep track of which tool made which decision.
69 // The information is stored in the event store.
71
72 ToolHandle<ITrigJetHypoToolHelper> m_helper {
73 this, "helper_tool", {}, "Jet hypo helper AlgTool"};
74
75 Gaudi::Property<bool>
76 m_visitDebug {this, "visit_debug", false, "debug flag"};
77
78 Gaudi::Property<std::string> m_chainName {
79 this, "chain_name", {}, "chain name"};
80
81 Gaudi::Property< double > m_ptf {this, "PTF", 1.0, ""};
82 Gaudi::Property< double > m_dr {this, "dR", 1.0, ""};
83 Gaudi::Property< int > m_trackless {this, "Trackless", 1.0, ""};
84
85 // Track eta cuts for exotics and trackless hypos
88 // Track pT cuts for exotics hypos
89 double m_trackPtCut_Exotics = 1.0*Gaudi::Units::GeV;
90 double m_trackPtCut_Trackless = 2.0*Gaudi::Units::GeV;
91 // Jet pT cut for promptTrackFrac definition (studies only
92 // done down to a 50 GeV cut)
93 double m_jetPtCut_Exotics = 50.0*Gaudi::Units::GeV;
94 double m_jetPtCut_Trackless = 50.0*Gaudi::Units::GeV;
95 // Eta cut for exotics jet selections (may need to be reduced
96 // to 1.4 for large-R jets to have complete overlapy with
97 // the tracker)
98 double m_jetEtaCut_Exotics = 2.0;
100 // Track d0 cuts based on a multiple of background distribution
101 // 2.5 was found to be best signal sensitivity for R-Hadrons
102 double m_PTFSigmaCut = 2.5;
103 // Cut on number of tracks associated to jet in the soft-bomb
104 // trigger case (likely to be changed based on physics studies)
106 // |z0 - PV_z| cut on tracks
107 double m_PV_z = 10.0;
108
109};
110#endif
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Gaudi::Property< double > m_dr
HLT::Identifier m_decisionId
std::pair< const xAOD::Jet *, TrigCompositeUtils::Decision * > JetDecision
const HLT::Identifier & getId() const
Gaudi::Property< double > m_ptf
Gaudi::Property< std::string > m_chainName
Gaudi::Property< int > m_trackless
StatusCode decide(std::vector< JetInfo > &decisions) const
TrigJetEJsHypoTool(const std::string &type, const std::string &name, const IInterface *parent)
ToolHandle< ITrigJetHypoToolHelper > m_helper
Gaudi::Property< bool > m_visitDebug
Class describing a jet.
Definition Jet_v1.h:57
Class describing a Vertex.
Definition Vertex_v1.h:42
std::set< DecisionID > DecisionIDContainer
TrackParticleContainer_v1 TrackParticleContainer
Definition of the current "TrackParticle container version".
const xAOD::Vertex_v1 * PV
const xAOD::TrackParticleContainer * AllTracks
const TrigCompositeUtils::DecisionIDContainer previousDecisionsIDs
TrigCompositeUtils::Decision * decision