![]() |
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 | 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... | |
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... | |
![]() | |
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 | |
![]() | |
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 |
Definition at line 25 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().
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< BSEmcClusteringData >.
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 data container ptrs to the process, and store pointers in class members.
t_data |
Implements PndProcess< BSEmcClusteringData >.
|
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< BSEmcClusteringData >.
|
virtual |
Fetch all parameters from the PndParameterRegister.
t_parameter |
Implements PndProcess< BSEmcClusteringData >.
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().