ATLAS Offline Software
Trigger/TrigAlgorithms/TrigLongLivedParticles/src/MuonCluster.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRIGLONGLIVEDPARTICLES_MUONCLUSTER_H
6 #define TRIGLONGLIVEDPARTICLES_MUONCLUSTER_H
7 /*
8  MuonCluster Algorithm: Trigger/TrigAlgorithm/TrigMuonCluster
9 
10  Authors: Stefano.Giagu@cern.ch
11  Antonio.Policicchio@cern.ch
12 
13  Algorithm for selection of Long-Lived neutral particle decays (Hidden Valley sector):
14  Clustering of LVL1 muon RoIs, access to LVL2 jets and SITRACK tracks.
15 */
16 #include <string>
17 #include <vector>
18 #include <set>
19 #include <map>
20 
21 #include "GaudiKernel/Algorithm.h"
22 #include "GaudiKernel/ToolHandle.h"
23 #include "GaudiKernel/ServiceHandle.h"
24 #include "GaudiKernel/StatusCode.h"
25 
33 
39 
42 
43 
44 #define kMAX_ROI 20
45 
47 
48 public:
50  MuonCluster(const std::string& name, ISvcLocator* svc);
51  ~MuonCluster();
52 
54  "RoIs", // property name
55  "HLT_muVtxCluster_RoIs", // default value of StoreGatekey
56  "input RoICollection"};
57 
59  "TrigRoIs_CompositeContainer", // property name
60  "HLT_MuRoICluster_Composites", // default value of StoreGatekey
61  "output Composites container"};
62 
64  "TrigRoiDescriptorDataVector",
65  "HLT_MuRoICluster_Descriptors",
66  "output RoI Descriptor container with descriptor for cluster with maximum number of RoIs. For ID."};
67 
69  "MuonRoiClusterEta",
70  "HLT_MuRoICluster_Composites.ClusterEta",
71  "Average Eta of the muon RoI Cluster"};
72 
74  "MuonRoiClusterPhi",
75  "HLT_MuRoICluster_Composites.ClusterPhi",
76  "Average Phi of the muonRoI Cluster"};
77 
79  "MuonRoiClusterNRoIs",
80  "HLT_MuRoICluster_Composites.nRoIs",
81  "Number of muon RoIs used to construct this muon RoI cluster"};
82 
84  virtual StatusCode initialize() override;
86  virtual StatusCode execute(const EventContext& ctx) const override;
87 
88 
89 private:
90 
91  ToolHandle<GenericMonitoringTool> m_monTool{this,"MonTool","","Monitoring Tool"};
92 
93 protected:
94 
95  typedef struct {
96  float eta;
97  float phi;
98  int nroi;
100 
101  // JobOption properties
103  Gaudi::Property<float> m_DeltaR{this, "DeltaR", 0.4, "radius of the muon cluster"};
104  Gaudi::Property<std::string> m_featureLabel{"MuonCluLabel", "MuonClusterInput", "label for the MuonCluster feature in the HLT Navigation, for the xAOD::TrigCompositeContainer"};
105 
107  float DeltaR(lvl1_muclu_roi , lvl1_muclu_roi ) const;
108 
109 };
110 
111 #endif // TRIGLONGLIVEDPARTICLES_MUONCLUSTER_H
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
SG::WriteDecorHandleKey
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
Definition: StoreGate/StoreGate/WriteDecorHandleKey.h:89
MuonCluster::m_featureLabel
Gaudi::Property< std::string > m_featureLabel
Definition: Trigger/TrigAlgorithms/TrigLongLivedParticles/src/MuonCluster.h:104
MuonCluster::~MuonCluster
~MuonCluster()
Definition: Trigger/TrigAlgorithms/TrigLongLivedParticles/src/MuonCluster.cxx:41
MuonCluster::MuonCluster
MuonCluster(const std::string &name, ISvcLocator *svc)
Constructor.
Definition: Trigger/TrigAlgorithms/TrigLongLivedParticles/src/MuonCluster.cxx:36
MuonCluster::initialize
virtual StatusCode initialize() override
hltInitialize()
Definition: Trigger/TrigAlgorithms/TrigLongLivedParticles/src/MuonCluster.cxx:44
MuonCluster::m_muRoiClusNRoiKey
SG::WriteDecorHandleKey< xAOD::TrigCompositeContainer > m_muRoiClusNRoiKey
Definition: Trigger/TrigAlgorithms/TrigLongLivedParticles/src/MuonCluster.h:78
MuonCluster::lvl1_muclu_roi::nroi
int nroi
Definition: Trigger/TrigAlgorithms/TrigLongLivedParticles/src/MuonCluster.h:98
SG::ReadHandleKey< TrigRoiDescriptorCollection >
MonitoredGroup.h
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:74
TrigCompositeUtils.h
GenericMonitoringTool.h
MonitoredCollection.h
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
MonitoredTimer.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
MonitoredScalar.h
MuonCluster::DeltaR
float DeltaR(lvl1_muclu_roi, lvl1_muclu_roi) const
calculcate the deltaR between two Rois
Definition: Trigger/TrigAlgorithms/TrigLongLivedParticles/src/MuonCluster.cxx:291
MuonCluster::m_monTool
ToolHandle< GenericMonitoringTool > m_monTool
Definition: Trigger/TrigAlgorithms/TrigLongLivedParticles/src/MuonCluster.h:91
Handler::svc
AthROOTErrorHandlerSvc * svc
Definition: AthROOTErrorHandlerSvc.cxx:10
Monitored.h
Header file to be included by clients of the Monitored infrastructure.
TrigCompositeAuxContainer.h
TrigCompositeContainer.h
AthReentrantAlgorithm.h
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
MuonCluster::m_outputCompositesKey
SG::WriteHandleKey< xAOD::TrigCompositeContainer > m_outputCompositesKey
Definition: Trigger/TrigAlgorithms/TrigLongLivedParticles/src/MuonCluster.h:58
MuonCluster::m_roiCollectionKey
SG::ReadHandleKey< TrigRoiDescriptorCollection > m_roiCollectionKey
Definition: Trigger/TrigAlgorithms/TrigLongLivedParticles/src/MuonCluster.h:53
MuonCluster::m_muRoiClusPhiKey
SG::WriteDecorHandleKey< xAOD::TrigCompositeContainer > m_muRoiClusPhiKey
Definition: Trigger/TrigAlgorithms/TrigLongLivedParticles/src/MuonCluster.h:73
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
MuonCluster::lvl1_muclu_roi
Definition: Trigger/TrigAlgorithms/TrigLongLivedParticles/src/MuonCluster.h:95
MuonCluster
Definition: Trigger/TrigAlgorithms/TrigLongLivedParticles/src/MuonCluster.h:46
MuonCluster::execute
virtual StatusCode execute(const EventContext &ctx) const override
hltExecute(), main code of the algorithm
Definition: Trigger/TrigAlgorithms/TrigLongLivedParticles/src/MuonCluster.cxx:66
MuonCluster::m_outputRoiDescriptorKey
SG::WriteHandleKey< TrigRoiDescriptorCollection > m_outputRoiDescriptorKey
Definition: Trigger/TrigAlgorithms/TrigLongLivedParticles/src/MuonCluster.h:63
MuonCluster::lvl1_muclu_roi::eta
float eta
Definition: Trigger/TrigAlgorithms/TrigLongLivedParticles/src/MuonCluster.h:96
MuonCluster::lvl1_muclu_roi::phi
float phi
Definition: Trigger/TrigAlgorithms/TrigLongLivedParticles/src/MuonCluster.h:97
TrigComposite.h
TrigRoiDescriptorCollection.h
MuonCluster::m_muRoiClusEtaKey
SG::WriteDecorHandleKey< xAOD::TrigCompositeContainer > m_muRoiClusEtaKey
Definition: Trigger/TrigAlgorithms/TrigLongLivedParticles/src/MuonCluster.h:68
MuonCluster::m_DeltaR
Gaudi::Property< float > m_DeltaR
A property which specifies the radius of the cluster.
Definition: Trigger/TrigAlgorithms/TrigLongLivedParticles/src/MuonCluster.h:103