Belle II Software  release-05-02-19
Bundle.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2018 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Marcel Hohmann *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 #include <analysis/dataobjects/Particle.h>
14 
15 #include <vector>
16 #include <string>
17 //#include <algorithm>
18 
19 namespace Belle2 {
24  namespace CurlTagger {
25 
27  class Bundle {
28 
29  public:
31  explicit Bundle(bool isTruthBundle);
32 
34  ~Bundle();
35 
37  void addParticle(Particle* particle);
38 
40  Particle* getParticle(unsigned int i);
41 
43  unsigned int size();
44 
46  void tagCurlInfo();
47 
49  void tagSizeInfo();
50 
51  private:
52 
54  float scaledImpactParam(Particle* particle);
55 
57  double m_Gamma;
58 
60  bool compareParticles(Particle* iPart, Particle* jPart);
61 
63  bool m_IsTruthBundle;
64 
66  std::string m_CurlLabel;
67 
69  std::string m_SizeLabel;
70 
72  std::vector<Particle*> m_Particles;
73 
74  };//class
75 
76  } // Curl Tagger namespace
78 } // Belle 2 namespace
79 
Belle2::CurlTagger::Bundle::getParticle
Particle * getParticle(unsigned int i)
gets Particle from Bundle
Definition: Bundle.cc:38
Belle2::CurlTagger::Bundle::addParticle
void addParticle(Particle *particle)
adds Particle to Bundle
Definition: Bundle.cc:33
Belle2::CurlTagger::Bundle::Bundle
Bundle(bool isTruthBundle)
Constructor.
Definition: Bundle.cc:17
Belle2::CurlTagger::Bundle::scaledImpactParam
float scaledImpactParam(Particle *particle)
scaled impact parameter for selecting best track
Definition: Bundle.cc:48
Belle2::CurlTagger::Bundle::m_SizeLabel
std::string m_SizeLabel
label used to tag particles with Bundle size
Definition: Bundle.h:77
Belle2::CurlTagger::Bundle::m_Gamma
double m_Gamma
dr scale factor
Definition: Bundle.h:65
Belle2::CurlTagger::Bundle::compareParticles
bool compareParticles(Particle *iPart, Particle *jPart)
used to rank particles by scaledImpactParam - currently unused
Definition: Bundle.cc:53
Belle2::CurlTagger::Bundle::tagSizeInfo
void tagSizeInfo()
sets extraInfo with size of Bundle for particles in Bundle
Definition: Bundle.cc:80
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::CurlTagger::Bundle::size
unsigned int size()
gets Bundle size
Definition: Bundle.cc:43
Belle2::Particle
Class to store reconstructed particles.
Definition: Particle.h:77
Belle2::CurlTagger::Bundle::m_CurlLabel
std::string m_CurlLabel
label used to tag particles with curl info
Definition: Bundle.h:74
Belle2::CurlTagger::Bundle::m_IsTruthBundle
bool m_IsTruthBundle
flag for if the bundle is based on truth info, changes which labels are used
Definition: Bundle.h:71
Belle2::CurlTagger::Bundle::tagCurlInfo
void tagCurlInfo()
sets curl extra info for particles in Bundle
Definition: Bundle.cc:58
Belle2::CurlTagger::Bundle::m_Particles
std::vector< Particle * > m_Particles
particles in bundle
Definition: Bundle.h:80
Belle2::CurlTagger::Bundle::~Bundle
~Bundle()
Destructor.