|
ATLAS Offline Software
|
Go to the documentation of this file.
34 #ifndef TrkJetFitter_JetFitterRoutines_H
35 #define TrkJetFitter_JetFitterRoutines_H
38 #include "GaudiKernel/ToolHandle.h"
45 class VxVertexOnJetAxis;
47 class JetFitterInitializationHelper;
48 class JetFitterHelper;
49 class KalmanVertexOnJetAxisUpdator;
50 class KalmanVertexOnJetAxisSmoother;
51 class TrkDistanceFinderNeutralCharged;
52 class TrkDistanceFinderNeutralNeutral;
54 static const InterfaceID IID_JetFitterRoutines(
"Trk::JetFitterRoutines", 1, 0);
62 return IID_JetFitterRoutines;
105 int num_maxiterations=30,
106 bool treat_sign_flip=
true,
107 int num_signflip_maxiterations=30,
108 double deltachi2_convergence=0.001)
const;
178 int num_maxiterations=20,
179 bool treat_sign_flip=
true,
180 int num_signflip_maxiterations=10,
181 double deltachi2_convergence=1
e-2)
const;
195 int num_maxiterations=20,
196 bool treat_sign_flip=
true,
197 int num_signflip_maxiterations=10,
198 double deltachi2_convergence=1
e-3,
199 double threshold_probability=1
e-5)
const;
250 bool fullcomputation,
251 int num_maxiterations=20,
252 bool treat_sign_flip=
true,
253 int num_signflip_maxiterations=10,
254 double deltachi2_convergence=1
e-2,
255 double threshold_probability=1
e-3)
const;
270 {
this,
"AtlasFieldCacheCondObj",
"fieldCondObj",
"Name of the Magnetic Field conditions object key"};
void smoothAllVertices(VxJetCandidate *myJetCandidate) const
triggers the smoothing of all vertices (the tracks in the fit are updated using the constraint provid...
SG::ReadCondHandleKey< AtlasFieldCacheCondObj > m_fieldCacheCondObjInputKey
ToolHandle< JetFitterHelper > m_helper
VxVertexOnJetAxis inherits from Vertex.
void fillTableWithProbOfMerging(VxJetCandidate *myJetCandidate, bool fullcomputation, int num_maxiterations=20, bool treat_sign_flip=true, int num_signflip_maxiterations=10, double deltachi2_convergence=1e-2, double threshold_probability=1e-3) const
Internal method to fill the VxClusteringTable of the VxJetCandidate object, independently on if the f...
virtual StatusCode initialize() override
std::pair< double, bool > fastProbabilityOfMergingWithPrimary(const VxVertexOnJetAxis *otherVertex, const VxJetCandidate *myJetCandidate) const
Internal method to calculate fast probability of merging, for merging with primary vertex.
double fullProbabilityOfMerging(const VxVertexOnJetAxis *firstVertex, const VxVertexOnJetAxis *secondVertex, const VxJetCandidate *myJetCandidate, int num_maxiterations=20, bool treat_sign_flip=true, int num_signflip_maxiterations=10, double deltachi2_convergence=1e-2) const
Calculates in a complete way the probability two vertices along the jet axis to be compatible with ea...
bool checkJetCandidate(VxJetCandidate *) const
Internal method to provide a check if the VxJetCandidate has been initialized in a consistent way.
void performTheFit(VxJetCandidate *myJetCandidate, int num_maxiterations=30, bool treat_sign_flip=true, int num_signflip_maxiterations=30, double deltachi2_convergence=0.001) const
This is the method where the fit is actually done.
::StatusCode StatusCode
StatusCode definition for legacy code.
void fillTableWithFullProbOfMerging(VxJetCandidate *myJetCandidate, int num_maxiterations=20, bool treat_sign_flip=true, int num_signflip_maxiterations=10, double deltachi2_convergence=1e-3, double threshold_probability=1e-5) const
The VxClusteringTable of the VxJetCandidate provided in input is created, computing all the needed pr...
ToolHandle< KalmanVertexOnJetAxisSmoother > m_smoother
Ensure that the ATLAS eigen extensions are properly loaded.
static const InterfaceID & interfaceID()
JetFitterRoutines(const std::string &t, const std::string &n, const IInterface *p)
Constructor.
std::pair< double, bool > fastProbabilityOfMergingNoPrimary(const VxVertexOnJetAxis *, const VxVertexOnJetAxis *, const VxJetCandidate *myJetCandidate) const
Internal method to calculate fast probability of merging, for merging with non primary vertex.
~JetFitterRoutines()
Destructor.
void initializeToMinDistancesToJetAxis(VxJetCandidate *) const
This method provides the initialization of all the tracks in the fit to the position of minimum dista...
ToolHandle< JetFitterInitializationHelper > m_initializationHelper
Februar 2007 (c) Atlas Detector Reconstruction Software.
void copyRecoPositionsToLinearizationPositions(VxJetCandidate &myJetCandidate) const
Method to copy new reco positions to linearization positions after checking new positions are inside ...
ToolHandle< KalmanVertexOnJetAxisUpdator > m_updator
ToolHandle< TrkDistanceFinderNeutralNeutral > m_minDistanceFinderNeutral
void deleteVertexFromJetCandidate(VxVertexOnJetAxis *vertexToDelete, VxJetCandidate *myJetCandidate) const
Deltes a vertex from the VxJetCandidate, doing everything is needed to preserve the internal coherenc...
bool m_noPrimaryVertexRefit
std::pair< double, bool > fastProbabilityOfMerging(const VxVertexOnJetAxis *, const VxVertexOnJetAxis *, const VxJetCandidate *) const
Calculates in a very fast way the probability two vertices along the jet axis to be compatible with e...
void updateAllVertices(VxJetCandidate *myJetCandidate) const
One iteration of the Kalman Updated of all tracks to the actual fit is performed.
void fillTableWithFastProbOfMerging(VxJetCandidate *myJetCandidate) const
The VxClusteringTable of the VxJetCandidate provided in input is created, computing all the needed pr...
ToolHandle< TrkDistanceFinderNeutralCharged > m_minDistanceFinder