PandaRoot
BSEmcMergeRecoHits Class Reference

#include <BSEmcMergeRecoHits.h>

Inheritance diagram for BSEmcMergeRecoHits:
PndProcess

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 RequestDataContainer (PndContainerRegister *t_register)
 Pass the container register to the process, and get the processes container requirements. More...
 
virtual void GetDataContainer (PndContainerRegister *t_register)
 Pass the container register to the process, and set the processes container requirements. More...
 
virtual void Process ()
 The actual data transformation (digitizing, clustering, etc.) should be defined here. More...
 
void SetDigiBranchName (const TString &t_branchname)
 
void SetClusterBranchName (const TString &t_branchname)
 
void SetSubClusterBranchName (const TString &t_branchname)
 
void SetRecoHitBranchName (const TString &t_branchname)
 
- Public Member Functions inherited from PndProcess
 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 fDigiBranchname {""}
 
TString fClusterBranchname {""}
 
TString fSubClusterBranchname {""}
 
TString fRecoHitBranchname {""}
 
PndContainerI< BSEmcDigi > * fDigiArray {nullptr}
 
PndContainerI< BSEmcCluster > * fClusterArray {nullptr}
 
PndContainerI< BSEmcSubCluster > * fSubClusterArray {nullptr}
 
PndMutableContainerI< BSEmcRecoHit > * fRecoHitArray {nullptr}
 
std::unique_ptr< BSEmcEnergyCalculationAlgofEnergyProcess {new BSEmcEnergyCalculationAlgo}
 
std::unique_ptr< BSEmcPositionAlgofPositionProcess {new BSEmcPositionAlgo}
 
Double_t fClusterEnergyCut
 
- Protected Attributes inherited from PndProcess
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 {"PndProcess"}
 Name of current PndProcess (for debugging) More...
 
TStopwatch fTimer {}
 Timer to monitor Process() time. More...
 
Double_t fTotalTime {0}
 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 24 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

Referenced by SetRecoHitBranchName().

◆ ClassDef()

BSEmcMergeRecoHits::ClassDef ( BSEmcMergeRecoHits  ,
 
)
protected

◆ CleanUpRecoHitArray()

virtual void BSEmcMergeRecoHits::CleanUpRecoHitArray ( )
protectedvirtual

Remove SplitOff RecoHits and compress the RecoHitArray.

Referenced by SetRecoHitBranchName().

◆ 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

Referenced by SetRecoHitBranchName().

◆ 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

Referenced by SetRecoHitBranchName().

◆ GetDataContainer()

virtual void BSEmcMergeRecoHits::GetDataContainer ( PndContainerRegister )
virtual

Pass the container register to the process, and set the processes container requirements.

Parameters
t_register

Reimplemented from PndProcess.

◆ Process()

virtual void BSEmcMergeRecoHits::Process ( )
virtual

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

Implements PndProcess.

◆ RequestDataContainer()

virtual void BSEmcMergeRecoHits::RequestDataContainer ( PndContainerRegister )
virtual

Pass the container register to the process, and get the processes container requirements.

Parameters
t_register

Reimplemented from PndProcess.

◆ SetClusterBranchName()

void BSEmcMergeRecoHits::SetClusterBranchName ( const TString &  t_branchname)
inline

Definition at line 35 of file BSEmcMergeRecoHits.h.

References fClusterBranchname.

35 { fClusterBranchname = t_branchname; }

◆ 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.

◆ SetDigiBranchName()

void BSEmcMergeRecoHits::SetDigiBranchName ( const TString &  t_branchname)
inline

Definition at line 34 of file BSEmcMergeRecoHits.h.

References fDigiBranchname.

34 { fDigiBranchname = t_branchname; }

◆ SetRecoHitBranchName()

void BSEmcMergeRecoHits::SetRecoHitBranchName ( const TString &  t_branchname)
inline

◆ SetSubClusterBranchName()

void BSEmcMergeRecoHits::SetSubClusterBranchName ( const TString &  t_branchname)
inline

Definition at line 36 of file BSEmcMergeRecoHits.h.

References fSubClusterBranchname.

36 { fSubClusterBranchname = t_branchname; }

◆ SetupParameters()

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

Fetch all parameters from the PndParameterRegister.

Parameters
t_parameter

Implements PndProcess.

◆ 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

Referenced by SetRecoHitBranchName().

Member Data Documentation

◆ fClusterArray

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

Definition at line 94 of file BSEmcMergeRecoHits.h.

◆ fClusterBranchname

TString BSEmcMergeRecoHits::fClusterBranchname {""}
protected

Definition at line 89 of file BSEmcMergeRecoHits.h.

Referenced by SetClusterBranchName().

◆ fClusterEnergyCut

Double_t BSEmcMergeRecoHits::fClusterEnergyCut
protected

Definition at line 99 of file BSEmcMergeRecoHits.h.

◆ fClusteringParName

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

Definition at line 81 of file BSEmcMergeRecoHits.h.

◆ fClusterPropertiesParName

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

Definition at line 82 of file BSEmcMergeRecoHits.h.

◆ fDigiArray

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

Definition at line 93 of file BSEmcMergeRecoHits.h.

◆ fDigiBranchname

TString BSEmcMergeRecoHits::fDigiBranchname {""}
protected

Definition at line 88 of file BSEmcMergeRecoHits.h.

Referenced by SetDigiBranchName().

◆ fEnergyProcess

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

Definition at line 97 of file BSEmcMergeRecoHits.h.

◆ fNeighbouringRelationPar

BSEmcGeoNeighbouringRelationPar* BSEmcMergeRecoHits::fNeighbouringRelationPar = nullptr
protected

Definition at line 85 of file BSEmcMergeRecoHits.h.

◆ fNeighbouringRelationParName

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

Definition at line 84 of file BSEmcMergeRecoHits.h.

◆ fPositionPar

const BSEmcCrystalPositionPar* BSEmcMergeRecoHits::fPositionPar
protected

Definition at line 86 of file BSEmcMergeRecoHits.h.

◆ fPositionParName

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

Definition at line 83 of file BSEmcMergeRecoHits.h.

◆ fPositionProcess

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

Definition at line 98 of file BSEmcMergeRecoHits.h.

◆ fRecoHitArray

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

Definition at line 96 of file BSEmcMergeRecoHits.h.

◆ fRecoHitBranchname

TString BSEmcMergeRecoHits::fRecoHitBranchname {""}
protected

Definition at line 91 of file BSEmcMergeRecoHits.h.

Referenced by SetRecoHitBranchName().

◆ fSubClusterArray

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

Definition at line 95 of file BSEmcMergeRecoHits.h.

◆ fSubClusterBranchname

TString BSEmcMergeRecoHits::fSubClusterBranchname {""}
protected

Definition at line 90 of file BSEmcMergeRecoHits.h.

Referenced by SetSubClusterBranchName().


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