|
| virtual StatusCode | initialize () override |
| | Dummy implementation of the initialisation function.
|
| virtual const asg::AcceptInfo & | getAcceptInfo () const override |
| | Declare the interface ID for this pure-virtual interface class to the Athena framework.
|
| virtual asg::AcceptData | accept (const xAOD::IParticle *particle) const override |
| | The main accept method: the actual cuts are applied here.
|
| | AsgTool (const std::string &name) |
| | standard constructor
|
| | AsgTool (const AsgTool &)=delete |
| | standard constructor
|
| virtual void | print () const |
| | Print the state of the tool.
|
| ServiceHandle< StoreGateSvc > & | evtStore () |
| | The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
|
| const ServiceHandle< StoreGateSvc > & | detStore () const |
| | The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
|
| virtual StatusCode | sysInitialize () override |
| | Perform system initialization for an algorithm.
|
| virtual StatusCode | sysStart () override |
| | Handle START transition.
|
| virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| | Return this algorithm's input handles.
|
| virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| | Return this algorithm's output handles.
|
| Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T, V, H > &t) |
| void | updateVHKA (Gaudi::Details::PropertyBase &) |
| MsgStream & | msg () const |
| bool | msgLvl (const MSG::Level lvl) const |
| template<class T> |
| const T * | getProperty (const std::string &name) const |
| | Get one of the tool's properties.
|
| const std::string & | msg_level_name () const __attribute__((deprecated)) |
| | A deprecated function for getting the message level's name.
|
| const std::string & | getName (const void *ptr) const |
| | Get the name of an object that is / should be in the event store.
|
| SG::sgkey_t | getKey (const void *ptr) const |
| | Get the (hashed) key of an object that is in the event store.
|
|
| int | m_minPtCutIndex { -1 } |
| | Index for the minimum pT selection.
|
| int | m_maxPtCutIndex { -1 } |
| | Index for the maximum pT selection.
|
| int | m_minEtaCutIndex { -1 } |
| | Index for the minimum eta selection.
|
| int | m_maxEtaCutIndex { -1 } |
| | Index for the maximum eta selection.
|
| int | m_etaGapCutIndex { -1 } |
| | Index for the eta gap selection.
|
| int | m_minRapidityCutIndex { -1 } |
| | Index for the minimum rapidity selection.
|
| int | m_maxRapidityCutIndex { -1 } |
| | Index for the maximum rapidity selection.
|
| int | m_egammaCastCutIndex { -1 } |
| | Index for the e/gamma casting.
|
| int | m_egammaClusterCutIndex { -1 } |
| | Index for the e/gamma calo-cluster.
|
| int | m_dressedPropertiesIndex { -1 } |
| | Index for the existence of dressed properties.
|
| int | m_jetCastCutIndex { -1 } |
| | Index for the jet casting.
|
| std::atomic< bool > | m_shouldPrintCastWarning {true} |
| | a version of m_printCastWarning that we modify once we printed the warning
|
| std::atomic< bool > | m_shouldPrintClusterWarning {true} |
| | a version of m_printClusterWarning that we modify once we printed the warning
|
| asg::AcceptInfo | m_accept |
| | the asg::AcceptInfo we are using
|
| std::unique_ptr< SG::ConstAccessor< float > > | m_dressedPtAccessor {} |
| | dressed pt and eta accessors
|
| std::unique_ptr< SG::ConstAccessor< float > > | m_dressedEtaAccessor {} |
| StoreGateSvc_t | m_evtStore |
| | Pointer to StoreGate (event store by default)
|
| StoreGateSvc_t | m_detStore |
| | Pointer to StoreGate (detector store by default)
|
| std::vector< SG::VarHandleKeyArray * > | m_vhka |
| bool | m_varHandleArraysDeclared |
| Gaudi::Property< float > | m_minPt {this, "minPt", 0, "minimum pt to require (or 0 for no pt cut)"} |
| | tool properties
|
| Gaudi::Property< float > | m_maxPt {this, "maxPt", 0, "maximum pt to require (or 0 for no pt cut)"} |
| Gaudi::Property< float > | m_minEta {this, "minEta", 0, "minimum abs(eta) to allow (or 0 for no eta cut)"} |
| Gaudi::Property< float > | m_maxEta {this, "maxEta", 0, "maximum abs(eta) to allow (or 0 for no eta cut)"} |
| Gaudi::Property< float > | m_etaGapLow {this, "etaGapLow", 0, "low end of the eta gap"} |
| Gaudi::Property< float > | m_etaGapHigh {this, "etaGapHigh", 0, "high end of the eta gap (or 0 for no eta gap)"} |
| Gaudi::Property< float > | m_minRapidity {this, "minRapidity", 0, "minimum abs(rapidity) to allow (or 0 for no eta cut)"} |
| Gaudi::Property< float > | m_maxRapidity {this, "maxRapidity", 0, "maximum abs(rapidity) to allow (or 0 for no eta cut)"} |
| Gaudi::Property< bool > | m_useClusterEta {this, "useClusterEta", false, "whether to use the cluster eta (for electrons only)"} |
| Gaudi::Property< bool > | m_useDressedProperties {this, "useDressedProperties", false, "whether to use the dressed kinematic properties (for truth particles only)"} |
| Gaudi::Property< bool > | m_useConstituentMomentum {this, "useConstituentMomentum", false, "whether to use the constituent momentum (for jets only) (not for pt)"} |
| Gaudi::Property< bool > | m_printCastWarning {this, "printCastWarning", true, "whether to print a warning/error when the cast fails"} |
| Gaudi::Property< bool > | m_printClusterWarning {this, "printClusterWarning", true, "whether to print a warning/error when the cluster is missing"} |
an IAsgSelectionTool that performs basic pt and eta cut (with an optional eta gap)
This is a very basic selection that needs to happen on all object types to some degree. Instead of doing this separately for each type, it is just one basic tool for all IParticle implementations. Also, this is a tool, not an algorithm, because we already have an algorithm wrapping generic selection tools and there is no benefit to making it an algorithm.
There may be some overlap with the individual selectors for the given object types, but having a tool for this allows to apply it at any point in the algorithm sequence.
Definition at line 34 of file AsgPtEtaSelectionTool.h.
| 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
-
| ptr | The 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
110
111 return evtStore()->event()->getName( ptr );
112#else
114 static const std::string
dummy =
"";
115 return ( proxy ==
nullptr ? dummy :
proxy->name() );
116#endif
117 }
| 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
104 }
const std::string & name(Level lvl)
Convenience function for translating message levels to strings.
| std::atomic<bool> CP::AsgPtEtaSelectionTool::m_shouldPrintCastWarning {true} |
|
mutableprivate |
a version of m_printCastWarning that we modify once we printed the warning
I don't like modifying property values in the tool itself, so I copy it over here and then modify once I print out.
Technically this tool isn't thread-safe due to the use of TAccept, but once we move to master this will be fixed, so this member is already made thread-safe so that we don't trip up on that later.
Definition at line 124 of file AsgPtEtaSelectionTool.h.
| std::atomic<bool> CP::AsgPtEtaSelectionTool::m_shouldPrintClusterWarning {true} |
|
mutableprivate |
a version of m_printClusterWarning that we modify once we printed the warning
I don't like modifying property values in the tool itself, so I copy it over here and then modify once I print out.
Technically this tool isn't thread-safe due to the use of TAccept, but once we move to master this will be fixed, so this member is already made thread-safe so that we don't trip up on that later.
Definition at line 137 of file AsgPtEtaSelectionTool.h.