Belle II Software  release-08-01-10
SimpleClusterCandidate Class Reference

Class representing a cluster candidate during simple clustering of the SVD. More...

#include <SimpleClusterCandidate.h>

Collaboration diagram for SimpleClusterCandidate:

Public Member Functions

 SimpleClusterCandidate (VxdID vxdID, bool isUside, int sizeHeadTail, double cutSeed, double cutAdjacent, double cutSNR, int timeAlgorithm)
 Constructor to create an empty Cluster.
 
 SimpleClusterCandidate (VxdID vxdID, bool isUside, int sizeHeadTail, double cutSeed, double cutAdjacent, double cutSNR, int timeAlgorithm, const std::string &storeShaperDigitsName, const std::string &storeRecoDigitsName)
 You can specify the name of StoreArray<SVDShaperDigit> and StoreArray<SVDRecoDigit> More...
 
bool add (VxdID vxdID, bool isUside, struct stripInCluster &aStrip)
 Add a Strip to the current cluster. More...
 
void finalizeCluster ()
 compute the position, time and their error of the cluster
 
bool isGoodCluster ()
 return true if the cluster candidate can be promoted to cluster
 
VxdID getSensorID ()
 return the VxdID of the cluster sensor
 
bool isUSide ()
 return true if the cluster is on the U/P side
 
float getCharge () const
 return the charge of the cluster
 
float getChargeError () const
 return the error of the charge of the cluster
 
float getSeedCharge () const
 return the seed charge of the cluster
 
float getTime () const
 return the time of the cluster depending on the m_timeAlgorithm
 
float get6SampleCoGTime () const
 return the time of the cluster for the 6-sample CoG
 
float get3SampleCoGRawTime () const
 return the raw time of the cluster for the 3-sample CoG
 
float get3SampleELSRawTime () const
 return the raw time of the cluster for the 3-sample ELS
 
float getTimeError () const
 return the error on the time of the cluster depending on the m_timeAlgorithm, implemented only for the 6-Sample CoG
 
float get6SampleCoGTimeError () const
 return the time of the cluster for the 6-sample CoG
 
float get3SampleCoGTimeError () const
 return the time of the cluster for the 3-sample CoG
 
float get3SampleELSTimeError () const
 return the time of the cluster for the 3-sample ELS
 
Belle2::SVDShaperDigit::APVFloatSamples getClsSamples () const
 returns the APVFloatSamples obtained summing sample-by-sample all the strips on 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 selection
 
int getFirstFrame ()
 return the first frame always 0 if 6-Sample CoG
 
float getPosition () const
 return the position of the cluster
 
float getPositionError () const
 return the error on the position of the cluster
 
float getSNR () const
 return the signal over noise ratio of the cluster
 
int size () const
 return the cluster size (number of strips of the cluster
 
const std::vector< stripInClustergetStripsInCluster () const
 returns the vector of the strips in the cluster
 

Protected Attributes

bool m_stopCreationCluster = false
 cluster is not good if something goes wrong
 
VxdID m_vxdID
 VxdID of the cluster.
 
bool m_isUside
 side of the cluster
 
int m_sizeHeadTail
 number of strips after which we switch from COG to HeadTail estimation of the position
 
double m_cutSeed
 SNR above which the strip can be considered as seed.
 
double m_cutAdjacent
 SNR above which the strip can be considered for clustering.
 
double m_cutCluster
 SNR above which the cluster is ok.
 
int m_timeAlgorithm = 0
 selects the algorithm to compute the cluster tim 0 = 6-sample CoG (default) 1 = 3-sample CoG 2 = 3-sample ELS
 
float m_charge
 Charge of the cluster.
 
float m_chargeError
 Error on Charge of the cluster.
 
float m_seedCharge
 Seed Charge of the cluster.
 
float m_6SampleTime
 Time of the cluster computed with the 6-sample CoG.
 
float m_6SampleTimeError
 Error on Time of the cluster computed with the 6-sample CoG (not implemented yet)
 
float m_position
 Position of the cluster.
 
float m_positionError
 Error on Position of the cluster.
 
float m_SNR
 SNR of the cluster.
 
float m_seedSNR
 SNR of the seed strip.
 
int m_seedIndex
 SVDRecoDigit index of the seed strip of the cluster.
 
std::vector< stripInClusterm_strips
 first frame selected with the max-sum algorithm More...
 
std::string m_storeShaperDigitsName
 Name of the collection to use for the SVDShaperDigits.
 
std::string m_storeRecoDigitsName
 Name of the collection to use for the SVDRecoDigits.
 

Detailed Description

Class representing a cluster candidate during simple clustering of the SVD.

Definition at line 40 of file SimpleClusterCandidate.h.

Constructor & Destructor Documentation

◆ SimpleClusterCandidate()

SimpleClusterCandidate ( VxdID  vxdID,
bool  isUside,
int  sizeHeadTail,
double  cutSeed,
double  cutAdjacent,
double  cutSNR,
int  timeAlgorithm,
const std::string &  storeShaperDigitsName,
const std::string &  storeRecoDigitsName 
)

You can specify the name of StoreArray<SVDShaperDigit> and StoreArray<SVDRecoDigit>

which are needed to get clustered samples.

Definition at line 54 of file SimpleClusterCandidate.cc.

56  : m_vxdID(vxdID)
57  , m_isUside(isUside)
58  , m_sizeHeadTail(sizeHeadTail)
59  , m_cutSeed(cutSeed)
60  , m_cutAdjacent(cutAdjacent)
61  , m_cutCluster(cutCluster)
62  , m_timeAlgorithm(timeAlgorithm)
63  , m_charge(0)
64  , m_chargeError(0)
65  , m_seedCharge(0)
66  , m_6SampleTime(0)
68  , m_position(0)
69  , m_positionError(0)
70  , m_SNR(0)
71  , m_seedSNR(0)
72  , m_seedIndex(-1)
73  , m_strips(4)
74  , m_storeShaperDigitsName(storeShaperDigitsName)
75  , m_storeRecoDigitsName(storeRecoDigitsName)
76  {m_strips.clear();};
std::string m_storeRecoDigitsName
Name of the collection to use for the SVDRecoDigits.
float m_position
Position of the cluster.
float m_6SampleTimeError
Error on Time of the cluster computed with the 6-sample CoG (not implemented yet)
std::string m_storeShaperDigitsName
Name of the collection to use for the SVDShaperDigits.
double m_cutCluster
SNR above which the cluster is ok.
std::vector< stripInCluster > m_strips
first frame selected with the max-sum algorithm
float m_6SampleTime
Time of the cluster computed with the 6-sample CoG.
float m_positionError
Error on Position of the cluster.
int m_sizeHeadTail
number of strips after which we switch from COG to HeadTail estimation of the position
int m_timeAlgorithm
selects the algorithm to compute the cluster tim 0 = 6-sample CoG (default) 1 = 3-sample CoG 2 = 3-sa...
float m_chargeError
Error on Charge of the cluster.
double m_cutSeed
SNR above which the strip can be considered as seed.
float m_seedCharge
Seed Charge of the cluster.
int m_seedIndex
SVDRecoDigit index of the seed strip of the cluster.
double m_cutAdjacent
SNR above which the strip can be considered for clustering.

Member Function Documentation

◆ add()

bool add ( VxdID  vxdID,
bool  isUside,
struct stripInCluster aStrip 
)

Add a Strip to the current cluster.

Update the cluster seed seed.

Parameters
vxdIDsensorID
isUsideis u
aStripto add to the cluster
Returns
true if the strip is on the expected side and sensor and it's next to the last strip added to the cluster candidate

Definition at line 78 of file SimpleClusterCandidate.cc.

Member Data Documentation

◆ m_strips

std::vector<stripInCluster> m_strips
protected

first frame selected with the max-sum algorithm

vector containing the strips in the cluster

Definition at line 246 of file SimpleClusterCandidate.h.


The documentation for this class was generated from the following files: