9 #include <analysis/modules/TrackFitResultEstimator/TrackFitResultEstimator.h>
11 #include <framework/datastore/RelationArray.h>
12 #include <framework/geometry/BFieldManager.h>
14 #include <analysis/DecayDescriptor/DecayDescriptor.h>
15 #include <analysis/ClusterUtility/ClusterUtils.h>
17 #include <TDatabasePDG.h>
18 #include <Math/Vector3D.h>
22 using namespace ROOT::Math;
37 Create a TrackFitResult from the momentum of the Particle assuming it originates from the IP and make a relation between them. The
38 covariance, detector hit information, and fit-related information (pValue, NDF) are assigned meaningless values. The input
39 Particles must not have already Track or TrackFitResult and thus are supposed to be composite particles, recoil, dummy particles,
40 and so on. Since the source type is not overwritten as Track, not all track-related variables are guaranteed to be available.
45 "The name of input ParticleList.",
57 if (abs(TDatabasePDG::Instance()->GetParticle(pdg)->Charge()) > 3)
58 B2WARNING(
"The absolute value of charge of input ParticleList is grater than 1. Helix requires abs(charge) <= 1. "
59 "The sign of charge will be used instead.");
68 TMatrixDSym dummyCovariance(6);
69 for (
int row = 0; row < 6; ++row) {
70 dummyCovariance(row, row) = 10000;
73 XYZVector position(0,0,0);
82 if (part->getTrack() or part->getTrackFitResult())
83 B2ERROR(
"Particle is already related to the Track or TrackFitResult object.");
85 int charge = part->getCharge();
87 charge = charge / abs(charge);
99 part->addRelationTo(trkfit);
static ROOT::Math::XYZVector getFieldInTesla(const ROOT::Math::XYZVector &pos)
return the magnetic field at a given position in Tesla.
The ParticleType class for identifying different particle types.
int getPDGCode() const
Return PDG code.
The DecayDescriptor stores information about a decay tree or parts of a decay tree.
bool init(const std::string &str)
Initialise the DecayDescriptor from given string.
const DecayDescriptorParticle * getMother() const
return mother.
void setDescription(const std::string &description)
Sets the description of the module.
Class to store reconstructed particles.
StoreArray< TrackFitResult > m_trackfitresults
StoreArray of TrackFitResult objects.
virtual void initialize() override
Initialize the Module.
TrackFitResultEstimatorModule()
Constructor.
virtual void event() override
Event processor.
StoreArray< Particle > m_particles
StoreArray of Particle objects.
DBObjPtr< BeamSpot > m_beamSpotDB
Beam spot database object.
StoreObjPtr< ParticleList > m_inputparticleList
StoreObjptr for input charged ParticleList.
std::string m_inputListName
The name of input ParticleList.
Values of the result of a track fit with a given particle hypothesis.
REG_MODULE(arichBtest)
Register the Module.
void addParam(const std::string &name, T ¶mVariable, const std::string &description, const T &defaultValue)
Adds a new parameter to the module.
Abstract base class for different kinds of events.