PandaRoot
BSEmcMergePreclusters Class Reference

Process to merge preclusters into Clusters. More...

#include <BSEmcMergePreclusters.h>

Inheritance diagram for BSEmcMergePreclusters:
PndProcess< BSEmcClusteringData >

Public Member Functions

 BSEmcMergePreclusters ()
 
virtual ~BSEmcMergePreclusters ()
 
virtual void SetDetectorName (const std::string &t_detectorName)
 Set the Detector name. Important, as most EmcParameter need to know for which detector they need to be fetched (each Emc Subdetector has its own set of parameters) More...
 
virtual void SetData (BSEmcClusteringData *t_data)
 Pass the data container ptrs to the process, and store pointers in class members. More...
 
virtual void SetupParameters (const PndParameterRegister *t_paramRegister)
 Fetch all parameters from the PndParameterRegister. More...
 
virtual void Process ()
 The actual data transformation (digitizing, clustering, etc.) should be defined here. More...
 
std::vector< BSEmcCluster * > MergePreclusters (const std::vector< const BSEmcDigi *> &t_digiCont, const std::vector< BSEmcPrecluster *> &t_preclusterCont)
 
void SetPositionMethod (Int_t method)
 
void SetNeighbourMethod (Int_t nbmethod)
 
void SetClusteringParName (const std::string &t_parName)
 
void SetClusterPropertiesParName (const std::string &t_parName)
 
void SetPositionParName (const std::string &t_parName)
 
void SetNeighbouringRelationParName (const std::string &t_parName)
 
- Public Member Functions inherited from PndProcess< BSEmcClusteringData >
 PndProcess ()
 
 PndProcess (const std::string &t_processname)
 
virtual ~PndProcess ()
 
const std::vector< std::string > & GetListOfRequiredParameters () const
 Get the List Of Required Parameters. More...
 
virtual void PreProcess ()
 PreProcess() is called before the actual Process() call in each event. More...
 
virtual void PostProcess ()
 Immediately after calling Process() PostProcess() is called for cleanup of internal process data, or if not needed, to end the time and memory increase measurement started by PreProcess() More...
 
virtual void TearDown ()
 Last actions at the end of the run. More...
 

Protected Member Functions

std::vector< Int_t > FindNeighbouringPrecluster (const std::vector< BSEmcPrecluster *> &t_preclusterCont)
 
std::vector< Int_t > ClusterNeigbours (const std::vector< Int_t > &t_neighbours, const std::vector< BSEmcPrecluster *> &t_preclusterCont)
 
std::vector< BSEmcCluster * > MergePreclustersIntoCluster (const std::vector< Int_t > &t_clusterNrForPrecluster, const std::vector< BSEmcPrecluster *> &t_preclusterCont)
 
virtual void FinishClusters (const std::vector< const BSEmcDigi *> &t_digiCont, const std::vector< BSEmcCluster *> &t_clusterCont)
 
void FinishCluster (const std::vector< const BSEmcDigi *> &t_digiCont, BSEmcCluster *tmpcluster)
 

Additional Inherited Members

- Protected Attributes inherited from PndProcess< BSEmcClusteringData >
std::vector< std::string > fParameterList
 Parameter names required by this PndProcess. Needs to be populated in derived class. More...
 
std::string fDetectorName
 Set Detector name this PndProcess transforms data for. Required for example by EMC Processes to fetch right parameters. More...
 
std::string fProcessName
 Name of current PndProcess (for debugging) More...
 
TStopwatch fTimer
 Timer to monitor Process() time. More...
 
Double_t fTotalTime
 Time taken by this Process' Process() More...
 
ProcInfo_t fProcInfo
 Helper to access cpu process Memory Info. More...
 
Long_t fLastMemSize
 

Detailed Description

Process to merge preclusters into Clusters.

To be run after BSEmcMergePreclusters and before BSEmcLocalMaxFindingProcess

Author
Viktor Rodin
Ben Salisbury salis.nosp@m.bury.nosp@m.@hisk.nosp@m.p.un.nosp@m.i-bon.nosp@m.n.de, HISKP Bonn
Date
2021-02

Definition at line 51 of file BSEmcMergePreclusters.h.

Constructor & Destructor Documentation

◆ BSEmcMergePreclusters()

BSEmcMergePreclusters::BSEmcMergePreclusters ( )

◆ ~BSEmcMergePreclusters()

virtual BSEmcMergePreclusters::~BSEmcMergePreclusters ( )
virtual

Member Function Documentation

◆ ClusterNeigbours()

std::vector<Int_t> BSEmcMergePreclusters::ClusterNeigbours ( const std::vector< Int_t > &  t_neighbours,
const std::vector< BSEmcPrecluster *> &  t_preclusterCont 
)
protected

◆ FindNeighbouringPrecluster()

std::vector<Int_t> BSEmcMergePreclusters::FindNeighbouringPrecluster ( const std::vector< BSEmcPrecluster *> &  t_preclusterCont)
protected

◆ FinishCluster()

void BSEmcMergePreclusters::FinishCluster ( const std::vector< const BSEmcDigi *> &  t_digiCont,
BSEmcCluster tmpcluster 
)
protected

◆ FinishClusters()

virtual void BSEmcMergePreclusters::FinishClusters ( const std::vector< const BSEmcDigi *> &  t_digiCont,
const std::vector< BSEmcCluster *> &  t_clusterCont 
)
protectedvirtual

◆ MergePreclusters()

std::vector<BSEmcCluster *> BSEmcMergePreclusters::MergePreclusters ( const std::vector< const BSEmcDigi *> &  t_digiCont,
const std::vector< BSEmcPrecluster *> &  t_preclusterCont 
)

◆ MergePreclustersIntoCluster()

std::vector<BSEmcCluster *> BSEmcMergePreclusters::MergePreclustersIntoCluster ( const std::vector< Int_t > &  t_clusterNrForPrecluster,
const std::vector< BSEmcPrecluster *> &  t_preclusterCont 
)
protected

◆ Process()

virtual void BSEmcMergePreclusters::Process ( )
virtual

The actual data transformation (digitizing, clustering, etc.) should be defined here.

Implements PndProcess< BSEmcClusteringData >.

◆ SetClusteringParName()

void BSEmcMergePreclusters::SetClusteringParName ( const std::string &  t_parName)
inline

Set cluster neighbour nbmethod: 0 = default method (for position, logarithmic weighing; for radius, distance of digi furthest from position) -> use this CIRCLE for neighbour relations), 1 = simplified method (for position, xpos=(xmax+xmin)/2 ypos=(ymax+ymin)/2; for radius, r=max(ysize, xsize) -> use this CIRCLE for neighbour relations), 2 = simplified method (for position, xpos=(xmax+xmin)/2 ypos=(ymax+ymin)/2; for radius, rx=(xmax-xmin)/2, ry=(ymax-ymin)/2 -> use this RECTANGULAR BOX for neighbour relations). 3 = simplified method (for position, xpos=(xmax+xmin)/2 ypos=(ymax+ymin)/2; for radius, r=max(ysize, xsize) -> use this SQUARE BOX for neighbour relations).

Definition at line 83 of file BSEmcMergePreclusters.h.

83 { fClusteringParName = t_parName; }

◆ SetClusterPropertiesParName()

void BSEmcMergePreclusters::SetClusterPropertiesParName ( const std::string &  t_parName)
inline

Definition at line 84 of file BSEmcMergePreclusters.h.

84 { fClusterPropertiesParName = t_parName; }

◆ SetData()

virtual void BSEmcMergePreclusters::SetData ( BSEmcClusteringData t_data)
virtual

Pass the data container ptrs to the process, and store pointers in class members.

Parameters
t_data

Implements PndProcess< BSEmcClusteringData >.

◆ SetDetectorName()

virtual void BSEmcMergePreclusters::SetDetectorName ( const std::string &  t_detectorname)
virtual

Set the Detector name. Important, as most EmcParameter need to know for which detector they need to be fetched (each Emc Subdetector has its own set of parameters)

Parameters
t_detectorname

Reimplemented from PndProcess< BSEmcClusteringData >.

◆ SetNeighbouringRelationParName()

void BSEmcMergePreclusters::SetNeighbouringRelationParName ( const std::string &  t_parName)
inline

Definition at line 86 of file BSEmcMergePreclusters.h.

References ClusterNeigbours(), FindNeighbouringPrecluster(), FinishCluster(), FinishClusters(), and MergePreclustersIntoCluster().

86 { fNeighbouringRelationParName = t_parName; }

◆ SetNeighbourMethod()

void BSEmcMergePreclusters::SetNeighbourMethod ( Int_t  nbmethod)
inline

Set cluster position method: 0 = default method (logarithmic weighing), 1 = simplified method (xpos=(xmax+xmin)/2, ypos=(ymax+ymin)/2) using the REAL x,y position, 2 = simplified method (xpos=(xmax+xmin)/2, ypos=(ymax+ymin)/2) using the MAPPED XPad,YPad position, 3 = simplified method using the REAL x,y position of the DIGI WITH HIGHEST ENERGY, 4 = simplified method using the MAPPED XPad,YPad position of the DIGI WITH HIGHEST ENERGY.

Definition at line 73 of file BSEmcMergePreclusters.h.

74  {
75  fNbMethod = nbmethod;
76  }

◆ SetPositionMethod()

void BSEmcMergePreclusters::SetPositionMethod ( Int_t  method)
inline

Definition at line 63 of file BSEmcMergePreclusters.h.

64  {
65  fPosMethod = method;
66  }

◆ SetPositionParName()

void BSEmcMergePreclusters::SetPositionParName ( const std::string &  t_parName)
inline

Definition at line 85 of file BSEmcMergePreclusters.h.

85 { fPositionParName = t_parName; }

◆ SetupParameters()

virtual void BSEmcMergePreclusters::SetupParameters ( const PndParameterRegister t_parameter)
virtual

Fetch all parameters from the PndParameterRegister.

Parameters
t_parameter

Implements PndProcess< BSEmcClusteringData >.


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