PandaRoot
BSEmcMakePreclusters Class Reference

Online like preclustering, takes digis, sorts them into DataConcentrator and only clusters within one DataConcentrator digi set. More...

#include <BSEmcMakePreclusters.h>

Inheritance diagram for BSEmcMakePreclusters:
PndProcess< BSEmcClusteringData >

Public Member Functions

 BSEmcMakePreclusters ()
 
virtual ~BSEmcMakePreclusters ()
 
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< BSEmcPrecluster * > Precluster (const std::vector< const BSEmcDigi *> &t_digiCont)
 
void SetPositionMethod (Int_t t_method)
 
void SetDigiPositionType (Int_t t_type)
 
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

virtual void FinishPreclusters (const std::vector< const BSEmcDigi *> &t_digiCont, const std::vector< BSEmcPrecluster *> &t_preclusterCont)
 
void FinishPrecluster (const std::vector< const BSEmcDigi *> &t_digiCont, BSEmcPrecluster *t_cluster)
 

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

Online like preclustering, takes digis, sorts them into DataConcentrator and only clusters within one DataConcentrator digi set.

To be run before BSEmcMergePreclusters

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 49 of file BSEmcMakePreclusters.h.

Constructor & Destructor Documentation

◆ BSEmcMakePreclusters()

BSEmcMakePreclusters::BSEmcMakePreclusters ( )

◆ ~BSEmcMakePreclusters()

virtual BSEmcMakePreclusters::~BSEmcMakePreclusters ( )
virtual

Member Function Documentation

◆ FinishPrecluster()

void BSEmcMakePreclusters::FinishPrecluster ( const std::vector< const BSEmcDigi *> &  t_digiCont,
BSEmcPrecluster t_cluster 
)
protected

◆ FinishPreclusters()

virtual void BSEmcMakePreclusters::FinishPreclusters ( const std::vector< const BSEmcDigi *> &  t_digiCont,
const std::vector< BSEmcPrecluster *> &  t_preclusterCont 
)
protectedvirtual

◆ Precluster()

std::vector<BSEmcPrecluster *> BSEmcMakePreclusters::Precluster ( const std::vector< const BSEmcDigi *> &  t_digiCont)

◆ Process()

virtual void BSEmcMakePreclusters::Process ( )
virtual

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

Implements PndProcess< BSEmcClusteringData >.

◆ SetClusteringParName()

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

Definition at line 66 of file BSEmcMakePreclusters.h.

66 { fClusteringParName = t_parName; }

◆ SetClusterPropertiesParName()

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

Definition at line 67 of file BSEmcMakePreclusters.h.

67 { fClusterPropertiesParName = t_parName; }

◆ SetData()

virtual void BSEmcMakePreclusters::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 BSEmcMakePreclusters::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 >.

◆ SetDigiPositionType()

void BSEmcMakePreclusters::SetDigiPositionType ( Int_t  t_type)
inline

Definition at line 64 of file BSEmcMakePreclusters.h.

64 { fDigiPosType = t_type; } // select whether to use mapped or real digi position

◆ SetNeighbouringRelationParName()

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

Definition at line 69 of file BSEmcMakePreclusters.h.

References FinishPrecluster(), and FinishPreclusters().

69 { fNeighbouringRelationParName = t_parName; }

◆ SetPositionMethod()

void BSEmcMakePreclusters::SetPositionMethod ( Int_t  t_method)
inline

Set precluster position and radius method: 0 = default method (for position, logarithmic weighing; for radius, distance of digi furthest from position), 1 = simplified method (for position, xpos=(xmax+xmin)/2 ypos=(ymax+ymin)/2; for radius, r=max(ysize, xsize)) for preclusters only, 2 = simplified method for preclusters and clusters. Using the simplified method is less accurate, but saves a very large amount of resources

Definition at line 63 of file BSEmcMakePreclusters.h.

63 { fPosMethod = t_method; }

◆ SetPositionParName()

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

Definition at line 68 of file BSEmcMakePreclusters.h.

68 { fPositionParName = t_parName; }

◆ SetupParameters()

virtual void BSEmcMakePreclusters::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: