8#include <tracking/ckf/cdc/filters/states/CDCStateBasicVarSet.h>
10#include <tracking/ckf/cdc/entities/CDCCKFState.h>
12#include <tracking/dataobjects/RecoTrack.h>
18 const auto& path = pair->first;
19 const auto& state = pair->second;
20 const auto& lastState = path->back();
23 const auto& seed = path->front();
24 const auto* seedRecoTrack = seed.getSeed();
30 var<
named(
"firstHit")>() = lastState.isSeed();
31 var<
named(
"i_hit")>() = path->size() - 1;
33 var<
named(
"iCLayer_lastState")>() = lastState.isSeed() ? -1 : lastState.getWireHit()->getWire().getICLayer();
34 var<
named(
"iCLayer")>() = state->getWireHit()->getWire().getICLayer();
35 var<
named(
"arcLength")>() = state->getArcLength() - lastState.getArcLength();
36 var<
named(
"hitDistance")>() = state->getHitDistance();
44 ROOT::Math::XYZVector seedPos = seedRecoTrack->getPositionSeed();
45 ROOT::Math::XYZVector seedMom = seedRecoTrack->getMomentumSeed();
46 var<
named(
"seed_theta")>() = seedMom.Theta() * 180. / M_PI;
47 var<
named(
"seed_r")>() = seedPos.Rho();
48 var<
named(
"seed_z")>() = seedPos.Z();
49 var<
named(
"seed_x")>() = seedPos.X();
50 var<
named(
"seed_y")>() = seedPos.Y();
51 var<
named(
"seed_p")>() = seedMom.R();
52 var<
named(
"seed_pt")>() = seedMom.Rho();
53 var<
named(
"seed_pz")>() = seedMom.Z();
54 var<
named(
"seed_px")>() = seedMom.X();
55 var<
named(
"seed_py")>() = seedMom.Y();
56 var<
named(
"seed_charge")>() = seedRecoTrack->getChargeSeed();
virtual bool extract(const BaseCDCStateFilter::Object *result) override
Generate and assign the variables from the object.
StoreObjPtr< EventMetaData > m_eventMetaData
use this to get the eventNumber
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.
A three dimensional vector.
double cylindricalR() const
Getter for the cylindrical radius ( xy projected norm )
double x() const
Getter for the x coordinate.
double y() const
Getter for the y coordinate.
double z() const
Getter for the z coordinate.
Abstract base class for different kinds of events.