ATLAS Offline Software
Loading...
Searching...
No Matches
TrkMHTFex.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4
5/******************************************************************************
6 * @package Trigger/TrigAlgorithms/TrigEFMissingET
7 * @class TrkMHTFex
8 *
9 * @brief Fex class for trkmht algorithm
10 * @author Jon Burr, Ren-Jie Wang
11 *****************************************************************************/
12
13#ifndef TRIGEFMISSINGET_TRKMHTFEX_H
14#define TRIGEFMISSINGET_TRKMHTFEX_H 1
15
16#include "FexBase.h"
23#include <utility>
24
25namespace HLT { namespace MET {
26 /****************************************************************************
27 * @class TrkMHTFex
28 *
29 * Class to create output from the trkmht algorithm.
30 *
31 * trkmht calculates the MET using jets with JVT suppression applied. There is
32 * an additional track soft term which adds in any tracks associated to the
33 * hard scatter vertex which are not associated to jets passing the JVT
34 * selection.
35 ***************************************************************************/
36 class TrkMHTFex : public FexBase
37 {
38 // Alias optional to make it clear how we're using it
39 template <typename T>
40 using deferred_t = std::optional<T>;
41 public:
43 TrkMHTFex(const std::string& name, ISvcLocator* pSvcLocator);
44
46 virtual StatusCode initialize() override;
47
48 private:
49 /************************************************************************
50 * Properties
51 ***********************************************************************/
54 this, "JetName", "jets", "Input jet collection"};
55
57 this, "TrackName", "tracks",
58 "Input track collection. Should be ghost-associated to the jets"};
59
61 this, "VertexName", "vertices", "Input vertex collection"};
62
64 this, "TVAName", "trackVtxAssoc",
65 "The name of the track-vertex association"};
66
68 this, "JvtName", "Jvt", "The name of the JVT decorator"};
69
70 Gaudi::Property<std::string> m_trackGAName{
71 this, "TrackLinkName", "tracks", "The name of the jet track links"};
72
73 Gaudi::Property<float> m_forwardJetPt{
74 this, "ForwardJetPt", 0., "The pT cut applied to forward jets"};
75
76 Gaudi::Property<float> m_minJvtJetPt{
77 this, "MinimumJvtJetPt", 20. * Gaudi::Units::GeV,
78 "The minimum pT for central jets for JVT selections to be used"};
79
80 Gaudi::Property<float> m_maxJvtJetPt{
81 this, "MaximumJvtJetPt", 50. * Gaudi::Units::GeV,
82 "The maximum pT for central jets for JVT selections to be used"};
83
84 Gaudi::Property<float> m_jvtSelection{
85 this, "JVTCut", 0.9, "The JVT selection"};
86
87 ToolHandle<InDet::IInDetTrackSelectionTool> m_trackSelTool{
88 this, "TrackSelTool", "InDet::InDetTrackSelectionTool/TrackSelTool",
89 "The track selection tool to use for tracks entering the track soft "
90 "term."};
91
92 Gaudi::Property<float> m_tstPtCeil{
93 this, "TrackSoftTermPtCeiling", 20. * Gaudi::Units::GeV,
94 "The maximum pT for tracks entering the track soft term."};
95
96 /************************************************************************
97 * Internal functions
98 ***********************************************************************/
105 virtual StatusCode fillMET(
107 const EventContext& context,
108 MonGroupBuilder& monitors) const override;
109
110 /************************************************************************
111 * Internal members
112 ***********************************************************************/
114 }; //> end class TrkMHTFex
115} } //> end namespace HLT::MET
116
117#endif //> !TRIGEFMISSINGET_TRKMHTFEX_H
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
FexBase(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Definition FexBase.cxx:43
ToolHandle< InDet::IInDetTrackSelectionTool > m_trackSelTool
The track selection tool.
Definition TrkMHTFex.h:87
TrkMHTFex(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Definition TrkMHTFex.cxx:29
virtual StatusCode fillMET(xAOD::TrigMissingET &met, const EventContext &context, MonGroupBuilder &monitors) const override
Calculate and fill the output MET value.
Definition TrkMHTFex.cxx:56
Gaudi::Property< float > m_tstPtCeil
The maximum pT for tracks in the soft term.
Definition TrkMHTFex.h:92
SG::ReadDecorHandleKey< xAOD::JetContainer > m_jvtKey
The Jvt selection name.
Definition TrkMHTFex.h:67
SG::ReadHandleKey< jet::TrackVertexAssociation > m_tvaKey
The track-vertex assocation name.
Definition TrkMHTFex.h:63
SG::ReadHandleKey< xAOD::JetContainer > m_jetKey
Input jets and jvt.
Definition TrkMHTFex.h:53
deferred_t< SG::AuxElement::ConstAccessor< std::vector< ElementLink< xAOD::IParticleContainer > > > > m_trackGA
Definition TrkMHTFex.h:113
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_trackKey
Input tracks.
Definition TrkMHTFex.h:56
std::optional< T > deferred_t
Definition TrkMHTFex.h:40
SG::ReadHandleKey< xAOD::VertexContainer > m_vertexKey
Input vertices.
Definition TrkMHTFex.h:60
virtual StatusCode initialize() override
Initialise the fex.
Definition TrkMHTFex.cxx:33
Gaudi::Property< std::string > m_trackGAName
The ghost-association aux element name.
Definition TrkMHTFex.h:70
Gaudi::Property< float > m_minJvtJetPt
Minimum pt selection for JVT on central jets.
Definition TrkMHTFex.h:76
Gaudi::Property< float > m_forwardJetPt
Pt selection on forward jets.
Definition TrkMHTFex.h:73
Gaudi::Property< float > m_maxJvtJetPt
Maximum pt selection for JVT on central jets.
Definition TrkMHTFex.h:80
Gaudi::Property< float > m_jvtSelection
The JVT selection.
Definition TrkMHTFex.h:84
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Property holding a SG store/key/clid from which a ReadHandle is made.
It used to be useful piece of code for replacing actual SG with other store of similar functionality ...
TrigMissingET_v1 TrigMissingET
Define the most recent version of the TrigMissingET class.