Belle II Software development
InclusiveBtagReconstructionModule.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 <framework/core/Module.h>
12#include <framework/datastore/StoreObjPtr.h>
13#include <framework/datastore/StoreArray.h>
14#include <analysis/dataobjects/Particle.h>
15#include <analysis/dataobjects/ParticleList.h>
16#include <analysis/DecayDescriptor/DecayDescriptor.h>
17
18#include <map>
19#include <vector>
20
21
22namespace Belle2 {
37
38 public:
39
45 virtual void initialize() override;
47 virtual void event() override;
48
49
50 private:
51
52 std::string m_upsilonListName;
53 std::string m_bsigListName;
54 std::string m_btagListName;
55 std::vector<std::string> m_inputListsNames;
65 };
66
67
75 class Map2Vector {
76
77 public:
85 void convert(std::map<int, std::vector<int> >& input, std::vector<std::vector<int> >& output);
86
87 protected:
96 void makeEntries(std::map<int, std::vector<int>>::iterator positionOnTheMap,
97 const std::map<int, std::vector<int>>::const_iterator& end, unsigned i,
98 std::vector<std::vector<int>>& output);
99
100 private:
101 std::vector<int>
104 };
106}
107
The DecayDescriptor stores information about a decay tree or parts of a decay tree.
Inclusively reconstructs anti-B:tag from input ParticleLists for given B:sig.
virtual void initialize() override
initialize the module (setup the data store)
StoreObjPtr< ParticleList > m_btagList
particle list of tag B
StoreArray< Particle > m_particles
StoreArray of Particles.
virtual ~InclusiveBtagReconstructionModule()
Destructor.
StoreObjPtr< ParticleList > m_upsilonList
particle list of Y(4S)
std::vector< std::string > m_inputListsNames
Names of the ParticleLists to be used to reconstruct Btag.
StoreObjPtr< ParticleList > m_bsigList
particle list of signal B
DecayDescriptor m_decaydescriptor
Decay descriptor for parsing the user specified DecayString.
std::string m_upsilonListName
Name of the ParticleList to be filled with Upsilon(4S) -> B:sig anti-B:tag
std::string m_bsigListName
Name of the Bsig ParticleList.
std::string m_btagListName
Name of the Btag ParticleList.
StoreObjPtr< ParticleList > m_antiBtagList
particle list of tag anti-B
Helper class to make a vector of all possible combinations of int numbers contained in the input vect...
void convert(std::map< int, std::vector< int > > &input, std::vector< std::vector< int > > &output)
Do the conversion using makeEntries().
void makeEntries(std::map< int, std::vector< int > >::iterator positionOnTheMap, const std::map< int, std::vector< int > >::const_iterator &end, unsigned i, std::vector< std::vector< int > > &output)
Recursively iterates over a map until the end is reached, then the output is ready.
std::vector< int > m_combination
Vector containing current combination of numbers (e.g.
Base class for Modules.
Definition: Module.h:72
Accessor to arrays stored in the data store.
Definition: StoreArray.h:113
Type-safe access to single objects in the data store.
Definition: StoreObjPtr.h:96
Abstract base class for different kinds of events.