Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ParticleFlowReco Class Reference

#include <coresoftware/blob/master/offline/packages/particleflow/ParticleFlowReco.h>

+ Inheritance diagram for ParticleFlowReco:
+ Collaboration diagram for ParticleFlowReco:

Public Member Functions

 ParticleFlowReco (const std::string &name="ParticleFlowReco")
 
 ~ParticleFlowReco () override
 
int Init (PHCompositeNode *topNode) override
 
int InitRun (PHCompositeNode *topNode) override
 
int process_event (PHCompositeNode *topNode) override
 
int ResetEvent (PHCompositeNode *topNode) override
 Clean up after each event.
 
int EndRun (const int runnumber) override
 Called at the end of each run.
 
int End (PHCompositeNode *topNode) override
 Called at the end of all processing.
 
int Reset (PHCompositeNode *) override
 Reset.
 
void Print (const std::string &what="ALL") const override
 
void set_energy_match_Nsigma (float Nsigma)
 
void set_track_map_name (std::string &name)
 
- Public Member Functions inherited from SubsysReco
 ~SubsysReco () 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

int CreateNode (PHCompositeNode *topNode)
 
float calculate_dR (float, float, float, float)
 
std::pair< float, float > get_expected_signature (int)
 

Private Attributes

float _energy_match_Nsigma
 
std::vector< float > _pflow_TRK_p
 
std::vector< float > _pflow_TRK_eta
 
std::vector< float > _pflow_TRK_phi
 
std::vector< float > _pflow_TRK_EMproj_phi
 
std::vector< float > _pflow_TRK_EMproj_eta
 
std::vector< float > _pflow_TRK_HADproj_phi
 
std::vector< float > _pflow_TRK_HADproj_eta
 
std::vector< SvtxTrack * > _pflow_TRK_trk
 
std::vector< std::vector< int > > _pflow_TRK_match_EM
 
std::vector< std::vector< int > > _pflow_TRK_match_HAD
 
std::vector< std::vector
< std::pair< int, float > > > 
_pflow_TRK_addtl_match_EM
 
std::vector< float > _pflow_EM_E
 
std::vector< float > _pflow_EM_eta
 
std::vector< float > _pflow_EM_phi
 
std::vector< RawCluster * > _pflow_EM_cluster
 
std::vector< std::vector< float > > _pflow_EM_tower_eta
 
std::vector< std::vector< float > > _pflow_EM_tower_phi
 
std::vector< std::vector< int > > _pflow_EM_match_HAD
 
std::vector< std::vector< int > > _pflow_EM_match_TRK
 
std::vector< float > _pflow_HAD_E
 
std::vector< float > _pflow_HAD_eta
 
std::vector< float > _pflow_HAD_phi
 
std::vector< RawCluster * > _pflow_HAD_cluster
 
std::vector< std::vector< float > > _pflow_HAD_tower_eta
 
std::vector< std::vector< float > > _pflow_HAD_tower_phi
 
std::vector< std::vector< int > > _pflow_HAD_match_EM
 
std::vector< std::vector< int > > _pflow_HAD_match_TRK
 
std::string _track_map_name = "SvtxTrackMap"
 

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 = std::numeric_limits<int>::max() - 10
}
 
- Protected Member Functions inherited from SubsysReco
 SubsysReco (const std::string &name="NONAME")
 

Detailed Description

Definition at line 21 of file ParticleFlowReco.h.

View newest version in sPHENIX GitHub at line 21 of file ParticleFlowReco.h

Constructor & Destructor Documentation

ParticleFlowReco::ParticleFlowReco ( const std::string &  name = "ParticleFlowReco")

Definition at line 62 of file ParticleFlowReco.cc.

View newest version in sPHENIX GitHub at line 62 of file ParticleFlowReco.cc

ParticleFlowReco::~ParticleFlowReco ( )
override

Definition at line 69 of file ParticleFlowReco.cc.

View newest version in sPHENIX GitHub at line 69 of file ParticleFlowReco.cc

Member Function Documentation

float ParticleFlowReco::calculate_dR ( float  eta1,
float  eta2,
float  phi1,
float  phi2 
)
private

Definition at line 40 of file ParticleFlowReco.cc.

View newest version in sPHENIX GitHub at line 40 of file ParticleFlowReco.cc

References INTTVtxZ::dphi.

Referenced by process_event().

+ Here is the caller graph for this function:

int ParticleFlowReco::CreateNode ( PHCompositeNode topNode)
private

Definition at line 1066 of file ParticleFlowReco.cc.

View newest version in sPHENIX GitHub at line 1066 of file ParticleFlowReco.cc

References Fun4AllReturnCodes::ABORTRUN, PHCompositeNode::addNode(), Fun4AllReturnCodes::EVENT_OK, PHNodeIterator::findFirst(), and PHWHERE.

Referenced by InitRun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int ParticleFlowReco::End ( PHCompositeNode )
overridevirtual

Called at the end of all processing.

Reimplemented from SubsysReco.

Definition at line 1124 of file ParticleFlowReco.cc.

View newest version in sPHENIX GitHub at line 1124 of file ParticleFlowReco.cc

References Fun4AllReturnCodes::EVENT_OK, and Fun4AllBase::Verbosity().

+ Here is the call graph for this function:

int ParticleFlowReco::EndRun ( const int  )
overridevirtual

Called at the end of each run.

Reimplemented from SubsysReco.

Definition at line 1114 of file ParticleFlowReco.cc.

View newest version in sPHENIX GitHub at line 1114 of file ParticleFlowReco.cc

References Fun4AllReturnCodes::EVENT_OK, and Fun4AllBase::Verbosity().

+ Here is the call graph for this function:

std::pair< float, float > ParticleFlowReco::get_expected_signature ( int  trk)
private

Definition at line 50 of file ParticleFlowReco.cc.

View newest version in sPHENIX GitHub at line 50 of file ParticleFlowReco.cc

References _pflow_TRK_p.

Referenced by process_event().

+ Here is the caller graph for this function:

int ParticleFlowReco::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 74 of file ParticleFlowReco.cc.

View newest version in sPHENIX GitHub at line 74 of file ParticleFlowReco.cc

References Fun4AllReturnCodes::EVENT_OK.

int ParticleFlowReco::InitRun ( PHCompositeNode )
overridevirtual

Called for first event when run number is known. Typically this is where you may want to fetch data from database, because you know the run number.

Reimplemented from SubsysReco.

Definition at line 80 of file ParticleFlowReco.cc.

View newest version in sPHENIX GitHub at line 80 of file ParticleFlowReco.cc

References CreateNode().

+ Here is the call graph for this function:

void ParticleFlowReco::Print ( const std::string &  what = "ALL") const
overridevirtual

Print out some info about this module.

Parameters
whatcan be used to specify what to print exactly.

Reimplemented from SubsysReco.

Definition at line 1144 of file ParticleFlowReco.cc.

View newest version in sPHENIX GitHub at line 1144 of file ParticleFlowReco.cc

int ParticleFlowReco::process_event ( PHCompositeNode )
overridevirtual

Called for each event. This is where you do the real work.

Get the track projections. If they failed for some reason, just use the track phi and eta values at the point of closest approach

default assume at vx_z = 0

Reimplemented from SubsysReco.

Definition at line 87 of file ParticleFlowReco.cc.

View newest version in sPHENIX GitHub at line 87 of file ParticleFlowReco.cc

References _energy_match_Nsigma, _pflow_EM_cluster, _pflow_EM_E, _pflow_EM_eta, _pflow_EM_match_HAD, _pflow_EM_match_TRK, _pflow_EM_phi, _pflow_EM_tower_eta, _pflow_EM_tower_phi, _pflow_HAD_cluster, _pflow_HAD_E, _pflow_HAD_eta, _pflow_HAD_match_EM, _pflow_HAD_match_TRK, _pflow_HAD_phi, _pflow_HAD_tower_eta, _pflow_HAD_tower_phi, _pflow_TRK_addtl_match_EM, _pflow_TRK_EMproj_eta, _pflow_TRK_EMproj_phi, _pflow_TRK_eta, _pflow_TRK_HADproj_eta, _pflow_TRK_HADproj_phi, _pflow_TRK_match_EM, _pflow_TRK_match_HAD, _pflow_TRK_p, _pflow_TRK_phi, _pflow_TRK_trk, _track_map_name, Fun4AllReturnCodes::ABORTEVENT, ParticleFlowElementContainer::AddParticleFlowElement(), GlobalVertexMap::begin(), SvtxTrackMap::begin(), calculate_dR(), Enable::CEMC, RawTowerDefs::decode_caloid(), INTTVtxZ::dphi, dR(), GlobalVertexMap::empty(), SvtxTrackMap::end(), Fun4AllReturnCodes::EVENT_OK, SvtxTrack::get_eta(), RawTowerGeom::get_eta(), get_expected_signature(), SvtxTrack::get_p(), SvtxTrack::get_phi(), RawTowerGeom::get_phi(), SvtxTrack::get_pt(), RawTowerGeomContainer::get_radius(), SvtxTrack::get_state(), RawTowerGeomContainer::get_tower_geometry(), SvtxTrackState::get_x(), SvtxTrackState::get_y(), SvtxTrackState::get_z(), RawClusterContainer::getClusters(), ParticleFlowElementContainer::getParticleFlowElements(), RawClusterUtility::GetPseudorapidity(), RawTowerDefs::HCALIN, RawTowerDefs::HCALOUT, i, j, k, n, ParticleFlowElement::set_e(), ParticleFlowElement::set_eclusters(), ParticleFlowElement::set_hcluster(), ParticleFlowElement::set_id(), ParticleFlowElement::set_px(), ParticleFlowElement::set_py(), ParticleFlowElement::set_pz(), ParticleFlowElement::set_track(), ParticleFlowElement::set_type(), Acts::Experimental::detail::BlueprintHelper::sort(), sort_by_pair_second_lowest(), Fun4AllBase::Verbosity(), and ambiguity_solver_full_chain::x.

+ Here is the call graph for this function:

int ParticleFlowReco::Reset ( PHCompositeNode )
overridevirtual

Reset.

Reimplemented from SubsysReco.

Definition at line 1134 of file ParticleFlowReco.cc.

View newest version in sPHENIX GitHub at line 1134 of file ParticleFlowReco.cc

References Fun4AllReturnCodes::EVENT_OK, and Fun4AllBase::Verbosity().

+ Here is the call graph for this function:

int ParticleFlowReco::ResetEvent ( PHCompositeNode )
overridevirtual

Clean up after each event.

Reimplemented from SubsysReco.

Definition at line 1104 of file ParticleFlowReco.cc.

View newest version in sPHENIX GitHub at line 1104 of file ParticleFlowReco.cc

References Fun4AllReturnCodes::EVENT_OK, and Fun4AllBase::Verbosity().

+ Here is the call graph for this function:

void ParticleFlowReco::set_energy_match_Nsigma ( float  Nsigma)
inline

Definition at line 45 of file ParticleFlowReco.h.

View newest version in sPHENIX GitHub at line 45 of file ParticleFlowReco.h

References _energy_match_Nsigma.

Referenced by ParticleFlow().

+ Here is the caller graph for this function:

void ParticleFlowReco::set_track_map_name ( std::string &  name)
inline

Definition at line 50 of file ParticleFlowReco.h.

View newest version in sPHENIX GitHub at line 50 of file ParticleFlowReco.h

References _track_map_name, and perf_headwind::name.

Member Data Documentation

float ParticleFlowReco::_energy_match_Nsigma
private

Definition at line 59 of file ParticleFlowReco.h.

View newest version in sPHENIX GitHub at line 59 of file ParticleFlowReco.h

Referenced by process_event(), and set_energy_match_Nsigma().

std::vector<RawCluster*> ParticleFlowReco::_pflow_EM_cluster
private

Definition at line 78 of file ParticleFlowReco.h.

View newest version in sPHENIX GitHub at line 78 of file ParticleFlowReco.h

Referenced by process_event().

std::vector<float> ParticleFlowReco::_pflow_EM_E
private

Definition at line 75 of file ParticleFlowReco.h.

View newest version in sPHENIX GitHub at line 75 of file ParticleFlowReco.h

Referenced by process_event().

std::vector<float> ParticleFlowReco::_pflow_EM_eta
private

Definition at line 76 of file ParticleFlowReco.h.

View newest version in sPHENIX GitHub at line 76 of file ParticleFlowReco.h

Referenced by process_event().

std::vector< std::vector<int> > ParticleFlowReco::_pflow_EM_match_HAD
private

Definition at line 81 of file ParticleFlowReco.h.

View newest version in sPHENIX GitHub at line 81 of file ParticleFlowReco.h

Referenced by process_event().

std::vector< std::vector<int> > ParticleFlowReco::_pflow_EM_match_TRK
private

Definition at line 82 of file ParticleFlowReco.h.

View newest version in sPHENIX GitHub at line 82 of file ParticleFlowReco.h

Referenced by process_event().

std::vector<float> ParticleFlowReco::_pflow_EM_phi
private

Definition at line 77 of file ParticleFlowReco.h.

View newest version in sPHENIX GitHub at line 77 of file ParticleFlowReco.h

Referenced by process_event().

std::vector< std::vector<float> > ParticleFlowReco::_pflow_EM_tower_eta
private

Definition at line 79 of file ParticleFlowReco.h.

View newest version in sPHENIX GitHub at line 79 of file ParticleFlowReco.h

Referenced by process_event().

std::vector< std::vector<float> > ParticleFlowReco::_pflow_EM_tower_phi
private

Definition at line 80 of file ParticleFlowReco.h.

View newest version in sPHENIX GitHub at line 80 of file ParticleFlowReco.h

Referenced by process_event().

std::vector<RawCluster*> ParticleFlowReco::_pflow_HAD_cluster
private

Definition at line 87 of file ParticleFlowReco.h.

View newest version in sPHENIX GitHub at line 87 of file ParticleFlowReco.h

Referenced by process_event().

std::vector<float> ParticleFlowReco::_pflow_HAD_E
private

Definition at line 84 of file ParticleFlowReco.h.

View newest version in sPHENIX GitHub at line 84 of file ParticleFlowReco.h

Referenced by process_event().

std::vector<float> ParticleFlowReco::_pflow_HAD_eta
private

Definition at line 85 of file ParticleFlowReco.h.

View newest version in sPHENIX GitHub at line 85 of file ParticleFlowReco.h

Referenced by process_event().

std::vector< std::vector<int> > ParticleFlowReco::_pflow_HAD_match_EM
private

Definition at line 90 of file ParticleFlowReco.h.

View newest version in sPHENIX GitHub at line 90 of file ParticleFlowReco.h

Referenced by process_event().

std::vector< std::vector<int> > ParticleFlowReco::_pflow_HAD_match_TRK
private

Definition at line 91 of file ParticleFlowReco.h.

View newest version in sPHENIX GitHub at line 91 of file ParticleFlowReco.h

Referenced by process_event().

std::vector<float> ParticleFlowReco::_pflow_HAD_phi
private

Definition at line 86 of file ParticleFlowReco.h.

View newest version in sPHENIX GitHub at line 86 of file ParticleFlowReco.h

Referenced by process_event().

std::vector< std::vector<float> > ParticleFlowReco::_pflow_HAD_tower_eta
private

Definition at line 88 of file ParticleFlowReco.h.

View newest version in sPHENIX GitHub at line 88 of file ParticleFlowReco.h

Referenced by process_event().

std::vector< std::vector<float> > ParticleFlowReco::_pflow_HAD_tower_phi
private

Definition at line 89 of file ParticleFlowReco.h.

View newest version in sPHENIX GitHub at line 89 of file ParticleFlowReco.h

Referenced by process_event().

std::vector< std::vector< std::pair<int,float> > > ParticleFlowReco::_pflow_TRK_addtl_match_EM
private

Definition at line 73 of file ParticleFlowReco.h.

View newest version in sPHENIX GitHub at line 73 of file ParticleFlowReco.h

Referenced by process_event().

std::vector<float> ParticleFlowReco::_pflow_TRK_EMproj_eta
private

Definition at line 65 of file ParticleFlowReco.h.

View newest version in sPHENIX GitHub at line 65 of file ParticleFlowReco.h

Referenced by process_event().

std::vector<float> ParticleFlowReco::_pflow_TRK_EMproj_phi
private

Definition at line 64 of file ParticleFlowReco.h.

View newest version in sPHENIX GitHub at line 64 of file ParticleFlowReco.h

Referenced by process_event().

std::vector<float> ParticleFlowReco::_pflow_TRK_eta
private

Definition at line 62 of file ParticleFlowReco.h.

View newest version in sPHENIX GitHub at line 62 of file ParticleFlowReco.h

Referenced by process_event().

std::vector<float> ParticleFlowReco::_pflow_TRK_HADproj_eta
private

Definition at line 67 of file ParticleFlowReco.h.

View newest version in sPHENIX GitHub at line 67 of file ParticleFlowReco.h

Referenced by process_event().

std::vector<float> ParticleFlowReco::_pflow_TRK_HADproj_phi
private

Definition at line 66 of file ParticleFlowReco.h.

View newest version in sPHENIX GitHub at line 66 of file ParticleFlowReco.h

Referenced by process_event().

std::vector< std::vector<int> > ParticleFlowReco::_pflow_TRK_match_EM
private

Definition at line 69 of file ParticleFlowReco.h.

View newest version in sPHENIX GitHub at line 69 of file ParticleFlowReco.h

Referenced by process_event().

std::vector< std::vector<int> > ParticleFlowReco::_pflow_TRK_match_HAD
private

Definition at line 70 of file ParticleFlowReco.h.

View newest version in sPHENIX GitHub at line 70 of file ParticleFlowReco.h

Referenced by process_event().

std::vector<float> ParticleFlowReco::_pflow_TRK_p
private

Definition at line 61 of file ParticleFlowReco.h.

View newest version in sPHENIX GitHub at line 61 of file ParticleFlowReco.h

Referenced by get_expected_signature(), and process_event().

std::vector<float> ParticleFlowReco::_pflow_TRK_phi
private

Definition at line 63 of file ParticleFlowReco.h.

View newest version in sPHENIX GitHub at line 63 of file ParticleFlowReco.h

Referenced by process_event().

std::vector<SvtxTrack*> ParticleFlowReco::_pflow_TRK_trk
private

Definition at line 68 of file ParticleFlowReco.h.

View newest version in sPHENIX GitHub at line 68 of file ParticleFlowReco.h

Referenced by process_event().

std::string ParticleFlowReco::_track_map_name = "SvtxTrackMap"
private

Definition at line 93 of file ParticleFlowReco.h.

View newest version in sPHENIX GitHub at line 93 of file ParticleFlowReco.h

Referenced by process_event(), and set_track_map_name().


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