10#include <tracking/trackFitting/measurementCreator/adder/MeasurementAdder.h>
12#include <tracking/trackFitting/measurementCreator/factories/CDCMeasurementCreatorFactory.h>
13#include <tracking/trackFitting/measurementCreator/factories/SVDMeasurementCreatorFactory.h>
14#include <tracking/trackFitting/measurementCreator/factories/PXDMeasurementCreatorFactory.h>
15#include <tracking/trackFitting/measurementCreator/factories/BKLMMeasurementCreatorFactory.h>
16#include <tracking/trackFitting/measurementCreator/factories/EKLMMeasurementCreatorFactory.h>
17#include <tracking/trackFitting/measurementCreator/factories/AdditionalMeasurementCreatorFactory.h>
19#include <genfit/MeasurementFactory.h>
83 const std::string& storeArrayNameOfSVDHits,
84 const std::string& storeArrayNameOfCDCHits,
85 const std::string& storeArrayNameOfBKLMHits,
86 const std::string& storeArrayNameOfEKLMHits,
87 const bool initializeCDCTranslators =
true);
106 const std::vector<std::shared_ptr<PXDBaseMeasurementCreator>>& pxdMeasurementCreators,
107 const std::vector<std::shared_ptr<SVDBaseMeasurementCreator>>& svdMeasurementCreators,
108 const std::vector<std::shared_ptr<CDCBaseMeasurementCreator>>& cdcMeasurementCreators,
109 const std::vector<std::shared_ptr<BKLMBaseMeasurementCreator>>& bklmMeasurementCreators,
110 const std::vector<std::shared_ptr<EKLMBaseMeasurementCreator>>& eklmMeasurementCreators,
111 const std::vector<std::shared_ptr<BaseMeasurementCreator>>& additionalMeasurementCreators);
131 const std::map<std::string, std::map<std::string, std::string>>& pxdMeasurementCreators,
132 const std::map<std::string, std::map<std::string, std::string>>& svdMeasurementCreators,
133 const std::map<std::string, std::map<std::string, std::string>>& cdcMeasurementCreators,
134 const std::map<std::string, std::map<std::string, std::string>>& bklmMeasurementCreators,
135 const std::map<std::string, std::map<std::string, std::string>>& eklmMeasurementCreators,
136 const std::map<std::string, std::map<std::string, std::string>>& additionalMeasurementCreators);
186 template <
class HitType, Const::EDetector detector>
189 std::map<genfit::TrackPoint*, RecoHitInformation*>& trackPointHitMapping)
const
191 if (not recoHitInformation.
useInFit()) {
197 for (
const auto& measurementCreator : measurementCreators) {
198 const std::vector<genfit::TrackPoint*>& trackPoints = measurementCreator->createMeasurementPoints(hit, recoTrack,
200 for (genfit::TrackPoint* trackPoint : trackPoints) {
201 genfitTrack.insertPoint(trackPoint);
206 trackPointHitMapping[trackPoint] = &recoHitInformation;
213 const std::vector<std::shared_ptr<BaseMeasurementCreator>>& measurementCreators)
const;
Base Class to create measurements based on a given hit related to the RecoTrack.
Algorithm class to translate the added detector hits (e.g.
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...
std::vector< std::shared_ptr< BKLMBaseMeasurementCreator > > m_bklmMeasurementCreators
Internal storage of the BKLM measurement creators.
std::vector< std::shared_ptr< CDCBaseMeasurementCreator > > m_cdcMeasurementCreators
Internal storage of the CDC measurement creators.
void createGenfitMeasurementFactory()
Helper function to create a genfit::MeasurementFactory, needed in the MeasurementCreators.
std::vector< std::shared_ptr< PXDBaseMeasurementCreator > > m_pxdMeasurementCreators
Internal storage of the PXD measurement creators.
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...
std::vector< std::shared_ptr< EKLMBaseMeasurementCreator > > m_eklmMeasurementCreators
Internal storage of the EKLM measurement creators.
std::string m_param_storeArrayNameOfPXDHits
The name of the store array for the PXD hits.
std::string m_param_storeArrayNameOfBKLMHits
The name of the store array for the BKLM hits.
genfit::MeasurementFactory< genfit::AbsMeasurement > m_genfitMeasurementFactory
Internal storage of the genfit measurement factory;.
void resetMeasurementCreatorsToDefaultSettings()
Reset the internal measurement creator storage to the default settings.
std::string m_param_storeArrayNameOfSVDHits
The name of the store array for the SVD hits.
std::vector< std::shared_ptr< BaseMeasurementCreator > > m_additionalMeasurementCreators
Internal storage of the additional measurement creators.
std::string m_param_storeArrayNameOfEKLMHits
The name of the store array for the EKLM hits.
std::string m_param_storeArrayNameOfCDCHits
The name of the store array for the CDC hits.
bool m_skipDirtyCheck
Flag to skip the dirty check. Useful when using non default measurement creators.
void addMeasurementsFromHitToRecoTrack(RecoTrack &recoTrack, RecoHitInformation &recoHitInformation, HitType *hit, const std::vector< std::shared_ptr< BaseMeasurementCreatorFromHit< HitType, detector > > > &measurementCreators, std::map< genfit::TrackPoint *, RecoHitInformation * > &trackPointHitMapping) const
Helper: Go through all measurement creators in the given list and create the measurement with a given...
std::vector< std::shared_ptr< SVDBaseMeasurementCreator > > m_svdMeasurementCreators
Internal storage of the SVD measurement creators.
bool addMeasurements(RecoTrack &recoTrack) const
After you have filled the internal storage with measurement creators (either by providing your own or...
void addMeasurementsToRecoTrack(RecoTrack &recoTrack, const std::vector< std::shared_ptr< BaseMeasurementCreator > > &measurementCreators) const
Helper: Go through all measurement creators in the given list and create the measurement without a gi...
static genfit::Track & getGenfitTrack(RecoTrack &recoTrack)
Give access to the RecoTrack's genfit::Track.
This is the Reconstruction Event-Data Model Track.
Abstract base class for different kinds of events.