 |
Belle II Software
release-05-02-19
|
13 #include <framework/core/Module.h>
15 #include <analysis/DecayDescriptor/DecayDescriptor.h>
18 #include <framework/database/DBObjPtr.h>
21 #include <mdst/dbobjects/BeamSpot.h>
24 #include <analysis/VertexFitting/KFit/MassFitKFit.h>
25 #include <analysis/VertexFitting/KFit/FourCFitKFit.h>
26 #include <analysis/VertexFitting/KFit/MassPointingVertexFitKFit.h>
27 #include <analysis/VertexFitting/KFit/MassVertexFitKFit.h>
28 #include <analysis/VertexFitting/KFit/VertexFitKFit.h>
29 #include <analysis/VertexFitting/KFit/MakeMotherKFit.h>
32 #include <analysis/VertexFitting/RaveInterface/RaveSetup.h>
33 #include <analysis/VertexFitting/RaveInterface/RaveVertexFitter.h>
34 #include <analysis/VertexFitting/RaveInterface/RaveKinematicVertexFitter.h>
47 class ParticleVertexFitterModule :
public Module {
71 virtual void event()
override;
181 std::vector<Particle*>& allparticles,
const Particle* daughter);
204 bool fillFitParticles(
const Particle* mother, std::vector<const Particle*>& fitChildren, std::vector<const Particle*>& pi0Children);
bool makeKVertexMother(analysis::VertexFitKFit &kv, Particle *p)
Update mother particle after unconstrained vertex fit using KFit.
bool doKMassVertexFit(Particle *p)
Mass-constrained vertex fit using KFit.
std::string m_withConstraint
additional constraint on vertex
bool makeKFourCMother(analysis::FourCFitKFit &kv, Particle *p)
Update mother particle after FourC fit using KFit.
std::string m_fitType
type of the kinematic fit
double m_confidenceLevel
required fit confidence level
std::string m_vertexFitter
Vertex Fitter name.
MassFitKFit is a derived class from KFitBase to perform mass-constraint kinematical fit.
virtual void event() override
Event processor.
FourCFitKFit is a derived class from KFitBase to perform 4 momentum-constraint kinematical fit.
void smearBeamSpot(double width)
smear beam spot covariance
bool makeKMassMother(analysis::MassFitKFit &kv, Particle *p)
Update mother particle after mass fit using KFit.
bool doKMassFit(Particle *p)
Mass fit using KFit.
bool doKMassPointingVertexFit(Particle *p)
Mass-constrained vertex fit with additional pointing constraint using KFit.
bool makeKMassVertexMother(analysis::MassVertexFitKFit &kv, Particle *p)
Update mother particle after mass-constrained vertex fit using KFit.
double m_smearing
smearing width applied to IP tube
void updateMapOfTrackAndDaughter(unsigned &l, std::vector< std::vector< unsigned >> &pars, std::vector< unsigned > &pard, std::vector< Particle * > &allparticles, const Particle *daughter)
update the map of daughter and tracks, find out which tracks belong to each daughter.
virtual void initialize() override
Initialize the Module.
std::string m_listName
particle list name
TMatrixDSym m_beamSpotCov
Beam spot covariance matrix.
Class for accessing objects in the database.
void addIPTubeToKFit(analysis::VertexFitKFit &kv)
Adds IPTube constraint to the vertex fit using KFit.
MassPointingVertexFitKFit is a derived class from KFitBase It performs a kinematical fit with three c...
double m_Bfield
magnetic field from data base
std::string m_decayString
daughter particles selection
bool m_hasCovMatrix
flag for mother covariance matrix (PseudoFitter)
bool doVertexFit(Particle *p)
Main steering routine.
Abstract base class for different kinds of events.
bool addChildofParticletoKFit(analysis::FourCFitKFit &kv, const Particle *particle)
Adds given particle's child to the FourCFitKFit.
bool fillFitParticles(const Particle *mother, std::vector< const Particle * > &fitChildren, std::vector< const Particle * > &pi0Children)
Fills valid particle's children (with valid error matrix) in the vector of Particles that will enter ...
void addIPProfileToKFit(analysis::VertexFitKFit &kv)
Adds IPProfile constraint to the vertex fit using KFit.
DBObjPtr< BeamSpot > m_beamSpotDB
Beam spot database object.
bool doKVertexFit(Particle *p, bool ipProfileConstraint, bool ipTubeConstraint)
Unconstrained vertex fit using KFit.
bool m_updateDaughters
flag for daughters update
bool doRaveFit(Particle *mother)
Fit using Rave.
Class to store reconstructed particles.
bool makeKMassPointingVertexMother(analysis::MassPointingVertexFitKFit &kv, Particle *p)
Update mother particle after mass-constrained vertex fit with additional pointing constraint using KF...
The DecayDescriptor stores information about a decay tree or parts of a decay tree.
void findConstraintBoost(double cut)
calculate iptube constraint (quasi cylinder along boost direction) for RAVE fit
ParticleVertexFitterModule()
Constructor.
bool allSelectedDaughters(const Particle *mother, const std::vector< const Particle * > &tracksVertex)
check if all the Daughters (o grand-daughters) are selected for the vertex fit
bool doKFourCFit(Particle *p)
FourC fit using KFit.
MassVertexFitKFit is a derived class from KFitBase to perform mass-vertex-constraint kinematical fit.
TVector3 m_BeamSpotCenter
Beam spot position.
bool redoPi0MassFit(Particle *pi0Temp, const Particle *pi0Orig, const analysis::VertexFitKFit &kv)
Performs mass refit of pi0 assuming that pi0 originates from the point given by VertexFit.
DecayDescriptor m_decaydescriptor
Decay descriptor of decays to look for.
VertexFitKFit is a derived class from KFitBase to perform vertex-constraint kinematical fit.
virtual void beginRun() override
Called when entering a new run.