8 #include <tracking/ckf/cdc/filters/states/CDCStateBasicVarSet.h>
10 #include <tracking/ckf/cdc/entities/CDCCKFState.h>
12 #include <tracking/dataobjects/RecoTrack.h>
19 const auto& path = pair->first;
20 const auto& state = pair->second;
21 const auto& lastState = path->back();
24 const auto& seed = path->front();
25 const auto* seedRecoTrack = seed.getSeed();
28 var<named(
"eventNumber")>() = m_eventMetaData->getEvent();
31 var<named(
"firstHit")>() = lastState.isSeed();
32 var<named(
"i_hit")>() = path->size() - 1;
34 var<named(
"iCLayer_lastState")>() = lastState.isSeed() ? -1 : lastState.getWireHit()->getWire().getICLayer();
35 var<named(
"iCLayer")>() = state->getWireHit()->getWire().getICLayer();
36 var<named(
"arcLength")>() = state->getArcLength() - lastState.getArcLength();
37 var<named(
"hitDistance")>() = state->getHitDistance();
41 var<named(
"wire_z")>() = wirePos.
z();
42 var<named(
"wire_x")>() = wirePos.
x();
43 var<named(
"wire_y")>() = wirePos.
y();
45 TVector3 seedPos = seedRecoTrack->getPositionSeed();
46 TVector3 seedMom = seedRecoTrack->getMomentumSeed();
47 var<named(
"seed_theta")>() = seedMom.Theta() * 180. / M_PI;
48 var<named(
"seed_r")>() = seedPos.Perp();
49 var<named(
"seed_z")>() = seedPos.Z();
50 var<named(
"seed_x")>() = seedPos.X();
51 var<named(
"seed_y")>() = seedPos.Y();
52 var<named(
"seed_p")>() = seedMom.Mag();
53 var<named(
"seed_pt")>() = seedMom.Perp();
54 var<named(
"seed_pz")>() = seedMom.Z();
55 var<named(
"seed_px")>() = seedMom.X();
56 var<named(
"seed_py")>() = seedMom.Y();
57 var<named(
"seed_charge")>() = seedRecoTrack->getChargeSeed();
AObject Object
Type of the object to be analysed.
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.