13#ifndef SiSpacePointsSeedMaker_BeamGas_H
14#define SiSpacePointsSeedMaker_BeamGas_H
26#include "GaudiKernel/ServiceHandle.h"
55 public extends<AthAlgTool,ISiSpacePointsSeedMaker>
68 (
const std::string&,
const std::string&,
const IInterface*);
71 virtual StatusCode
finalize()
override;
80 const std::vector<IdentifierHash>& vPixel,
const std::vector<IdentifierHash>& vSCT)
const override;
82 const std::vector<IdentifierHash>& vPixel,
const std::vector<IdentifierHash>& vSCT,
95 virtual void find3Sp(
const EventContext& ctx,
EventData&
data,
const std::list<Trk::Vertex>& lv)
const override;
99 virtual void find3Sp(
const EventContext& ctx,
EventData&
data,
const std::list<Trk::Vertex>& lv,
const double* zVertex)
const override;
103 virtual void findVSp(
const EventContext& ctx,
EventData&
data,
const std::list<Trk::Vertex>& lv)
const override;
148 "Name of the Magnetic Field conditions object key"};
152 BooleanProperty
m_pixel{
this,
"usePixel",
true};
153 BooleanProperty
m_sct{
this,
"useSCT""useSCT",
true};
158 FloatProperty
m_drmax{
this,
"maxdRadius", 270.};
159 FloatProperty
m_zmin{
this,
"minZ", -5000.};
160 FloatProperty
m_zmax{
this,
"maxZ", +5000.};
163 FloatProperty
m_r1min{
this,
"minRadius1", 0.};
164 FloatProperty
m_r1max{
this,
"maxRadius1", 450.};
165 FloatProperty
m_r2min{
this,
"minRadius2", 0.};
166 FloatProperty
m_r2max{
this,
"maxRadius2", 600.};
167 FloatProperty
m_r3min{
this,
"minRadius3", 0.};
168 FloatProperty
m_r3max{
this,
"maxRadius3", 600.};
169 FloatProperty
m_drmin{
this,
"mindRadius", 10.};
170 FloatProperty
m_diver{
this,
"maxdImpact", 10.};
239 std::vector<InDet::SiSpacePointForSeed*>::iterator*,
240 std::vector<InDet::SiSpacePointForSeed*>::iterator*,
241 std::vector<InDet::SiSpacePointForSeed*>::iterator*,
242 std::vector<InDet::SiSpacePointForSeed*>::iterator*,
261 if (!d || !prd_to_track_map.
isUsed(*d))
return false;
263 d =
sp->clusterList().second;
264 if (!d || prd_to_track_map.
isUsed(*d))
return true;
char data[hepevt_bytes_allocation_ATLAS]
Describes the API of the Region of Ineterest geometry.
static void convertToBeamFrameWork(EventData &data, const Trk::SpacePoint *const &sp, float *r)
SG::ReadCondHandleKey< InDet::BeamSpotData > m_beamSpotKey
BooleanProperty m_useOverlap
virtual void newRegion(const EventContext &ctx, EventData &data, const std::vector< IdentifierHash > &vPixel, const std::vector< IdentifierHash > &vSCT) const override
virtual void find2Sp(EventData &data, const std::list< Trk::Vertex > &lv) const override
void buildBeamFrameWork(EventData &data) const
virtual StatusCode initialize() override
SG::ReadCondHandleKey< AtlasFieldCacheCondObj > m_fieldCondObjInputKey
virtual void newEvent(const EventContext &ctx, EventData &data, int iteration) const override
virtual void writeNtuple(const SiSpacePointsSeed *seed, const Trk::Track *track, int seedType, long EventNumber) const override
virtual void find3Sp(const EventContext &ctx, EventData &data, const std::list< Trk::Vertex > &lv) const override
with three space points with or without vertex constraint
static void erase(EventData &data)
SiSpacePointsSeedMaker_BeamGas & operator=(const SiSpacePointsSeedMaker_BeamGas &)=delete
static SiSpacePointForSeed * newSpacePoint(EventData &data, const Trk::SpacePoint *const &)
virtual StatusCode finalize() override
static MsgStream & dumpEvent(EventData &data, MsgStream &out)
SG::ReadHandleKey< SpacePointContainer > m_spacepointsSCT
void newOneSeed(EventData &data, const Trk::SpacePoint *&, const Trk::SpacePoint *&, const Trk::SpacePoint *&, const float &, const float &) const
SiSpacePointsSeedMaker_BeamGas(const SiSpacePointsSeedMaker_BeamGas &)=delete
IntegerProperty m_maxsizeSP
SiSpacePointsSeedMaker_BeamGas()=delete
void production3Sp(EventData &data) const
virtual bool getWriteNtupleBoolProperty() const override
SG::ReadHandleKey< Trk::PRDtoTrackMap > m_prdToTrackMap
SG::ReadHandleKey< SpacePointContainer > m_spacepointsPixel
void findNext(EventData &data) const
IntegerProperty m_maxsize
IntegerProperty m_maxOneSize
MsgStream & dumpConditions(EventData &data, MsgStream &out) const
static void fillSeeds(EventData &data)
virtual const SiSpacePointsSeed * next(const EventContext &ctx, EventData &data) const override
static void production2Sp(EventData &data)
void fillLists(EventData &data) const
FloatProperty m_fieldScale
int m_rfz_ib[SizeRFZ][SizeI]
bool isUsed(const Trk::SpacePoint *sp, const Trk::PRDtoTrackMap &prd_to_track_map) const
bool isZCompatible(float &) const
SG::ReadHandleKey< SpacePointOverlapCollection > m_spacepointsOverlap
static void newSeed(EventData &data, const Trk::SpacePoint *&, const Trk::SpacePoint *&, const float &)
virtual void findVSp(const EventContext &ctx, EventData &data, const std::list< Trk::Vertex > &lv) const override
with variable number space points with or without vertex constraint Variable means (2,...
virtual ~SiSpacePointsSeedMaker_BeamGas()=default
void initializeEventData(EventData &data) const
SiSpacePointsSeedMaker_BeamGas(const std::string &, const std::string &, const IInterface *)
int m_rfz_it[SizeRFZ][SizeI]
SiSpacePointsSeedMakerEventData EventData
Property holding a SG store/key/clid from which a ReadHandle is made.
bool isUsed(const PrepRawData &prd) const
does this PRD belong to at least one track?