Belle II Software development
BasicTrackRelationVarSet.cc
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8#include <tracking/trackFindingCDC/filters/trackRelation/BasicTrackRelationVarSet.h>
9
10#include <tracking/trackingUtilities/eventdata/tracks/CDCTrack.h>
11
12using namespace Belle2;
13using namespace CDC;
14using namespace TrackFindingCDC;
15using namespace TrackingUtilities;
16
18{
19 if (not ptrTrackRelation) return false;
20
21 const Relation<const CDCTrack>& trackPair = *ptrTrackRelation;
22
23 const CDCTrack* ptrFromTrack = trackPair.getFrom();
24 const CDCTrack* ptrToTrack = trackPair.getTo();
25
26 const CDCTrack& fromTrack = *ptrFromTrack;
27 const CDCTrack& toTrack = *ptrToTrack;
28
29 ISuperLayer fromISuperLayer = fromTrack.back().getISuperLayer();
30 ISuperLayer toISuperLayer = toTrack.front().getISuperLayer();
31 std::pair<int, int> superLayerIdPair = std::minmax(fromISuperLayer, toISuperLayer);
32 var<named("sl_id_pair")>() = superLayerIdPair.second * 10 + superLayerIdPair.first;
33 var<named("delta_sl_id")>() = toISuperLayer - fromISuperLayer;
34 var<named("from_size")>() = fromTrack.size();
35 var<named("to_size")>() = toTrack.size();
36 return true;
37}
bool extract(const TrackingUtilities::Relation< const TrackingUtilities::CDCTrack > *ptrTrackRelation) final
Generate and assign the contained variables.
Class representing a sequence of three dimensional reconstructed hits.
Definition CDCTrack.h:39
Type for two related objects.
Definition Relation.h:21
From * getFrom() const
Getter for the pointer to the from side object.
Definition Relation.h:59
To * getTo() const
Getter for the pointer to the to side object.
Definition Relation.h:65
static constexpr int named(const char *name)
Definition VarSet.h:78
signed short ISuperLayer
The type of the layer and superlayer ids.
Definition ISuperLayer.h:24
Abstract base class for different kinds of events.