ATLAS Offline Software
Public Member Functions | Protected Member Functions | Protected Attributes | Private Types | Private Member Functions | Private Attributes | Friends | List of all members
TauAnalysisTools::TauSelectionTool Class Referenceabstract

#include <TauSelectionTool.h>

Inheritance diagram for TauAnalysisTools::TauSelectionTool:
Collaboration diagram for TauAnalysisTools::TauSelectionTool:

Public Member Functions

 TauSelectionTool (const std::string &name)
 Constructor for standalone usage. More...
 
virtual ~TauSelectionTool ()
 
virtual StatusCode initialize () override
 Function initialising the tool. More...
 
virtual const asg::AcceptInfogetAcceptInfo () const override
 Get an object describing the "selection steps" of the tool. More...
 
virtual asg::AcceptData accept (const xAOD::IParticle *p) const override
 Get the decision using a generic IParticle pointer. More...
 
virtual asg::AcceptData accept (const xAOD::TauJet &tau) const override
 Get the decision for a specific TauJet object. More...
 
virtual void setOutFile (TFile *fOutFile) override
 Set output file for control histograms. More...
 
virtual void writeControlHistograms () override
 Write control histograms to output file. More...
 
virtual void print () const =0
 Print the state of the tool. More...
 
virtual StatusCode sysInitialize ()
 Function initialising the tool in the correct way in Athena. More...
 
virtual void print () const
 Print the state of the tool. More...
 
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 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, V, H > &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
 

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...
 

Protected Attributes

TFile * m_fOutFile
 
std::shared_ptr< TH1F > m_hCutFlow
 
Gaudi::Property< bool > m_bCreateControlPlots {this, "CreateControlPlots", false}
 
asg::AcceptInfo m_aAccept
 Object used to store selection information. More...
 

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

 ASG_TOOL_CLASS2 (TauSelectionTool, IAsgSelectionTool, TauAnalysisTools::ITauSelectionTool) friend class TauEfficiencyCorrectionsTool
 Create a proper constructor for Athena. More...
 
virtual StatusCode beginEvent () override
 Function called when a new events is loaded. More...
 
template<typename T , typename U >
void FillRegionVector (std::vector< T > &vRegion, U tMin, U tMax) const
 
template<typename T , typename U >
void FillValueVector (std::vector< T > &vRegion, U tVal) const
 
template<typename T >
void PrintConfigRegion (const std::string &sCutName, std::vector< T > &vRegion) const
 
template<typename T >
void PrintConfigValue (const std::string &sCutName, std::vector< T > &vRegion) const
 
template<typename T >
void PrintConfigValue (const std::string &sCutName, T &sVal) const
 
void setupCutFlowHistogram ()
 
int convertStrToJetIDWP (const std::string &sJetIDWP) const
 
int convertStrToEleIDWP (const std::string &sEleIDWP) const
 
std::string convertJetIDWPToStr (int iJetIDWP) const
 
std::string convertEleIDWPToStr (int iEleIDWP) const
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyArrayType &)
 specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleType &)
 specialization for handling Gaudi::Property<SG::VarHandleBase> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &t, const SG::NotHandleType &)
 specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
 

Private Attributes

std::vector< float > m_vPtRegion
 
std::vector< float > m_vAbsEtaRegion
 
std::vector< int > m_vAbsCharges
 
std::vector< unsigned > m_vNTracks
 
std::vector< float > m_vJetRNNSigTransRegion
 
std::vector< float > m_vGNTauSigTransRegion
 
std::string m_sJetIDWP
 
bool m_useGNTau =false
 
std::vector< float > m_vEleRNNSigTransRegion
 
std::string m_sEleIDWP
 
Gaudi::Property< int > m_iSelectionCuts {this, "SelectionCuts", NoCut}
 
Gaudi::Property< float > m_dPtMin {this, "PtMin", NAN}
 
Gaudi::Property< float > m_dPtMax {this, "PtMax", NAN}
 
Gaudi::Property< float > m_dAbsEtaMin {this, "AbsEtaMin", NAN}
 
Gaudi::Property< float > m_dAbsEtaMax {this, "AbsEtaMax", NAN}
 
Gaudi::Property< float > m_iAbsCharge {this, "AbsCharge", NAN}
 
Gaudi::Property< float > m_dJetRNNSigTransMin {this, "JetRNNSigTransMin", NAN}
 
Gaudi::Property< float > m_dJetRNNSigTransMax {this, "JetRNNSigTransMax", NAN}
 
Gaudi::Property< float > m_dGNTauSigTransMin {this, "GNTauSigTransMin", NAN}
 
Gaudi::Property< float > m_dGNTauSigTransMax {this, "GNTauSigTransMax", NAN}
 
Gaudi::Property< float > m_iNTrack {this, "NTrack", NAN}
 
Gaudi::Property< float > m_dEleRNNSigTransMin {this, "EleRNNSigTransMin", NAN}
 
Gaudi::Property< float > m_dEleRNNSigTransMax {this, "EleRNNSigTransMax", NAN}
 
Gaudi::Property< int > m_iJetIDWP {this, "JetIDWP", 0}
 
Gaudi::Property< int > m_iEleIDWP {this, "EleIDWP", 0}
 
Gaudi::Property< int > m_iEleIDVersion {this, "EleIDVersion", 1}
 
Gaudi::Property< bool > m_bMuonOLR {this, "MuonOLR", false}
 
Gaudi::Property< std::vector< float > > m_vecPtRegion {this, "PtRegion", {}}
 
Gaudi::Property< std::vector< float > > m_vecAbsEtaRegion {this, "AbsEtaRegion",{}}
 
Gaudi::Property< std::vector< int > > m_vecAbsCharges {this, "AbsCharges", {}}
 
Gaudi::Property< std::vector< unsigned > > m_vecNTracks {this, "NTracks", {}}
 
Gaudi::Property< std::vector< float > > m_vecJetRNNSigTransRegion {this, "JetRNNSigTransRegion", {}}
 
Gaudi::Property< std::vector< float > > m_vecGNTauSigTransRegion {this, "GNTauSigTransRegion", {}}
 
Gaudi::Property< std::vector< float > > m_vecEleRNNSigTransRegion {this, "EleRNNSigTransRegion", {}}
 
Gaudi::Property< std::string > m_sConfigPath {this, "ConfigPath", "TauAnalysisTools/"+std::string(sSharedFilesVersion)+"/Selection/recommended_selection_r22.conf"}
 
SG::ReadHandleKey< xAOD::MuonContainerm_muonContainerKey {this, "MuonContainerName", "Muons", "Muon container name"}
 
SG::ReadHandleKey< xAOD::TauJetContainerm_tauContainerKey {this, "TauContainerName", "TauJets", "Tau container name"}
 
SG::ReadDecorHandleKey< xAOD::TauJetContainerm_eVetoDecorKey {this, "eVetoDecorName", "", "Name of eVeto decoration"}
 
SG::ReadDecorHandleKey< xAOD::TauJetContainerm_GNTauDecorKey {this, "GNTauDecorName", "", "Name of GnTauID decoration"}
 
std::map< SelectionCuts, std::unique_ptr< TauAnalysisTools::TauSelectionCut > > m_cMap
 
MetaStore_t m_inputMetaStore
 Object accessing the input metadata store. More...
 
MetaStore_t m_outputMetaStore
 Object accessing the output metadata store. More...
 
bool m_beginInputFileCalled
 Flag helping to discover when the tool misses the opening of the first input file. More...
 
bool m_useIncidents
 
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
 

Friends

class TauSelectionCut
 need to define cut classes to be friends to access protected variables, needed for access of cut thresholds More...
 
class TauSelectionCutPt
 
class TauSelectionCutAbsEta
 
class TauSelectionCutAbsCharge
 
class TauSelectionCutNTracks
 
class TauSelectionCutJetIDWP
 
class TauSelectionCutRNNJetScoreSigTrans
 
class TauSelectionCutGNTauScoreSigTrans
 
class TauSelectionCutRNNEleScoreSigTrans
 
class TauSelectionCutEleIDWP
 
class TauSelectionCutMuonOLR
 

Callback functions helping in metadata reading/writing

void setUseIncidents (const bool flag)
 
virtual void handle (const Incident &inc)
 Function receiving incidents from IncidentSvc/TEvent. More...
 
virtual StatusCode beginInputFile ()
 Function called when a new input file is opened. More...
 
virtual StatusCode endInputFile ()
 Function called when the currently open input file got completely processed. More...
 
virtual StatusCode metaDataStop ()
 Function called when the tool should write out its metadata. More...
 

Detailed Description

Definition at line 52 of file TauSelectionTool.h.

Member Typedef Documentation

◆ MetaStore_t

Type of the metadata store object in Athena.

Definition at line 66 of file AsgMetadataTool.h.

◆ MetaStorePtr_t

Type of the metadata store pointer in standalone mode.

Definition at line 68 of file AsgMetadataTool.h.

◆ StoreGateSvc_t

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

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ TauSelectionTool()

TauSelectionTool::TauSelectionTool ( const std::string &  name)

Constructor for standalone usage.

Definition at line 20 of file TauSelectionTool.cxx.

22  , m_sJetIDWP("JETIDNONE")
23  , m_sEleIDWP("ELEIDNONE")
24  , m_fOutFile(nullptr)
25  , m_aAccept( "TauSelection" )
26 {}

◆ ~TauSelectionTool()

TauSelectionTool::~TauSelectionTool ( )
virtual

Definition at line 29 of file TauSelectionTool.cxx.

30 {
31  m_cMap.clear();
32 }

Member Function Documentation

◆ accept() [1/2]

asg::AcceptData TauSelectionTool::accept ( const xAOD::IParticle p) const
overridevirtual

Get the decision using a generic IParticle pointer.

Implements IAsgSelectionTool.

Definition at line 378 of file TauSelectionTool.cxx.

379 {
380  // Check if this is a tau:
381  if( xP->type() != xAOD::Type::Tau )
382  {
383  ATH_MSG_ERROR( "accept(...) Function received a non-tau" );
384  return asg::AcceptData (&m_aAccept);
385  }
386 
387  // Cast it to a tau:
388  const xAOD::TauJet* xTau = dynamic_cast< const xAOD::TauJet* >( xP );
389  if( ! xTau )
390  {
391  ATH_MSG_FATAL( "accept(...) Failed to cast particle to tau" );
392  return asg::AcceptData (&m_aAccept);
393  }
394 
395  // Let the specific function do the work:
396  return accept( *xTau );
397 }

◆ accept() [2/2]

asg::AcceptData TauSelectionTool::accept ( const xAOD::TauJet tau) const
overridevirtual

Get the decision for a specific TauJet object.

Implements TauAnalysisTools::ITauSelectionTool.

Definition at line 400 of file TauSelectionTool.cxx.

401 {
402  asg::AcceptData acceptData (&m_aAccept);
403 
404  int iNBin = 0;
405 
407  {
408  // fill cutflow 'All' bin
409  m_hCutFlow->Fill(iNBin);
410  // fill main distributions before all cuts
411  for (const auto& entry : m_cMap)
412  entry.second->fillHistogramCutPre(xTau);
413  }
414  try
415  {
416  for (const auto& entry : m_cMap)
417  {
418  if (m_iSelectionCuts & entry.first)
419  {
420  if (!entry.second->accept(xTau, acceptData))
421  return acceptData;
422  else
423  {
425  {
426  // fill cutflow after each passed cut
427  iNBin++;
428  m_hCutFlow->Fill(iNBin);
429  }
430  }
431  }
432  }
433  }
434  catch (const std::runtime_error& error)
435  {
436  // LEGACY: In practical terms this should probably just throw, not
437  // print a warning/error and then continue on. However, I leave
438  // that to the experts who probably had a reason not to let the
439  // exception escape. For now I just downgraded it from error to
440  // warning and limited the number of warnings (04 Jan 22).
441  static std::atomic<uint64_t> warning_count (0u);
442  auto mycount = ++ warning_count;
443  if (mycount < 10u)
444  {
445  ATH_MSG_WARNING(error.what());
446  if (mycount == 9u)
447  ATH_MSG_WARNING ("this is your last warning");
448  }
449  }
450 
451  // fill main distributions after all cuts
453  {
454  for (const auto& entry : m_cMap)
455  entry.second->fillHistogramCut(xTau);
456  }
457 
458  // // Return the result:
459  return acceptData;
460 }

◆ ASG_TOOL_CLASS2()

TauAnalysisTools::TauSelectionTool::ASG_TOOL_CLASS2 ( TauSelectionTool  ,
IAsgSelectionTool  ,
TauAnalysisTools::ITauSelectionTool   
)
private

Create a proper constructor for Athena.

◆ beginEvent()

StatusCode TauSelectionTool::beginEvent ( )
overrideprivatevirtual

Function called when a new events is loaded.

Dummy implementation that can be overridden by the derived tool.

Reimplemented from asg::AsgMetadataTool.

Definition at line 366 of file TauSelectionTool.cxx.

367 {
368  return StatusCode::SUCCESS;
369 }

◆ beginInputFile()

StatusCode asg::AsgMetadataTool::beginInputFile ( )
protectedvirtualinherited

Function called when a new input file is opened.

Dummy implementation that can be overridden by the derived tool.

Reimplemented in AsgElectronEfficiencyCorrectionTool, TrigConf::xAODConfigTool, PMGTools::PMGTruthWeightTool, BookkeeperTool, BookkeeperDumperTool, Trig::TrigDecisionTool, xAODMaker::TriggerMenuMetaDataTool, xAODMaker::TruthMetaDataTool, Trig::xAODBunchCrossingTool, TauAnalysisTools::TauEfficiencyCorrectionsTool, and TauAnalysisTools::TauSmearingTool.

Definition at line 185 of file AsgMetadataTool.cxx.

185  {
186 
187  // Return gracefully:
188  return StatusCode::SUCCESS;
189  }

◆ convertEleIDWPToStr()

std::string TauSelectionTool::convertEleIDWPToStr ( int  iEleIDWP) const
private

Definition at line 625 of file TauSelectionTool.cxx.

626 {
627  switch (iEleIDWP)
628  {
630  return "ELEIDNONE";
631  case ELEIDNONE:
632  return "ELEIDNONE";
633  case ELEIDRNNLOOSE:
634  return "ELEIDRNNLOOSE";
635  case ELEIDRNNMEDIUM:
636  return "ELEIDRNNMEDIUM";
637  case ELEIDRNNTIGHT:
638  return "ELEIDRNNTIGHT";
639  default:
640  ATH_MSG_WARNING( "EleID working point with enum " << iEleIDWP << " is unknown, the EleIDWP cut will not accept any tau!" );
641  return "";
642  }
643 }

◆ convertJetIDWPToStr()

std::string TauSelectionTool::convertJetIDWPToStr ( int  iJetIDWP) const
private

Definition at line 593 of file TauSelectionTool.cxx.

594 {
595  switch (iJetIDWP)
596  {
598  return "JETIDNONE";
599  case JETIDNONE:
600  return "JETIDNONE";
601  case JETIDRNNVERYLOOSE:
602  return "JETIDRNNVERYLOOSE";
603  case JETIDRNNLOOSE:
604  return "JETIDRNNLOOSE";
605  case JETIDRNNMEDIUM:
606  return "JETIDRNNMEDIUM";
607  case JETIDRNNTIGHT:
608  return "JETIDRNNTIGHT";
609  case JETIDGNTAUVERYLOOSE:
610  return "JETIDGNTAUVERYLOOSE";
611  case JETIDGNTAULOOSE:
612  return "JETIDGNTAULOOSE";
613  case JETIDGNTAUMEDIUM:
614  return "JETIDGNTAUMEDIUM";
615  case JETIDGNTAUTIGHT:
616  return "JETIDGNTAUTIGHT";
617 
618  default:
619  ATH_MSG_WARNING( "JetID working point with enum " << iJetIDWP << " is unknown, the JetIDWP cut will not accept any tau!" );
620  return "";
621  }
622 }

◆ convertStrToEleIDWP()

int TauSelectionTool::convertStrToEleIDWP ( const std::string &  sEleIDWP) const
private

Definition at line 581 of file TauSelectionTool.cxx.

582 {
583  if (sEleIDWP == "ELEIDNONE") return int(ELEIDNONE);
584  else if (sEleIDWP == "ELEIDRNNLOOSE") return int(ELEIDRNNLOOSE);
585  else if (sEleIDWP == "ELEIDRNNMEDIUM") return int(ELEIDRNNMEDIUM);
586  else if (sEleIDWP == "ELEIDRNNTIGHT") return int(ELEIDRNNTIGHT);
587 
588  ATH_MSG_ERROR( "electron ID working point " << sEleIDWP << " is unknown, the EleIDWP cut will not accept any tau!" );
589  return -1;
590 }

◆ convertStrToJetIDWP()

int TauSelectionTool::convertStrToJetIDWP ( const std::string &  sJetIDWP) const
private

Definition at line 564 of file TauSelectionTool.cxx.

565 {
566  if (sJetIDWP == "JETIDNONE") return int(JETIDNONE);
567  else if (sJetIDWP == "JETIDRNNVERYLOOSE") return int(JETIDRNNVERYLOOSE);
568  else if (sJetIDWP == "JETIDRNNLOOSE") return int(JETIDRNNLOOSE);
569  else if (sJetIDWP == "JETIDRNNMEDIUM") return int(JETIDRNNMEDIUM);
570  else if (sJetIDWP == "JETIDRNNTIGHT") return int(JETIDRNNTIGHT);
571  else if (sJetIDWP == "JETIDGNTAUVERYLOOSE") return int(JETIDGNTAUVERYLOOSE);
572  else if (sJetIDWP == "JETIDGNTAULOOSE") return int(JETIDGNTAULOOSE);
573  else if (sJetIDWP == "JETIDGNTAUMEDIUM") return int(JETIDGNTAUMEDIUM);
574  else if (sJetIDWP == "JETIDGNTAUTIGHT") return int(JETIDGNTAUTIGHT);
575 
576  ATH_MSG_ERROR( "jet ID working point "<<sJetIDWP<<" is unknown, the JetIDWP cut will not accept any tau!" );
577  return -1;
578 }

◆ declareGaudiProperty() [1/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T, V, H > &  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, V, H > &  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, V, H > &  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, V, H > &  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  }

◆ 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, V, H > &  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; }

◆ endInputFile()

StatusCode asg::AsgMetadataTool::endInputFile ( )
protectedvirtualinherited

Function called when the currently open input file got completely processed.

Dummy implementation that can be overridden by the derived tool.

Reimplemented in BookkeeperTool, BookkeeperDumperTool, xAODMaker::TriggerMenuMetaDataTool, and xAODMaker::TruthMetaDataTool.

Definition at line 193 of file AsgMetadataTool.cxx.

193  {
194 
195  // Return gracefully:
196  return StatusCode::SUCCESS;
197  }

◆ 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

◆ FillRegionVector()

template<typename T , typename U >
void TauSelectionTool::FillRegionVector ( std::vector< T > &  vRegion,
tMin,
tMax 
) const
private

Definition at line 512 of file TauSelectionTool.cxx.

513 {
514  if (!vRegion.empty())
515  return;
516  if (tMin == tMin) // if tMin is NAN, then this assumption fails and -inf is added to the vector
517  vRegion.push_back(tMin);
518  else
519  vRegion.push_back(-std::numeric_limits<T>::infinity());
520 
521  if (tMax == tMax) // if tMax is NAN, then this assumption fails and inf is added to the vector
522  vRegion.push_back(tMax);
523  else
524  vRegion.push_back(std::numeric_limits<T>::infinity());
525 }

◆ FillValueVector()

template<typename T , typename U >
void TauSelectionTool::FillValueVector ( std::vector< T > &  vRegion,
tVal 
) const
private

Definition at line 529 of file TauSelectionTool.cxx.

530 {
531  if (!vRegion.empty())
532  return;
533  if (tVal == tVal) // if tMax is NAN, then this assumption fails and nothing is added to the vector
534  vRegion.push_back(tVal);
535 }

◆ getAcceptInfo()

const asg::AcceptInfo & TauSelectionTool::getAcceptInfo ( ) const
overridevirtual

Get an object describing the "selection steps" of the tool.

Implements IAsgSelectionTool.

Definition at line 372 of file TauSelectionTool.cxx.

373 {
374  return m_aAccept;
375 }

◆ getKey()

SG::sgkey_t asg::AsgTool::getKey ( const void *  ptr) const
inherited

Get the (hashed) key of an object that is in the event store.

This is a bit of a special one. StoreGateSvc and xAOD::TEvent both provide ways for getting the SG::sgkey_t key for an object that is in the store, based on a bare pointer. But they provide different interfaces for doing so.

In order to allow tools to efficiently perform this operation, they can use this helper function.

See also
asg::AsgTool::getName
Parameters
ptrThe bare pointer to the object that the event store should know about
Returns
The hashed key of the object in the store. If not found, an invalid (zero) key.

Definition at line 119 of file AsgTool.cxx.

119  {
120 
121 #ifdef XAOD_STANDALONE
122  // In case we use @c xAOD::TEvent, we have a direct function call
123  // for this.
124  return evtStore()->event()->getKey( ptr );
125 #else
126  const SG::DataProxy* proxy = evtStore()->proxy( ptr );
127  return ( proxy == nullptr ? 0 : proxy->sgkey() );
128 #endif // XAOD_STANDALONE
129  }

◆ getName()

const std::string & asg::AsgTool::getName ( const void *  ptr) const
inherited

Get the name of an object that is / should be in the event store.

This is a bit of a special one. StoreGateSvc and xAOD::TEvent both provide ways for getting the std::string name for an object that is in the store, based on a bare pointer. But they provide different interfaces for doing so.

In order to allow tools to efficiently perform this operation, they can use this helper function.

See also
asg::AsgTool::getKey
Parameters
ptrThe bare pointer to the object that the event store should know about
Returns
The string name of the object in the store. If not found, an empty string.

Definition at line 106 of file AsgTool.cxx.

106  {
107 
108 #ifdef XAOD_STANDALONE
109  // In case we use @c xAOD::TEvent, we have a direct function call
110  // for this.
111  return evtStore()->event()->getName( ptr );
112 #else
113  const SG::DataProxy* proxy = evtStore()->proxy( ptr );
114  static const std::string dummy = "";
115  return ( proxy == nullptr ? dummy : proxy->name() );
116 #endif // XAOD_STANDALONE
117  }

◆ getProperty()

template<class T >
const T* asg::AsgTool::getProperty ( const std::string &  name) const
inherited

Get one of the tool's properties.

◆ handle()

void asg::AsgMetadataTool::handle ( const Incident &  inc)
protectedvirtualinherited

Function receiving incidents from IncidentSvc/TEvent.

Reimplemented in Trig::TrigDecisionTool.

Definition at line 135 of file AsgMetadataTool.cxx.

135  {
136 
137  // Tell the user what's happening:
138  ATH_MSG_VERBOSE( "Callback received with incident: " << inc.type() );
139 
140  // Call the appropriate member function:
141  if( inc.type() == IncidentType::BeginInputFile ) {
142  m_beginInputFileCalled = true;
143  if( beginInputFile().isFailure() ) {
144  ATH_MSG_FATAL( "Failed to call beginInputFile()" );
145  throw std::runtime_error( "Couldn't call beginInputFile()" );
146  }
147  } else if( inc.type() == IncidentType::EndInputFile ) {
148  if( endInputFile().isFailure() ) {
149  ATH_MSG_FATAL( "Failed to call endInputFile()" );
150  throw std::runtime_error( "Couldn't call endInputFile()" );
151  }
152  } else if( inc.type() == IncidentType::BeginEvent ) {
153  // If the tool didn't catch the begin input file incident for the
154  // first input file of the job, then call the appropriate function
155  // now.
156  if( ! m_beginInputFileCalled ) {
157  m_beginInputFileCalled = true;
158  if( beginInputFile().isFailure() ) {
159  ATH_MSG_FATAL( "Failed to call beginInputFile()" );
160  throw std::runtime_error( "Couldn't call beginInputFile()" );
161  }
162  }
163  if( beginEvent().isFailure() ) {
164  ATH_MSG_FATAL( "Failed to call beginEvent()" );
165  throw std::runtime_error( "Couldn't call beginEvent()" );
166  }
167 
168  #ifdef XAOD_STANDALONE
169  } else if( inc.type() == IncidentType::MetaDataStop ) {
170  if( metaDataStop().isFailure() ) {
171  ATH_MSG_FATAL( "Failed to call metaDataStop()" );
172  throw std::runtime_error( "Couldn't call metaDataStop()" );
173  }
174 
175  #endif // XAOD_STANDALONE
176  } else {
177  ATH_MSG_WARNING( "Unknown incident type received in AsgMetaDataTool: " << inc.type() );
178  }
179 
180  return;
181  }

◆ initialize()

StatusCode TauSelectionTool::initialize ( )
overridevirtual

Function initialising the tool.

Implements TauAnalysisTools::ITauSelectionTool.

Definition at line 35 of file TauSelectionTool.cxx.

36 {
37 
38  m_vPtRegion = m_vecPtRegion.value();
40  m_vAbsCharges = m_vecAbsCharges.value();
41  m_vNTracks = m_vecNTracks.value();
45 
46  bool bConfigViaConfigFile = !m_sConfigPath.empty();
47  bool bConfigViaProperties = false;
48  if (!bConfigViaProperties and !m_vPtRegion.empty()) bConfigViaProperties = true;
49  if (!bConfigViaProperties and !std::isnan(m_dPtMin.value())) bConfigViaProperties = true;
50  if (!bConfigViaProperties and !std::isnan(m_dPtMax.value())) bConfigViaProperties = true;
51  if (!bConfigViaProperties and !m_vAbsEtaRegion.empty()) bConfigViaProperties = true;
52  if (!bConfigViaProperties and !std::isnan(m_dAbsEtaMin.value())) bConfigViaProperties = true;
53  if (!bConfigViaProperties and !std::isnan(m_dAbsEtaMax.value())) bConfigViaProperties = true;
54  if (!bConfigViaProperties and !m_vAbsCharges.empty()) bConfigViaProperties = true;
55  if (!bConfigViaProperties and !std::isnan(m_iAbsCharge.value())) bConfigViaProperties = true;
56  if (!bConfigViaProperties and !m_vNTracks.empty()) bConfigViaProperties = true;
57  if (!bConfigViaProperties and !std::isnan(m_iNTrack.value())) bConfigViaProperties = true;
58  if (!bConfigViaProperties and !m_vJetRNNSigTransRegion.empty()) bConfigViaProperties = true;
59  if (!bConfigViaProperties and !std::isnan(m_dJetRNNSigTransMin.value())) bConfigViaProperties = true;
60  if (!bConfigViaProperties and !std::isnan(m_dJetRNNSigTransMax.value())) bConfigViaProperties = true;
61  if (!bConfigViaProperties and !m_vGNTauSigTransRegion.empty()) bConfigViaProperties = true;
62  if (!bConfigViaProperties and !std::isnan(m_dGNTauSigTransMin.value())) bConfigViaProperties = true;
63  if (!bConfigViaProperties and !std::isnan(m_dGNTauSigTransMax.value())) bConfigViaProperties = true;
64  if (!bConfigViaProperties and m_iJetIDWP != 0) bConfigViaProperties = true;
65  if (!bConfigViaProperties and !m_vEleRNNSigTransRegion.empty()) bConfigViaProperties = true;
66  if (!bConfigViaProperties and !std::isnan(m_dEleRNNSigTransMin.value())) bConfigViaProperties = true;
67  if (!bConfigViaProperties and !std::isnan(m_dEleRNNSigTransMax.value())) bConfigViaProperties = true;
68  if (!bConfigViaProperties and m_iEleIDWP != 0) bConfigViaProperties = true;
69  if (!bConfigViaProperties and m_bMuonOLR) bConfigViaProperties = true;
70 
71  if (bConfigViaConfigFile and bConfigViaProperties)
72  {
73  ATH_MSG_WARNING("Configured tool via setProperty and configuration file, which may lead to unexpected configuration.");
74  ATH_MSG_WARNING("In doubt check the configuration that is printed when the tool is initialized and the message level is set to debug");
75  ATH_MSG_WARNING("For further details please refer to the documentation:");
76  ATH_MSG_WARNING("https://gitlab.cern.ch/atlas/athena/blob/main/PhysicsAnalysis/TauID/TauAnalysisTools/doc/README-TauSelectionTool.rst");
77  }
78  if (!bConfigViaConfigFile and !bConfigViaProperties)
79  {
80  ATH_MSG_WARNING("No cut configuration provided, the tool will not do anything. For further details please refer to the documentation:");
81  ATH_MSG_WARNING("https://gitlab.cern.ch/atlas/athena/blob/main/PhysicsAnalysis/TauID/TauAnalysisTools/doc/README-TauSelectionTool.rst");
82  return StatusCode::SUCCESS;
83  }
84 
85  if (bConfigViaConfigFile)
86  {
87  TEnv rEnv;
88  std::string sInputFilePath = PathResolverFindCalibFile(m_sConfigPath);
89 
90  if (!testFileForEOFContainsCharacters(sInputFilePath))
91  ATH_MSG_WARNING("Config file for TauSelectionTool with path "<<sInputFilePath<<" does not contain an empty last line. The tool might not be properly configured!");
92 
93  rEnv.ReadFile(sInputFilePath.c_str(),
94  kEnvAll);
95 
96  std::vector<std::string> vCuts;
97  // if Cuts are specified in the config file take these ones, if not take all
98  // specified in the config
99  if (rEnv.Defined("SelectionCuts"))
100  TauAnalysisTools::split(rEnv, "SelectionCuts", ' ', vCuts);
101  else
102  {
103  auto lList = rEnv.GetTable();
104  for( Int_t i = 0; i < lList->GetEntries(); ++i )
105  {
106  vCuts.push_back( lList->At( i )->GetName() );
107  }
108  }
109 
110  int iSelectionCuts = 0;
111 
112  for (const std::string& sCut : vCuts)
113  {
114  if (sCut == "PtRegion")
115  {
116  iSelectionCuts = iSelectionCuts | CutPt;
117  if (m_vPtRegion.empty())
118  TauAnalysisTools::split(rEnv,"PtRegion", ';', m_vPtRegion);
119  }
120  else if (sCut == "PtMin")
121  {
122  iSelectionCuts = iSelectionCuts | CutPt;
123  if (std::isnan(m_dPtMin.value()))
124  m_dPtMin = rEnv.GetValue("PtMin",NAN);
125  }
126  else if (sCut == "PtMax")
127  {
128  iSelectionCuts = iSelectionCuts | CutPt;
129  if (std::isnan(m_dPtMax.value()))
130  m_dPtMax = rEnv.GetValue("PtMax",NAN);
131  }
132  else if (sCut == "AbsEtaRegion")
133  {
134  iSelectionCuts = iSelectionCuts | CutAbsEta;
135  if (m_vAbsEtaRegion.empty())
136  TauAnalysisTools::split(rEnv,"AbsEtaRegion", ';', m_vAbsEtaRegion);
137  }
138  else if (sCut == "AbsEtaMin")
139  {
140  iSelectionCuts = iSelectionCuts | CutAbsEta;
141  if (std::isnan(m_dAbsEtaMin.value()))
142  m_dAbsEtaMin = rEnv.GetValue("AbsEtaMin",NAN);
143  }
144  else if (sCut == "AbsEtaMax")
145  {
146  iSelectionCuts = iSelectionCuts | CutAbsEta;
147  if (std::isnan(m_dAbsEtaMax.value()))
148  m_dAbsEtaMax = rEnv.GetValue("AbsEtaMax",NAN);
149  }
150  else if (sCut == "AbsCharges")
151  {
152  iSelectionCuts = iSelectionCuts | CutAbsCharge;
153  if (m_vAbsCharges.empty())
154  TauAnalysisTools::split(rEnv,"AbsCharges", ';', m_vAbsCharges);
155  }
156  else if (sCut == "AbsCharge")
157  {
158  iSelectionCuts = iSelectionCuts | CutAbsCharge;
159  if (std::isnan(m_iAbsCharge.value()))
160  m_iAbsCharge = rEnv.GetValue("AbsCharge",NAN);
161  }
162  else if (sCut == "NTracks")
163  {
164  iSelectionCuts = iSelectionCuts | CutNTrack;
165  if (m_vNTracks.empty())
166  TauAnalysisTools::split(rEnv,"NTracks", ';', m_vNTracks);
167  }
168  else if (sCut == "NTrack")
169  {
170  iSelectionCuts = iSelectionCuts | CutNTrack;
171  if (std::isnan(m_iNTrack.value()))
172  m_iNTrack = rEnv.GetValue("NTrack",NAN);
173  }
174  else if (sCut == "JetRNNSigTransRegion")
175  {
176  iSelectionCuts = iSelectionCuts | CutJetRNNScoreSigTrans;
177  if (m_vJetRNNSigTransRegion.empty())
178  TauAnalysisTools::split(rEnv,"JetRNNSigTransRegion", ';', m_vJetRNNSigTransRegion);
179  }
180  else if (sCut == "JetRNNSigTransMin")
181  {
182  iSelectionCuts = iSelectionCuts | CutJetRNNScoreSigTrans;
183  if (std::isnan(m_dJetRNNSigTransMin.value()))
184  m_dJetRNNSigTransMin = rEnv.GetValue("JetRNNSigTransMin",NAN);
185  }
186  else if (sCut == "JetRNNSigTransMax")
187  {
188  iSelectionCuts = iSelectionCuts | CutJetRNNScoreSigTrans;
189  if (std::isnan(m_dJetRNNSigTransMax.value()))
190  m_dJetRNNSigTransMax = rEnv.GetValue("JetRNNSigTransMax",NAN);
191  }
192  else if (sCut == "GNTauSigTransRegion")
193  {
194  iSelectionCuts = iSelectionCuts | CutGNTauScoreSigTrans;
195  if (m_vGNTauSigTransRegion.empty())
196  TauAnalysisTools::split(rEnv,"GNTauSigTransRegion", ';', m_vGNTauSigTransRegion);
197 
198  // check if using GNTau
199  m_useGNTau = true;
200  }
201  else if (sCut == "GNTauSigTransMin")
202  {
203  iSelectionCuts = iSelectionCuts | CutGNTauScoreSigTrans;
204  if (std::isnan(m_dGNTauSigTransMin.value()))
205  m_dGNTauSigTransMin = rEnv.GetValue("GNTauSigTransMin",NAN);
206 
207  // check if using GNTau
208  m_useGNTau = true;
209  }
210  else if (sCut == "GNTauSigTransMax")
211  {
212  iSelectionCuts = iSelectionCuts | CutGNTauScoreSigTrans;
213  if (std::isnan(m_dGNTauSigTransMax.value()))
214  m_dGNTauSigTransMax = rEnv.GetValue("GNTauSigTransMax",NAN);
215 
216  // check if using GNTau
217  m_useGNTau = true;
218  }
219  else if (sCut == "EleRNNSigTransRegion")
220  {
221  iSelectionCuts = iSelectionCuts | CutEleRNNScoreSigTrans;
222  if (m_vEleRNNSigTransRegion.empty())
223  TauAnalysisTools::split(rEnv,"EleRNNRegion", ';', m_vEleRNNSigTransRegion);
224  }
225  else if (sCut == "EleRNNSigTransMin")
226  {
227  iSelectionCuts = iSelectionCuts | CutEleRNNScoreSigTrans;
228  if (std::isnan(m_dEleRNNSigTransMin.value()))
229  m_dEleRNNSigTransMin = rEnv.GetValue("EleRNNSigTransMin",NAN);
230  }
231  else if (sCut == "EleRNNSigTransMax")
232  {
233  iSelectionCuts = iSelectionCuts | CutEleRNNScoreSigTrans;
234  if (std::isnan(m_dEleRNNSigTransMax.value()))
235  m_dEleRNNSigTransMax = rEnv.GetValue("EleRNNSigTransMax",NAN);
236  }
237  else if (sCut == "JetIDWP")
238  {
239  iSelectionCuts = iSelectionCuts | CutJetIDWP;
241  m_iJetIDWP = convertStrToJetIDWP(rEnv.GetValue("JetIDWP","JETIDNONE"));
242  }
243 
244  // check for possible mis-config in Tau selection
245  for (const std::string& checkCut : vCuts){
246  if (checkCut.find("SigTrans") != std::string::npos) {
247  ATH_MSG_ERROR("Misconfig due to JetIDWP and SigTrans cuts both present in the config file. Please CHECK carefully config file again");
248  return StatusCode::FAILURE;
249  }
250  }
251  }
252  else if (sCut == "EleIDWP")
253  {
254  iSelectionCuts = iSelectionCuts | CutEleIDWP;
256  m_iEleIDWP = convertStrToEleIDWP(rEnv.GetValue("EleIDWP","ELEIDNONE"));
257  }
258  else if (sCut == "MuonOLR")
259  {
260  iSelectionCuts = iSelectionCuts | CutMuonOLR;
261  if (!m_bMuonOLR)
262  m_bMuonOLR = rEnv.GetValue("MuonOLR",false);
263  }
264  else ATH_MSG_WARNING("Cut " << sCut << " is not available");
265  }
266 
267  if (m_iSelectionCuts == NoCut)
268  m_iSelectionCuts = iSelectionCuts;
269  }
270 
273 
274  // check if using GNTau
275  if(m_sJetIDWP.find("GNTAU") != std::string::npos)
276  m_useGNTau = true;
277 
278  // initialise the ReadHandleKey of the muon container when the muon veto is applied
280 
281  ATH_CHECK( m_tauContainerKey.initialize() );
282 
283  // initialise the ReadDecorHandleKey if GNTau is applied
284  if (m_useGNTau) {
285  ATH_CHECK( m_GNTauDecorKey.assign(m_tauContainerKey.key()+".GNTauScoreSigTrans_v0prune"));
286  }
287  ATH_CHECK( m_GNTauDecorKey.initialize( m_useGNTau ) );
288 
289  // initialise the ReadDecorHandleKey if eVeto is applied
291  ATH_CHECK( m_eVetoDecorKey.assign(m_tauContainerKey.key()+".RNNEleScoreSigTrans_v"+std::to_string(m_iEleIDVersion)) );
292  }
294 
295  // specify all available cut descriptions
296  using map_type = std::map<SelectionCuts, std::unique_ptr<TauAnalysisTools::TauSelectionCut>>;
297  using pair_type = map_type::value_type;
298 
299  pair_type elements[] =
300  {
301  {CutPt, std::make_unique<TauAnalysisTools::TauSelectionCutPt>(this)},
302  {CutAbsEta, std::make_unique<TauAnalysisTools::TauSelectionCutAbsEta>(this)},
303  {CutAbsCharge, std::make_unique<TauAnalysisTools::TauSelectionCutAbsCharge>(this)},
304  {CutNTrack, std::make_unique<TauAnalysisTools::TauSelectionCutNTracks>(this)},
305  {CutJetRNNScoreSigTrans, std::make_unique<TauAnalysisTools::TauSelectionCutRNNJetScoreSigTrans>(this)},
306  {CutGNTauScoreSigTrans, std::make_unique<TauAnalysisTools::TauSelectionCutGNTauScoreSigTrans>(this)},
307  {CutJetIDWP, std::make_unique<TauAnalysisTools::TauSelectionCutJetIDWP>(this)},
308  {CutEleRNNScoreSigTrans, std::make_unique<TauAnalysisTools::TauSelectionCutRNNEleScoreSigTrans>(this)},
309  {CutEleIDWP, std::make_unique<TauAnalysisTools::TauSelectionCutEleIDWP>(this)},
310  {CutMuonOLR, std::make_unique<TauAnalysisTools::TauSelectionCutMuonOLR>(this)}
311  };
312 
313  m_cMap = { std::make_move_iterator( begin(elements) ), std::make_move_iterator( end(elements) ) };
314 
315  ATH_MSG_INFO( "Initializing TauSelectionTool" );
316  FillRegionVector(m_vPtRegion, m_dPtMin.value(), m_dPtMax.value());
323 
326  PrintConfigValue ("AbsCharge", m_vAbsCharges);
327  PrintConfigValue ("NTrack", m_vNTracks);
328  PrintConfigRegion ("RNNJetScoreSigTrans", m_vJetRNNSigTransRegion);
329  PrintConfigRegion ("GNTauScoreSigTrans", m_vGNTauSigTransRegion);
330  PrintConfigRegion ("RNNEleScoreSigTrans", m_vEleRNNSigTransRegion);
331  PrintConfigValue ("JetIDWP", m_sJetIDWP);
332  PrintConfigValue ("JetIDWP ENUM",m_iJetIDWP);
333  PrintConfigValue ("EleIDWP", m_sEleIDWP);
334  PrintConfigValue ("EleIDWP ENUM",m_iEleIDWP);
335  PrintConfigValue ("EleIDVersion",m_iEleIDVersion);
336  PrintConfigValue ("MuonOLR", m_bMuonOLR);
337 
338  std::string sCuts = "";
339  if (m_iSelectionCuts & CutPt) sCuts += "Pt ";
340  if (m_iSelectionCuts & CutAbsEta) sCuts += "AbsEta ";
341  if (m_iSelectionCuts & CutAbsCharge) sCuts += "AbsCharge ";
342  if (m_iSelectionCuts & CutNTrack) sCuts += "NTrack ";
343  if (m_iSelectionCuts & CutJetRNNScoreSigTrans) sCuts += "JetRNNScoreSigTrans ";
344  if (m_iSelectionCuts & CutGNTauScoreSigTrans) sCuts += "GNTauScoreSigTrans ";
345  if (m_iSelectionCuts & CutJetIDWP) sCuts += "JetIDWP ";
346  if (m_iSelectionCuts & CutEleRNNScoreSigTrans) sCuts += "EleRNNScoreSigTrans ";
347  if (m_iSelectionCuts & CutEleIDWP) sCuts += "EleIDWP ";
348  if (m_iSelectionCuts & CutMuonOLR) sCuts += "MuonOLR ";
349 
350  ATH_MSG_DEBUG( "cuts: " << sCuts);
351 
354 
355  for ( const auto& entry : m_cMap ) {
356  if ( m_iSelectionCuts &entry.first ) {
357  entry.second->setAcceptInfo(m_aAccept);
358  }
359  }
360 
361  return StatusCode::SUCCESS;
362 }

◆ 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.

◆ inputMetaStore()

AsgMetadataTool::MetaStorePtr_t asg::AsgMetadataTool::inputMetaStore ( ) const
inherited

Accessor for the input metadata store.

Definition at line 93 of file AsgMetadataTool.cxx.

93  {
94 
95 #ifdef XAOD_STANDALONE
96  return &m_inputMetaStore;
97 #else // XAOD_STANDALONE
98  return m_inputMetaStore;
99 #endif // XAOD_STANDALONE
100  }

◆ metaDataStop()

StatusCode asg::AsgMetadataTool::metaDataStop ( )
protectedvirtualinherited

Function called when the tool should write out its metadata.

Dummy implementation that can be overridden by the derived tool.

Reimplemented in BookkeeperTool, BookkeeperDumperTool, xAODMaker::TriggerMenuMetaDataTool, and xAODMaker::TruthMetaDataTool.

Definition at line 209 of file AsgMetadataTool.cxx.

209  {
210 
211  // Return gracefully:
212  return StatusCode::SUCCESS;
213  }

◆ 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  }

◆ msg_level_name()

const std::string & asg::AsgTool::msg_level_name ( ) const
inherited

A deprecated function for getting the message level's name.

Instead of using this, weirdly named function, user code should get the string name of the current minimum message level (in case they really need it...), with:

MSG::name( msg().level() )

This function's name doesn't follow the ATLAS coding rules, and as such will be removed in the not too distant future.

Returns
The string name of the current minimum message level that's printed

Definition at line 101 of file AsgTool.cxx.

101  {
102 
103  return MSG::name( msg().level() );
104  }

◆ 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.

◆ outputMetaStore()

AsgMetadataTool::MetaStorePtr_t asg::AsgMetadataTool::outputMetaStore ( ) const
inherited

Accessor for the output metadata store.

Definition at line 102 of file AsgMetadataTool.cxx.

102  {
103 
104 #ifdef XAOD_STANDALONE
105  return &m_outputMetaStore;
106 #else // XAOD_STANDALONE
107  return m_outputMetaStore;
108 #endif // XAOD_STANDALONE
109  }

◆ print() [1/2]

void asg::AsgTool::print ( ) const
virtualinherited

◆ print() [2/2]

virtual void asg::IAsgTool::print ( ) const
pure virtualinherited

◆ PrintConfigRegion()

template<typename T >
void TauSelectionTool::PrintConfigRegion ( const std::string &  sCutName,
std::vector< T > &  vRegion 
) const
private

Definition at line 539 of file TauSelectionTool.cxx.

540 {
541  unsigned int iNumRegion = vRegion.size()/2;
542  for( unsigned int iRegion = 0; iRegion < iNumRegion; iRegion++ )
543  {
544  ATH_MSG_DEBUG( sCutName<<": " << vRegion.at(iRegion*2) << " to " << vRegion.at(iRegion*2+1) );
545  }
546 }

◆ PrintConfigValue() [1/2]

template<typename T >
void TauSelectionTool::PrintConfigValue ( const std::string &  sCutName,
std::vector< T > &  vRegion 
) const
private

Definition at line 550 of file TauSelectionTool.cxx.

551 {
552  for (auto tVal : vRegion)
553  ATH_MSG_DEBUG( sCutName<<": " << tVal );
554 }

◆ PrintConfigValue() [2/2]

template<typename T >
void TauSelectionTool::PrintConfigValue ( const std::string &  sCutName,
T &  sVal 
) const
private

Definition at line 558 of file TauSelectionTool.cxx.

559 {
560  ATH_MSG_DEBUG( sCutName<<": " << tVal );
561 }

◆ 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  }

◆ setOutFile()

void TauSelectionTool::setOutFile ( TFile *  fOutFile)
overridevirtual

Set output file for control histograms.

Implements TauAnalysisTools::ITauSelectionTool.

Definition at line 463 of file TauSelectionTool.cxx.

464 {
465  m_fOutFile = fOutFile;
466 }

◆ setupCutFlowHistogram()

void TauSelectionTool::setupCutFlowHistogram ( )
private

Definition at line 488 of file TauSelectionTool.cxx.

489 {
490  // count number of cuts
491  int iNBins = 0;
492  for (const auto& entry : m_cMap)
493  if (m_iSelectionCuts & entry.first)
494  iNBins++;
495  // create cutflow histogram with iNBins+1 bins, where first bin is 'All' bin
496  m_hCutFlow = std::make_shared<TH1F>("hCutFlow","CutFlow;; events",iNBins+1,0,iNBins+1);
497  m_hCutFlow->GetXaxis()->SetBinLabel(1,"All");
498 
499  // reusing this variable to reduce overhead
500  iNBins = 2;
501  // set bin labels
502  for (const auto& entry : m_cMap)
503  if (m_iSelectionCuts & entry.first)
504  {
505  m_hCutFlow->GetXaxis()->SetBinLabel(iNBins, entry.second->getName().c_str());
506  iNBins++;
507  }
508 }

◆ setUseIncidents()

void asg::AsgMetadataTool::setUseIncidents ( const bool  flag)
inlineprotectedinherited

Definition at line 132 of file AsgMetadataTool.h.

133  {
135  }

◆ sysInitialize()

StatusCode asg::AsgMetadataTool::sysInitialize ( )
virtualinherited

Function initialising the tool in the correct way in Athena.

This function is used to set up the callbacks from IncidentSvc in Athena at the right time during initialisation, without the user having to do anything special in his/her code.

Reimplemented from AthCommonDataStore< AthCommonMsg< AlgTool > >.

Definition at line 115 of file AsgMetadataTool.cxx.

115  {
116 
117 #ifndef XAOD_STANDALONE
118  if (m_useIncidents) {
119  // Connect to the IncidentSvc:
120  ServiceHandle< IIncidentSvc > incSvc( "IncidentSvc", name() );
121  ATH_CHECK( incSvc.retrieve() );
122 
123  // Set up the right callbacks: don't rethrow exceptions, any failure and we should end
124  incSvc->addListener( this, IncidentType::BeginEvent, 0, false );
125  }
126  // Let the base class do its thing:
127  ATH_CHECK( AlgTool::sysInitialize() );
128 
129 #endif // not XAOD_STANDALONE
130 
131  // Return gracefully:
132  return StatusCode::SUCCESS;
133  }

◆ 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  }

◆ writeControlHistograms()

void TauSelectionTool::writeControlHistograms ( )
overridevirtual

Write control histograms to output file.

create output directory

write cutflow histogram

Implements TauAnalysisTools::ITauSelectionTool.

Definition at line 469 of file TauSelectionTool.cxx.

470 {
472  ATH_MSG_WARNING("CreateControlPlots was set to true, but no valid file pointer was provided");
474  {
476  m_fOutFile->mkdir((this->name()+"_control").c_str());
477  m_fOutFile->cd((this->name()+"_control").c_str());
479  m_hCutFlow->Write();
480 
481  for (const auto& entry : m_cMap)
482  entry.second->writeControlHistograms();
483  }
484 }

Friends And Related Function Documentation

◆ TauSelectionCut

friend class TauSelectionCut
friend

need to define cut classes to be friends to access protected variables, needed for access of cut thresholds

Definition at line 58 of file TauSelectionTool.h.

◆ TauSelectionCutAbsCharge

friend class TauSelectionCutAbsCharge
friend

Definition at line 61 of file TauSelectionTool.h.

◆ TauSelectionCutAbsEta

friend class TauSelectionCutAbsEta
friend

Definition at line 60 of file TauSelectionTool.h.

◆ TauSelectionCutEleIDWP

friend class TauSelectionCutEleIDWP
friend

Definition at line 67 of file TauSelectionTool.h.

◆ TauSelectionCutGNTauScoreSigTrans

friend class TauSelectionCutGNTauScoreSigTrans
friend

Definition at line 65 of file TauSelectionTool.h.

◆ TauSelectionCutJetIDWP

friend class TauSelectionCutJetIDWP
friend

Definition at line 63 of file TauSelectionTool.h.

◆ TauSelectionCutMuonOLR

friend class TauSelectionCutMuonOLR
friend

Definition at line 68 of file TauSelectionTool.h.

◆ TauSelectionCutNTracks

friend class TauSelectionCutNTracks
friend

Definition at line 62 of file TauSelectionTool.h.

◆ TauSelectionCutPt

friend class TauSelectionCutPt
friend

Definition at line 59 of file TauSelectionTool.h.

◆ TauSelectionCutRNNEleScoreSigTrans

Definition at line 66 of file TauSelectionTool.h.

◆ TauSelectionCutRNNJetScoreSigTrans

Definition at line 64 of file TauSelectionTool.h.

Member Data Documentation

◆ m_aAccept

asg::AcceptInfo TauAnalysisTools::TauSelectionTool::m_aAccept
protected

Object used to store selection information.

Definition at line 190 of file TauSelectionTool.h.

◆ m_bCreateControlPlots

Gaudi::Property<bool> TauAnalysisTools::TauSelectionTool::m_bCreateControlPlots {this, "CreateControlPlots", false}
protected

Definition at line 187 of file TauSelectionTool.h.

◆ m_beginInputFileCalled

bool asg::AsgMetadataTool::m_beginInputFileCalled
privateinherited

Flag helping to discover when the tool misses the opening of the first input file.

Definition at line 126 of file AsgMetadataTool.h.

◆ m_bMuonOLR

Gaudi::Property<bool> TauAnalysisTools::TauSelectionTool::m_bMuonOLR {this, "MuonOLR", false}
private

Definition at line 155 of file TauSelectionTool.h.

◆ m_cMap

std::map<SelectionCuts, std::unique_ptr<TauAnalysisTools::TauSelectionCut> > TauAnalysisTools::TauSelectionTool::m_cMap
private

Definition at line 177 of file TauSelectionTool.h.

◆ m_dAbsEtaMax

Gaudi::Property<float> TauAnalysisTools::TauSelectionTool::m_dAbsEtaMax {this, "AbsEtaMax", NAN}
private

Definition at line 143 of file TauSelectionTool.h.

◆ m_dAbsEtaMin

Gaudi::Property<float> TauAnalysisTools::TauSelectionTool::m_dAbsEtaMin {this, "AbsEtaMin", NAN}
private

Definition at line 142 of file TauSelectionTool.h.

◆ m_dEleRNNSigTransMax

Gaudi::Property<float> TauAnalysisTools::TauSelectionTool::m_dEleRNNSigTransMax {this, "EleRNNSigTransMax", NAN}
private

Definition at line 151 of file TauSelectionTool.h.

◆ m_dEleRNNSigTransMin

Gaudi::Property<float> TauAnalysisTools::TauSelectionTool::m_dEleRNNSigTransMin {this, "EleRNNSigTransMin", NAN}
private

Definition at line 150 of file TauSelectionTool.h.

◆ 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_dGNTauSigTransMax

Gaudi::Property<float> TauAnalysisTools::TauSelectionTool::m_dGNTauSigTransMax {this, "GNTauSigTransMax", NAN}
private

Definition at line 148 of file TauSelectionTool.h.

◆ m_dGNTauSigTransMin

Gaudi::Property<float> TauAnalysisTools::TauSelectionTool::m_dGNTauSigTransMin {this, "GNTauSigTransMin", NAN}
private

Definition at line 147 of file TauSelectionTool.h.

◆ m_dJetRNNSigTransMax

Gaudi::Property<float> TauAnalysisTools::TauSelectionTool::m_dJetRNNSigTransMax {this, "JetRNNSigTransMax", NAN}
private

Definition at line 146 of file TauSelectionTool.h.

◆ m_dJetRNNSigTransMin

Gaudi::Property<float> TauAnalysisTools::TauSelectionTool::m_dJetRNNSigTransMin {this, "JetRNNSigTransMin", NAN}
private

Definition at line 145 of file TauSelectionTool.h.

◆ m_dPtMax

Gaudi::Property<float> TauAnalysisTools::TauSelectionTool::m_dPtMax {this, "PtMax", NAN}
private

Definition at line 141 of file TauSelectionTool.h.

◆ m_dPtMin

Gaudi::Property<float> TauAnalysisTools::TauSelectionTool::m_dPtMin {this, "PtMin", NAN}
private

Definition at line 140 of file TauSelectionTool.h.

◆ m_eVetoDecorKey

SG::ReadDecorHandleKey<xAOD::TauJetContainer> TauAnalysisTools::TauSelectionTool::m_eVetoDecorKey {this, "eVetoDecorName", "", "Name of eVeto decoration"}
private

Definition at line 174 of file TauSelectionTool.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_fOutFile

TFile* TauAnalysisTools::TauSelectionTool::m_fOutFile
protected

Definition at line 166 of file TauSelectionTool.h.

◆ m_GNTauDecorKey

SG::ReadDecorHandleKey<xAOD::TauJetContainer> TauAnalysisTools::TauSelectionTool::m_GNTauDecorKey {this, "GNTauDecorName", "", "Name of GnTauID decoration"}
private

Definition at line 175 of file TauSelectionTool.h.

◆ m_hCutFlow

std::shared_ptr<TH1F> TauAnalysisTools::TauSelectionTool::m_hCutFlow
protected

Definition at line 167 of file TauSelectionTool.h.

◆ m_iAbsCharge

Gaudi::Property<float> TauAnalysisTools::TauSelectionTool::m_iAbsCharge {this, "AbsCharge", NAN}
private

Definition at line 144 of file TauSelectionTool.h.

◆ m_iEleIDVersion

Gaudi::Property<int> TauAnalysisTools::TauSelectionTool::m_iEleIDVersion {this, "EleIDVersion", 1}
private

Definition at line 154 of file TauSelectionTool.h.

◆ m_iEleIDWP

Gaudi::Property<int> TauAnalysisTools::TauSelectionTool::m_iEleIDWP {this, "EleIDWP", 0}
private

Definition at line 153 of file TauSelectionTool.h.

◆ m_iJetIDWP

Gaudi::Property<int> TauAnalysisTools::TauSelectionTool::m_iJetIDWP {this, "JetIDWP", 0}
private

Definition at line 152 of file TauSelectionTool.h.

◆ m_inputMetaStore

MetaStore_t asg::AsgMetadataTool::m_inputMetaStore
privateinherited

Object accessing the input metadata store.

Definition at line 119 of file AsgMetadataTool.h.

◆ m_iNTrack

Gaudi::Property<float> TauAnalysisTools::TauSelectionTool::m_iNTrack {this, "NTrack", NAN}
private

Definition at line 149 of file TauSelectionTool.h.

◆ m_iSelectionCuts

Gaudi::Property<int> TauAnalysisTools::TauSelectionTool::m_iSelectionCuts {this, "SelectionCuts", NoCut}
private

Definition at line 139 of file TauSelectionTool.h.

◆ m_muonContainerKey

SG::ReadHandleKey<xAOD::MuonContainer> TauAnalysisTools::TauSelectionTool::m_muonContainerKey {this, "MuonContainerName", "Muons", "Muon container name"}
private

Definition at line 172 of file TauSelectionTool.h.

◆ m_outputMetaStore

MetaStore_t asg::AsgMetadataTool::m_outputMetaStore
privateinherited

Object accessing the output metadata store.

Definition at line 121 of file AsgMetadataTool.h.

◆ m_sConfigPath

Gaudi::Property<std::string> TauAnalysisTools::TauSelectionTool::m_sConfigPath {this, "ConfigPath", "TauAnalysisTools/"+std::string(sSharedFilesVersion)+"/Selection/recommended_selection_r22.conf"}
private

Definition at line 171 of file TauSelectionTool.h.

◆ m_sEleIDWP

std::string TauAnalysisTools::TauSelectionTool::m_sEleIDWP
private

Definition at line 136 of file TauSelectionTool.h.

◆ m_sJetIDWP

std::string TauAnalysisTools::TauSelectionTool::m_sJetIDWP
private

Definition at line 131 of file TauSelectionTool.h.

◆ m_tauContainerKey

SG::ReadHandleKey<xAOD::TauJetContainer> TauAnalysisTools::TauSelectionTool::m_tauContainerKey {this, "TauContainerName", "TauJets", "Tau container name"}
private

Definition at line 173 of file TauSelectionTool.h.

◆ m_useGNTau

bool TauAnalysisTools::TauSelectionTool::m_useGNTau =false
private

Definition at line 132 of file TauSelectionTool.h.

◆ m_useIncidents

bool asg::AsgMetadataTool::m_useIncidents
privateinherited

Definition at line 128 of file AsgMetadataTool.h.

◆ m_vAbsCharges

std::vector<int> TauAnalysisTools::TauSelectionTool::m_vAbsCharges
private

Definition at line 123 of file TauSelectionTool.h.

◆ m_vAbsEtaRegion

std::vector<float> TauAnalysisTools::TauSelectionTool::m_vAbsEtaRegion
private

Definition at line 121 of file TauSelectionTool.h.

◆ m_varHandleArraysDeclared

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

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vecAbsCharges

Gaudi::Property<std::vector<int> > TauAnalysisTools::TauSelectionTool::m_vecAbsCharges {this, "AbsCharges", {}}
private

Definition at line 159 of file TauSelectionTool.h.

◆ m_vecAbsEtaRegion

Gaudi::Property<std::vector<float> > TauAnalysisTools::TauSelectionTool::m_vecAbsEtaRegion {this, "AbsEtaRegion",{}}
private

Definition at line 158 of file TauSelectionTool.h.

◆ m_vecEleRNNSigTransRegion

Gaudi::Property<std::vector<float> > TauAnalysisTools::TauSelectionTool::m_vecEleRNNSigTransRegion {this, "EleRNNSigTransRegion", {}}
private

Definition at line 163 of file TauSelectionTool.h.

◆ m_vecGNTauSigTransRegion

Gaudi::Property<std::vector<float> > TauAnalysisTools::TauSelectionTool::m_vecGNTauSigTransRegion {this, "GNTauSigTransRegion", {}}
private

Definition at line 162 of file TauSelectionTool.h.

◆ m_vecJetRNNSigTransRegion

Gaudi::Property<std::vector<float> > TauAnalysisTools::TauSelectionTool::m_vecJetRNNSigTransRegion {this, "JetRNNSigTransRegion", {}}
private

Definition at line 161 of file TauSelectionTool.h.

◆ m_vecNTracks

Gaudi::Property<std::vector<unsigned> > TauAnalysisTools::TauSelectionTool::m_vecNTracks {this, "NTracks", {}}
private

Definition at line 160 of file TauSelectionTool.h.

◆ m_vecPtRegion

Gaudi::Property<std::vector<float> > TauAnalysisTools::TauSelectionTool::m_vecPtRegion {this, "PtRegion", {}}
private

Definition at line 157 of file TauSelectionTool.h.

◆ m_vEleRNNSigTransRegion

std::vector<float> TauAnalysisTools::TauSelectionTool::m_vEleRNNSigTransRegion
private

Definition at line 134 of file TauSelectionTool.h.

◆ m_vGNTauSigTransRegion

std::vector<float> TauAnalysisTools::TauSelectionTool::m_vGNTauSigTransRegion
private

Definition at line 129 of file TauSelectionTool.h.

◆ m_vhka

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

Definition at line 398 of file AthCommonDataStore.h.

◆ m_vJetRNNSigTransRegion

std::vector<float> TauAnalysisTools::TauSelectionTool::m_vJetRNNSigTransRegion
private

Definition at line 127 of file TauSelectionTool.h.

◆ m_vNTracks

std::vector<unsigned> TauAnalysisTools::TauSelectionTool::m_vNTracks
private

Definition at line 125 of file TauSelectionTool.h.

◆ m_vPtRegion

std::vector<float> TauAnalysisTools::TauSelectionTool::m_vPtRegion
private

Definition at line 119 of file TauSelectionTool.h.


The documentation for this class was generated from the following files:
TauAnalysisTools::TauSelectionTool::m_dAbsEtaMax
Gaudi::Property< float > m_dAbsEtaMax
Definition: TauSelectionTool.h:143
TauAnalysisTools::TauSelectionTool::m_vPtRegion
std::vector< float > m_vPtRegion
Definition: TauSelectionTool.h:119
TauAnalysisTools::CutAbsEta
@ CutAbsEta
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/Enums.h:43
TauAnalysisTools::TauSelectionTool::convertStrToEleIDWP
int convertStrToEleIDWP(const std::string &sEleIDWP) const
Definition: TauSelectionTool.cxx:581
TauAnalysisTools::TauSelectionTool::m_bCreateControlPlots
Gaudi::Property< bool > m_bCreateControlPlots
Definition: TauSelectionTool.h:187
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
asg::AsgMetadataTool::beginEvent
virtual StatusCode beginEvent()
Function called when a new events is loaded.
Definition: AsgMetadataTool.cxx:201
TauAnalysisTools::ELEIDNONEUNCONFIGURED
@ ELEIDNONEUNCONFIGURED
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/Enums.h:31
StateLessPT_NewConfig.proxy
proxy
Definition: StateLessPT_NewConfig.py:407
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
TauAnalysisTools::CutMuonOLR
@ CutMuonOLR
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/Enums.h:50
TauAnalysisTools::TauSelectionTool::setupCutFlowHistogram
void setupCutFlowHistogram()
Definition: TauSelectionTool.cxx:488
TauAnalysisTools::TauSelectionTool::m_sJetIDWP
std::string m_sJetIDWP
Definition: TauSelectionTool.h:131
TauAnalysisTools::JETIDRNNTIGHT
@ JETIDRNNTIGHT
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/Enums.h:22
TauAnalysisTools::TauSelectionTool::m_hCutFlow
std::shared_ptr< TH1F > m_hCutFlow
Definition: TauSelectionTool.h:167
TauAnalysisTools::JETIDRNNMEDIUM
@ JETIDRNNMEDIUM
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/Enums.h:21
TauAnalysisTools::CutEleRNNScoreSigTrans
@ CutEleRNNScoreSigTrans
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/Enums.h:48
TauAnalysisTools::TauSelectionTool::m_dPtMin
Gaudi::Property< float > m_dPtMin
Definition: TauSelectionTool.h:140
TauAnalysisTools::JETIDGNTAULOOSE
@ JETIDGNTAULOOSE
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/Enums.h:24
PlotCalibFromCool.begin
begin
Definition: PlotCalibFromCool.py:94
TauAnalysisTools::TauSelectionTool::FillRegionVector
void FillRegionVector(std::vector< T > &vRegion, U tMin, U tMax) const
Definition: TauSelectionTool.cxx:512
TauAnalysisTools::TauSelectionTool::m_vJetRNNSigTransRegion
std::vector< float > m_vJetRNNSigTransRegion
Definition: TauSelectionTool.h:127
TauAnalysisTools::TauSelectionTool::m_vGNTauSigTransRegion
std::vector< float > m_vGNTauSigTransRegion
Definition: TauSelectionTool.h:129
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
TauAnalysisTools::JETIDRNNLOOSE
@ JETIDRNNLOOSE
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/Enums.h:20
TauAnalysisTools::TauSelectionTool::m_vecEleRNNSigTransRegion
Gaudi::Property< std::vector< float > > m_vecEleRNNSigTransRegion
Definition: TauSelectionTool.h:163
asg::AsgMetadataTool::m_beginInputFileCalled
bool m_beginInputFileCalled
Flag helping to discover when the tool misses the opening of the first input file.
Definition: AsgMetadataTool.h:126
asg::AsgMetadataTool::endInputFile
virtual StatusCode endInputFile()
Function called when the currently open input file got completely processed.
Definition: AsgMetadataTool.cxx:193
asg::AsgMetadataTool::m_outputMetaStore
MetaStore_t m_outputMetaStore
Object accessing the output metadata store.
Definition: AsgMetadataTool.h:121
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
TauAnalysisTools::TauSelectionTool::m_iNTrack
Gaudi::Property< float > m_iNTrack
Definition: TauSelectionTool.h:149
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition: AthMsgStreamMacros.h:28
dbg::ptr
void * ptr(T *p)
Definition: SGImplSvc.cxx:74
TauAnalysisTools::testFileForEOFContainsCharacters
bool testFileForEOFContainsCharacters(const std::string &sFileName)
returns true if last line in file is empty or the line starts with the number sign
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/Root/HelperFunctions.cxx:279
TauAnalysisTools::TauSelectionTool::m_vecNTracks
Gaudi::Property< std::vector< unsigned > > m_vecNTracks
Definition: TauSelectionTool.h:160
TauAnalysisTools::JETIDNONE
@ JETIDNONE
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/Enums.h:14
TauAnalysisTools::CutJetIDWP
@ CutJetIDWP
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/Enums.h:47
Trk::u
@ u
Enums for curvilinear frames.
Definition: ParamDefs.h:77
TauAnalysisTools::TauSelectionTool::m_iAbsCharge
Gaudi::Property< float > m_iAbsCharge
Definition: TauSelectionTool.h:144
TauAnalysisTools::TauSelectionTool::PrintConfigValue
void PrintConfigValue(const std::string &sCutName, std::vector< T > &vRegion) const
Definition: TauSelectionTool.cxx:550
mergePhysValFiles.end
end
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:92
python.iconfTool.models.loaders.level
level
Definition: loaders.py:20
TauAnalysisTools::TauSelectionTool::m_dEleRNNSigTransMax
Gaudi::Property< float > m_dEleRNNSigTransMax
Definition: TauSelectionTool.h:151
TauAnalysisTools::ELEIDRNNLOOSE
@ ELEIDRNNLOOSE
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/Enums.h:33
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
IDTPMcnv.htype
htype
Definition: IDTPMcnv.py:29
TauAnalysisTools::TauSelectionTool::m_cMap
std::map< SelectionCuts, std::unique_ptr< TauAnalysisTools::TauSelectionCut > > m_cMap
Definition: TauSelectionTool.h:177
TauAnalysisTools::TauSelectionTool::m_iSelectionCuts
Gaudi::Property< int > m_iSelectionCuts
Definition: TauSelectionTool.h:139
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
TauAnalysisTools::TauSelectionTool::FillValueVector
void FillValueVector(std::vector< T > &vRegion, U tVal) const
Definition: TauSelectionTool.cxx:529
AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:85
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:209
AthCommonDataStore
Definition: AthCommonDataStore.h:52
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
TauAnalysisTools::TauSelectionTool::m_bMuonOLR
Gaudi::Property< bool > m_bMuonOLR
Definition: TauSelectionTool.h:155
TauAnalysisTools::JETIDGNTAUVERYLOOSE
@ JETIDGNTAUVERYLOOSE
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/Enums.h:23
TauAnalysisTools::TauSelectionTool::m_dAbsEtaMin
Gaudi::Property< float > m_dAbsEtaMin
Definition: TauSelectionTool.h:142
TauAnalysisTools::ELEIDNONE
@ ELEIDNONE
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/Enums.h:32
TauAnalysisTools::TauSelectionTool::m_dEleRNNSigTransMin
Gaudi::Property< float > m_dEleRNNSigTransMin
Definition: TauSelectionTool.h:150
lumiFormat.i
int i
Definition: lumiFormat.py:85
TauAnalysisTools::TauSelectionTool::m_vecGNTauSigTransRegion
Gaudi::Property< std::vector< float > > m_vecGNTauSigTransRegion
Definition: TauSelectionTool.h:162
TauAnalysisTools::TauSelectionTool::m_iEleIDVersion
Gaudi::Property< int > m_iEleIDVersion
Definition: TauSelectionTool.h:154
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
TauAnalysisTools::TauSelectionTool::convertEleIDWPToStr
std::string convertEleIDWPToStr(int iEleIDWP) const
Definition: TauSelectionTool.cxx:625
AthCommonDataStore::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
Definition: AthCommonDataStore.h:145
xAOD::TauJet_v3
Class describing a tau jet.
Definition: TauJet_v3.h:41
TauAnalysisTools::TauSelectionTool::m_vNTracks
std::vector< unsigned > m_vNTracks
Definition: TauSelectionTool.h:125
TauAnalysisTools::TauSelectionTool::m_useGNTau
bool m_useGNTau
Definition: TauSelectionTool.h:132
TauAnalysisTools::TauSelectionTool::m_fOutFile
TFile * m_fOutFile
Definition: TauSelectionTool.h:166
asg::AsgMetadataTool::beginInputFile
virtual StatusCode beginInputFile()
Function called when a new input file is opened.
Definition: AsgMetadataTool.cxx:185
master.flag
bool flag
Definition: master.py:29
CalibDbCompareRT.dummy
dummy
Definition: CalibDbCompareRT.py:59
TauAnalysisTools::TauSelectionTool::PrintConfigRegion
void PrintConfigRegion(const std::string &sCutName, std::vector< T > &vRegion) const
Definition: TauSelectionTool.cxx:539
TauAnalysisTools::CutGNTauScoreSigTrans
@ CutGNTauScoreSigTrans
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/Enums.h:52
asg::AsgMetadataTool::metaDataStop
virtual StatusCode metaDataStop()
Function called when the tool should write out its metadata.
Definition: AsgMetadataTool.cxx:209
TauAnalysisTools::TauSelectionTool::m_sEleIDWP
std::string m_sEleIDWP
Definition: TauSelectionTool.h:136
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
MSG::name
const std::string & name(Level lvl)
Convenience function for translating message levels to strings.
Definition: MsgLevel.cxx:19
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
TauAnalysisTools::ELEIDRNNMEDIUM
@ ELEIDRNNMEDIUM
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/Enums.h:34
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
GetAllXsec.entry
list entry
Definition: GetAllXsec.py:132
TauAnalysisTools::TauSelectionTool::m_dGNTauSigTransMax
Gaudi::Property< float > m_dGNTauSigTransMax
Definition: TauSelectionTool.h:148
TauAnalysisTools::TauSelectionTool::m_vAbsCharges
std::vector< int > m_vAbsCharges
Definition: TauSelectionTool.h:123
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
asg::AsgMetadataTool::m_inputMetaStore
MetaStore_t m_inputMetaStore
Object accessing the input metadata store.
Definition: AsgMetadataTool.h:119
TauAnalysisTools::CutNTrack
@ CutNTrack
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/Enums.h:45
TauAnalysisTools::ELEIDRNNTIGHT
@ ELEIDRNNTIGHT
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/Enums.h:35
TauAnalysisTools::TauSelectionTool::m_eVetoDecorKey
SG::ReadDecorHandleKey< xAOD::TauJetContainer > m_eVetoDecorKey
Definition: TauSelectionTool.h:174
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
ActsTrk::to_string
std::string to_string(const DetectorType &type)
Definition: GeometryDefs.h:34
TauAnalysisTools::CutJetRNNScoreSigTrans
@ CutJetRNNScoreSigTrans
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/Enums.h:51
TauAnalysisTools::TauSelectionTool::accept
virtual asg::AcceptData accept(const xAOD::IParticle *p) const override
Get the decision using a generic IParticle pointer.
Definition: TauSelectionTool.cxx:378
TauAnalysisTools::TauSelectionTool::m_vecAbsEtaRegion
Gaudi::Property< std::vector< float > > m_vecAbsEtaRegion
Definition: TauSelectionTool.h:158
TauAnalysisTools::TauSelectionTool::m_vAbsEtaRegion
std::vector< float > m_vAbsEtaRegion
Definition: TauSelectionTool.h:121
TauAnalysisTools::TauSelectionTool::convertStrToJetIDWP
int convertStrToJetIDWP(const std::string &sJetIDWP) const
Definition: TauSelectionTool.cxx:564
TauAnalysisTools::CutEleIDWP
@ CutEleIDWP
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/Enums.h:49
PathResolverFindCalibFile
std::string PathResolverFindCalibFile(const std::string &logical_file_name)
Definition: PathResolver.cxx:321
TauAnalysisTools::CutAbsCharge
@ CutAbsCharge
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/Enums.h:46
TauAnalysisTools::TauSelectionTool::m_dJetRNNSigTransMax
Gaudi::Property< float > m_dJetRNNSigTransMax
Definition: TauSelectionTool.h:146
TauAnalysisTools::TauSelectionTool::m_muonContainerKey
SG::ReadHandleKey< xAOD::MuonContainer > m_muonContainerKey
Definition: TauSelectionTool.h:172
TauAnalysisTools::TauSelectionTool::m_GNTauDecorKey
SG::ReadDecorHandleKey< xAOD::TauJetContainer > m_GNTauDecorKey
Definition: TauSelectionTool.h:175
a
TList * a
Definition: liststreamerinfos.cxx:10
h
python.CaloAddPedShiftConfig.int
int
Definition: CaloAddPedShiftConfig.py:45
asg::AsgMetadataTool
Base class for dual-use tools that provide file metadata access.
Definition: AsgMetadataTool.h:48
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
TauAnalysisTools::TauSelectionTool::m_dJetRNNSigTransMin
Gaudi::Property< float > m_dJetRNNSigTransMin
Definition: TauSelectionTool.h:145
TauAnalysisTools::TauSelectionTool::m_dPtMax
Gaudi::Property< float > m_dPtMax
Definition: TauSelectionTool.h:141
AthCommonMsg< AlgTool >::msg
MsgStream & msg() const
Definition: AthCommonMsg.h:24
TauAnalysisTools::TauSelectionTool::m_dGNTauSigTransMin
Gaudi::Property< float > m_dGNTauSigTransMin
Definition: TauSelectionTool.h:147
TauAnalysisTools::TauSelectionTool::m_iJetIDWP
Gaudi::Property< int > m_iJetIDWP
Definition: TauSelectionTool.h:152
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:629
TauAnalysisTools::TauSelectionTool::m_tauContainerKey
SG::ReadHandleKey< xAOD::TauJetContainer > m_tauContainerKey
Definition: TauSelectionTool.h:173
TauAnalysisTools::TauSelectionTool::m_aAccept
asg::AcceptInfo m_aAccept
Object used to store selection information.
Definition: TauSelectionTool.h:190
xAODType::Tau
@ Tau
The object is a tau (jet)
Definition: ObjectType.h:49
TauAnalysisTools::JETIDGNTAUTIGHT
@ JETIDGNTAUTIGHT
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/Enums.h:26
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:801
TauAnalysisTools::JETIDGNTAUMEDIUM
@ JETIDGNTAUMEDIUM
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/Enums.h:25
TauAnalysisTools::NoCut
@ NoCut
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/Enums.h:41
TauAnalysisTools::JETIDRNNVERYLOOSE
@ JETIDRNNVERYLOOSE
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/Enums.h:19
TauAnalysisTools::TauSelectionTool::m_sConfigPath
Gaudi::Property< std::string > m_sConfigPath
Definition: TauSelectionTool.h:171
TauAnalysisTools::CutPt
@ CutPt
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/Enums.h:42
TauAnalysisTools::JETIDNONEUNCONFIGURED
@ JETIDNONEUNCONFIGURED
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/Enums.h:13
asg::AcceptData
Definition: AcceptData.h:30
SG::DataProxy
Definition: DataProxy.h:45
error
Definition: IImpactPoint3dEstimator.h:70
TauAnalysisTools::TauSelectionTool::m_iEleIDWP
Gaudi::Property< int > m_iEleIDWP
Definition: TauSelectionTool.h:153
TauAnalysisTools::TauSelectionTool::convertJetIDWPToStr
std::string convertJetIDWPToStr(int iJetIDWP) const
Definition: TauSelectionTool.cxx:593
TauAnalysisTools::TauSelectionTool::m_vecAbsCharges
Gaudi::Property< std::vector< int > > m_vecAbsCharges
Definition: TauSelectionTool.h:159
TauAnalysisTools::TauSelectionTool::m_vecJetRNNSigTransRegion
Gaudi::Property< std::vector< float > > m_vecJetRNNSigTransRegion
Definition: TauSelectionTool.h:161
TauAnalysisTools::TauSelectionTool::m_vEleRNNSigTransRegion
std::vector< float > m_vEleRNNSigTransRegion
Definition: TauSelectionTool.h:134
fitman.k
k
Definition: fitman.py:528
TauAnalysisTools::TauSelectionTool::m_vecPtRegion
Gaudi::Property< std::vector< float > > m_vecPtRegion
Definition: TauSelectionTool.h:157
ServiceHandle< IIncidentSvc >
TauAnalysisTools::split
void split(const std::string &sInput, const char cDelim, std::vector< std::string > &vOut)
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/Root/HelperFunctions.cxx:23
asg::AsgMetadataTool::m_useIncidents
bool m_useIncidents
Definition: AsgMetadataTool.h:128