 |
Belle II Software
release-05-01-25
|
11 #include <tracking/modules/relatedTracksCombiner/RelatedTracksCombinerModule.h>
12 #include <tracking/trackFitting/fitter/base/TrackFitter.h>
21 setDescription(
"Combine related tracks from CDC and VXD into a single track by copying the hit "
22 "information and combining the seed information. The sign of the weight defines, "
23 "if the hits go before (-1) or after (+1) the CDC track.");
55 B2ASSERT(
"Can not handle more than 2 relations!", relatedVXDRecoTracks.
size() <= 2);
60 for (
unsigned int index = 0; index < relatedVXDRecoTracks.
size(); ++index) {
61 const double weight = relatedVXDRecoTracks.
weight(index);
63 vxdTrackBefore = relatedVXDRecoTracks[index];
64 }
else if (weight > 0) {
65 vxdTrackAfter = relatedVXDRecoTracks[index];
70 if (not vxdTrackAfter and not vxdTrackBefore and not trackFitter.
fit(cdcRecoTrack)) {
96 if (not cdcRecoTrack and trackFitter.
fit(vxdRecoTrack)) {
size_t size() const
Get number of relations.
static void registerRequiredRelations(StoreArray< RecoTrack > &recoTracks, std::string const &pxdHitsStoreArrayName="", std::string const &svdHitsStoreArrayName="", std::string const &cdcHitsStoreArrayName="", std::string const &bklmHitsStoreArrayName="", std::string const &eklmHitsStoreArrayName="", std::string const &recoHitInformationStoreArrayName="")
Convenience method which registers all relations required to fully use a RecoTrack.
size_t addHitsFromRecoTrack(const RecoTrack *recoTrack, unsigned int sortingParameterOffset=0, bool reversed=false, boost::optional< double > optionalMinimalWeight=boost::none)
Add all hits from another RecoTrack to this RecoTrack.
void setDescription(const std::string &description)
Sets the description of the module.
bool fit(RecoTrack &recoTrack, genfit::AbsTrackRep *trackRepresentation) const
Fit a reco track with a given non-default track representation.
#define REG_MODULE(moduleName)
Register the given module (without 'Module' suffix) with the framework.
@ c_ParallelProcessingCertified
This module can be run in parallel processing mode safely (All I/O must be done through the data stor...
void addRelationTo(const RelationsInterface< BASE > *object, float weight=1.0, const std::string &namedRelation="") const
Add a relation from this object to another object (with caching).
T * getRelated(const std::string &name="", const std::string &namedRelation="") const
Get the object to or from which this object has a relation.
RecoTrack * copyToStoreArray(StoreArray< RecoTrack > &storeArray) const
Append a new RecoTrack to the given store array and copy its general properties, but not the hits the...
void setPropertyFlags(unsigned int propertyFlags)
Sets the flags for the module properties.
Algorithm class to handle the fitting of RecoTrack objects.
This is the Reconstruction Event-Data Model Track.
Class for type safe access to objects that are referred to in relations.
Abstract base class for different kinds of events.
@ c_ErrorIfAlreadyRegistered
If the object/array was already registered, produce an error (aborting initialisation).
void addParam(const std::string &name, T ¶mVariable, const std::string &description, const T &defaultValue)
Adds a new parameter to the module.
float weight(int index) const
Get weight with index.
unsigned int getNumberOfTotalHits() const
Return the number of cdc + svd + pxd + bklm + eklm hits.