PandaRoot
BSEmcMergeRecoHits Class Reference

#include <BSEmcMergeRecoHits.h>

Inheritance diagram for BSEmcMergeRecoHits:
PndProcess< BSEmcClusteringData >

Public Member Functions

 BSEmcMergeRecoHits ()
 
virtual ~BSEmcMergeRecoHits ()
 
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 SetupParameters (const PndParameterRegister *t_parameterRegister)
 Fetch all parameters from the PndParameterRegister. More...
 
virtual void SetData (BSEmcClusteringData *t_pdata)
 Pass the data container ptrs to the process, and store pointers in class members. More...
 
virtual void Process ()
 The actual data transformation (digitizing, clustering, etc.) should be defined here. More...
 
- 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 double CalculateDistance (const TVector3 &firstposition, const TVector3 &secondposition)
 Calculate the distance of two given RecoHit positions. More...
 
virtual Int_t FindClosestHit (const BSEmcRecoHit *CurrentRecoHit)
 Find the Reco Hit, which lies closest to the given RecoHit. More...
 
virtual void FillTmpSubcluster (BSEmcSubCluster *&TmpSubCluster, const BSEmcSubCluster *SubCluster)
 Combine the digis of the given SubCluster and the temporary SubCluster and re-calculate energy and position. More...
 
virtual void UpdateRecoHit (const BSEmcSubCluster *MainSubCluster, const Int_t MainSubClusterId)
 Update the energy values of the main RecoHit based on the temporary SubCluster. More...
 
virtual void CleanUpRecoHitArray ()
 Remove SplitOff RecoHits and compress the RecoHitArray. More...
 
 ClassDef (BSEmcMergeRecoHits, 1)
 

Protected Attributes

std::string fClusteringParName {""}
 
std::string fClusterPropertiesParName {""}
 
std::string fPositionParName {""}
 
std::string fNeighbouringRelationParName {""}
 
BSEmcGeoNeighbouringRelationParfNeighbouringRelationPar = nullptr
 
const BSEmcCrystalPositionParfPositionPar
 
TString fSubClusterBranchName {""}
 
PndContainerI< BSEmcDigi > * fDigiArray {nullptr}
 
PndOutputContainerI< BSEmcCluster > * fClusterArray {nullptr}
 
PndOutputContainerI< BSEmcSubCluster > * fSubClusterArray {nullptr}
 
PndOutputContainerI< BSEmcRecoHit > * fRecoHitArray {nullptr}
 
std::unique_ptr< BSEmcEnergyCalculationAlgofEnergyProcess {new BSEmcEnergyCalculationAlgo}
 
std::unique_ptr< BSEmcPositionAlgofPositionProcess {new BSEmcPositionAlgo}
 
Double_t fClusterEnergyCut
 
- 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

Definition at line 26 of file BSEmcMergeRecoHits.h.

Constructor & Destructor Documentation

◆ BSEmcMergeRecoHits()

BSEmcMergeRecoHits::BSEmcMergeRecoHits ( )

◆ ~BSEmcMergeRecoHits()

virtual BSEmcMergeRecoHits::~BSEmcMergeRecoHits ( )
virtual

Member Function Documentation

◆ CalculateDistance()

virtual double BSEmcMergeRecoHits::CalculateDistance ( const TVector3 &  firstposition,
const TVector3 &  secondposition 
)
protectedvirtual

Calculate the distance of two given RecoHit positions.

Parameters
firstposition
secondposition
Returns
double - return distance between Reco Hits

◆ ClassDef()

BSEmcMergeRecoHits::ClassDef ( BSEmcMergeRecoHits  ,
 
)
protected

◆ CleanUpRecoHitArray()

virtual void BSEmcMergeRecoHits::CleanUpRecoHitArray ( )
protectedvirtual

Remove SplitOff RecoHits and compress the RecoHitArray.

◆ FillTmpSubcluster()

virtual void BSEmcMergeRecoHits::FillTmpSubcluster ( BSEmcSubCluster *&  TmpSubCluster,
const BSEmcSubCluster SubCluster 
)
protectedvirtual

Combine the digis of the given SubCluster and the temporary SubCluster and re-calculate energy and position.

Parameters
TmpSubCluster
SubCluster

◆ FindClosestHit()

virtual Int_t BSEmcMergeRecoHits::FindClosestHit ( const BSEmcRecoHit CurrentRecoHit)
protectedvirtual

Find the Reco Hit, which lies closest to the given RecoHit.

Parameters
CurrentRecoHit
Returns
Int_t - SubClusterId of the closest hit

◆ Process()

virtual void BSEmcMergeRecoHits::Process ( )
virtual

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

Implements PndProcess< BSEmcClusteringData >.

◆ SetData()

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

◆ SetupParameters()

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

Fetch all parameters from the PndParameterRegister.

Parameters
t_parameter

Implements PndProcess< BSEmcClusteringData >.

◆ UpdateRecoHit()

virtual void BSEmcMergeRecoHits::UpdateRecoHit ( const BSEmcSubCluster MainSubCluster,
const Int_t  MainSubClusterId 
)
protectedvirtual

Update the energy values of the main RecoHit based on the temporary SubCluster.

Parameters
MainSubCluster
MainSubClusterId

Member Data Documentation

◆ fClusterArray

PndOutputContainerI<BSEmcCluster>* BSEmcMergeRecoHits::fClusterArray {nullptr}
protected

Definition at line 84 of file BSEmcMergeRecoHits.h.

◆ fClusterEnergyCut

Double_t BSEmcMergeRecoHits::fClusterEnergyCut
protected

Definition at line 89 of file BSEmcMergeRecoHits.h.

◆ fClusteringParName

std::string BSEmcMergeRecoHits::fClusteringParName {""}
protected

Definition at line 76 of file BSEmcMergeRecoHits.h.

◆ fClusterPropertiesParName

std::string BSEmcMergeRecoHits::fClusterPropertiesParName {""}
protected

Definition at line 77 of file BSEmcMergeRecoHits.h.

◆ fDigiArray

PndContainerI<BSEmcDigi>* BSEmcMergeRecoHits::fDigiArray {nullptr}
protected

Definition at line 83 of file BSEmcMergeRecoHits.h.

◆ fEnergyProcess

std::unique_ptr<BSEmcEnergyCalculationAlgo> BSEmcMergeRecoHits::fEnergyProcess {new BSEmcEnergyCalculationAlgo}
protected

Definition at line 87 of file BSEmcMergeRecoHits.h.

◆ fNeighbouringRelationPar

BSEmcGeoNeighbouringRelationPar* BSEmcMergeRecoHits::fNeighbouringRelationPar = nullptr
protected

Definition at line 80 of file BSEmcMergeRecoHits.h.

◆ fNeighbouringRelationParName

std::string BSEmcMergeRecoHits::fNeighbouringRelationParName {""}
protected

Definition at line 79 of file BSEmcMergeRecoHits.h.

◆ fPositionPar

const BSEmcCrystalPositionPar* BSEmcMergeRecoHits::fPositionPar
protected

Definition at line 81 of file BSEmcMergeRecoHits.h.

◆ fPositionParName

std::string BSEmcMergeRecoHits::fPositionParName {""}
protected

Definition at line 78 of file BSEmcMergeRecoHits.h.

◆ fPositionProcess

std::unique_ptr<BSEmcPositionAlgo> BSEmcMergeRecoHits::fPositionProcess {new BSEmcPositionAlgo}
protected

Definition at line 88 of file BSEmcMergeRecoHits.h.

◆ fRecoHitArray

PndOutputContainerI<BSEmcRecoHit>* BSEmcMergeRecoHits::fRecoHitArray {nullptr}
protected

Definition at line 86 of file BSEmcMergeRecoHits.h.

◆ fSubClusterArray

PndOutputContainerI<BSEmcSubCluster>* BSEmcMergeRecoHits::fSubClusterArray {nullptr}
protected

Definition at line 85 of file BSEmcMergeRecoHits.h.

◆ fSubClusterBranchName

TString BSEmcMergeRecoHits::fSubClusterBranchName {""}
protected

Definition at line 82 of file BSEmcMergeRecoHits.h.


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