10#include <tracking/trackFitting/measurementCreator/adder/MeasurementAdder.h>
11#include <framework/gearbox/Const.h>
12#include <framework/core/Environment.h>
13#include <tracking/dbobjects/DAFParameters.h>
14#include <tracking/dbobjects/DAFConfiguration.h>
152 const std::string& storeArrayNameOfPXDHits =
"",
153 const std::string& storeArrayNameOfSVDHits =
"",
154 const std::string& storeArrayNameOfCDCHits =
"",
155 const std::string& storeArrayNameOfBKLMHits =
"",
156 const std::string& storeArrayNameOfEKLMHits =
"",
157 const bool initializeCDCTranslators =
true):
158 m_measurementAdder(storeArrayNameOfPXDHits, storeArrayNameOfSVDHits, storeArrayNameOfCDCHits,
159 storeArrayNameOfBKLMHits, storeArrayNameOfEKLMHits, initializeCDCTranslators)
179 void resetFitter(
const std::shared_ptr<genfit::AbsFitter>& fitter);
219 bool fit(
RecoTrack& recoTrack, genfit::AbsTrackRep* trackRepresentation,
bool resortHits =
false)
const;
242 bool fit(
RecoTrack& recoTrack,
const int pdgCode,
bool resortHits =
false)
const;
260 bool fit(
RecoTrack& recoTrack,
bool resortHits =
false)
const;
282 const std::vector<std::shared_ptr<PXDBaseMeasurementCreator>>& pxdMeasurementCreators,
283 const std::vector<std::shared_ptr<SVDBaseMeasurementCreator>>& svdMeasurementCreators,
284 const std::vector<std::shared_ptr<CDCBaseMeasurementCreator>>& cdcMeasurementCreators,
285 const std::vector<std::shared_ptr<BKLMBaseMeasurementCreator>>& bklmMeasurementCreators,
286 const std::vector<std::shared_ptr<EKLMBaseMeasurementCreator>>& eklmMeasurementCreators,
287 const std::vector<std::shared_ptr<BaseMeasurementCreator>>& additionalMeasurementCreators)
290 svdMeasurementCreators,
291 cdcMeasurementCreators,
292 bklmMeasurementCreators,
293 eklmMeasurementCreators,
294 additionalMeasurementCreators);
315 const std::map<std::string, std::map<std::string, std::string>>& pxdMeasurementCreators,
316 const std::map<std::string, std::map<std::string, std::string>>& svdMeasurementCreators,
317 const std::map<std::string, std::map<std::string, std::string>>& cdcMeasurementCreators,
318 const std::map<std::string, std::map<std::string, std::string>>& bklmMeasurementCreators,
319 const std::map<std::string, std::map<std::string, std::string>>& eklmMeasurementCreators,
320 const std::map<std::string, std::map<std::string, std::string>>& additionalMeasurementCreators)
323 svdMeasurementCreators,
324 cdcMeasurementCreators,
325 bklmMeasurementCreators,
326 eklmMeasurementCreators,
327 additionalMeasurementCreators);
364 bool fitWithoutCheck(
RecoTrack& recoTrack,
const genfit::AbsTrackRep& trackRepresentation,
bool resortHits =
false)
const;
Provides a type-safe way to pass members of the chargedStableSet set.
ETrackFitType
Enum for identifying the type of track fit algorythm ( or cosmic)
@ c_Default
default configuration
The payload containing the DAF parameters.
Class for accessing objects in the database.
static Environment & Instance()
Static method to get a reference to the Environment instance.
Algorithm class to translate the added detector hits (e.g.
This is the Reconstruction Event-Data Model Track.
void resetMeasurementCreatorsUsingFactories(const std::map< std::string, std::map< std::string, std::string > > &pxdMeasurementCreators, const std::map< std::string, std::map< std::string, std::string > > &svdMeasurementCreators, const std::map< std::string, std::map< std::string, std::string > > &cdcMeasurementCreators, const std::map< std::string, std::map< std::string, std::string > > &bklmMeasurementCreators, const std::map< std::string, std::map< std::string, std::string > > &eklmMeasurementCreators, const std::map< std::string, std::map< std::string, std::string > > &additionalMeasurementCreators)
If you want to use non-default settings for the store arrays, you can create your own instances of th...
static int createCorrectPDGCodeForChargedStable(const Const::ChargedStable &particleType, const RecoTrack &recoTrack)
Helper function to multiply the PDG code of a charged stable with the charge of the reco track (if ne...
void resetMeasurementCreators(const std::vector< std::shared_ptr< PXDBaseMeasurementCreator > > &pxdMeasurementCreators, const std::vector< std::shared_ptr< SVDBaseMeasurementCreator > > &svdMeasurementCreators, const std::vector< std::shared_ptr< CDCBaseMeasurementCreator > > &cdcMeasurementCreators, const std::vector< std::shared_ptr< BKLMBaseMeasurementCreator > > &bklmMeasurementCreators, const std::vector< std::shared_ptr< EKLMBaseMeasurementCreator > > &eklmMeasurementCreators, const std::vector< std::shared_ptr< BaseMeasurementCreator > > &additionalMeasurementCreators)
If you want to use non-default settings for the store arrays, you can create your own instances of th...
static constexpr double s_defaultProbCut
Default probCut for the default DAF fitter.
DBObjPtr< DAFConfiguration > m_DAFConfiguration
DAF configuration Database OjbPtr.
void setgErrorIgnoreLevel(Int_t errorIgnoreLevel)
Set the gErrorIgnoreLevel for the fitter.
Int_t getgErrorIgnoreLevel()
Return the currently set gErrorIgnoreLevel for the fitter.
void resetMeasurementCreatorsToDefaultSettings()
Reset the internal measurement creator storage to the default settings.
bool fitWithoutCheck(RecoTrack &recoTrack, const genfit::AbsTrackRep &trackRepresentation, bool resortHits=false) const
Helper function to do the fit.
static constexpr double s_defaultDeltaPValue
Default deltaPValue for the default DAF fitter.
TrackFitter(const DAFConfiguration::ETrackFitType trackFitType=DAFConfiguration::c_Default, const std::string &storeArrayNameOfPXDHits="", const std::string &storeArrayNameOfSVDHits="", const std::string &storeArrayNameOfCDCHits="", const std::string &storeArrayNameOfBKLMHits="", const std::string &storeArrayNameOfEKLMHits="", const bool initializeCDCTranslators=true)
Create a new fitter instance.
void resetFitterToDBSettings(const DAFConfiguration::ETrackFitType trackFitType=DAFConfiguration::c_Default)
Use the DB settings of the fitter to fit the reco tracks.
bool fit(RecoTrack &recoTrack, genfit::AbsTrackRep *trackRepresentation, bool resortHits=false) const
Fit a reco track with a given non-default track representation.
void resetFitter(const std::shared_ptr< genfit::AbsFitter > &fitter)
Set the internal storage of the fitter to a provided one, if you want to use non-default settings.
MeasurementAdder m_measurementAdder
The measurement adder algorithm class.
Int_t m_gErrorIgnoreLevel
Control the output level of the ROOT functions used by the GenFit fitter. Default is increased from k...
static constexpr unsigned int s_defaultMaxFailedHits
Default maxFailedHits for the default DAF fitter.
std::shared_ptr< genfit::AbsFitter > m_fitter
The internal storage of the used fitting algorithms.
bool m_skipDirtyCheck
Flag to skip the dirty flag check which is needed when using non-default fitters.
void resetFitterToUserSettings(DAFParameters *DAFParams)
Use the user settings of the fitter to fit the reco tracks.
void resetFitterToCosmicsSettings()
Use the settings of the fitter to fit the reco tracks for cosmics data.
Abstract base class for different kinds of events.