![]() |
PandaRoot
|
#include <BSEmcFlagSplitOffs.h>
Classes | |
| struct | Cluster_Info |
Public Member Functions | |
| BSEmcFlagSplitOffs () | |
| virtual | ~BSEmcFlagSplitOffs () |
| 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) |
| std::map< int, std::vector< const BSEmcSubCluster * > > | CreateClusterMap () |
| Create a Map that links Clusters to their corresponding Subclusters. More... | |
| const BSEmcSubCluster * | FindSubCluster (const BSEmcDigiInfo_t &max, std::vector< const BSEmcSubCluster *> subcluster_array) |
| Search the Subcluster-array for the Subcluster that belongs to the current maximum. More... | |
| std::vector< BSEmcDigiInfo_t > | FindSecondaryMaxima (const BSEmcDigiInfo_t ¢ralmax, const std::vector< BSEmcDigiInfo_t > &maxima) |
| Create an array of all the secondary maxima of a Cluster. More... | |
| double | CalculateShowerMass (const std::vector< const BSEmcDigi *> &DigiArray, const BSEmcCluster *cluster) |
| Calculate the shower mass of a Cluster. The shower mass corresponds to the invariant mass of a cluster, if each crystal is treated as a photon with the crystal's energy. More... | |
| bool | ShowerMassCut (const std::vector< const BSEmcDigi *> &DigiArray, const BSEmcCluster *cluster) |
| Evaluate if a 2 PED (Particle Energy Deposition) cluster is determined to include a Split-Off maximum based on a cut on the shower mass. The cut was determined in MC studies. More... | |
| double | CalculateHighPEDShowerMass (const std::vector< const BSEmcDigi *> &DigiArray, const BSEmcSubCluster *subcluster1, const BSEmcSubCluster *subcluster2) |
| Calculate the shower mass of two Subclusters of a Cluster. The shower mass corresponds to the invariant mass of a cluster, if each crystal is treated as a photon with the crystal's energy. More... | |
| bool | HighPEDCut (const std::vector< const BSEmcDigi *> &DigiArray, const BSEmcSubCluster *subcluster1, const BSEmcSubCluster *subcluster2) |
| Evaluate if a high (>2) PED (Particle Energy Deposition) cluster (build out of 2 SubClusters) is determined to include a Split-Off maximum based on a cut on the shower mass. The cut was determined in MC studies. More... | |
| double | CalculateDistance (const std::vector< const BSEmcDigi *> &DigiArray, const BSEmcDigiInfo_t &firstmax, const BSEmcDigiInfo_t &secondmax) |
| Calculate the distance between the centers of two given forward endcap crystals. More... | |
| double | FindSmallestDistance (const std::vector< const BSEmcCluster *> &ClusterArray, const std::vector< const BSEmcDigi *> &DigiArray, const BSEmcDigiInfo_t &max) |
| Find the next closest Cluster to the current maximum and calculate the distance to its closest digi. More... | |
| double | FindEnergyClosestCluster (const std::vector< const BSEmcCluster *> &ClusterArray, const std::vector< const BSEmcDigi *> &DigiArray, const BSEmcDigiInfo_t &max) |
| Find the next closest Cluster to the current maximum and return its energy. More... | |
| bool | RatioCut (const double ratio, const double distance) |
| Evaluate if a 1 PED (Particle Energy Deposition) cluster is determined to be a Split-Off maximum based on a cut on the distance to the next closest cluster and the ratio of the cluster energies. The cut was determined in MC studies. More... | |
| void | FlagHighPED (Cluster_Info &ClusterInfo, std::vector< int > &SplitOffSubclusterIds) |
| Collect the crystal Ids of Subclusters from high (>2) PED (Particle Energy Deposition) clusters that are marked to be Split-Off, based on a cut on the shower mass. More... | |
| void | Flag2PED (Cluster_Info &ClusterInfo, std::vector< int > &SplitOffSubclusterIds) |
| Collect the crystal Ids of Subclusters from 2 PED (Particle Energy Deposition) clusters that are marked to be Split-Off, based on a cut on the shower mass. More... | |
| void | Flag1PED (Cluster_Info &ClusterInfo, std::vector< int > &SplitOffSubclusterIds) |
| Collect the crystal Ids of Subclusters from 1 PED (Particle Energy Deposition) clusters that are marked to be Split-Off, based on a cut on the energy ratio and the distance to the next closest Cluster. More... | |
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... | |
Additional Inherited Members | |
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 |
Definition at line 23 of file BSEmcFlagSplitOffs.h.
| BSEmcFlagSplitOffs::BSEmcFlagSplitOffs | ( | ) |
|
virtual |
| double BSEmcFlagSplitOffs::CalculateDistance | ( | const std::vector< const BSEmcDigi *> & | DigiArray, |
| const BSEmcDigiInfo_t & | firstmax, | ||
| const BSEmcDigiInfo_t & | secondmax | ||
| ) |
Calculate the distance between the centers of two given forward endcap crystals.
| DigiArray | |
| firstmax | |
| secondmax |
Referenced by BSEmcFlagSplitOffs::Cluster_Info::Cluster_Info().
| double BSEmcFlagSplitOffs::CalculateHighPEDShowerMass | ( | const std::vector< const BSEmcDigi *> & | DigiArray, |
| const BSEmcSubCluster * | subcluster1, | ||
| const BSEmcSubCluster * | subcluster2 | ||
| ) |
Calculate the shower mass of two Subclusters of a Cluster. The shower mass corresponds to the invariant mass of a cluster, if each crystal is treated as a photon with the crystal's energy.
| DigiArray | |
| subcluster1 | |
| subcluster2 |
Referenced by BSEmcFlagSplitOffs::Cluster_Info::Cluster_Info().
| double BSEmcFlagSplitOffs::CalculateShowerMass | ( | const std::vector< const BSEmcDigi *> & | DigiArray, |
| const BSEmcCluster * | cluster | ||
| ) |
Calculate the shower mass of a Cluster. The shower mass corresponds to the invariant mass of a cluster, if each crystal is treated as a photon with the crystal's energy.
| DigiArray | |
| cluster |
Referenced by BSEmcFlagSplitOffs::Cluster_Info::Cluster_Info().
| std::map<int, std::vector<const BSEmcSubCluster *> > BSEmcFlagSplitOffs::CreateClusterMap | ( | ) |
Create a Map that links Clusters to their corresponding Subclusters.
Referenced by BSEmcFlagSplitOffs::Cluster_Info::Cluster_Info().
| double BSEmcFlagSplitOffs::FindEnergyClosestCluster | ( | const std::vector< const BSEmcCluster *> & | ClusterArray, |
| const std::vector< const BSEmcDigi *> & | DigiArray, | ||
| const BSEmcDigiInfo_t & | max | ||
| ) |
Find the next closest Cluster to the current maximum and return its energy.
| ClusterArray | |
| DigiArray | |
| max | - Info about the current maximum. |
Referenced by BSEmcFlagSplitOffs::Cluster_Info::Cluster_Info().
| std::vector<BSEmcDigiInfo_t> BSEmcFlagSplitOffs::FindSecondaryMaxima | ( | const BSEmcDigiInfo_t & | centralmax, |
| const std::vector< BSEmcDigiInfo_t > & | maxima | ||
| ) |
Create an array of all the secondary maxima of a Cluster.
| centralmax | - Central maximum of the cluster. |
| maxima | - All maxima of the cluster. |
Referenced by BSEmcFlagSplitOffs::Cluster_Info::Cluster_Info().
| double BSEmcFlagSplitOffs::FindSmallestDistance | ( | const std::vector< const BSEmcCluster *> & | ClusterArray, |
| const std::vector< const BSEmcDigi *> & | DigiArray, | ||
| const BSEmcDigiInfo_t & | max | ||
| ) |
Find the next closest Cluster to the current maximum and calculate the distance to its closest digi.
| ClusterArray | |
| DigiArray | |
| max | - Info about the current maximum. |
Referenced by BSEmcFlagSplitOffs::Cluster_Info::Cluster_Info().
| const BSEmcSubCluster* BSEmcFlagSplitOffs::FindSubCluster | ( | const BSEmcDigiInfo_t & | max, |
| std::vector< const BSEmcSubCluster *> | subcluster_array | ||
| ) |
Search the Subcluster-array for the Subcluster that belongs to the current maximum.
| max | - current maximum |
| subcluster_array | - array of Subclusters of the corresponding Cluster |
Referenced by BSEmcFlagSplitOffs::Cluster_Info::Cluster_Info().
| void BSEmcFlagSplitOffs::Flag1PED | ( | Cluster_Info & | ClusterInfo, |
| std::vector< int > & | SplitOffSubclusterIds | ||
| ) |
Collect the crystal Ids of Subclusters from 1 PED (Particle Energy Deposition) clusters that are marked to be Split-Off, based on a cut on the energy ratio and the distance to the next closest Cluster.
| ClusterInfo | - Contains all of the important information relevant to the current cluster. |
| SplitOffSubclusterIds | - CentralCrystalIds of Subclusters flagged to be SplitOff are filled into this vector. |
Referenced by BSEmcFlagSplitOffs::Cluster_Info::Cluster_Info().
| void BSEmcFlagSplitOffs::Flag2PED | ( | Cluster_Info & | ClusterInfo, |
| std::vector< int > & | SplitOffSubclusterIds | ||
| ) |
Collect the crystal Ids of Subclusters from 2 PED (Particle Energy Deposition) clusters that are marked to be Split-Off, based on a cut on the shower mass.
| ClusterInfo | - Contains all of the important information relevant to the current cluster. |
| SplitOffSubclusterIds | - CentralCrystalIds of Subclusters flagged to be SplitOff are filled into this vector |
Referenced by BSEmcFlagSplitOffs::Cluster_Info::Cluster_Info().
| void BSEmcFlagSplitOffs::FlagHighPED | ( | Cluster_Info & | ClusterInfo, |
| std::vector< int > & | SplitOffSubclusterIds | ||
| ) |
Collect the crystal Ids of Subclusters from high (>2) PED (Particle Energy Deposition) clusters that are marked to be Split-Off, based on a cut on the shower mass.
| ClusterInfo | - Contains all of the important information relevant to the current cluster. |
| SplitOffSubclusterIds | - CentralCrystalIds of Subclusters flagged to be SplitOff are filled into this vector |
Referenced by BSEmcFlagSplitOffs::Cluster_Info::Cluster_Info().
|
virtual |
Pass the container register to the process, and set the processes container requirements.
| t_register |
Reimplemented from PndProcess.
| bool BSEmcFlagSplitOffs::HighPEDCut | ( | const std::vector< const BSEmcDigi *> & | DigiArray, |
| const BSEmcSubCluster * | subcluster1, | ||
| const BSEmcSubCluster * | subcluster2 | ||
| ) |
Evaluate if a high (>2) PED (Particle Energy Deposition) cluster (build out of 2 SubClusters) is determined to include a Split-Off maximum based on a cut on the shower mass. The cut was determined in MC studies.
| DigiArray | |
| subcluster1 | |
| subcluster2 |
Referenced by BSEmcFlagSplitOffs::Cluster_Info::Cluster_Info().
|
virtual |
The actual data transformation (digitizing, clustering, etc.) should be defined here.
Implements PndProcess.
| bool BSEmcFlagSplitOffs::RatioCut | ( | const double | ratio, |
| const double | distance | ||
| ) |
Evaluate if a 1 PED (Particle Energy Deposition) cluster is determined to be a Split-Off maximum based on a cut on the distance to the next closest cluster and the ratio of the cluster energies. The cut was determined in MC studies.
| ratio | - current cluster energy divided by energy of next closest cluster |
| distance | - distance to next closest cluster |
Referenced by BSEmcFlagSplitOffs::Cluster_Info::Cluster_Info().
|
virtual |
Pass the container register to the process, and get the processes container requirements.
| t_register |
Reimplemented from PndProcess.
|
inline |
Definition at line 34 of file BSEmcFlagSplitOffs.h.
|
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)
| t_detectorname |
Reimplemented from PndProcess.
|
inline |
Definition at line 33 of file BSEmcFlagSplitOffs.h.
|
inline |
Definition at line 36 of file BSEmcFlagSplitOffs.h.
|
inline |
Definition at line 35 of file BSEmcFlagSplitOffs.h.
|
virtual |
| bool BSEmcFlagSplitOffs::ShowerMassCut | ( | const std::vector< const BSEmcDigi *> & | DigiArray, |
| const BSEmcCluster * | cluster | ||
| ) |
Evaluate if a 2 PED (Particle Energy Deposition) cluster is determined to include a Split-Off maximum based on a cut on the shower mass. The cut was determined in MC studies.
| DigiArray | |
| cluster |
Referenced by BSEmcFlagSplitOffs::Cluster_Info::Cluster_Info().