Skip to content
Snippets Groups Projects
Commit 372ee60c authored by Adam Edward Barton's avatar Adam Edward Barton :speech_balloon:
Browse files

Merge branch 'GaussianSumFitter_MT' into 'master'

ATLASRECTS-4612: Remove un-needed MT-unfriendly validation section from GaussianSumFitter

See merge request atlas/athena!14533
parents b7da3e86 79520705
No related branches found
No related tags found
No related merge requests found
......@@ -177,7 +177,6 @@ GSFTrackFitter = Trk__GaussianSumFitter(name = 'GSFTrackFitte
MakePerigee = True,
RefitOnMeasurementBase = True,
DoHitSorting = True,
ValidationMode = False,
OutputLevel = 3)
# --- end of fitter loading
ToolSvc += GSFTrackFitter
......
......@@ -208,7 +208,6 @@ GSFTrackFitter = Trk__GaussianSumFitter(name = 'GSFTrackFitte
MakePerigee = True,
RefitOnMeasurementBase = True,
DoHitSorting = True,
ValidationMode = False,
ToolForROTCreation = egRotCreator)
# --- end of fitter loading
ToolSvc += GSFTrackFitter
......
......@@ -27,7 +27,7 @@ decription : Class for fitting according to the Gaussian Sum Filter
#include "GaudiKernel/IChronoStatSvc.h"
#include "xAODEventInfo/EventInfo.h"
#include "TTree.h"
#include<atomic>
namespace Trk {
......@@ -41,9 +41,6 @@ class IForwardGsfFitter;
class IGsfSmoother;
class Track;
#define TRKFGSF_VALSURFACES 100
#define TRKGSF_VALSTATES 24
class GaussianSumFitter : virtual public ITrackFitter, public AthAlgTool {
public:
......@@ -59,11 +56,6 @@ class GaussianSumFitter : virtual public ITrackFitter, public AthAlgTool {
/** AlgTool finalise method */
StatusCode finalize();
#if 0
/** Configuration of the Gaussian sum filter. */
StatusCode configureTools(const IMultiStateMeasurementUpdator*, const IRIO_OnTrackCreator*);
#endif
using ITrackFitter::fit;
/** Refit a track using the Gaussian Sum Filter */
......@@ -115,13 +107,7 @@ class GaussianSumFitter : virtual public ITrackFitter, public AthAlgTool {
const MultiComponentStateOnSurface* makePerigee ( const SmoothedTrajectory*,
const ParticleHypothesis particleHypothesis = nonInteracting ) const;
/**Add Data from a FrorwardTrajectory to an Ntuple*/
void SaveMCSOSF(const Trk::ForwardTrajectory& ) const;
/**Add Data from a SmoothedTrajectory to an Ntuple*/
void SaveMCSOSS(const Trk::SmoothedTrajectory& ) const;
private:
ToolHandle<IMultiStateExtrapolator> m_extrapolator;
......@@ -150,66 +136,15 @@ class GaussianSumFitter : virtual public ITrackFitter, public AthAlgTool {
// GSF Fit Statistics
mutable int m_FitPRD; // Number of Fit PrepRawData Calls
mutable int m_FitMeasuremnetBase; // Number of Fit MeasurementBase Calls
mutable int m_FowardFailure; // Number of Foward Fit Failures
mutable int m_SmootherFailure; // Number of Smoother Failures
mutable int m_PerigeeFailure; // Number of MakePerigee Failures
mutable int m_fitQualityFailure; // Number of Tracks that fail fit Quailty test
//------VALIDATION MODE SECTION ----------------------------------//
static int s_Gsf_ValSurface;
static int s_Gsf_ValStates;
bool m_validationMode; //!< boolean to switch to validation mode
std::string m_validationTreeName; //!< validation tree name - to be acessed by this from root
std::string m_validationTreeDescription; //!< validation tree description - second argument in TTree
std::string m_validationTreeFolder; //!< stream/folder to for the TTree to be written out
TTree* m_validationTree; //!< Root Validation Tree
mutable int m_surfaceCounterF; //!< counter for boundary surfaces hit
mutable std::atomic<int> m_FitPRD; // Number of Fit PrepRawData Calls
mutable std::atomic<int> m_FitMeasuremnetBase; // Number of Fit MeasurementBase Calls
mutable std::atomic<int> m_FowardFailure; // Number of Foward Fit Failures
mutable std::atomic<int> m_SmootherFailure; // Number of Smoother Failures
mutable std::atomic<int> m_PerigeeFailure; // Number of MakePerigee Failures
mutable std::atomic<int> m_fitQualityFailure; // Number of Tracks that fail fit Quailty test
mutable int m_surfacesF; //!< associated Ntuple variable
mutable float m_surfaceXF[TRKFGSF_VALSURFACES]; //!< x Position of interseciton with Surface
mutable float m_surfaceYF[TRKFGSF_VALSURFACES]; //!< y Position of interseciton with Surface
mutable float m_surfaceRF[TRKFGSF_VALSURFACES]; //!< Radius of interseciton with Surface
mutable float m_surfaceZF[TRKFGSF_VALSURFACES]; //!< z Position of interseciton with Surface
mutable int m_surfaceTypeF[TRKFGSF_VALSURFACES]; //!< Surface type
mutable int m_surfaceNstatesF[TRKFGSF_VALSURFACES]; //!< Number of components on Surface
mutable float m_surfaceThetaF[TRKFGSF_VALSURFACES][TRKGSF_VALSTATES]; //!< Track theta on Surface
mutable float m_surfacePhiF[TRKFGSF_VALSURFACES][TRKGSF_VALSTATES]; //!< Track Phi on Surface
mutable float m_surfaceQoverPF[TRKFGSF_VALSURFACES][TRKGSF_VALSTATES]; //!< Track q over p on Surface
mutable float m_surfaceWeightF[TRKFGSF_VALSURFACES][TRKGSF_VALSTATES]; //!< Component weight Surface
mutable float m_surfaceErrThetaF[TRKFGSF_VALSURFACES][TRKGSF_VALSTATES]; //!< Track theta error on Surface
mutable float m_surfaceErrPhiF[TRKFGSF_VALSURFACES][TRKGSF_VALSTATES]; //!< Track phi error on Surface
mutable float m_surfaceErrQoverPF[TRKFGSF_VALSURFACES][TRKGSF_VALSTATES]; //!< Track q over p error on Surface
mutable int m_surfaceCounterS; //!< counter for boundary surfaces hit
mutable int m_surfacesS; //!< associated Ntuple variable
mutable float m_surfaceXS[TRKFGSF_VALSURFACES]; //!< x Position of interseciton with Surface
mutable float m_surfaceYS[TRKFGSF_VALSURFACES]; //!< y Position of interseciton with Surface
mutable float m_surfaceRS[TRKFGSF_VALSURFACES]; //!< Radius of interseciton with Surface
mutable float m_surfaceZS[TRKFGSF_VALSURFACES]; //!< z Position of interseciton with Surface
mutable int m_surfaceTypeS[TRKFGSF_VALSURFACES]; //!< Surface type
mutable int m_surfaceNstatesS[TRKFGSF_VALSURFACES]; //!< Number of components on Surface
mutable float m_surfaceThetaS[TRKFGSF_VALSURFACES][TRKGSF_VALSTATES]; //!< Track theta on Surface
mutable float m_surfacePhiS[TRKFGSF_VALSURFACES][TRKGSF_VALSTATES]; //!< Track Phi on Surface
mutable float m_surfaceQoverPS[TRKFGSF_VALSURFACES][TRKGSF_VALSTATES]; //!< Track q over p on Surface
mutable float m_surfaceWeightS[TRKFGSF_VALSURFACES][TRKGSF_VALSTATES]; //!< Component weight Surface
mutable float m_surfaceErrThetaS[TRKFGSF_VALSURFACES][TRKGSF_VALSTATES]; //!< Track theta error on Surface
mutable float m_surfaceErrPhiS[TRKFGSF_VALSURFACES][TRKGSF_VALSTATES]; //!< Track phi error on Surface
mutable float m_surfaceErrQoverPS[TRKFGSF_VALSURFACES][TRKGSF_VALSTATES]; //!< Track q over p error on Surface
mutable int m_event_ID;
SG::ReadHandleKey<xAOD::EventInfo> m_readKey;
};
} // end Trk namespace
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment