9 #include <tracking/modules/trackFilter/ParallelTrackFilterModule.h>
10 #include <mdst/dataobjects/TrackFitResult.h>
11 #include <mdst/dataobjects/HitPatternVXD.h>
12 #include <mdst/dataobjects/HitPatternCDC.h>
13 #include <framework/datastore/StoreArray.h>
29 setDescription(
"Generates a new StoreArray from the input StoreArray which contains only tracks that meet the specified criteria.");
30 setPropertyFlags(c_ParallelProcessingCertified);
33 addParam(
"inputArrayName", m_inputArrayName,
"StoreArray with the input tracks", m_inputArrayName);
34 addParam(
"outputINArrayName", m_outputINArrayName,
"Output StoreArray with the tracks that pass the cuts", m_outputINArrayName);
35 addParam(
"outputOUTArrayName", m_outputOUTArrayName,
"Output StoreArray with the tracks that do not pass the cuts",
36 m_outputOUTArrayName);
39 addParam(
"min_d0", m_minD0,
"minimum value of the d0", m_minD0);
40 addParam(
"max_d0", m_maxD0,
"maximum value of the d0", m_maxD0);
41 addParam(
"min_z0", m_minZ0,
"minimum value of the z0", m_minZ0);
42 addParam(
"max_z0", m_maxZ0,
"maximum value of the z0", m_maxZ0);
43 addParam(
"min_pCM", m_minPCM,
"minimum value of the center-of-mass-momentum", m_minPCM);
44 addParam(
"min_pT", m_minPT,
"minimum value of the transverse momentum", m_minPT);
45 addParam(
"min_Pvalue", m_minPval,
"minimum value of the P-Value of the track fit", m_minPval);
46 addParam(
"min_NumHitPXD", m_minNumHitsPXD,
"minimum number of PXD hits associated to the trcak", m_minNumHitsPXD);
47 addParam(
"min_NumHitSVD", m_minNumHitsSVD,
"minimum number of SVD hits associated to the trcak", m_minNumHitsSVD);
48 addParam(
"min_NumHitCDC", m_minNumHitsCDC,
"minimum number of CDC hits associated to the trcak", m_minNumHitsCDC);
55 B2DEBUG(22,
"ParallelTrackFilterModule " +
getName() +
" parameters:"
63 B2WARNING(
"Missing input tracks array, " +
getName() +
" is skipped"
static const ChargedStable pion
charged pion particle
Hit pattern of CDC hits within a track.
unsigned short getNHits() const
Get the total Number of CDC hits in the fit.
Hit pattern of the VXD within a track.
unsigned short getNPXDHits() const
Get total number of hits in the PXD.
unsigned short getNSVDHits() const
Get total number of hits in the SVD.
const std::string & getName() const
Returns the name of the module.
Generates a new StoreArray from the input StoreArray which contains only tracks that meet the specifi...
double m_maxD0
d0 maximum value
std::string m_outputOUTArrayName
StoreArray with the NOT selected output tracks.
SelectSubset< Track > m_selectedTracks
selected tracks
std::string m_outputINArrayName
StoreArray with the selected output tracks.
int m_minNumHitsCDC
miminum value of CDC hits
int m_minNumHitsPXD
miminum value of PXD hits
virtual void initialize() override
init the module
double m_minD0
d0 miminum value
virtual void event() override
processes the event
bool isSelected(const Track *track)
determine if the track satisfies the selection criteria
double m_maxZ0
z0 maximum value
double m_minPval
miminum P-value of the track fit
SelectSubset< Track > m_notSelectedTracks
not selected tracks
double m_minPT
miminum value of the transverse momentum
int m_minNumHitsSVD
miminum value of SVD hits
double m_minZ0
z0 miminum value
std::string m_inputArrayName
StoreArray with the input tracks.
bool isOptional(const std::string &name="")
Tell the DataStore about an optional input.
Accessor to arrays stored in the data store.
Values of the result of a track fit with a given particle hypothesis.
double getPValue() const
Getter for Chi2 Probability of the track fit.
TVector3 getMomentum() const
Getter for vector of momentum at closest approach of track in r/phi projection.
double getD0() const
Getter for d0.
double getZ0() const
Getter for z0.
HitPatternCDC getHitPatternCDC() const
Getter for the hit pattern in the CDC;.
HitPatternVXD getHitPatternVXD() const
Getter for the hit pattern in the VXD;.
Class that bundles various TrackFitResults.
Class to store variables with their name which were sent to the logging service.
#define REG_MODULE(moduleName)
Register the given module (without 'Module' suffix) with the framework.
Abstract base class for different kinds of events.