ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
#include <coresoftware/blob/master/offline/packages/ClusterIso/ClusterIso.h>
Public Member Functions | |
ClusterIso (const std::string &, float eTCut, int coneSize, bool do_subtracted, bool do_unsubtracted) | |
int | Init (PHCompositeNode *) override |
int | process_event (PHCompositeNode *) override |
int | End (PHCompositeNode *) override |
Called at the end of all processing. | |
void | seteTCut (float x) |
void | setConeSize (int x) |
float | geteTCut () |
int | getConeSize () |
returns coneSize*10 as an int | |
CLHEP::Hep3Vector | getVertex () |
Public Member Functions inherited from SubsysReco | |
~SubsysReco () override | |
virtual int | EndRun (const int) |
Called at the end of each run. | |
virtual int | InitRun (PHCompositeNode *) |
virtual int | Reset (PHCompositeNode *) |
Reset. | |
virtual int | ResetEvent (PHCompositeNode *) |
Clean up after each event. | |
void | Print (const std::string &="ALL") const override |
Public Member Functions inherited from Fun4AllBase | |
virtual | ~Fun4AllBase () |
virtual const std::string | Name () const |
Returns the name of this module. | |
virtual void | Name (const std::string &name) |
Sets the name of this module. | |
virtual void | Verbosity (const int ival) |
Sets the verbosity of this module (0 by default=quiet). | |
virtual void | Verbosity (enu_Verbosity ival) |
Sets the verbosity of this module (0 by default=quiet). | |
virtual int | Verbosity () const |
Gets the verbosity of this module. | |
Private Member Functions | |
double | getTowerEta (RawTowerGeom *tower_geom, double vx, double vy, double vz) |
Private Attributes | |
float | m_eTCut |
The minimum required transverse energy in a cluster for ClusterIso to be run. | |
float | m_coneSize |
Size of the cone used to isolate a given cluster. | |
float | m_vx |
Correct vertex x coordinate. | |
float | m_vy |
Correct vertex y coordinate. | |
float | m_vz |
Correct vertex z coordinate. | |
bool | m_do_subtracted |
bool | m_do_unsubtracted |
Additional Inherited Members | |
Public Types inherited from Fun4AllBase | |
enum | enu_Verbosity { VERBOSITY_QUIET = 0, VERBOSITY_SOME = 1, VERBOSITY_MORE = 2, VERBOSITY_EVEN_MORE = 3, VERBOSITY_A_LOT = 4, VERBOSITY_MAX = INT_MAX - 10 } |
Protected Member Functions inherited from SubsysReco | |
SubsysReco (const std::string &name="NONAME") | |
Tool to find isolation energy of each EMCal cluster.
This tool finds isoET of clusters by summing towers energy in a cone of radius R around the cluster and subtracting the cluster from the sum
Definition at line 22 of file ClusterIso.h.
View newest version in sPHENIX GitHub at line 22 of file ClusterIso.h
ClusterIso::ClusterIso | ( | const std::string & | kname, |
float | eTCut = 0.0 , |
||
int | coneSize = 3 , |
||
bool | do_subtracted = 1 , |
||
bool | do_unsubtracted = 1 |
||
) |
Constructor for ClusterIso Class the coneSize is taken in as an integer multiple of .1 ie if you want R=.2 pass 2
Contructor takes the argument of the class name, the minimum eT of the clusters which defaults to 0, and the isolation cone size which defaults to 0.3.
Definition at line 60 of file ClusterIso.cc.
View newest version in sPHENIX GitHub at line 60 of file ClusterIso.cc
References m_coneSize, m_eTCut, m_vx, m_vy, m_vz, Fun4AllBase::Name(), setConeSize(), seteTCut(), Fun4AllBase::Verbosity(), Fun4AllBase::VERBOSITY_EVEN_MORE, Fun4AllBase::VERBOSITY_QUIET, and Fun4AllBase::VERBOSITY_SOME.
|
overridevirtual |
Called at the end of all processing.
Reimplemented from SubsysReco.
Definition at line 391 of file ClusterIso.cc.
View newest version in sPHENIX GitHub at line 391 of file ClusterIso.cc
int ClusterIso::getConeSize | ( | ) |
returns coneSize*10 as an int
Returns size of isolation cone as integer multiple of 0.1 (i.e. 3 is an R=0.3 cone)
Definition at line 110 of file ClusterIso.cc.
View newest version in sPHENIX GitHub at line 110 of file ClusterIso.cc
References m_coneSize.
float ClusterIso::geteTCut | ( | ) |
Returns the minimum transverse energy required for a cluster to have its isolation calculated
Definition at line 102 of file ClusterIso.cc.
View newest version in sPHENIX GitHub at line 102 of file ClusterIso.cc
References m_eTCut.
|
private |
Function to get correct tower eta
Each calorimeter tower's eta is calculated using the vertex (0,0,0) which is incorrect in many collisions. This function uses geometry to find a given tower's eta using the correct vertex.
Definition at line 40 of file ClusterIso.cc.
View newest version in sPHENIX GitHub at line 40 of file ClusterIso.cc
References RawTowerGeom::get_center_x(), RawTowerGeom::get_center_y(), RawTowerGeom::get_center_z(), RawTowerGeom::get_eta(), r, radius, and theta().
Referenced by process_event().
CLHEP::Hep3Vector ClusterIso::getVertex | ( | ) |
Must be called to set the new vertex for the cluster
Definition at line 118 of file ClusterIso.cc.
View newest version in sPHENIX GitHub at line 118 of file ClusterIso.cc
|
overridevirtual |
Called during initialization. Typically this is where you can book histograms, and e.g. register them to Fun4AllServer (so they can be output to file using Fun4AllServer::dumpHistos() method).
Reimplemented from SubsysReco.
Definition at line 78 of file ClusterIso.cc.
View newest version in sPHENIX GitHub at line 78 of file ClusterIso.cc
|
overridevirtual |
Calculates isolation energy for all electromagnetic calorimeter clusters over the specified eT cut.
For each cluster in the EMCal this iterates through all of the towers in each calorimeter, if the towers are within the isolation cone their energy is added to the sum of isolation energy. Finally subtract the cluster energy from the sum
If there event is embedded in Au+Au or another larger background we want to get isolation energy from the towers with a subtracted background. This first section looks at those towers instead of the original objects which include the background. NOTE: that during the background event subtraction the EMCal towers are grouped together so we have to use the inner HCal geometry.
This second section repeats the isolation calculation without any background subtraction
Reimplemented from SubsysReco.
Definition at line 129 of file ClusterIso.cc.
View newest version in sPHENIX GitHub at line 129 of file ClusterIso.cc
References GlobalVertexMap::begin(), deltaR(), GlobalVertexMap::empty(), RawTower::get_energy(), RawTowerGeom::get_eta(), RawTower::get_key(), RawTowerGeom::get_phi(), RawTowerGeomContainer::get_tower_geometry(), GlobalVertex::get_x(), GlobalVertex::get_y(), GlobalVertex::get_z(), RawClusterContainer::getClusters(), RawClusterUtility::GetEVec(), getTowerEta(), RawTowerContainer::getTowers(), RawCluster::identify(), m_coneSize, m_do_subtracted, m_do_unsubtracted, m_eTCut, m_vx, m_vy, m_vz, CLHEP::Hep3Vector::mag(), Fun4AllBase::Name(), CLHEP::Hep3Vector::phi(), CLHEP::Hep3Vector::pseudoRapidity(), RawCluster::set_et_iso(), RawClusterContainer::size(), RawTowerContainer::size(), Fun4AllBase::Verbosity(), Fun4AllBase::VERBOSITY_EVEN_MORE, Fun4AllBase::VERBOSITY_MAX, Fun4AllBase::VERBOSITY_MORE, and Fun4AllBase::VERBOSITY_SOME.
Set the size of isolation cone as integer multiple of 0.1, (i.e. 3 will use an R=0.3 cone)
Definition at line 94 of file ClusterIso.cc.
View newest version in sPHENIX GitHub at line 94 of file ClusterIso.cc
References m_coneSize.
Referenced by ClusterIso().
void ClusterIso::seteTCut | ( | float | eTCut | ) |
Set the minimum transverse energy required for a cluster to have its isolation calculated
Definition at line 86 of file ClusterIso.cc.
View newest version in sPHENIX GitHub at line 86 of file ClusterIso.cc
References m_eTCut.
Referenced by ClusterIso().
|
private |
Size of the cone used to isolate a given cluster.
Definition at line 45 of file ClusterIso.h.
View newest version in sPHENIX GitHub at line 45 of file ClusterIso.h
Referenced by ClusterIso(), getConeSize(), process_event(), and setConeSize().
|
private |
Definition at line 49 of file ClusterIso.h.
View newest version in sPHENIX GitHub at line 49 of file ClusterIso.h
Referenced by process_event().
|
private |
Definition at line 50 of file ClusterIso.h.
View newest version in sPHENIX GitHub at line 50 of file ClusterIso.h
Referenced by process_event().
|
private |
The minimum required transverse energy in a cluster for ClusterIso to be run.
Definition at line 44 of file ClusterIso.h.
View newest version in sPHENIX GitHub at line 44 of file ClusterIso.h
Referenced by ClusterIso(), geteTCut(), process_event(), and seteTCut().
|
private |
Correct vertex x coordinate.
Definition at line 46 of file ClusterIso.h.
View newest version in sPHENIX GitHub at line 46 of file ClusterIso.h
Referenced by ClusterIso(), getVertex(), and process_event().
|
private |
Correct vertex y coordinate.
Definition at line 47 of file ClusterIso.h.
View newest version in sPHENIX GitHub at line 47 of file ClusterIso.h
Referenced by ClusterIso(), getVertex(), and process_event().
|
private |
Correct vertex z coordinate.
Definition at line 48 of file ClusterIso.h.
View newest version in sPHENIX GitHub at line 48 of file ClusterIso.h
Referenced by ClusterIso(), getVertex(), and process_event().