5#ifndef MUONTRACKPERFORMANCEALG_H
6#define MUONTRACKPERFORMANCEALG_H
15#include "GaudiKernel/ServiceHandle.h"
16#include "GaudiKernel/ToolHandle.h"
101 std::set<Muon::MuonStationIndex::StIndex>
layers;
111 if (
layers.size() == 1 &&
layers.count(Muon::MuonStationIndex::StIndex::EM))
return true;
112 if (
layers.size() == 2 &&
layers.count(Muon::MuonStationIndex::StIndex::EM) &&
113 layers.count(Muon::MuonStationIndex::StIndex::EO))
return true;
130 if (
missingLayers.count(Muon::MuonStationIndex::StIndex::EI) ||
131 missingLayers.count(Muon::MuonStationIndex::StIndex::BI))
return true;
136 if (
wrongLayers.count(Muon::MuonStationIndex::StIndex::EI) ||
137 wrongLayers.count(Muon::MuonStationIndex::StIndex::BI))
return true;
187 virtual StatusCode
execute()
override;
188 virtual StatusCode
finalize()
override;
193 void extractEtaPhiCounts(
const std::set<Identifier>& ids,
int& neta,
int& nphi,
int& netaCh,
int& nphiCh)
const;
220 bool insertTechnology(
const std::set<Identifier>& chIds,
const std::set<Identifier>& hits,
int minEtaHits,
int minPhiHits,
221 std::vector<ChamberData>& chamberData)
const;
224 bool insertStationLayers(
const std::set<Identifier>& chIds,
const std::set<Muon::MuonStationIndex::StIndex>& exclusionList,
225 std::set<Muon::MuonStationIndex::StIndex>& layers)
const;
228 bool insertStationLayers(
const std::vector<ChamberData>& chambers,
const std::set<Muon::MuonStationIndex::StIndex>& exclusionList,
229 std::set<Muon::MuonStationIndex::StIndex>& layers,
bool usePrecision)
const;
242 std::string
print(
const EventData& event,
const std::vector<TrackData*>& tracks,
const std::string& message)
const;
243 std::string
print(
const EventData& event,
const std::vector<const Trk::Track*>& tracks,
const std::string& message)
const;
248 void clearTracks(std::vector<const Trk::Track*> tracks);
271 this,
"MuonSimDataNames", {
"MDT_SDO",
"RPC_SDO",
"TGC_SDO",
"sTGC_SDO",
"MM_SDO"},
"Muon SDO maps"};
291 PublicToolHandle<Muon::MuonEDMPrinterTool>
m_printer{
this,
"Printer",
"Muon::MuonEDMPrinterTool/MuonEDMPrinterTool"};
294 "Handle to the service providing the IMuonEDMHelperSvc interface"};
297 ToolHandle<Muon::IMuonTrackTruthTool>
m_truthTool{
this,
"TrackTruthTool",
""};
356 void printSummary(
const std::vector<EventSummary>& summary, std::string typeName)
const;
char data[hepevt_bytes_allocation_ATLAS]
Property holding a SG store/key/clid from which a ReadHandle is made.
DataVector< Trk::Track > TrackCollection
This typedef represents a collection of Trk::Track objects.
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
Class to hold a set of MuonSegments belonging together.
This is the common class for 3D segments used in the muon spectrometer.
Property holding a SG store/key/clid from which a ReadHandle is made.
A summary of the information contained by a track.
A TruthTrajectory is a chain of charged MC particles connected through the mother-daughter relationsh...
Eigen::Matrix< double, 3, 1 > Vector3D
const GenParticle * ConstGenParticlePtr
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
HandleKeyArray< ReadHandle< T >, ReadHandleKey< T >, Gaudi::DataHandle::Reader > ReadHandleKeyArray
Ensure that the ATLAS eigen extensions are properly loaded.
ParametersT< TrackParametersDim, Charged, PerigeeSurface > Perigee
EventInfo_v1 EventInfo
Definition of the latest event info version.