 |
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef TRKALIGNGENTOOLS_BEAMSPOTVERTEXPREPROCESSOR_H
6 #define TRKALIGNGENTOOLS_BEAMSPOTVERTEXPREPROCESSOR_H
8 #include "GaudiKernel/ToolHandle.h"
9 #include "GaudiKernel/IAlgTool.h"
48 class VxTrackAtVertex;
94 this,
"TrackFitter",
"Trk::GlobalChi2Fitter/InDetTrackFitter",
95 "normal track fitter"};
97 this,
"SLTrackFitter",
"",
"straight line track fitter"};
99 this,
"Extrapolator",
"Trk::Extrapolator/AtlasExtrapolator"};
101 this,
"TrackSelector",
"",
"new track selector tool"};
103 this,
"BSConstraintTrackSelector",
"",
104 "new track selector tool for tracks to be used with beam-spot constraint"};
106 this,
"TrackToVertexIPEstimatorTool",
""};
110 this,
"AlignModuleTool",
"InDet::InDetAlignModuleTool/InDetAlignModuleTool"};
113 this,
"BeamSpotKey",
"BeamSpotData",
"SG key for beam spot" };
116 this,
"PVContainerName",
"PrimaryVertices"};
119 "switch whether to run outlier logics or not"};
121 "type of material interaction in extrapolation, 3=pion, 0=non-interacting"};
123 "to activate the preprocessor track selection"};
125 "the selection mechanism which is based on cutting the perigee parameters, pt, etc."};
127 this,
"DoAssociatedToPVSelection",
true,
128 "the selection mechanism that only use the tracks associated to PV"};
132 std::vector< std::pair< const xAOD::Vertex*, std::vector<VxTrackAtVertex> > >
m_allTracksVector;
135 "Constrain tracks to the beamspot (x,y) position"};
137 "Constrain tracks to the associated primary vertex (x,y,z) position"};
139 "Full 3D vertex constraint. Note DoPVConstraint needs to be set to true to use this option. If DoBSConstraint vertex position will be constrained to the BS"};
141 "provide tracks in the case failed BS, PV and FullVertex constraints."};
144 "Max pT range for refitting tracks"};
147 "flag to refit tracks"};
149 "flag to store derivative and covariance matrices after refit"};
151 "only use 1 fitter for refitting track"};
153 "scaling factor on beasmpot width"};
155 "scaling factor on primary vertex position error"};
158 "requirement to the minimal number of tracks in the vertex"};
192 #endif // TRKALIGNGENTOOLS_BEAMSPOTVERTEXPREPROCESSOR_H
Property holding a SG store/key/clid from which a ReadHandle is made.
const ShapeFitter * fitter
IntegerProperty m_minTrksInVtx
BooleanProperty m_refitTracks
The VxTrackAtVertex is a common class for all present TrkVertexFitters The VxTrackAtVertex is designe...
DataVector< AlignVertex > m_AlignVertices
collection of AlignVertices used in FullVertex constraint option
bool isAssociatedToPV(const Track *track, const xAOD::VertexContainer *vertices)
DoubleProperty m_BSScalingFactor
virtual StatusCode finalize() override
BooleanProperty m_doTrkSelection
ToolHandle< ITrackToVertexIPEstimator > m_trackToVertexIPEstimatorTool
BooleanProperty m_doFullVertexConstraint
const VertexOnTrack * provideVotFromBeamspot(const Track *track) const
void provideVtxBeamspot(const AlignVertex *b, AmgSymMatrix(3) *q, Amg::Vector3D *v) const
ToolHandle< InDet::IInDetTrackSelectionTool > m_trkSelector
Property holding a SG store/key/clid from which a ReadHandle is made.
std::vector< std::pair< const xAOD::Vertex *, std::vector< VxTrackAtVertex > > > m_allTracksVector
const Track * doConstraintRefit(ToolHandle< IGlobalTrackFitter > &fitter, const Track *track, const VertexOnTrack *vot, const ParticleHypothesis &particleHypothesis) const
BooleanProperty m_runOutlierRemoval
BooleanProperty m_doPrimaryVertexConstraint
const VertexOnTrack * provideVotFromVertex(const Track *track, const xAOD::Vertex *&vtx) const
PublicToolHandle< IAlignModuleTool > m_alignModuleTool
Pointer to AlignModuleTool.
AmgSymMatrix(5) &GXFTrackState
virtual StatusCode initialize() override
ToolHandle< IExtrapolator > m_extrapolator
bool operator()(VxTrackAtVertex vtxTrk)
virtual void printSummary() override
Print processing summary to logfile.
SG::ReadCondHandleKey< InDet::BeamSpotData > m_beamSpotKey
::StatusCode StatusCode
StatusCode definition for legacy code.
std::vector< int > m_trackTypeCounter
void accumulateVTX(AlignTrack *alignTrack) override
methods added for the full VTX fit:
bool isAssociatedToVertex(const Track *track, const xAOD::Vertex *vertex)
virtual DataVector< Track > * processTrackCollection(const DataVector< Track > *trks) override
Main processing of track collection.
void prepareAllTracksVector()
SG::ReadHandleKey< xAOD::VertexContainer > m_PVContainerName
BooleanProperty m_doAssociatedToPVSelection
IntegerProperty m_particleNumber
int m_nFailedNormalRefits
CompareTwoTracks(const Track *track, const std::string &compareMethod)
Ensure that the ATLAS eigen extensions are properly loaded.
bool selectVertices(const xAOD::Vertex *vtx) const
BeamspotVertexPreProcessor(const std::string &type, const std::string &name, const IInterface *parent)
BooleanProperty m_useSingleFitter
BooleanProperty m_doNormalRefit
Eigen::Matrix< double, 3, 1 > Vector3D
virtual ~BeamspotVertexPreProcessor()
const xAOD::Vertex * findVertexCandidate(const Track *track) const
BooleanProperty m_storeFitMatrices
UnsignedIntegerProperty m_constraintMode
BooleanProperty m_doBeamspotConstraint
Class describing a Vertex.
ToolHandle< IGlobalTrackFitter > m_trackFitter
bool doBeamspotConstraintTrackSelection(const Track *track)
AlignVertex is a simple structure to store objects belonging to a vertex. Contains a pointer to the o...
DoubleProperty m_PVScalingFactor
ToolHandle< IGlobalTrackFitter > m_SLTrackFitter
ToolHandle< InDet::IInDetTrackSelectionTool > m_BSTrackSelector
AlignTrack * doTrackRefit(const Track *track)
AlignTrack is a generalization of a Trk::Track, used as the basic object to contain track information...
BooleanProperty m_doBSTrackSelection
bool selectUpdatedVertices(const xAOD::Vertex *updatedVtx) const