Belle II Software light-2406-ragdoll
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
25namespace 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;
115 std::string m_slowPionCut;
116 std::string m_DstarCut;
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.
Definition: ClusterUtils.h:24