![]() |
ATLAS Offline Software
|
Fetch the calorimeter cells around a track particle and compute the muon score. More...
#include <CaloMuonScoreTool.h>
Public Member Functions | |
| CaloMuonScoreTool (const std::string &type, const std::string &name, const IInterface *parent) | |
| virtual | ~CaloMuonScoreTool ()=default |
| virtual StatusCode | initialize () override |
| float | getMuonScore (const xAOD::TrackParticle *trk, const CaloCellContainer *cells=nullptr, const CaloExtensionCollection *extensionCache=nullptr) const override |
| 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 |
Static Public Member Functions | |
| static const InterfaceID & | interfaceID () |
Protected Member Functions | |
| 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. | |
Private Types | |
| typedef ServiceHandle< StoreGateSvc > | StoreGateSvc_t |
Private Member Functions | |
| float | runOnnxInference (std::vector< float > &tensor) const |
| std::vector< float > | unwrapPhiAngles (const std::vector< float > &v) const |
| void | fillInputVectors (std::unique_ptr< const Rec::ParticleCellAssociation > &association, std::vector< float > &eta, std::vector< float > &phi, std::vector< float > &energy, std::vector< int > &samplingId) const |
| float | getMedian (std::vector< float > v) const |
| --> Copy is neccessary as the elements are reorded for the moment which would then break association to the actual cell deposit | |
| int | getBin (const float low_edge, const float up_edge, const int n_bins, float val) const |
| int | channelForSamplingId (int &samplingId) const |
| std::vector< float > | getInputTensor (std::vector< float > &eta, std::vector< float > &phi, std::vector< float > &energy, std::vector< int > &sampling) const |
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> | |
Private Attributes | |
| Gaudi::Property< float > | m_CaloCellAssociationConeSize |
| Gaudi::Property< int > | m_etaBins {this, "etaBins", 30, "Number of bins in eta"} |
| Gaudi::Property< int > | m_phiBins {this, "phiBins", 30, "Number of bins in phi"} |
| Gaudi::Property< float > | m_etaCut |
| Gaudi::Property< float > | m_phiCut |
| Gaudi::Property< int > | m_nChannels {this, "nChannels", 7, "Number of colour channels in the convolutional neural network"} |
| ToolHandle< Rec::IParticleCaloCellAssociationTool > | m_caloCellAssociationTool {this, "ParticleCaloCellAssociationTool", ""} |
| ServiceHandle< AthOnnx::IOnnxRuntimeSvc > | m_svc {this, "ONNXRuntimeSvc", "AthOnnx::OnnxRuntimeSvc", "CaloMuonScoreTool ONNXRuntimeSvc"} |
Handle to AthOnnx::IOnnxRuntimeSvc. | |
| std::unique_ptr< Ort::Session > | m_session |
| std::vector< const char * > | m_input_node_names |
| std::vector< const char * > | m_output_node_names |
| std::vector< int64_t > | m_input_node_dims |
| Gaudi::Property< std::string > | m_modelFileName {this, "ModelFileName", "CaloTrkMuIdTools/nnBased_201022/CaloMuonCNN_1.onnx"} |
| Gaudi::Property< double > | m_CaloMuonEtaCut |
| 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 |
Fetch the calorimeter cells around a track particle and compute the muon score.
The muon score is computed by doing inference on a 7-colour-channel convolutional neural network. The inputs to the convolutional neural network are the energy deposits in 30 eta and 30 phi bins around the track particle. Seven colour channels are considered, corresponding to the seven calorimeter layers (CaloSamplingIDs) in the low-eta region (eta < 0.1).
The convolutional neural network was trained using tensorflow. Inference on this model is done using ONNX (the tensorflow model having been converted to ONNX format).
Definition at line 37 of file CaloMuonScoreTool.h.
|
privateinherited |
Definition at line 388 of file AthCommonDataStore.h.
| CaloMuonScoreTool::CaloMuonScoreTool | ( | const std::string & | type, |
| const std::string & | name, | ||
| const IInterface * | parent ) |
Definition at line 24 of file CaloMuonScoreTool.cxx.
|
virtualdefault |
|
private |
Definition at line 238 of file CaloMuonScoreTool.cxx.
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
|
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
|
private |
Definition at line 134 of file CaloMuonScoreTool.cxx.
|
private |
Definition at line 269 of file CaloMuonScoreTool.cxx.
|
private |
Definition at line 282 of file CaloMuonScoreTool.cxx.
|
private |
--> Copy is neccessary as the elements are reorded for the moment which would then break association to the actual cell deposit
Definition at line 255 of file CaloMuonScoreTool.cxx.
|
overridevirtual |
Implements ICaloMuonScoreTool.
Definition at line 155 of file CaloMuonScoreTool.cxx.
|
overridevirtual |
Definition at line 32 of file CaloMuonScoreTool.cxx.
|
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.
|
inlinestaticinherited |
Definition at line 22 of file ICaloMuonScoreTool.h.
|
inlineinherited |
Definition at line 24 of file AthCommonMsg.h.
|
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.
|
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.
|
private |
Definition at line 207 of file CaloMuonScoreTool.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.
|
private |
Definition at line 118 of file CaloMuonScoreTool.cxx.
|
inlineinherited |
Definition at line 308 of file AthCommonDataStore.h.
|
private |
Definition at line 75 of file CaloMuonScoreTool.h.
|
private |
Definition at line 87 of file CaloMuonScoreTool.h.
|
private |
Definition at line 104 of file CaloMuonScoreTool.h.
|
privateinherited |
Pointer to StoreGate (detector store by default)
Definition at line 393 of file AthCommonDataStore.h.
|
private |
Definition at line 77 of file CaloMuonScoreTool.h.
|
private |
Definition at line 79 of file CaloMuonScoreTool.h.
|
privateinherited |
Pointer to StoreGate (event store by default)
Definition at line 390 of file AthCommonDataStore.h.
|
private |
Definition at line 98 of file CaloMuonScoreTool.h.
|
private |
Definition at line 94 of file CaloMuonScoreTool.h.
|
private |
Definition at line 102 of file CaloMuonScoreTool.h.
|
private |
Definition at line 85 of file CaloMuonScoreTool.h.
|
private |
Definition at line 96 of file CaloMuonScoreTool.h.
|
private |
Definition at line 78 of file CaloMuonScoreTool.h.
|
private |
Definition at line 82 of file CaloMuonScoreTool.h.
|
private |
Definition at line 92 of file CaloMuonScoreTool.h.
|
private |
Handle to AthOnnx::IOnnxRuntimeSvc.
Definition at line 90 of file CaloMuonScoreTool.h.
|
privateinherited |
Definition at line 399 of file AthCommonDataStore.h.
|
privateinherited |
Definition at line 398 of file AthCommonDataStore.h.