ATLAS Offline Software
Loading...
Searching...
No Matches
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
48public:
50 MuonCluster(const std::string& name, ISvcLocator* svc);
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
89private:
90
91 ToolHandle<GenericMonitoringTool> m_monTool{this,"MonTool","","Monitoring Tool"};
92
93protected:
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
Header file to be included by clients of the Monitored infrastructure.
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
An algorithm that can be simultaneously executed in multiple threads.
SG::WriteDecorHandleKey< xAOD::TrigCompositeContainer > m_muRoiClusEtaKey
virtual StatusCode execute(const EventContext &ctx) const override
hltExecute(), main code of the algorithm
SG::WriteHandleKey< xAOD::TrigCompositeContainer > m_outputCompositesKey
SG::WriteDecorHandleKey< xAOD::TrigCompositeContainer > m_muRoiClusNRoiKey
virtual StatusCode initialize() override
hltInitialize()
MuonCluster(const std::string &name, ISvcLocator *svc)
Constructor.
SG::ReadHandleKey< TrigRoiDescriptorCollection > m_roiCollectionKey
float DeltaR(lvl1_muclu_roi, lvl1_muclu_roi) const
calculcate the deltaR between two Rois
SG::WriteDecorHandleKey< xAOD::TrigCompositeContainer > m_muRoiClusPhiKey
SG::WriteHandleKey< TrigRoiDescriptorCollection > m_outputRoiDescriptorKey
Gaudi::Property< float > m_DeltaR
A property which specifies the radius of the cluster.
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.