Belle II Software  release-05-02-19
ParticleCombinerFromMCModule.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2019 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Yo Sato *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 #include <framework/core/Module.h>
14 
15 #include <analysis/ParticleCombiner/ParticleCombiner.h>
16 
17 #include <analysis/DecayDescriptor/DecayDescriptor.h>
18 
19 #include <string>
20 #include <vector>
21 #include <memory>
22 
23 namespace Belle2 {
28  class Particle;
29 
33  class ParticleCombinerFromMCModule : public Module {
34 
35  public:
36 
41 
46  virtual void initialize() override;
47 
51  virtual void event() override;
52 
57  void registerParticleRecursively(const DecayDescriptor& decaydescriptor);
58 
63  void combineRecursively(const DecayDescriptor& decaydescriptor);
64 
65 
66  private:
67 
68  int m_pdgCode;
70  std::string m_decayString;
72  std::unique_ptr<ParticleGenerator> m_generator;
74  std::string m_listName;
75  std::string m_antiListName;
77  int m_decayModeID;
79  std::vector<std::string> m_vector_listName;
83  std::string m_cutParameter;
85  std::unique_ptr<Variable::Cut> m_cut;
87  bool m_writeOut;
91  };
92 
94 } // Belle2 namespace
95 
Belle2::ParticleCombinerFromMCModule::m_isSelfConjugatedParticle
bool m_isSelfConjugatedParticle
flag that indicates whether an anti-particle mother does not exist and should not be reconstructed as...
Definition: ParticleCombinerFromMCModule.h:89
Belle2::ParticleCombinerFromMCModule::event
virtual void event() override
Event processor.
Definition: ParticleCombinerFromMCModule.cc:102
Belle2::ParticleCombinerFromMCModule::m_vector_listName
std::vector< std::string > m_vector_listName
vector of output particle list name
Definition: ParticleCombinerFromMCModule.h:87
Belle2::ParticleCombinerFromMCModule::m_generator
std::unique_ptr< ParticleGenerator > m_generator
Generates the combinations.
Definition: ParticleCombinerFromMCModule.h:80
Belle2::ParticleCombinerFromMCModule::ParticleCombinerFromMCModule
ParticleCombinerFromMCModule()
Constructor.
Definition: ParticleCombinerFromMCModule.cc:48
Belle2::ParticleCombinerFromMCModule::combineRecursively
void combineRecursively(const DecayDescriptor &decaydescriptor)
Combine particles which have (sub-)decay recursively.
Definition: ParticleCombinerFromMCModule.cc:175
Belle2::ParticleCombinerFromMCModule::m_decaydescriptor
DecayDescriptor m_decaydescriptor
Decay descriptor of the decay being reconstructed.
Definition: ParticleCombinerFromMCModule.h:79
Belle2::ParticleCombinerFromMCModule::initialize
virtual void initialize() override
Initialize the Module.
Definition: ParticleCombinerFromMCModule.cc:75
Belle2::ParticleCombinerFromMCModule::m_cutParameter
std::string m_cutParameter
selection criteria
Definition: ParticleCombinerFromMCModule.h:91
Belle2::ParticleCombinerFromMCModule::m_writeOut
bool m_writeOut
toggle output particle list btw.
Definition: ParticleCombinerFromMCModule.h:95
Belle2::ParticleCombinerFromMCModule::m_chargeConjugation
bool m_chargeConjugation
boolean to control whether charge conjugated decay should be reconstructed as well
Definition: ParticleCombinerFromMCModule.h:97
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::ParticleCombinerFromMCModule::registerParticleRecursively
void registerParticleRecursively(const DecayDescriptor &decaydescriptor)
Register particles which have (sub-)decay recursively.
Definition: ParticleCombinerFromMCModule.cc:134
Belle2::ParticleCombinerFromMCModule::m_listName
std::string m_listName
output particle list name
Definition: ParticleCombinerFromMCModule.h:82
Belle2::ParticleCombinerFromMCModule::m_cut
std::unique_ptr< Variable::Cut > m_cut
cut object which performs the cuts
Definition: ParticleCombinerFromMCModule.h:93
Belle2::DecayDescriptor
The DecayDescriptor stores information about a decay tree or parts of a decay tree.
Definition: DecayDescriptor.h:43
Belle2::ParticleCombinerFromMCModule::m_antiListName
std::string m_antiListName
output anti-particle list name
Definition: ParticleCombinerFromMCModule.h:83
Belle2::ParticleCombinerFromMCModule::m_decayString
std::string m_decayString
Input DecayString specifying the decay being reconstructed.
Definition: ParticleCombinerFromMCModule.h:78
Belle2::ParticleCombinerFromMCModule::m_decayModeID
int m_decayModeID
user specified decay mode identifier
Definition: ParticleCombinerFromMCModule.h:85
Belle2::ParticleCombinerFromMCModule::m_pdgCode
int m_pdgCode
PDG code of the combined mother particle.
Definition: ParticleCombinerFromMCModule.h:76