8#include <tracking/ckf/pxd/filters/states/PXDStateTruthVarSet.h>
10#include <framework/core/ModuleParamList.h>
11#include <tracking/trackFindingCDC/utilities/StringManipulation.h>
13#include <tracking/mcMatcher/TrackMatchLookUp.h>
14#include <tracking/dataobjects/RecoTrack.h>
19using namespace TrackFindingCDC;
23 const std::vector<TrackFindingCDC::WithWeight<const CKFToPXDState*>>& previousStates = pair->first;
26 std::vector<TrackFindingCDC::WithWeight<const CKFToPXDState*>> allStates = previousStates;
27 allStates.emplace_back(state, 0);
29 const RecoTrack* seedTrack = previousStates.front()->getSeed();
30 B2ASSERT(
"Path without seed?", seedTrack);
36 var<
named(
"truth_position_x")>() = 0;
37 var<
named(
"truth_position_y")>() = 0;
38 var<
named(
"truth_position_z")>() = 0;
39 var<
named(
"truth_momentum_x")>() = 0;
40 var<
named(
"truth_momentum_y")>() = 0;
41 var<
named(
"truth_momentum_z")>() = 0;
52 const std::string& seedTrackStoreArrayName = seedTrack->
getArrayName();
72 "Use only a fraction of background hits and combinations in recording to improve the signal fraction in the recording.",
76 "Fraction of background hits and combinations to be used in recording to improve the signal fraction in the recording if " + \
77 TrackFindingCDC::prefixed(prefix,
"useFractionOfBackground") +
" is true.",
Specialized CKF State for extrapolating into the PXD.
bool allStatesCorrect(const std::vector< TrackFindingCDC::WithWeight< const CKFToPXDState * > > &states) const
Are all hits related to the same MC track the seed is related to?
The Module parameter list class.
double m_BackgroundFraction
Fraction of background to use in case m_UseFractionOfBackground is true The default value of 0....
MCUtil m_mcUtil
MC information used in the PXD CKF.
virtual bool extract(const BasePXDStateFilter::Object *result) override
Generate and assign the variables from the object.
StoreObjPtr< EventMetaData > m_eventMetaData
Pointer to the object containing event number etc.
bool m_UseFractionOfBackground
Only use a fraction of background events for recording for MVA training.
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) override
Expose the parameters to the outside world.
This is the Reconstruction Event-Data Model Track.
ROOT::Math::XYZVector getPositionSeed() const
Return the position seed stored in the reco track. ATTENTION: This is not the fitted position.
ROOT::Math::XYZVector getMomentumSeed() const
Return the momentum seed stored in the reco track. ATTENTION: This is not the fitted momentum.
std::string getArrayName() const
Get name of array this object is stored in, or "" if not found.
int getArrayIndex() const
Returns this object's array index (in StoreArray), or -1 if not found.
AObject Object
Type of the object to be analysed.
static constexpr int named(const char *name)
Getter for the index from the name.
Float_t & var()
Reference getter for the value of the ith variable. Static version.
Class to provide convenient methods to look up matching information between pattern recognition and M...
const RecoTrack * getRelatedMCRecoTrack(const RecoTrack &prRecoTrack) const
Looks for a related Monte Carlo track for the given pattern recognition track and return it if found.
void addParameter(const std::string &name, T ¶mVariable, const std::string &description, const T &defaultValue)
Adds a new parameter to the module list.
Abstract base class for different kinds of events.