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 bool fromTrackCreator =
false):
159 m_measurementAdder(storeArrayNameOfPXDHits, storeArrayNameOfSVDHits, storeArrayNameOfCDCHits,
160 storeArrayNameOfBKLMHits, storeArrayNameOfEKLMHits, initializeCDCTranslators, fromTrackCreator)
180 void resetFitter(
const std::shared_ptr<genfit::AbsFitter>& fitter);
220 bool fit(
RecoTrack& recoTrack, genfit::AbsTrackRep* trackRepresentation,
bool resortHits =
false)
const;
243 bool fit(
RecoTrack& recoTrack,
const int pdgCode,
bool resortHits =
false)
const;
261 bool fit(
RecoTrack& recoTrack,
bool resortHits =
false)
const;
283 const std::vector<std::shared_ptr<PXDBaseMeasurementCreator>>& pxdMeasurementCreators,
284 const std::vector<std::shared_ptr<SVDBaseMeasurementCreator>>& svdMeasurementCreators,
285 const std::vector<std::shared_ptr<CDCBaseMeasurementCreator>>& cdcMeasurementCreators,
286 const std::vector<std::shared_ptr<BKLMBaseMeasurementCreator>>& bklmMeasurementCreators,
287 const std::vector<std::shared_ptr<EKLMBaseMeasurementCreator>>& eklmMeasurementCreators,
288 const std::vector<std::shared_ptr<BaseMeasurementCreator>>& additionalMeasurementCreators)
291 svdMeasurementCreators,
292 cdcMeasurementCreators,
293 bklmMeasurementCreators,
294 eklmMeasurementCreators,
295 additionalMeasurementCreators);
316 const std::map<std::string, std::map<std::string, std::string>>& pxdMeasurementCreators,
317 const std::map<std::string, std::map<std::string, std::string>>& svdMeasurementCreators,
318 const std::map<std::string, std::map<std::string, std::string>>& cdcMeasurementCreators,
319 const std::map<std::string, std::map<std::string, std::string>>& bklmMeasurementCreators,
320 const std::map<std::string, std::map<std::string, std::string>>& eklmMeasurementCreators,
321 const std::map<std::string, std::map<std::string, std::string>>& additionalMeasurementCreators)
324 svdMeasurementCreators,
325 cdcMeasurementCreators,
326 bklmMeasurementCreators,
327 eklmMeasurementCreators,
328 additionalMeasurementCreators);
365 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.
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.
void resetFitterToUserSettings(const DAFParameters *DAFParams)
Use the user settings of the fitter to fit the reco tracks.
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.
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, bool fromTrackCreator=false)
Create a new fitter instance.
void resetFitterToCosmicsSettings()
Use the settings of the fitter to fit the reco tracks for cosmics data.
Abstract base class for different kinds of events.