ATLAS Offline Software
Public Types | Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
TrigL1FexJetMonitorTool< T > Class Template Reference

#include <TrigL1FexJetMonitorTool.h>

Inheritance diagram for TrigL1FexJetMonitorTool< T >:
Collaboration diagram for TrigL1FexJetMonitorTool< T >:

Public Types

typedef T::JetContainer JetContainer
 

Public Member Functions

 TrigL1FexJetMonitorTool (const std::string &, const std::string &, const IInterface *)
 
virtual StatusCode queryInterface (const InterfaceID &riid, void **ppvIf) override
 
virtual StatusCode initialize () override
 
virtual StatusCode getData (const EventContext &ctx, std::vector< JetData > &jetData) const override
 
virtual StatusCode getMatchData (const EventContext &ctx, MatchToEnum, std::vector< JetMatchData > &jetData) const override
 
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & evtStore () const
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. More...
 
virtual StatusCode sysInitialize () override
 Perform system initialization for an algorithm. More...
 
virtual StatusCode sysStart () override
 Handle START transition. More...
 
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles. More...
 
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles. More...
 
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T > &t)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc="none")
 Declare a new Gaudi property. More...
 
void updateVHKA (Gaudi::Details::PropertyBase &)
 
MsgStream & msg () const
 
MsgStream & msg (const MSG::Level lvl) const
 
bool msgLvl (const MSG::Level lvl) const
 
 DeclareInterfaceID (ITrigJetMonitorTool, 1, 0)
 

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution More...
 
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
 
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed. More...
 

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &)
 specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &)
 specialization for handling Gaudi::Property<SG::VarHandleBase> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &)
 specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
 

Private Attributes

SG::ReadHandleKey< JetContainerm_l1jetContainerkey
 
Gaudi::Property< bool > m_doMatching
 
Gaudi::Property< std::string > m_offlineJetContainerToMatch
 
Gaudi::Property< std::string > m_HLTJetContainerToMatch
 
SG::ReadDecorHandleKey< JetContainerm_offmatchedKey
 
SG::ReadDecorHandleKey< JetContainerm_offptdiffKey
 
SG::ReadDecorHandleKey< JetContainerm_offenergydiffKey
 
SG::ReadDecorHandleKey< JetContainerm_offmassdiffKey
 
SG::ReadDecorHandleKey< JetContainerm_offptrespKey
 
SG::ReadDecorHandleKey< JetContainerm_offenergyrespKey
 
SG::ReadDecorHandleKey< JetContainerm_offmassrespKey
 
SG::ReadDecorHandleKey< JetContainerm_offptrefKey
 
SG::ReadDecorHandleKey< JetContainerm_offetarefKey
 
SG::ReadDecorHandleKey< JetContainerm_hltmatchedKey
 
SG::ReadDecorHandleKey< JetContainerm_hltptdiffKey
 
SG::ReadDecorHandleKey< JetContainerm_hltenergydiffKey
 
SG::ReadDecorHandleKey< JetContainerm_hltmassdiffKey
 
SG::ReadDecorHandleKey< JetContainerm_hltptrespKey
 
SG::ReadDecorHandleKey< JetContainerm_hltenergyrespKey
 
SG::ReadDecorHandleKey< JetContainerm_hltmassrespKey
 
SG::ReadDecorHandleKey< JetContainerm_hltptrefKey
 
SG::ReadDecorHandleKey< JetContainerm_hltetarefKey
 
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default) More...
 
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default) More...
 
std::vector< SG::VarHandleKeyArray * > m_vhka
 
bool m_varHandleArraysDeclared
 

Detailed Description

template<typename T>
class TrigL1FexJetMonitorTool< T >

Definition at line 21 of file TrigL1FexJetMonitorTool.h.

Member Typedef Documentation

◆ JetContainer

template<typename T >
typedef T::JetContainer TrigL1FexJetMonitorTool< T >::JetContainer

Definition at line 26 of file TrigL1FexJetMonitorTool.h.

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< AlgTool > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ TrigL1FexJetMonitorTool()

template<typename T >
TrigL1FexJetMonitorTool< T >::TrigL1FexJetMonitorTool ( const std::string &  type,
const std::string &  name,
const IInterface *  parent 
)

Definition at line 19 of file TrigL1FexJetMonitorTool.cxx.

22  : AthAlgTool( type, name, parent )
23 {
24  declareProperty("l1container", m_l1jetContainerkey);
25 
26 }

Member Function Documentation

◆ declareGaudiProperty() [1/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyArrayType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKeyArray>

Definition at line 170 of file AthCommonDataStore.h.

172  {
173  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
174  hndl.value(),
175  hndl.documentation());
176 
177  }

◆ declareGaudiProperty() [2/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158  {
159  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
160  hndl.value(),
161  hndl.documentation());
162 
163  }

◆ declareGaudiProperty() [3/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleBase>

Definition at line 184 of file AthCommonDataStore.h.

186  {
187  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
188  hndl.value(),
189  hndl.documentation());
190  }

◆ declareGaudiProperty() [4/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  t,
const SG::NotHandleType  
)
inlineprivateinherited

specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>

Definition at line 199 of file AthCommonDataStore.h.

200  {
201  return PBASE::declareProperty(t);
202  }

◆ DeclareInterfaceID()

ITrigJetMonitorTool::DeclareInterfaceID ( ITrigJetMonitorTool  ,
,
 
)
inherited

◆ declareProperty() [1/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleBase hndl,
const std::string &  doc,
const SG::VarHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleBase. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 245 of file AthCommonDataStore.h.

249  {
250  this->declare(hndl.vhKey());
251  hndl.vhKey().setOwner(this);
252 
253  return PBASE::declareProperty(name,hndl,doc);
254  }

◆ declareProperty() [2/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKey hndl,
const std::string &  doc,
const SG::VarHandleKeyType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleKey. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 221 of file AthCommonDataStore.h.

225  {
226  this->declare(hndl);
227  hndl.setOwner(this);
228 
229  return PBASE::declareProperty(name,hndl,doc);
230  }

◆ declareProperty() [3/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKeyArray hndArr,
const std::string &  doc,
const SG::VarHandleKeyArrayType  
)
inlineinherited

Definition at line 259 of file AthCommonDataStore.h.

263  {
264 
265  // std::ostringstream ost;
266  // ost << Algorithm::name() << " VHKA declareProp: " << name
267  // << " size: " << hndArr.keys().size()
268  // << " mode: " << hndArr.mode()
269  // << " vhka size: " << m_vhka.size()
270  // << "\n";
271  // debug() << ost.str() << endmsg;
272 
273  hndArr.setOwner(this);
274  m_vhka.push_back(&hndArr);
275 
276  Gaudi::Details::PropertyBase* p = PBASE::declareProperty(name, hndArr, doc);
277  if (p != 0) {
278  p->declareUpdateHandler(&AthCommonDataStore<PBASE>::updateVHKA, this);
279  } else {
280  ATH_MSG_ERROR("unable to call declareProperty on VarHandleKeyArray "
281  << name);
282  }
283 
284  return p;
285 
286  }

◆ declareProperty() [4/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc,
const SG::NotHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This is the generic version, for types that do not derive from SG::VarHandleKey. It just forwards to the base class version of declareProperty.

Definition at line 333 of file AthCommonDataStore.h.

337  {
338  return PBASE::declareProperty(name, property, doc);
339  }

◆ declareProperty() [5/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc = "none" 
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This dispatches to either the generic declareProperty or the one for VarHandle/Key/KeyArray.

Definition at line 352 of file AthCommonDataStore.h.

355  {
356  typedef typename SG::HandleClassifier<T>::type htype;
357  return declareProperty (name, property, doc, htype());
358  }

◆ declareProperty() [6/6]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( Gaudi::Property< T > &  t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145  {
146  typedef typename SG::HandleClassifier<T>::type htype;
148  }

◆ detStore()

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

95 { return m_detStore; }

◆ evtStore() [1/2]

ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

85 { return m_evtStore; }

◆ evtStore() [2/2]

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( ) const
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 90 of file AthCommonDataStore.h.

90 { return m_evtStore; }

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase &  ExtraDeps)
protectedinherited

Add StoreName to extra input/output deps as needed.

use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given

◆ getData()

template<typename T >
StatusCode TrigL1FexJetMonitorTool< T >::getData ( const EventContext &  ctx,
std::vector< JetData > &  jetData 
) const
overridevirtual

Implements ITrigJetMonitorTool.

Definition at line 157 of file TrigL1FexJetMonitorTool.cxx.

159  {
160 
161 
162  // Retrieve the L1 jet container
164  if( !jets.isValid() ){
165  // the L1 containers should _always_ be present, although may be empty.
166  ATH_MSG_WARNING("evtStore() does not contain the L1 jet collection with name "
168  return StatusCode::SUCCESS;
169  }
170 
171  // find variables associated with jets in the input container.
172  for(const auto jet : *jets){
173  /*
174  Ensure that the the et is above a hardware threshold:
175  From Sergi Rodriguez 23/02/2022
176  in the bitwise simulation we also have an energy threshold,
177  which is taken from the trigger menu.
178  If the Et is below the threshold the TOB word is set to 0
179  */
180 
181  if (vetoJet(jet)) {continue;} // see L1MonitoredAdaptors
182 
183  jetData.emplace_back(et(jet)*0.001, // see L1MonitoredAdaptors
184  jet->eta(),
185  jet->phi(),
186  et_label(jet));
187 
188  }
189  return StatusCode::SUCCESS;
190 }

◆ getMatchData()

template<typename T >
StatusCode TrigL1FexJetMonitorTool< T >::getMatchData ( const EventContext &  ctx,
MatchToEnum  matchTo,
std::vector< JetMatchData > &  jetData 
) const
overridevirtual

Implements ITrigJetMonitorTool.

Definition at line 196 of file TrigL1FexJetMonitorTool.cxx.

199  {
200  if (!m_doMatching) {
201  // otherwise will attempt to use uniniatialied Keys
202  return StatusCode::SUCCESS;
203  }
204 
205  std::unique_ptr<SG::ReadDecorHandle<JetContainer, char>> matchedHandle;
206  std::unique_ptr<SG::ReadDecorHandle<JetContainer, double>> ptdiffHandle;
207  std::unique_ptr<SG::ReadDecorHandle<JetContainer, double>> energydiffHandle;
208  std::unique_ptr<SG::ReadDecorHandle<JetContainer, double>> massdiffHandle;
209  std::unique_ptr<SG::ReadDecorHandle<JetContainer, double>> ptrespHandle;
210  std::unique_ptr<SG::ReadDecorHandle<JetContainer, double>> energyrespHandle;
211  std::unique_ptr<SG::ReadDecorHandle<JetContainer, double>> massrespHandle;
212  std::unique_ptr<SG::ReadDecorHandle<JetContainer, double>> ptrefHandle;
213  std::unique_ptr<SG::ReadDecorHandle<JetContainer, double>> etarefHandle;
214 
215  if (matchTo == MatchToEnum::hlt) {
216 
217  matchedHandle.reset(new SG::ReadDecorHandle<JetContainer, char> (m_hltmatchedKey, ctx));
218  ptdiffHandle.reset(new SG::ReadDecorHandle<JetContainer, double> (m_hltptdiffKey, ctx));
219  energydiffHandle.reset(new SG::ReadDecorHandle<JetContainer, double> (m_hltenergydiffKey, ctx));
220  massdiffHandle.reset(new SG::ReadDecorHandle<JetContainer, double> (m_hltmassdiffKey, ctx));
221  ptrespHandle.reset(new SG::ReadDecorHandle<JetContainer, double> (m_hltptrespKey, ctx));
222  energyrespHandle.reset(new SG::ReadDecorHandle<JetContainer, double> (m_hltenergyrespKey, ctx));
223  massrespHandle.reset(new SG::ReadDecorHandle<JetContainer, double> (m_hltmassrespKey, ctx));
224  ptrefHandle.reset(new SG::ReadDecorHandle<JetContainer, double> (m_hltptrefKey, ctx));
225  etarefHandle.reset(new SG::ReadDecorHandle<JetContainer, double> (m_hltetarefKey, ctx));
226  } else if (matchTo == MatchToEnum::offline) {
227  matchedHandle.reset(new SG::ReadDecorHandle<JetContainer, char> (m_offmatchedKey, ctx));
228  ptdiffHandle.reset(new SG::ReadDecorHandle<JetContainer, double> (m_offptdiffKey, ctx));
229  energydiffHandle.reset(new SG::ReadDecorHandle<JetContainer, double> (m_offenergydiffKey, ctx));
230  massdiffHandle.reset(new SG::ReadDecorHandle<JetContainer, double> (m_offmassdiffKey, ctx));
231  ptrespHandle.reset(new SG::ReadDecorHandle<JetContainer, double> (m_offptrespKey, ctx));
232  energyrespHandle.reset(new SG::ReadDecorHandle<JetContainer, double> (m_offenergyrespKey, ctx));
233  massrespHandle.reset(new SG::ReadDecorHandle<JetContainer, double> (m_offmassrespKey, ctx));
234  ptrefHandle.reset(new SG::ReadDecorHandle<JetContainer, double> (m_offptrefKey, ctx));
235  etarefHandle.reset(new SG::ReadDecorHandle<JetContainer, double> (m_offetarefKey, ctx));
236  } else {
237  ATH_MSG_ERROR ("unsupported MatchTo value");
238  return StatusCode::FAILURE;
239  }
240 
241  ATH_CHECK((*matchedHandle).initialize());
242  ATH_CHECK((*ptdiffHandle).initialize());
243  ATH_CHECK((*energydiffHandle).initialize());
244  ATH_CHECK((*massdiffHandle).initialize());
245  ATH_CHECK((*ptrespHandle).initialize());
246  ATH_CHECK((*energyrespHandle).initialize());
247  ATH_CHECK((*massrespHandle).initialize());
248  ATH_CHECK((*ptrefHandle).initialize());
249  ATH_CHECK((*etarefHandle).initialize());
250 
251 
252  // Loop over L1 jets and fill pt, energy, mass differences and responses
253  // between matched jets, plus reference pT and eta
254 
255  // Retrieve the L1 jet container
257  if(!jets.isValid()){
258  // the L1 containers should _always_ be present, although may be empty.
259  ATH_MSG_WARNING("evtStore() does not contain the L1 jet collection with name "
261  return StatusCode::SUCCESS;
262  }
263 
264  for(const auto jet : *jets){
265  bool matched = (*matchedHandle)(*jet);
266 
267  if(matched){
268  jetMatchData.emplace_back((*ptdiffHandle)(*jet),
269  (*energydiffHandle)(*jet),
270  (*massdiffHandle)(*jet),
271  (*ptrespHandle)(*jet),
272  (*energyrespHandle)(*jet),
273  (*massrespHandle)(*jet),
274  (*ptrefHandle)(*jet),
275  (*etarefHandle)(*jet));
276  }
277  }
278 
279  return StatusCode::SUCCESS;
280 }

◆ initialize()

template<typename T >
StatusCode TrigL1FexJetMonitorTool< T >::initialize
overridevirtual

Definition at line 45 of file TrigL1FexJetMonitorTool.cxx.

46 {
48 
49  if (m_doMatching) {
52 
55 
58 
61 
64 
67 
70 
73 
76 
86 
89 
92 
95 
98 
101 
103  m_l1jetContainerkey.key() + ".energyresp_" + m_HLTJetContainerToMatch;
104 
107 
108  m_hltptrefKey =
110 
113 
123 
124  } else {
125  // declare the keys unused if no matching is configured
126 
127  // offline container matching
137 
138  // trigger container matching
148  }
149 
150  return StatusCode::SUCCESS;
151 }

◆ inputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< AlgTool > >::inputHandles ( ) const
overridevirtualinherited

Return this algorithm's input handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ msg() [1/2]

MsgStream& AthCommonMsg< AlgTool >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24  {
25  return this->msgStream();
26  }

◆ msg() [2/2]

MsgStream& AthCommonMsg< AlgTool >::msg ( const MSG::Level  lvl) const
inlineinherited

Definition at line 27 of file AthCommonMsg.h.

27  {
28  return this->msgStream(lvl);
29  }

◆ msgLvl()

bool AthCommonMsg< AlgTool >::msgLvl ( const MSG::Level  lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30  {
31  return this->msgLevel(lvl);
32  }

◆ outputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< AlgTool > >::outputHandles ( ) const
overridevirtualinherited

Return this algorithm's output handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ queryInterface()

template<typename T >
StatusCode TrigL1FexJetMonitorTool< T >::queryInterface ( const InterfaceID &  riid,
void **  ppvIf 
)
overridevirtual

Definition at line 31 of file TrigL1FexJetMonitorTool.cxx.

32 {
33  if ( riid == ITrigJetMonitorTool::interfaceID() ) {
34  *ppvIf = (ITrigJetMonitorTool*)this;
35  addRef();
36  return StatusCode::SUCCESS;
37  }
38 
39  return AthAlgTool::queryInterface( riid, ppvIf );
40 }

◆ renounce()

std::enable_if_t<std::is_void_v<std::result_of_t<decltype(&T::renounce)(T)> > && !std::is_base_of_v<SG::VarHandleKeyArray, T> && std::is_base_of_v<Gaudi::DataHandle, T>, void> AthCommonDataStore< AthCommonMsg< AlgTool > >::renounce ( T &  h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381  {
382  h.renounce();
383  PBASE::renounce (h);
384  }

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::renounceArray ( SG::VarHandleKeyArray handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364  {
365  handlesArray.renounce();
366  }

◆ sysInitialize()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysInitialize ( )
overridevirtualinherited

Perform system initialization for an algorithm.

We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.

Reimplemented in DerivationFramework::CfAthAlgTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and asg::AsgMetadataTool.

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::updateVHKA ( Gaudi::Details::PropertyBase &  )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308  {
309  // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310  // << " size: " << m_vhka.size() << endmsg;
311  for (auto &a : m_vhka) {
312  std::vector<SG::VarHandleKey*> keys = a->keys();
313  for (auto k : keys) {
314  k->setOwner(this);
315  }
316  }
317  }

Member Data Documentation

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_doMatching

template<typename T >
Gaudi::Property<bool> TrigL1FexJetMonitorTool< T >::m_doMatching
private
Initial value:
{
this, "do_matching", false,
"Plotting response histograms for L1 jets matched to online/offline jets"}

Definition at line 55 of file TrigL1FexJetMonitorTool.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_hltenergydiffKey

template<typename T >
SG::ReadDecorHandleKey<JetContainer> TrigL1FexJetMonitorTool< T >::m_hltenergydiffKey
private
Initial value:
{
this, "hltenergydiff", "hltenergydiff",
"SG key for input matched energydiff decoration"}

Definition at line 108 of file TrigL1FexJetMonitorTool.h.

◆ m_hltenergyrespKey

template<typename T >
SG::ReadDecorHandleKey<JetContainer> TrigL1FexJetMonitorTool< T >::m_hltenergyrespKey
private
Initial value:
{
this, "hltenergyresp", "hltenergyresp",
"SG key for input matched energyresp decoration"}

Definition at line 120 of file TrigL1FexJetMonitorTool.h.

◆ m_hltetarefKey

template<typename T >
SG::ReadDecorHandleKey<JetContainer> TrigL1FexJetMonitorTool< T >::m_hltetarefKey
private
Initial value:
{
this, "hltetaref", "hltetaref",
"SG key for input matched etaref decoration"}

Definition at line 132 of file TrigL1FexJetMonitorTool.h.

◆ m_HLTJetContainerToMatch

template<typename T >
Gaudi::Property<std::string> TrigL1FexJetMonitorTool< T >::m_HLTJetContainerToMatch
private
Initial value:
{
this, "HLTJetsToMatch", "", "Name of matched HLT jet collection"}

Definition at line 63 of file TrigL1FexJetMonitorTool.h.

◆ m_hltmassdiffKey

template<typename T >
SG::ReadDecorHandleKey<JetContainer> TrigL1FexJetMonitorTool< T >::m_hltmassdiffKey
private
Initial value:
{
this, "hltmassdiff", "hltmassdiff",
"SG key for input matched massdiff decoration"}

Definition at line 112 of file TrigL1FexJetMonitorTool.h.

◆ m_hltmassrespKey

template<typename T >
SG::ReadDecorHandleKey<JetContainer> TrigL1FexJetMonitorTool< T >::m_hltmassrespKey
private
Initial value:
{
this, "hltmassresp", "hltmassresp",
"SG key for input matched massresp decoration"}

Definition at line 124 of file TrigL1FexJetMonitorTool.h.

◆ m_hltmatchedKey

template<typename T >
SG::ReadDecorHandleKey<JetContainer> TrigL1FexJetMonitorTool< T >::m_hltmatchedKey
private
Initial value:
{
this, "hltmatched", "hltmatched", "SG key for input matched decoration"}

Definition at line 101 of file TrigL1FexJetMonitorTool.h.

◆ m_hltptdiffKey

template<typename T >
SG::ReadDecorHandleKey<JetContainer> TrigL1FexJetMonitorTool< T >::m_hltptdiffKey
private
Initial value:
{
this, "hltptdiff", "hltptdiff",
"SG key for input matched ptdiff decoration"}

Definition at line 104 of file TrigL1FexJetMonitorTool.h.

◆ m_hltptrefKey

template<typename T >
SG::ReadDecorHandleKey<JetContainer> TrigL1FexJetMonitorTool< T >::m_hltptrefKey
private
Initial value:
{
this, "hltptref", "hltptref",
"SG key for input matched ptref decoration"}

Definition at line 128 of file TrigL1FexJetMonitorTool.h.

◆ m_hltptrespKey

template<typename T >
SG::ReadDecorHandleKey<JetContainer> TrigL1FexJetMonitorTool< T >::m_hltptrespKey
private
Initial value:
{
this, "hltptresp", "hltptresp",
"SG key for input matched ptresp decoration"}

Definition at line 116 of file TrigL1FexJetMonitorTool.h.

◆ m_l1jetContainerkey

template<typename T >
SG::ReadHandleKey<JetContainer> TrigL1FexJetMonitorTool< T >::m_l1jetContainerkey
private

Definition at line 52 of file TrigL1FexJetMonitorTool.h.

◆ m_offenergydiffKey

template<typename T >
SG::ReadDecorHandleKey<JetContainer> TrigL1FexJetMonitorTool< T >::m_offenergydiffKey
private
Initial value:
{
this, "offenergydiff", "offenergydiff",
"SG key for input matched energydiff decoration"}

Definition at line 73 of file TrigL1FexJetMonitorTool.h.

◆ m_offenergyrespKey

template<typename T >
SG::ReadDecorHandleKey<JetContainer> TrigL1FexJetMonitorTool< T >::m_offenergyrespKey
private
Initial value:
{
this, "offenergyresp", "offenergyresp",
"SG key for input matched energyresp decoration"}

Definition at line 85 of file TrigL1FexJetMonitorTool.h.

◆ m_offetarefKey

template<typename T >
SG::ReadDecorHandleKey<JetContainer> TrigL1FexJetMonitorTool< T >::m_offetarefKey
private
Initial value:
{
this, "offetaref", "offetaref",
"SG key for input matched etaref decoration"}

Definition at line 97 of file TrigL1FexJetMonitorTool.h.

◆ m_offlineJetContainerToMatch

template<typename T >
Gaudi::Property<std::string> TrigL1FexJetMonitorTool< T >::m_offlineJetContainerToMatch
private
Initial value:
{
this, "offlineJetsToMatch", "",
"Name of matched offline jet collection"}

Definition at line 59 of file TrigL1FexJetMonitorTool.h.

◆ m_offmassdiffKey

template<typename T >
SG::ReadDecorHandleKey<JetContainer> TrigL1FexJetMonitorTool< T >::m_offmassdiffKey
private
Initial value:
{
this, "offmassdiff", "offmassdiff",
"SG key for input matched massdiff decoration"}

Definition at line 77 of file TrigL1FexJetMonitorTool.h.

◆ m_offmassrespKey

template<typename T >
SG::ReadDecorHandleKey<JetContainer> TrigL1FexJetMonitorTool< T >::m_offmassrespKey
private
Initial value:
{
this, "offmassresp", "offmassresp",
"SG key for input matched massresp decoration"}

Definition at line 89 of file TrigL1FexJetMonitorTool.h.

◆ m_offmatchedKey

template<typename T >
SG::ReadDecorHandleKey<JetContainer> TrigL1FexJetMonitorTool< T >::m_offmatchedKey
private
Initial value:
{
this, "offmatched", "offmatched", "SG key for input matched decoration"}

Definition at line 66 of file TrigL1FexJetMonitorTool.h.

◆ m_offptdiffKey

template<typename T >
SG::ReadDecorHandleKey<JetContainer> TrigL1FexJetMonitorTool< T >::m_offptdiffKey
private
Initial value:
{
this, "offptdiff", "offptdiff",
"SG key for input matched ptdiff decoration"}

Definition at line 69 of file TrigL1FexJetMonitorTool.h.

◆ m_offptrefKey

template<typename T >
SG::ReadDecorHandleKey<JetContainer> TrigL1FexJetMonitorTool< T >::m_offptrefKey
private
Initial value:
{
this, "offptref", "offptref",
"SG key for input matched ptref decoration"}

Definition at line 93 of file TrigL1FexJetMonitorTool.h.

◆ m_offptrespKey

template<typename T >
SG::ReadDecorHandleKey<JetContainer> TrigL1FexJetMonitorTool< T >::m_offptrespKey
private
Initial value:
{
this, "offptresp", "offptresp",
"SG key for input matched ptresp decoration"}

Definition at line 81 of file TrigL1FexJetMonitorTool.h.

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< AlgTool > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.


The documentation for this class was generated from the following files:
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
TrigL1FexJetMonitorTool::m_offmatchedKey
SG::ReadDecorHandleKey< JetContainer > m_offmatchedKey
Definition: TrigL1FexJetMonitorTool.h:66
xAOD::et
et
Definition: TrigEMCluster_v1.cxx:25
MatchToEnum::offline
@ offline
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:70
AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
TrigL1FexJetMonitorTool::m_hltenergydiffKey
SG::ReadDecorHandleKey< JetContainer > m_hltenergydiffKey
Definition: TrigL1FexJetMonitorTool.h:108
MatchToEnum::hlt
@ hlt
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
TrigL1FexJetMonitorTool::m_hltetarefKey
SG::ReadDecorHandleKey< JetContainer > m_hltetarefKey
Definition: TrigL1FexJetMonitorTool.h:132
TrigL1FexJetMonitorTool::m_l1jetContainerkey
SG::ReadHandleKey< JetContainer > m_l1jetContainerkey
Definition: TrigL1FexJetMonitorTool.h:52
TrigL1FexJetMonitorTool::m_offptrefKey
SG::ReadDecorHandleKey< JetContainer > m_offptrefKey
Definition: TrigL1FexJetMonitorTool.h:93
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
SG::VarHandleKey::key
const std::string & key() const
Return the StoreGate ID for the referenced object.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:141
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
TrigL1FexJetMonitorTool::m_hltptdiffKey
SG::ReadDecorHandleKey< JetContainer > m_hltptdiffKey
Definition: TrigL1FexJetMonitorTool.h:104
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
AthCommonDataStore
Definition: AthCommonDataStore.h:52
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
SG::ReadDecorHandle
Handle class for reading a decoration on an object.
Definition: StoreGate/StoreGate/ReadDecorHandle.h:94
SG::ReadDecorHandleKey::initialize
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
TrigL1FexJetMonitorTool::m_offmassrespKey
SG::ReadDecorHandleKey< JetContainer > m_offmassrespKey
Definition: TrigL1FexJetMonitorTool.h:89
TrigL1FexJetMonitorTool::m_doMatching
Gaudi::Property< bool > m_doMatching
Definition: TrigL1FexJetMonitorTool.h:55
test_pyathena.parent
parent
Definition: test_pyathena.py:15
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
TrigL1FexJetMonitorTool::m_hltptrefKey
SG::ReadDecorHandleKey< JetContainer > m_hltptrefKey
Definition: TrigL1FexJetMonitorTool.h:128
TrigL1FexJetMonitorTool::m_hltptrespKey
SG::ReadDecorHandleKey< JetContainer > m_hltptrespKey
Definition: TrigL1FexJetMonitorTool.h:116
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
SG::VarHandleKey::initialize
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:103
AthAlgTool::AthAlgTool
AthAlgTool()
Default constructor:
et_label
std::string et_label(const xAOD::jFexSRJetRoI *)
Definition: L1MonitorAdaptors.h:20
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
TrigL1FexJetMonitorTool::m_offptdiffKey
SG::ReadDecorHandleKey< JetContainer > m_offptdiffKey
Definition: TrigL1FexJetMonitorTool.h:69
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
TrigL1FexJetMonitorTool::m_hltmatchedKey
SG::ReadDecorHandleKey< JetContainer > m_hltmatchedKey
Definition: TrigL1FexJetMonitorTool.h:101
python.ElectronD3PDObject.matched
matched
Definition: ElectronD3PDObject.py:138
TrigL1FexJetMonitorTool::m_offetarefKey
SG::ReadDecorHandleKey< JetContainer > m_offetarefKey
Definition: TrigL1FexJetMonitorTool.h:97
ITrigJetMonitorTool
Definition: ITrigJetMonitorTool.h:22
a
TList * a
Definition: liststreamerinfos.cxx:10
h
TrigL1FexJetMonitorTool::m_hltmassrespKey
SG::ReadDecorHandleKey< JetContainer > m_hltmassrespKey
Definition: TrigL1FexJetMonitorTool.h:124
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:616
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
defineDB.jets
list jets
Definition: JetTagCalibration/share/defineDB.py:24
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790
TrigL1FexJetMonitorTool::m_offptrespKey
SG::ReadDecorHandleKey< JetContainer > m_offptrespKey
Definition: TrigL1FexJetMonitorTool.h:81
TrigL1FexJetMonitorTool::m_offenergyrespKey
SG::ReadDecorHandleKey< JetContainer > m_offenergyrespKey
Definition: TrigL1FexJetMonitorTool.h:85
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
TrigL1FexJetMonitorTool::m_hltmassdiffKey
SG::ReadDecorHandleKey< JetContainer > m_hltmassdiffKey
Definition: TrigL1FexJetMonitorTool.h:112
TrigL1FexJetMonitorTool::m_hltenergyrespKey
SG::ReadDecorHandleKey< JetContainer > m_hltenergyrespKey
Definition: TrigL1FexJetMonitorTool.h:120
TrigL1FexJetMonitorTool::m_offenergydiffKey
SG::ReadDecorHandleKey< JetContainer > m_offenergydiffKey
Definition: TrigL1FexJetMonitorTool.h:73
TrigL1FexJetMonitorTool::m_offlineJetContainerToMatch
Gaudi::Property< std::string > m_offlineJetContainerToMatch
Definition: TrigL1FexJetMonitorTool.h:59
TrigL1FexJetMonitorTool::m_offmassdiffKey
SG::ReadDecorHandleKey< JetContainer > m_offmassdiffKey
Definition: TrigL1FexJetMonitorTool.h:77
fitman.k
k
Definition: fitman.py:528
vetoJet
bool vetoJet(const xAOD::jFexSRJetRoI *j)
Definition: L1MonitorAdaptors.h:14
TrigL1FexJetMonitorTool::m_HLTJetContainerToMatch
Gaudi::Property< std::string > m_HLTJetContainerToMatch
Definition: TrigL1FexJetMonitorTool.h:63