Belle II Software development
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
17namespace 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
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.