10 #include <tracking/ckf/cdc/filters/states/CDCStateBasicVarSet.h>
12 #include <tracking/ckf/cdc/entities/CDCCKFState.h>
14 #include <tracking/dataobjects/RecoTrack.h>
21 const auto& path = pair->first;
22 const auto& state = pair->second;
23 const auto& lastState = path->back();
26 const auto& seed = path->front();
27 const auto* seedRecoTrack = seed.getSeed();
30 var<named(
"eventNumber")>() = m_eventMetaData->getEvent();
33 var<named(
"firstHit")>() = lastState.isSeed();
34 var<named(
"i_hit")>() = path->size() - 1;
36 var<named(
"iCLayer_lastState")>() = lastState.isSeed() ? -1 : lastState.getWireHit()->getWire().getICLayer();
37 var<named(
"iCLayer")>() = state->getWireHit()->getWire().getICLayer();
38 var<named(
"arcLength")>() = state->getArcLength() - lastState.getArcLength();
39 var<named(
"hitDistance")>() = state->getHitDistance();
43 var<named(
"wire_z")>() = wirePos.
z();
44 var<named(
"wire_x")>() = wirePos.
x();
45 var<named(
"wire_y")>() = wirePos.
y();
47 TVector3 seedPos = seedRecoTrack->getPositionSeed();
48 TVector3 seedMom = seedRecoTrack->getMomentumSeed();
49 var<named(
"seed_theta")>() = seedMom.Theta() * 180. / M_PI;
50 var<named(
"seed_r")>() = seedPos.Perp();
51 var<named(
"seed_z")>() = seedPos.Z();
52 var<named(
"seed_x")>() = seedPos.X();
53 var<named(
"seed_y")>() = seedPos.Y();
54 var<named(
"seed_p")>() = seedMom.Mag();
55 var<named(
"seed_pt")>() = seedMom.Perp();
56 var<named(
"seed_pz")>() = seedMom.Z();
57 var<named(
"seed_px")>() = seedMom.X();
58 var<named(
"seed_py")>() = seedMom.Y();
59 var<named(
"seed_charge")>() = seedRecoTrack->getChargeSeed();