11#include <framework/core/Module.h>
12#include <framework/datastore/StoreArray.h>
13#include <framework/datastore/StoreObjPtr.h>
14#include <mdst/dataobjects/Track.h>
15#include <tracking/dataobjects/ExtHit.h>
16#include <top/dataobjects/TOPDigit.h>
17#include <top/dataobjects/TOPRecBunch.h>
18#include <top/dataobjects/TOPBarHit.h>
19#include <top/dataobjects/TOPLikelihood.h>
20#include <top/dataobjects/TOPPull.h>
21#include <top/reconstruction_cpp/PDFConstructor.h>
22#include <top/reconstruction_cpp/TOPTrack.h>
23#include <framework/gearbox/Const.h>
62 virtual void event()
override;
72 std::vector<TOP::PDFConstructor*>
PDFs;
86 if (not pdf->isValid()) {
88 for (
auto PDF :
PDFs)
delete PDF;
92 pdf->switchDeltaRayPDF(deltaRayModeling);
103 for (
auto pdf :
PDFs)
delete pdf;
114 double maxLogL = -std::numeric_limits<double>::infinity();
115 for (
const auto pdf :
PDFs) {
116 double logL = pdf->getLogL().logL;
117 if (logL > maxLogL) {
131 for (
const auto pdf :
PDFs) pdf->appendPDFOther(pdfOther);
140 for (
const auto pdf :
PDFs) pdf->clearPDFOther();
static const ParticleSet chargedStableSet
set of charged stable particles
Accessor to arrays stored in the data store.
Type-safe access to single objects in the data store.
TOP reconstruction module.
bool m_deltaRayModeling
include or exclude delta-ray modeling in log likelihood calculation
StoreObjPtr< TOPRecBunch > m_recBunch
reconstructed bunch
StoreArray< TOPLikelihood > m_likelihoods
collection of likelihoods
std::string m_topDigitCollectionName
name of the collection of TOPDigits
double m_maxTime
optional upper time limit for photons
double m_minTime
optional lower time limit for photons
StoreArray< Track > m_tracks
collection of tracks
StoreArray< TOPPull > m_topPulls
collection of pulls
double m_pTCut
pT cut to suppress badly extrapolated tracks that cannot reach TOP counter
std::string m_topLikelihoodCollectionName
name of the collection of created TOPLikelihoods
StoreArray< TOPDigit > m_digits
collection of digits
StoreArray< ExtHit > m_extHits
collection of extrapolated hits
StoreArray< TOPBarHit > m_barHits
collection of MCParticle hits at TOP
std::string m_topPullCollectionName
name of the collection of created TOPPulls
int m_PDGCode
PDG code of hypothesis to construct pulls.
virtual ~TOPReconstructorModule()
Destructor.
PDF construction and log likelihood determination for a given track and particle hypothesis.
Reconstructed track at TOP.
TOPReconstructorModule()
Constructor.
virtual void initialize() override
Initialize the Module.
virtual void event() override
Event processor.
Abstract base class for different kinds of events.
A collection of PDF's of charged stable particles for a given track.
void setMostProbable()
Sets most probable hypothesis.
PDFCollection(const TOP::TOPTrack &trk, bool deltaRayModeling)
Constructor.
const TOP::TOPTrack * topTrack
track
const TOP::PDFConstructor * mostProbable
PDF of most probable particle hypothesis.
bool isValid
true if all PDF's are provided
void deletePDFs()
Release memory allocated in the constructor.
std::vector< TOP::PDFConstructor * > PDFs
PDF's of charged stable particles.
void clearPDFOther()
Clear the containers of PDF's of other tracks.
void appendPDFOther(const TOP::PDFConstructor *pdfOther)
Append most probable PDF of other track in the same module.