Belle II Software  release-08-01-10
Bundle.h
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 
9 #pragma once
10 
11 #include <analysis/dataobjects/Particle.h>
12 
13 #include <vector>
14 #include <string>
15 //#include <algorithm>
16 
17 namespace Belle2 {
22  namespace CurlTagger {
23 
25  class Bundle {
26 
27  public:
29  explicit Bundle(bool isTruthBundle);
30 
33 
35  void addParticle(Particle* particle);
36 
38  Particle* getParticle(unsigned int i);
39 
41  unsigned int size();
42 
44  void tagCurlInfo();
45 
47  void tagSizeInfo();
48 
49  private:
50 
52  float scaledImpactParam(Particle* particle);
53 
55  double m_Gamma;
56 
58  bool compareParticles(Particle* iPart, Particle* jPart);
59 
62 
64  std::string m_CurlLabel;
65 
67  std::string m_SizeLabel;
68 
70  std::vector<Particle*> m_Particles;
71 
72  };//class
73 
74  } // Curl Tagger namespace
76 } // Belle 2 namespace
77 
class to contain particles identified to come from the same actual/mc particle
Definition: Bundle.h:25
Bundle(bool isTruthBundle)
Constructor.
Definition: Bundle.cc:17
float scaledImpactParam(Particle *particle)
scaled impact parameter for selecting best track
Definition: Bundle.cc:48
void tagSizeInfo()
sets extraInfo with size of Bundle for particles in Bundle
Definition: Bundle.cc:80
std::string m_CurlLabel
label used to tag particles with curl info
Definition: Bundle.h:64
unsigned int size()
gets Bundle size
Definition: Bundle.cc:43
bool m_IsTruthBundle
flag for if the bundle is based on truth info, changes which labels are used
Definition: Bundle.h:61
bool compareParticles(Particle *iPart, Particle *jPart)
used to rank particles by scaledImpactParam - currently unused
Definition: Bundle.cc:53
Particle * getParticle(unsigned int i)
gets Particle from Bundle
Definition: Bundle.cc:38
std::vector< Particle * > m_Particles
particles in bundle
Definition: Bundle.h:70
std::string m_SizeLabel
label used to tag particles with Bundle size
Definition: Bundle.h:67
void addParticle(Particle *particle)
adds Particle to Bundle
Definition: Bundle.cc:33
double m_Gamma
dr scale factor
Definition: Bundle.h:55
void tagCurlInfo()
sets curl extra info for particles in Bundle
Definition: Bundle.cc:58
Class to store reconstructed particles.
Definition: Particle.h:75
Abstract base class for different kinds of events.