 |
Belle II Software
release-05-02-19
|
11 #ifndef SVD_SIMPLECLUSTERCANDIDATE_H
12 #define SVD_SIMPLECLUSTERCANDIDATE_H
14 #include <vxd/dataobjects/VxdID.h>
15 #include <svd/dataobjects/SVDShaperDigit.h>
30 struct stripInCluster {
54 std::string storeShaperDigitsName,
55 std::string storeRecoDigitsName);
246 std::vector<stripInCluster>
m_strips;
261 #endif //SVD_SIMPLECLUSTERCANDIDATE_H
float getTime() const
return the time of the cluster depending on the m_timeAlgorithm
int size() const
return the cluster size (number of strips of the cluster
int m_seedIndex
SVDRecoDigit index of the seed strip of the cluster.
Class to uniquely identify a any structure of the PXD and SVD.
float getPosition() const
return the position of the cluster
structure containing the relevant informations of eachstrip of the cluster
float m_charge
Charge of the cluster.
float m_6SampleTimeError
Error on Time of the cluster computed with the 6-sample CoG (not implemented yet)
int recoDigitIndex
index of the reco digit
float m_seedSNR
SNR of the seed strip.
SimpleClusterCandidate(VxdID vxdID, bool isUside, int sizeHeadTail, double cutSeed, double cutAdjacent, double cutSNR, int timeAlgorithm)
Constructor to create an empty Cluster.
Class representing a cluster candidate during simple clustering of the SVD.
float m_6SampleTime
Time of the cluster computed with the 6-sample CoG.
const std::vector< stripInCluster > getStripsInCluster() const
returns the vector of the strips in the cluster
float get6SampleCoGTime() const
return the time of the cluster for the 6-sample CoG
bool m_stopCreationCluster
cluster is not good if something goes wrong
float get6SampleCoGTimeError() const
return the time of the cluster for the 6-sample CoG
float getChargeError() const
return the error of the charge of the cluster
int m_timeAlgorithm
selects the algorithm to compute the cluster tim 0 = 6-sample CoG (default) 1 = 3-sample CoG 2 = 3-sa...
float getSeedCharge() const
return the seed charge of the cluster
float getPositionError() const
return the error on the position of the cluster
std::array< APVFloatSampleType, c_nAPVSamples > APVFloatSamples
array of APVFloatSampleType objects
VxdID m_vxdID
VxdID of the cluster.
bool isUSide()
return true if the cluster is on the U/P side
Abstract base class for different kinds of events.
VxdID getSensorID()
return the VxdID of the cluster sensor
float get3SampleELSTimeError() const
return the time of the cluster for the 3-sample ELS
std::string m_storeRecoDigitsName
Name of the collection to use for the SVDRecoDigits.
Belle2::SVDShaperDigit::APVFloatSamples getClsSamples() const
returns the APVFloatSamples obtained summing sample-by-sample all the strips on the cluster
float getTimeError() const
return the error on the time of the cluster depending on the m_timeAlgorithm, implemented only for th...
int m_sizeHeadTail
number of strips after which we switch from COG to HeadTail estimation of the position
std::vector< stripInCluster > m_strips
first frame selected with the max-sum algorithm
std::string m_storeShaperDigitsName
Name of the collection to use for the SVDShaperDigits.
double m_cutAdjacent
SNR above which the strip can be considered for clustering.
float get3SampleCoGTimeError() const
return the time of the cluster for the 3-sample CoG
float get3SampleCoGRawTime() const
return the raw time of the cluster for the 3-sample CoG
float m_positionError
Error on Position of the cluster.
bool isGoodCluster()
return true if the cluster candidate can be promoted to cluster
void finalizeCluster()
compute the position, time and their error of the cluster
float m_SNR
SNR of the cluster.
int getFirstFrame()
return the first frame always 0 if 6-Sample CoG
float m_chargeError
Error on Charge of the cluster.
std::pair< int, std::vector< float > > getMaxSum3Samples() const
returns the float vector of clustered 3-samples selected by the MaxSum method with First Frame of the...
float time
6-sample CoG strip time
float timeError
6-sample CoG strip time error
float get3SampleELSRawTime() const
return the raw time of the cluster for the 3-sample ELS
float m_seedCharge
Seed Charge of the cluster.
float getSNR() const
return the signal over noise ratio of the cluster
bool m_isUside
side of the cluster
double m_cutSeed
SNR above which the strip can be considered as seed.
bool add(VxdID vxdID, bool isUside, struct stripInCluster &aStrip)
Add a Strip to the current cluster.
float getCharge() const
return the charge of the cluster
double m_cutCluster
SNR above which the cluster is ok.
float m_position
Position of the cluster.