EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ClusterIso Class Reference

#include <fun4all_coresoftware/blob/master/offline/packages/ClusterIso/ClusterIso.h>

+ Inheritance diagram for ClusterIso:
+ Collaboration diagram for ClusterIso:

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")
 

Detailed Description

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

Constructor & Destructor Documentation

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.

+ Here is the call graph for this function:

Member Function Documentation

int ClusterIso::End ( PHCompositeNode )
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.

double ClusterIso::getTowerEta ( RawTowerGeom tower_geom,
double  vx,
double  vy,
double  vz 
)
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(), G4BECAL::radius, and theta().

Referenced by process_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

References m_vx, m_vy, and m_vz.

int ClusterIso::Init ( PHCompositeNode )
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

int ClusterIso::process_event ( PHCompositeNode topNode)
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, Fun4AllBase::Name(), RawCluster::set_et_iso(), RawClusterContainer::size(), RawTowerContainer::size(), Fun4AllBase::Verbosity(), Fun4AllBase::VERBOSITY_EVEN_MORE, Fun4AllBase::VERBOSITY_MAX, Fun4AllBase::VERBOSITY_MORE, and Fun4AllBase::VERBOSITY_SOME.

+ Here is the call graph for this function:

void ClusterIso::setConeSize ( int  coneSize)

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().

+ Here is the caller graph for this function:

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().

+ Here is the caller graph for this function:

Member Data Documentation

float ClusterIso::m_coneSize
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().

bool ClusterIso::m_do_subtracted
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().

bool ClusterIso::m_do_unsubtracted
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().

float ClusterIso::m_eTCut
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().

float ClusterIso::m_vx
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().

float ClusterIso::m_vy
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().

float ClusterIso::m_vz
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().


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