Belle II Software development
BaseTrackTimeEstimatorModule.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8#pragma once
9
10#include <framework/gearbox/Const.h>
11#include <tracking/dataobjects/RecoTrack.h>
12
13#include <framework/core/Module.h>
14#include <string>
15
16namespace genfit {
17 class MeasuredStateOnPlane;
18}
19
20namespace Belle2 {
25 class RecoTrack;
26
30
31 public:
34
36 void initialize() override;
37
39 void event() override;
40
41 private:
43 std::string m_param_recoTracksStoreArrayName = "RecoTracks";
46
52
57
64
71 std::vector<double> m_param_readoutPosition = {0, 0, 0};
72
80
86
91 double estimateTimeSeedUsingFittedInformation(RecoTrack& recoTrack, const Const::ChargedStable& particleHypothesis) const;
92
97 double estimateTimeSeedUsingSeedInformation(const RecoTrack& recoTrack, const Const::ChargedStable& particleHypothesis) const;
98
100 virtual double estimateFlightLengthUsingFittedInformation(genfit::MeasuredStateOnPlane& measuredStateOnPlane) const = 0;
102 virtual double estimateFlightLengthUsingSeedInformation(const RecoTrack& recoTrack) const = 0;
103 };
105}
106
Base Module estimating the track time of RecoTracks - before or after the fit.
virtual double estimateFlightLengthUsingFittedInformation(genfit::MeasuredStateOnPlane &measuredStateOnPlane) const =0
Overload this function to implement a specific extrapolation mechanism for fitted tracks....
double estimateTimeSeedUsingFittedInformation(RecoTrack &recoTrack, const Const::ChargedStable &particleHypothesis) const
Private helper function which calls the estimateFlightLengthUsingFittedInformation with the correct m...
void initialize() override
Initialize the needed StoreArrays and ensure they are created properly.
double m_param_timeOffset
If you want to subtract or add a certain time, you can use this variable.
void event() override
Loop over all RecoTracks and set their time seed correctly.
virtual double estimateFlightLengthUsingSeedInformation(const RecoTrack &recoTrack) const =0
Overload this function to implement a specific extrapolation mechanism for track seeds.
BaseTrackTimeEstimatorModule()
Initialize the module parameters.
bool m_param_useFittedInformation
Whether to use the information in the measurements (after fit) or the tracking seeds for doing the ex...
std::vector< double > m_param_readoutPosition
In cases where the readout of the trigger is not located at the trigger directly and the signal has t...
std::string m_param_recoTracksStoreArrayName
StoreArray name of the input and output reco tracks.
double estimateTimeSeedUsingSeedInformation(const RecoTrack &recoTrack, const Const::ChargedStable &particleHypothesis) const
Private helper function which calls the estimateFlightLengthUsingSeedInformation and computes the fli...
StoreArray< RecoTrack > m_recoTracks
RecoTracks StoreArray.
unsigned int m_param_pdgCodeToUseForEstimation
Which PDG code to use for creating the time estimate.
bool m_param_useReadoutPosition
Enable the usage of the readout position.
double m_param_readoutPositionPropagationSpeed
Speed of the propagation from the hit on the trigger to the readoutPosition.
Provides a type-safe way to pass members of the chargedStableSet set.
Definition: Const.h:589
static const double speedOfLight
[cm/ns]
Definition: Const.h:695
Base class for Modules.
Definition: Module.h:72
This is the Reconstruction Event-Data Model Track.
Definition: RecoTrack.h:79
Accessor to arrays stored in the data store.
Definition: StoreArray.h:113
Abstract base class for different kinds of events.