8#include <tracking/ckf/svd/filters/results/SVDResultTruthVarSet.h>
10#include <tracking/mcMatcher/TrackMatchLookUp.h>
11#include <tracking/dataobjects/RecoTrack.h>
14using namespace TrackFindingCDC;
18 const RecoTrack* seedTrack = result->getSeed();
19 if (not seedTrack)
return false;
24 const std::string& seedTrackStoreArrayName = seedTrack->
getArrayName();
30 var<
named(
"truth_number_of_correct_hits")>() = 0;
32 var<
named(
"truth_svd_cdc_relation")>() = NAN;
33 var<
named(
"truth_number_of_mc_pxd_hits")>() = 0;
34 var<
named(
"truth_number_of_mc_svd_hits")>() = 0;
35 var<
named(
"truth_number_of_mc_cdc_hits")>() = 0;
45 var<
named(
"truth_number_of_correct_hits")>() = numberOfCorrectHits;
50 var<
named(
"truth")>() =
static_cast<double>(numberOfCorrectHits) / (
static_cast<double>(cdcMCTrack->
getNumberOfSVDHits()) / 2);
52 const RecoTrack* relatedSVDRecoTrack = result->getRelatedSVDRecoTrack();
53 if (relatedSVDRecoTrack) {
54 const std::string& svdTrackStoreArrayName = relatedSVDRecoTrack->
getArrayName();
60 var<
named(
"truth_svd_cdc_relation")>() = svdMCTrack == cdcMCTrack ? 1 : NAN;
Specialized CKF Result for extrapolating into the SVD.
unsigned int getNumberOfCorrectHits(const RecoTrack *mcRecoTrack, const std::vector< const SpacePoint * > &hits) const
How many of the given space points are also in the MC track? Runs hitIsCorrect on all of them.
This is the Reconstruction Event-Data Model Track.
unsigned int getNumberOfSVDHits() const
Return the number of svd hits.
unsigned int getNumberOfCDCHits() const
Return the number of cdc hits.
unsigned int getNumberOfPXDHits() const
Return the number of pxd hits.
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.
MCUtil m_mcUtil
MC information used in the SVD CKF.
StoreObjPtr< EventMetaData > m_eventMetaData
Pointer to the object containing event number etc.
bool extract(const CKFToSVDResult *result) final
Generate and assign the variables from the object.
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.
Abstract base class for different kinds of events.