Belle II Software  release-05-02-19
V0.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2012 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Martin Heck, Markus Prim *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 #pragma once
11 #include <mdst/dataobjects/TrackFitResult.h>
12 #include <mdst/dataobjects/Track.h>
13 #include <framework/datastore/RelationsObject.h>
14 #include <framework/datastore/StoreArray.h>
15 #include <framework/gearbox/Const.h>
16 #include <utility>
17 
18 namespace Belle2 {
32  class V0 : public RelationsObject {
33  public:
35  V0();
36 
38  V0(const std::pair<const Belle2::Track*, const Belle2::TrackFitResult*>& trackPairPositive,
39  const std::pair<const Belle2::Track*, const Belle2::TrackFitResult*>& trackPairNegative);
40 
42  std::pair<Track*, Track*> getTracks() const
43  {
44  StoreArray<Track> tracks;
45  return std::make_pair(tracks[m_trackIndexPositive], tracks[m_trackIndexNegative]);
46  }
47 
49  std::pair<short, short> getTrackIndices() const
50  {
51  return std::make_pair(m_trackIndexPositive, m_trackIndexNegative);
52  }
53 
55  std::pair<TrackFitResult*, TrackFitResult*> getTrackFitResults() const
56  {
57  StoreArray<TrackFitResult> trackFitResults;
58  return std::make_pair(trackFitResults[m_trackFitResultIndexPositive], trackFitResults[m_trackFitResultIndexNegative]);
59  }
60 
62  std::pair<short, short> getTrackFitResultIndices() const
63  {
65  }
66 
70 
71  private:
74 
77 
80 
83 
85  ClassDef(V0, 3);
86  };
88 }
Belle2::V0::m_trackIndexNegative
short m_trackIndexNegative
Indicates which negatively charged track was used for this V0.
Definition: V0.h:84
Belle2::V0::m_trackIndexPositive
short m_trackIndexPositive
Indicates which positively charged track was used for this V0.
Definition: V0.h:81
Belle2::V0
Object holding information for V0s.
Definition: V0.h:40
Belle2::V0::getTracks
std::pair< Track *, Track * > getTracks() const
Get pair of yhe Tracks, that are part of the V0 particle.
Definition: V0.h:50
Belle2::V0::getTrackIndices
std::pair< short, short > getTrackIndices() const
Get indices of the Tracks, that are part of the V0 particle.
Definition: V0.h:57
Belle2::V0::V0
V0()
Constructor without arguments; needed for I/O.
Definition: V0.cc:15
Belle2::V0::m_trackFitResultIndexNegative
short m_trackFitResultIndexNegative
Points to the new TrackFitResult of the positive Track.
Definition: V0.h:90
Belle2::V0::getTrackFitResultIndices
std::pair< short, short > getTrackFitResultIndices() const
Get indices of the TrackFitResults, that are part of the V0 particle.
Definition: V0.h:70
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::V0::getTrackFitResults
std::pair< TrackFitResult *, TrackFitResult * > getTrackFitResults() const
Get pair of the TrackFitResults, that are part of the V0 particle.
Definition: V0.h:63
Belle2::Const::ParticleType
The ParticleType class for identifying different particle types.
Definition: Const.h:284
Belle2::RelationsObject
RelationsInterface< TObject > RelationsObject
Provides interface for getting/adding relations to objects in StoreArrays.
Definition: RelationsObject.h:443
Belle2::V0::ClassDef
ClassDef(V0, 3)
Macro for ROOTification.
Belle2::StoreArray
Accessor to arrays stored in the data store.
Definition: ECLMatchingPerformanceExpertModule.h:33
Belle2::V0::m_trackFitResultIndexPositive
short m_trackFitResultIndexPositive
Points to the new TrackFitResult of the positive Track.
Definition: V0.h:87
Belle2::V0::getV0Hypothesis
Const::ParticleType getV0Hypothesis() const
Get the hypothesis under which the V0 particle was created.
Definition: V0.cc:30