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/Vector3D.h>
15#include <Math/Vector4D.h>
16#include <TMatrix.h>
17
18// DataStore
19#include <framework/database/DBObjPtr.h>
20#include <framework/datastore/StoreArray.h>
21#include <framework/datastore/StoreObjPtr.h>
22
23// DataObjects
24#include <mdst/dbobjects/BeamSpot.h>
25#include <analysis/dataobjects/ParticleList.h>
26#include <analysis/dataobjects/Btube.h>
27
28#include <analysis/DecayDescriptor/DecayDescriptor.h>
29namespace Belle2 {
39 class BtubeCreatorModule : public Module {
40
41 public:
42
47
49 virtual void initialize() override;
50
52 virtual void event() override;
53
54 private:
55
56 std::string m_listName;
57 std::string m_decayString;
60 double m_Bfield;
61 ROOT::Math::XYZVector m_BeamSpotCenter;
62 TMatrixDSym m_beamSpotCov;
72 bool doVertexFit(Particle* p);
73 void addextrainfos(Particle* daughter, Particle* copy, TMatrix mat,
74 ROOT::Math::PxPyPzEVector TLV);
75 bool m_verbose;
76 };
77
78}
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
ROOT::Math::XYZVector 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.
Module()
Constructor.
Definition Module.cc:30
Class to store reconstructed particles.
Definition Particle.h:76
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.