13#ifndef SiSpacePointsSeedMaker_LowMomentum_H
14#define SiSpacePointsSeedMaker_LowMomentum_H
53 public extends<AthAlgTool, ISiSpacePointsSeedMaker>
66 (
const std::string&,
const std::string&,
const IInterface*);
69 virtual StatusCode
finalize()
override;
78 const std::vector<IdentifierHash>& vPixel,
const std::vector<IdentifierHash>& vSCT)
const override;
80 const std::vector<IdentifierHash>& vPixel,
const std::vector<IdentifierHash>& vSCT,
93 virtual void find3Sp(
const EventContext& ctx,
EventData&
data,
const std::list<Trk::Vertex>& lv)
const override;
97 virtual void find3Sp(
const EventContext& ctx,
EventData&
data,
const std::list<Trk::Vertex>& lv,
const double* zVertex)
const override;
101 virtual void findVSp(
const EventContext& ctx,
EventData&
data,
const std::list<Trk::Vertex>& lv)
const override;
143 "Name of the Magnetic Field conditions object key"};
148 BooleanProperty
m_pixel{
this,
"usePixel",
true};
149 BooleanProperty
m_sct{
this,
"useSCT",
true};
154 FloatProperty
m_r1min{
this,
"minRadius1", 0.};
155 FloatProperty
m_r1max{
this,
"maxRadius1", 600.};
156 FloatProperty
m_r2min{
this,
"minRadius2", 0.};
157 FloatProperty
m_r2max{
this,
"maxRadius2", 600.};
158 FloatProperty
m_r3min{
this,
"minRadius3", 0.};
159 FloatProperty
m_drmin{
this,
"mindRadius", 10.};
160 FloatProperty
m_drmax{
this,
"maxdRadius", 200.};
161 FloatProperty
m_zmin{
this,
"minZ", -250.};
162 FloatProperty
m_zmax{
this,
"maxZ", +250.};
167 FloatProperty
m_diver{
this,
"maxdImpact", 7.};
235 std::vector<InDet::SiSpacePointForSeed*>::iterator*,
236 std::vector<InDet::SiSpacePointForSeed*>::iterator*,
237 std::vector<InDet::SiSpacePointForSeed*>::iterator*,
238 std::vector<InDet::SiSpacePointForSeed*>::iterator*,
239 int,
int,
int&,
float)
const;
258 if (!d || !prd_to_track_map.
isUsed(*d))
return false;
260 d =
sp->clusterList().second;
261 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.
MsgStream & dumpConditions(EventData &data, MsgStream &out) const
IntegerProperty m_maxsizeSP
void initializeEventData(EventData &data) const
SG::ReadHandleKey< SpacePointOverlapCollection > m_spacepointsOverlap
virtual ~SiSpacePointsSeedMaker_LowMomentum()=default
SG::ReadCondHandleKey< InDet::BeamSpotData > m_beamSpotKey
static MsgStream & dumpEvent(EventData &data, MsgStream &out)
static SiSpacePointForSeed * newSpacePoint(EventData &data, const Trk::SpacePoint *const &)
void buildBeamFrameWork(EventData &data) const
void fillLists(EventData &data) const
virtual bool getWriteNtupleBoolProperty() const override
SG::ReadHandleKey< SpacePointContainer > m_spacepointsSCT
SG::ReadHandleKey< SpacePointContainer > m_spacepointsPixel
static void fillSeeds(EventData &data)
SG::ReadCondHandleKey< AtlasFieldCacheCondObj > m_fieldCondObjInputKey
virtual const SiSpacePointsSeed * next(const EventContext &ctx, EventData &data) const override
virtual void newRegion(const EventContext &ctx, EventData &data, const std::vector< IdentifierHash > &vPixel, const std::vector< IdentifierHash > &vSCT) const override
SiSpacePointsSeedMaker_LowMomentum & operator=(const SiSpacePointsSeedMaker_LowMomentum &)=delete
static void erase(EventData &data)
virtual StatusCode finalize() override
virtual StatusCode initialize() override
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,...
void production3Sp(const EventContext &ctx, EventData &data) const
virtual void find2Sp(EventData &data, const std::list< Trk::Vertex > &lv) const override
with two space points with or without vertex constraint
SiSpacePointsSeedMaker_LowMomentum(const std::string &, const std::string &, const IInterface *)
static void convertToBeamFrameWork(EventData &data, const Trk::SpacePoint *const &, float *)
virtual void newEvent(const EventContext &ctx, EventData &data, int iteration) const override
static void production2Sp(EventData &data)
int m_rfz_ib[SizeRFZ][SizeI]
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
BooleanProperty m_useOverlap
static bool newVertices(EventData &data, const std::list< Trk::Vertex > &)
IntegerProperty m_maxsize
void findNext(const EventContext &ctx, EventData &data) const
bool isUsed(const Trk::SpacePoint *, const Trk::PRDtoTrackMap &prd_to_track_map) const
SG::ReadHandleKey< Trk::PRDtoTrackMap > m_prdToTrackMap
SiSpacePointsSeedMaker_LowMomentum()=delete
void newOneSeed(EventData &data, const Trk::SpacePoint *&, const Trk::SpacePoint *&, const Trk::SpacePoint *&, const float &, const float &) const
int m_rfz_it[SizeRFZ][SizeI]
static void newSeed(EventData &data, const Trk::SpacePoint *&, const Trk::SpacePoint *&, const float &)
bool isZCompatible(EventData &data, float &, float &, float &) const
IntegerProperty m_maxOneSize
FloatProperty m_fieldScale
SiSpacePointsSeedMaker_LowMomentum(const SiSpacePointsSeedMaker_LowMomentum &)=delete
virtual void writeNtuple(const SiSpacePointsSeed *seed, const Trk::Track *track, int seedType, long eventNumber) const override
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?