|
ATLAS Offline Software
|
Go to the documentation of this file.
4 #ifndef MUONSPACEPOINTFORMATION_MUONSPACEPOINTMAKERALG_H
5 #define MUONSPACEPOINTFORMATION_MUONSPACEPOINTMAKERALG_H
49 void addToStat(
const std::vector<SpacePoint>& spacePoints);
105 template <
class ContType>
128 std::vector<SpacePoint>&& spacePoints,
139 template <
class PrdType>
141 const std::vector<const PrdType*>& phiHits)
const;
144 "Key to the uncalibrated Drift circle measurements"};
147 "Key to the uncalibrated 1D rpc hits"};
150 "Key to the uncalibrated 1D tgc hits"};
153 "Key to the uncalibrated 1D Mm hits"};
165 "Maximal distance between consecutive hits in a bucket"};
168 "Maximal size of a space point bucket"};
171 "Hits that are within <spacePointOverlap> of the bucket margin. "
172 "Are copied to the next bucket"};
174 Gaudi::Property<bool>
m_doStat{
this,
"doStats",
true,
175 "If enabled the algorithm keeps track how many hits have been made" };
181 "Maximum occpancy of Rpc eta hits in a gasGap"};
183 "Maximum occpancy of Rpc phi hits in a gasGap"};
186 "Maximum occpancy of Tgc eta hits in a gasGap"};
188 "Maximum occpancy of Tgc phi hits in a gasGap"};
191 "Maximum occpancy of sTgc eta hits in a gasGap"};
193 "Maximum occpancy of sTgc phi hits in a gasGap"};
Property holding a SG store/key/clid from which a ReadHandle is made.
std::unordered_map< const MuonGMR4::SpectrometerSector *, SpacePointsPerChamber > PreSortedSpacePointMap
Container abrivation of the presorted space point container per MuonChambers.
bool operator<(const FieldKey &other) const
SG::ReadHandleKey< xAOD::sTgcMeasContainer > m_stgcKey
void addToStat(const std::vector< SpacePoint > &spacePoints)
Adds the vector of space points to the overall statistics.
StatusCode initialize() override
StatusCode execute(const EventContext &ctx) const override
Gaudi::Property< double > m_maxOccStgcPhi
std::unique_ptr< SpacePointStatistics > m_statCounter ATLAS_THREAD_SAFE
const Muon::IMuonIdHelperSvc * m_idHelperSvc
std::vector< SpacePoint > etaHits
Vector of all hits that contain an eta measurement including the ones which are combined with phi mea...
SG::ReadHandleKey< xAOD::RpcMeasurementContainer > m_rpcKey
unsigned int allHits() const
Helper method returning the sum of the three space point type counts.
unsigned int measEtaPhi
Number of space points measuring eta & phi.
Property holding a SG store/key/clid from which a ReadHandle is made.
unsigned int measPhi
Number of space points measuring phi only.
SG::ReadHandleKey< xAOD::MMClusterContainer > m_mmKey
std::map< FieldKey, StatField > StatMap_t
An algorithm that can be simultaneously executed in multiple threads.
void distributePointsAndStore(const EventContext &ctx, SpacePointsPerChamber &&hitsPerChamber, SpacePointContainer &finalContainer) const
Distribute the premade spacepoints per chamber into their individual SpacePoint buckets.
std::vector< SpacePointBucket > SpacePointBucketVec
Abrivation of a MuonSapcePoint bucket vector.
: Helper struct to collect the space point per muon chamber, which are later sorted into the space po...
SG::ReadHandleKey< xAOD::TgcStripContainer > m_tgcKey
SG::WriteHandleKey< SpacePointContainer > m_writeKey
Gaudi::Property< double > m_maxOccStgcEta
Helper class to keep track of how many eta+phi, eta and phi only space points are built in various de...
~SpacePointMakerAlg()=default
Helper struct to count the space-points in each detector category.
::StatusCode StatusCode
StatusCode definition for legacy code.
std::vector< SpacePoint > phiHits
Vector of all space points that are built from single phi hits.
Gaudi::Property< double > m_maxOccTgcEta
void dumpStatisics(MsgStream &msg) const
Print the statistics table of the built space points per category into the log-file / console.
unsigned int measEta
Number of space points measuring eta only.
Gaudi::Property< double > m_maxOccTgcPhi
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Property holding a SG store/key/clid from which a WriteHandle is made.
StatusCode fillContainer(const std::unique_ptr< Muon::NSW_PadTriggerDataContainer > &out, const std::vector< std::unique_ptr< NSWL1::PadTrigger >> &triggers, const uint32_t l1id)
StatusCode loadContainerAndSort(const EventContext &ctx, const SG::ReadHandleKey< ContType > &key, PreSortedSpacePointMap &fillContainer) const
Retrieve an uncalibrated measurement container <ContType> and fill the hits into the presorted space ...
SG::ReadHandleKey< xAOD::MdtDriftCircleContainer > m_mdtKey
This header ties the generic definitions in this package.
bool passOccupancy2D(const std::vector< const PrdType * > &etaHits, const std::vector< const PrdType * > &phiHits) const
: Check whether the occupancy cuts of hits in a gasGap are surpassed.
Gaudi::Property< double > m_maxBucketLength
Gaudi::Property< double > m_spacePointWindow
SpacePointStatistics(const Muon::IMuonIdHelperSvc *idHelperSvc)
Standard constructor.
StatusCode finalize() override
Interface for Helper service that creates muon Identifiers and can be used to print Identifiers.
StIndex
enum to classify the different station layers in the muon spectrometer
Gaudi::Property< bool > m_doStat
SG::ReadHandleKey< ActsGeometryContext > m_geoCtxKey
Gaudi::Property< double > m_maxOccRpcEta
TechnologyIndex
enum to classify the different layers in the muon spectrometer
SpacePointMakerAlg(const std::string &name, ISvcLocator *pSvcLocator)
Gaudi::Property< unsigned int > m_capacityBucket
Helper struct to define the counting categories.
Gaudi::Property< double > m_spacePointOverlap
Gaudi::Property< double > m_maxOccRpcPhi