Belle II Software  release-08-01-10
ParticleCombinerFromMCModule.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/StoreArray.h>
13 
14 // dataobjects
15 #include <analysis/dataobjects/Particle.h>
16 
17 #include <analysis/ParticleCombiner/ParticleCombiner.h>
18 
19 #include <analysis/DecayDescriptor/DecayDescriptor.h>
20 
21 #include <string>
22 #include <vector>
23 
24 namespace Belle2 {
29  class Particle;
30 
35 
36  public:
37 
42 
47  virtual void initialize() override;
48 
52  virtual void event() override;
53 
58  void registerParticleRecursively(const DecayDescriptor& decaydescriptor);
59 
64  void combineRecursively(const DecayDescriptor& decaydescriptor);
65 
66 
67  private:
68 
71  std::string m_decayString;
73  std::unique_ptr<ParticleGenerator> m_generator;
75  std::string m_listName;
79  std::vector<std::string> m_vector_listName;
81  std::string m_cutParameter;
83  std::unique_ptr<Variable::Cut> m_cut;
85  bool m_writeOut;
89  };
90 
92 } // Belle2 namespace
93 
The DecayDescriptor stores information about a decay tree or parts of a decay tree.
Base class for Modules.
Definition: Module.h:72
void combineRecursively(const DecayDescriptor &decaydescriptor)
Combine particles which have (sub-)decay recursively.
virtual void initialize() override
Initialize the Module.
virtual void event() override
Event processor.
void registerParticleRecursively(const DecayDescriptor &decaydescriptor)
Register particles which have (sub-)decay recursively.
std::string m_decayString
Input DecayString specifying the decay being reconstructed.
std::string m_listName
output particle list name
StoreArray< Particle > m_particles
StoreArray of Particles.
std::unique_ptr< ParticleGenerator > m_generator
Generates the combinations.
std::unique_ptr< Variable::Cut > m_cut
cut object which performs the cuts
int m_decayModeID
user specified decay mode identifier
DecayDescriptor m_decaydescriptor
Decay descriptor of the decay being reconstructed.
bool m_writeOut
toggle output particle list btw.
std::vector< std::string > m_vector_listName
vector of output particle list name
bool m_chargeConjugation
boolean to control whether charge conjugated decay should be reconstructed as well
Accessor to arrays stored in the data store.
Definition: StoreArray.h:113
Abstract base class for different kinds of events.