Belle II Software  release-05-02-19
InclusiveBtagReconstructionModule.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2015 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Hyacinth Stypula *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 #include <framework/core/Module.h>
14 #include <analysis/DecayDescriptor/DecayDescriptor.h>
15 
16 #include <map>
17 #include <vector>
18 
19 
20 namespace Belle2 {
34  class InclusiveBtagReconstructionModule : public Module {
35 
36  public:
37 
43  virtual void initialize() override;
45  virtual void event() override;
46 
47 
48  private:
49 
50  std::string m_upsilonListName;
51  std::string m_bsigListName;
52  std::string m_btagListName;
53  std::vector<std::string> m_inputListsNames;
55  DecayDescriptor m_decaydescriptor;
56  };
57 
58 
66  class Map2Vector {
67 
68  public:
76  void convert(std::map<int, std::vector<int> >& input, std::vector<std::vector<int> >& output);
77 
78  protected:
87  void makeEntries(std::map<int, std::vector<int>>::iterator positionOnTheMap,
88  const std::map<int, std::vector<int>>::const_iterator& end, unsigned i,
89  std::vector<std::vector<int>>& output);
90 
91  private:
92  std::vector<int>
95  };
97 }
98 
Belle2::InclusiveBtagReconstructionModule::m_inputListsNames
std::vector< std::string > m_inputListsNames
Names of the ParticleLists to be used to reconstruct Btag.
Definition: InclusiveBtagReconstructionModule.h:61
Belle2::InclusiveBtagReconstructionModule::event
virtual void event() override
process event
Definition: InclusiveBtagReconstructionModule.cc:70
Belle2::Map2Vector::m_combination
std::vector< int > m_combination
Vector containing current combination of numbers (e.g.
Definition: InclusiveBtagReconstructionModule.h:101
Belle2::InclusiveBtagReconstructionModule::m_bsigListName
std::string m_bsigListName
Name of the Bsig ParticleList.
Definition: InclusiveBtagReconstructionModule.h:59
Belle2::Map2Vector::convert
void convert(std::map< int, std::vector< int > > &input, std::vector< std::vector< int > > &output)
Do the conversion using makeEntries().
Definition: InclusiveBtagReconstructionModule.cc:186
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::InclusiveBtagReconstructionModule::m_upsilonListName
std::string m_upsilonListName
Name of the ParticleList to be filled with Upsilon(4S) -> B:sig anti-B:tag
Definition: InclusiveBtagReconstructionModule.h:58
Belle2::InclusiveBtagReconstructionModule::InclusiveBtagReconstructionModule
InclusiveBtagReconstructionModule()
Constructor.
Definition: InclusiveBtagReconstructionModule.cc:36
Belle2::InclusiveBtagReconstructionModule::m_btagListName
std::string m_btagListName
Name of the Btag ParticleList.
Definition: InclusiveBtagReconstructionModule.h:60
Belle2::InclusiveBtagReconstructionModule::initialize
virtual void initialize() override
initialize the module (setup the data store)
Definition: InclusiveBtagReconstructionModule.cc:51
Belle2::InclusiveBtagReconstructionModule::~InclusiveBtagReconstructionModule
virtual ~InclusiveBtagReconstructionModule()
Destructor.
Belle2::Map2Vector::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.
Definition: InclusiveBtagReconstructionModule.cc:191
Belle2::Map2Vector
Helper class to make a vector of all possible combinations of int numbers contained in the input vect...
Definition: InclusiveBtagReconstructionModule.h:74
Belle2::InclusiveBtagReconstructionModule::m_decaydescriptor
DecayDescriptor m_decaydescriptor
Decay descriptor for parsing the user specifed DecayString.
Definition: InclusiveBtagReconstructionModule.h:63