|  | 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