9#include <svd/modules/svdPerformance/SVDShaperDigitsFromTracksModule.h>
11#include <svd/dataobjects/SVDCluster.h>
12#include <svd/dataobjects/SVDRecoDigit.h>
14#include <tracking/dataobjects/RecoTrack.h>
15#include <mdst/dataobjects/Track.h>
17#include <framework/datastore/StoreArray.h>
33 B2DEBUG(1,
"Constructor");
35 setDescription(
"generates two new StoreArray from the input StoreArray. One contains all ShaperDigits related to Tracks and the other contains all SahperDigits not related to tracks");
38 addParam(
"SVDShaperDigits",
m_svdshaper,
"StoreArray with the input shaperdigits", std::string(
"SVDShaperDigits"));
39 addParam(
"SVDRecoDigits",
m_svdreco,
"StoreArray with the input recodigits", std::string(
"SVDRecoDigits"));
40 addParam(
"SVDClusters",
m_svdcluster,
"StoreArray with the input clusters", std::string(
"SVDClusters"));
41 addParam(
"Tracks",
m_track,
"StoreArray with the input tracks", std::string(
"Tracks"));
42 addParam(
"RecoTracks",
m_recotrack,
"StoreArray with the input recotracks", std::string(
"RecoTracks"));
44 std::string(
"SVDShaperDigitsFromTracks"));
46 std::string(
"SVDShaperDigitsNotFromTracks"));
48 "Set true if you want to inherit all relations between StoreArray, the default is false",
bool(
false));
50 "Set true if you are using this module with release-05 svd reconstruction (or older)",
bool(
false));
56 B2DEBUG(20,
"Destructor");
65 B2DEBUG(10,
"SVDRecoDigits: " <<
m_svdreco);
67 B2DEBUG(10,
"Tracks: " <<
m_track);
78 ShaperDigits.isRequired();
79 Clusters.isRequired();
133 if (cluster_rel_shaper.
size() == 0) {
return false;}
136 if (recotrack_rel_cluster.
size() == 0) {
return false;}
139 if (track_rel_recotrack.
size() == 0) {
return false;}
148 if (reco_rel_shape.
size() == 0) {
return false;}
151 if (cluster_rel_reco.
size() == 0) {
return false;}
154 if (recotrack_rel_cluster.
size() == 0) {
return false;}
157 if (track_rel_recotrack.
size() == 0) {
return false;}
void setDescription(const std::string &description)
Sets the description of the module.
This is the Reconstruction Event-Data Model Track.
Class for type safe access to objects that are referred to in relations.
size_t size() const
Get number of relations.
RelationVector< FROM > getRelationsFrom(const std::string &name="", const std::string &namedRelation="") const
Get the relations that point from another store array to this object.
The SVD Cluster class This class stores all information about reconstructed SVD clusters.
The SVD ShaperDigit class.
std::string m_outputOUTArrayName
StoreArray with the NOT selected output shaperdigits.
std::string m_outputINArrayName
StoreArray with the selected output shaperdigits.
SelectSubset< SVDShaperDigit > m_selectedShaperDigits
all shaperdigits
std::string m_recotrack
reco track store array
std::string m_svdshaper
StoreArray with the input shaperdigits.
virtual void initialize() override
init the module
virtual ~SVDShaperDigitsFromTracksModule()
if required
SVDShaperDigitsFromTracksModule()
Constructor: Sets the description, the properties and the parameters of the module.
virtual void event() override
processes the event
virtual void endRun() override
end the run
virtual void terminate() override
terminates the module
virtual void beginRun() override
initializes the module
std::string m_svdreco
SVDRecoDigits StoreArray.
SelectSubset< SVDShaperDigit > m_notSelectedShaperDigits
all shaperdigits from tracks
static bool isRelatedToTrackRel5(const SVDShaperDigit *shaperdigit)
select the shaperdigits related to tracks using SVDRecoDigits
bool m_inheritance
if true all relations are inherited
std::string m_track
Track store array.
bool m_useWithRel5Reco
if true uses SVDRecoDigits relations
std::string m_svdcluster
SVDCLuster store array.
static bool isRelatedToTrack(const SVDShaperDigit *shaperdigit)
select the shaperdigits related to tracks
bool isRequired(const std::string &name="")
Ensure this array/object has been registered previously.
Accessor to arrays stored in the data store.
Class that bundles various TrackFitResults.
void addParam(const std::string &name, T ¶mVariable, const std::string &description, const T &defaultValue)
Adds a new parameter to the module.
#define REG_MODULE(moduleName)
Register the given module (without 'Module' suffix) with the framework.
Abstract base class for different kinds of events.