Belle II Software  release-08-01-10
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>
34 namespace 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.