![]() |
ATLAS Offline Software
|
A specialized SoftDrop tool wrapping fastjet::contrib::RecursiveSoftDrop. More...
#include <JetSoftDropTools.h>
Public Member Functions | |
| StatusCode | initialize () override final |
| Dummy implementation of the initialisation function. | |
| virtual void | insertGroomedJet (const xAOD::Jet &, const PseudoJetContainer &, xAOD::JetContainer &, PseudoJetVector &) const override final |
| virtual std::pair< std::unique_ptr< xAOD::JetContainer >, std::unique_ptr< SG::IAuxStore > > | getJets () const override final |
| Method to build the collection and return it to the caller. | |
| AsgTool (const std::string &name) | |
| Constructor specifying the tool instance's name. | |
| AsgTool (const AsgTool &)=delete | |
| 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 |
| StatusCode | getAndRecordJets (SG::WriteHandle< xAOD::JetContainer > &jetHandle) const |
| Method to allow the client to pass in a WriteHandle for the container and aux container to be recorded, while the client remains free to modify the output but does not need to know the type of the aux container. | |
| virtual StatusCode | initWithOutput (const SG::WriteHandleKey< xAOD::JetContainer > &) |
| Method to allow the client to pass in a WriteHandle during initialisation, in case this is needed for anything... | |
Additional helper functions, not directly mimicking Athena | |
| 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. | |
Protected Member Functions | |
| void | setSoftDropAttributes (xAOD::Jet &groomedjet, int nsdsubjets) const |
| void | renounceArray (SG::VarHandleKeyArray &handlesArray) |
| remove all handles from I/O resolution | |
| 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. | |
Protected Attributes | |
| Gaudi::Property< float > | m_zcut {this, "ZCut", 0.1 , "pT fraction for retaining subjets"} |
| Gaudi::Property< float > | m_beta {this, "Beta", 0.0, "How much to consider angular dependence"} |
| Gaudi::Property< float > | m_R0 {this, "R0", 1.0, "Normalization of angular distance, usually the characteristic jet radius (default R0 = 1)"} |
| Gaudi::Property< bool > | m_saveSDatt {this, "SaveSoftDropAttributes",false, ""} |
| SG::ReadHandleKey< xAOD::JetContainer > | m_inputJetContainer {this, "UngroomedJets", "ungroomedinput", "Input ungroomed jet container"} |
| Handle Input JetContainer (this contains the parent ungroomed jets to be trimmed) | |
| SG::ReadHandleKey< PseudoJetContainer > | m_inputPseudoJets {this, "ParentPseudoJets", "inputpseudojet", "input constituents of parent JetContainer"} |
| This is the input to the parent JetContainer. It is needed in order to re-assign the ghost constituents from the final groomed PJ to the xAOD::Jet. | |
| SG::WriteHandleKey< PseudoJetVector > | m_finalPseudoJets {this, "FinalPseudoJets_DONOTSET", "", "output pseudojets -- autoconfigured name"} |
Private Attributes | |
| Gaudi::Property< int > | m_N {this, "N", 1 , "Number of layers (-1 <> infinite)"} |
A specialized SoftDrop tool wrapping fastjet::contrib::RecursiveSoftDrop.
Definition at line 64 of file JetSoftDropTools.h.
|
deleteinherited |
|
inherited |
Constructor specifying the tool instance's name.
Definition at line 51 of file AsgTool.cxx.
|
inlineinherited |
Definition at line 145 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition at line 95 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition at line 85 of file AthCommonDataStore.h.
|
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
|
inlinevirtualinherited |
Method to allow the client to pass in a WriteHandle for the container and aux container to be recorded, while the client remains free to modify the output but does not need to know the type of the aux container.
Every class derived from IJetProvider needs to implement the record, providing the explicit type – we should give StoreGate maximal information rather than recording AuxContainerBase
The recommended solution is for the concrete tool to inherit from the templated JetProvider class provided below.
Implements IJetProvider.
Definition at line 81 of file IJetProvider.h.
|
finaloverridevirtualinherited |
Method to build the collection and return it to the caller.
Unique_ptrs are used to avoid potential memory leaks. The aux container is returned as an IAuxStore pointer to support operations such as shallow copy.
Implements IJetProvider.
Definition at line 43 of file JetGroomer.cxx.
|
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.
| ptr | The bare pointer to the object that the event store should know about |
Definition at line 119 of file AsgTool.cxx.
|
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.
| ptr | The bare pointer to the object that the event store should know about |
Definition at line 106 of file AsgTool.cxx.
|
inherited |
Get one of the tool's properties.
|
finaloverridevirtual |
Dummy implementation of the initialisation function.
It's here to allow the dual-use tools to skip defining an initialisation function. Since many are doing so...
Reimplemented from JetGrooming::JetGroomer.
Definition at line 76 of file JetSoftDropTools.cxx.
|
inlinevirtualinherited |
Method to allow the client to pass in a WriteHandle during initialisation, in case this is needed for anything...
The main (only?) use case is for copying jets, and propagating any decorations already on the original to the copy in StoreGate
Quietly return success in the general case – the JetRecAlg will always call this, so as to remain agnostic as to the concrete type.
Reimplemented in JetCopier.
Definition at line 65 of file IJetProvider.h.
|
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.
|
finaloverridevirtual |
Reimplemented from JetGrooming::SoftDrop.
Definition at line 109 of file JetSoftDropTools.cxx.
|
inlineinherited |
Definition at line 24 of file AthCommonMsg.h.
|
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:
This function's name doesn't follow the ATLAS coding rules, and as such will be removed in the not too distant future.
Definition at line 101 of file AsgTool.cxx.
|
inlineinherited |
Definition at line 30 of file AthCommonMsg.h.
|
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.
|
virtualinherited |
Print the state of the tool.
Implements asg::IAsgTool.
Reimplemented in AsgHelloTool, HI::HIPileupTool, JetBottomUpSoftDrop, JetConstituentsRetriever, JetDumper, JetFinder, JetFromPseudojet, JetModifiedMassDrop, JetPileupLabelingTool, JetPruner, JetPseudojetRetriever, JetReclusterer, JetReclusteringTool, JetRecTool, JetRecursiveSoftDrop, JetSoftDrop, JetSplitter, JetSubStructureMomentToolsBase, JetToolRunner, JetTrimmer, JetTruthLabelingTool, KtDeltaRTool, and LundVariablesTool.
Definition at line 131 of file AsgTool.cxx.
|
inlineprotectedinherited |
Definition at line 380 of file AthCommonDataStore.h.
|
inlineprotectedinherited |
remove all handles from I/O resolution
Definition at line 364 of file AthCommonDataStore.h.
|
protectedinherited |
Definition at line 97 of file JetSoftDropTools.cxx.
|
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 asg::AsgMetadataTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and DerivationFramework::CfAthAlgTool.
|
overridevirtualinherited |
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
|
inlineinherited |
Definition at line 308 of file AthCommonDataStore.h.
|
protectedinherited |
Definition at line 52 of file JetSoftDropTools.h.
|
protectedinherited |
Definition at line 60 of file JetGroomer.h.
|
protectedinherited |
Handle Input JetContainer (this contains the parent ungroomed jets to be trimmed)
Definition at line 55 of file JetGroomer.h.
|
protectedinherited |
This is the input to the parent JetContainer. It is needed in order to re-assign the ghost constituents from the final groomed PJ to the xAOD::Jet.
Definition at line 58 of file JetGroomer.h.
|
private |
Definition at line 74 of file JetSoftDropTools.h.
|
protectedinherited |
Definition at line 53 of file JetSoftDropTools.h.
|
protectedinherited |
Definition at line 55 of file JetSoftDropTools.h.
|
protectedinherited |
Definition at line 51 of file JetSoftDropTools.h.