Belle II Software development
BtubeCreatorModule.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 <string>
13
14#include <Math/Vector4D.h>
15
16// DataStore
17#include <framework/database/DBObjPtr.h>
18#include <framework/datastore/StoreArray.h>
19#include <framework/datastore/StoreObjPtr.h>
20
21#include <framework/geometry/B2Vector3.h>
22
23// DataObjects
24#include <mdst/dbobjects/BeamSpot.h>
25#include <analysis/dataobjects/ParticleList.h>
26#include <analysis/dataobjects/Btube.h>
27
28// rave
29#include <analysis/VertexFitting/RaveInterface/RaveSetup.h>
30#include <analysis/VertexFitting/RaveInterface/RaveVertexFitter.h>
31#include <analysis/VertexFitting/RaveInterface/RaveKinematicVertexFitter.h>
32
33#include <analysis/DecayDescriptor/DecayDescriptor.h>
34namespace Belle2 {
44 class BtubeCreatorModule : public Module {
45
46 public:
47
52
54 virtual void initialize() override;
55
57 virtual void event() override;
58
59 private:
60
61 std::string m_listName;
62 std::string m_decayString;
65 double m_Bfield;
67 TMatrixDSym m_beamSpotCov;
77 bool doVertexFit(Particle* p);
78 void addextrainfos(Particle* daughter, Particle* copy, TMatrix mat,
79 ROOT::Math::PxPyPzEVector TLV);
80 bool m_verbose;
81 };
83}
Create a B particle from a Bbar particle.
TMatrixDSym m_beamSpotCov
Beam spot covariance matrix.
virtual void initialize() override
declare data store elements
StoreArray< Btube > m_tubeArray
the (output) array of Btube objects
virtual void event() override
process event
std::string m_decayString
specifies which daughter particles will be used as reference to create Btube
std::string m_listName
name of particle list
B2Vector3D m_BeamSpotCenter
Beam spot position.
BtubeCreatorModule()
Constructor: Sets the description, the properties and the parameters of the module.
DBObjPtr< BeamSpot > m_beamSpotDB
Beam spot database object.
bool doVertexFit(Particle *p)
Main steering routine.
double m_confidenceLevel
required fit confidence level
DecayDescriptor m_decaydescriptor
Decay descriptor of decays to look for.
void addextrainfos(Particle *daughter, Particle *copy, TMatrix mat, ROOT::Math::PxPyPzEVector TLV)
fills extrainfos to the particle
double m_Bfield
magnetic field from data base
StoreObjPtr< ParticleList > m_plist
the input particle list
bool m_verbose
run fit with a lot of B2INFOs for debugging
bool m_associateBtubeToBselected
whether to associate the Btube with the selected B
Class for accessing objects in the database.
Definition: DBObjPtr.h:21
The DecayDescriptor stores information about a decay tree or parts of a decay tree.
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.