Belle II Software  release-08-01-10
InclusiveDstarReconstructionModule.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 
13 #include <framework/datastore/StoreObjPtr.h>
14 #include <framework/datastore/StoreArray.h>
15 
16 #include <analysis/dataobjects/ParticleList.h>
17 #include <analysis/dataobjects/Particle.h>
18 #include <analysis/DecayDescriptor/DecayDescriptor.h>
19 #include <analysis/VariableManager/Utility.h>
20 
21 #include <string>
22 #include <memory>
23 
24 
25 namespace Belle2 {
52 
53  public:
54 
59 
64 
69  virtual void initialize() override;
70 
74  virtual void event() override;
75 
76 
77  private:
78 
85  ROOT::Math::PxPyPzEVector estimateDstarFourMomentum(const Particle* pion);
86 
94  bool pionCompatibleWithDstar(int pion_pdg_code);
95 
104  int getDstarOutputPDG(int pion_charge, int input_dstar_pdg);
105 
108  std::unique_ptr<Variable::Cut> m_cut_pion;
109  std::unique_ptr<Variable::Cut> m_cut_dstar;
111  std::string m_pionListName;
112  std::string m_decayString;
113  std::string m_outputListName;
114  std::string m_outputAntiListName;
115  std::string m_slowPionCut;
116  std::string m_DstarCut;
121  float m_d_pdg_mass;
127  };
128 
130 }
The DecayDescriptor stores information about a decay tree or parts of a decay tree.
std::unique_ptr< Variable::Cut > m_cut_dstar
cut object which performs the cuts
bool pionCompatibleWithDstar(int pion_pdg_code)
Checks if the given pion is list if compatible with the charge of the D* particle.
virtual void initialize() override
Initialize the Module.
int m_dstar_pdg_code
PDG code of the given D* particle list.
StoreObjPtr< ParticleList > m_inputPionList
input pion particle list
std::string m_decayString
Input DecayDescriptor string.
StoreArray< Particle > m_particles
StoreArray of Particles.
virtual ~InclusiveDstarReconstructionModule()
Destructor.
StoreObjPtr< ParticleList > m_outputDstarList
output Dstar particle list
StoreObjPtr< ParticleList > m_outputAntiDstarList
output anti-Dstar particle list
DecayDescriptor m_decaydescriptor
Decay descriptor for parsing the user specified DecayString.
int getDstarOutputPDG(int pion_charge, int input_dstar_pdg)
Helper function to get the correct D* PDG code for the output list, depending on the input (DecayStri...
std::string m_pionListName
Name of the input pion particle list.
ROOT::Math::PxPyPzEVector estimateDstarFourMomentum(const Particle *pion)
Estimates the D* four momentum given a slow pion.
std::unique_ptr< Variable::Cut > m_cut_pion
cut object which performs the cuts
std::string m_outputAntiListName
Name of the output anti-D* particle list.
std::string m_outputListName
Name of the output D* particle list.
Base class for Modules.
Definition: Module.h:72
Class to store reconstructed particles.
Definition: Particle.h:75
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.