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

#include <fun4all_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_emulated_efficiency (float eff)
 
- 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
 
float _emulate_efficiency
 
gsl_rng * _tr_eff
 
std::vector< float > _pflow_TRK_p
 
std::vector< float > _pflow_TRK_eta
 
std::vector< float > _pflow_TRK_phi
 
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< 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< 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
 

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

Definition at line 19 of file ParticleFlowReco.h.

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

Constructor & Destructor Documentation

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

Definition at line 59 of file ParticleFlowReco.cc.

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

References _tr_eff.

ParticleFlowReco::~ParticleFlowReco ( )
override

Definition at line 70 of file ParticleFlowReco.cc.

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

References _tr_eff.

Member Function Documentation

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

Definition at line 37 of file ParticleFlowReco.cc.

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

Referenced by process_event().

+ Here is the caller graph for this function:

int ParticleFlowReco::CreateNode ( PHCompositeNode topNode)
private

Definition at line 1018 of file ParticleFlowReco.cc.

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

References Fun4AllReturnCodes::ABORTRUN, PHCompositeNode::addNode(), Fun4AllReturnCodes::EVENT_OK, exit(), 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 1076 of file ParticleFlowReco.cc.

View newest version in sPHENIX GitHub at line 1076 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 1066 of file ParticleFlowReco.cc.

View newest version in sPHENIX GitHub at line 1066 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 47 of file ParticleFlowReco.cc.

View newest version in sPHENIX GitHub at line 47 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 76 of file ParticleFlowReco.cc.

View newest version in sPHENIX GitHub at line 76 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 82 of file ParticleFlowReco.cc.

View newest version in sPHENIX GitHub at line 82 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 1096 of file ParticleFlowReco.cc.

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

int ParticleFlowReco::process_event ( PHCompositeNode )
overridevirtual

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

Reimplemented from SubsysReco.

Definition at line 89 of file ParticleFlowReco.cc.

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

References _emulate_efficiency, _energy_match_Nsigma, _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_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_eta, _pflow_TRK_match_EM, _pflow_TRK_match_HAD, _pflow_TRK_p, _pflow_TRK_phi, _tr_eff, Fun4AllReturnCodes::ABORTEVENT, kdfinder::abs(), ParticleFlowElementContainer::AddParticleFlowElement(), calculate_dR(), RawTowerDefs::CEMC, RawTowerDefs::decode_caloid(), Fun4AllReturnCodes::EVENT_OK, PHG4Particle::get_e(), RawTowerGeom::get_eta(), get_expected_signature(), RawTower::get_key(), RawTowerGeom::get_phi(), PHG4Particle::get_pid(), PHG4Particle::get_px(), PHG4Particle::get_py(), PHG4Particle::get_pz(), RawTowerGeomContainer::get_tower_geometry(), RawClusterContainer::getClusters(), ParticleFlowElementContainer::getParticleFlowElements(), PHG4TruthInfoContainer::GetPrimaryParticleRange(), RawTowerContainer::getTower(), RawTowerDefs::HCALIN, RawTowerDefs::HCALOUT, k, n, ParticleFlowElement::set_e(), ParticleFlowElement::set_id(), ParticleFlowElement::set_px(), ParticleFlowElement::set_py(), ParticleFlowElement::set_pz(), ParticleFlowElement::set_type(), sort_by_pair_second_lowest(), t, vector(), Fun4AllBase::Verbosity(), and x.

+ Here is the call graph for this function:

int ParticleFlowReco::Reset ( PHCompositeNode )
overridevirtual

Reset.

Reimplemented from SubsysReco.

Definition at line 1086 of file ParticleFlowReco.cc.

View newest version in sPHENIX GitHub at line 1086 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 1056 of file ParticleFlowReco.cc.

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

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

+ Here is the call graph for this function:

void ParticleFlowReco::set_emulated_efficiency ( float  eff)
inline

Definition at line 49 of file ParticleFlowReco.h.

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

References _emulate_efficiency.

Referenced by ParticleFlow().

+ Here is the caller graph for this function:

void ParticleFlowReco::set_energy_match_Nsigma ( float  Nsigma)
inline

Definition at line 43 of file ParticleFlowReco.h.

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

References _energy_match_Nsigma.

Referenced by ParticleFlow().

+ Here is the caller graph for this function:

Member Data Documentation

float ParticleFlowReco::_emulate_efficiency
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(), and set_emulated_efficiency().

float ParticleFlowReco::_energy_match_Nsigma
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(), and set_energy_match_Nsigma().

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 80 of file ParticleFlowReco.h.

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

Referenced by process_event().

std::vector< std::vector<int> > ParticleFlowReco::_pflow_EM_match_TRK
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<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 78 of file ParticleFlowReco.h.

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

Referenced by process_event().

std::vector< std::vector<float> > ParticleFlowReco::_pflow_EM_tower_phi
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<float> ParticleFlowReco::_pflow_HAD_E
private

Definition at line 83 of file ParticleFlowReco.h.

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

Referenced by process_event().

std::vector<float> ParticleFlowReco::_pflow_HAD_eta
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< std::vector<int> > ParticleFlowReco::_pflow_HAD_match_EM
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<int> > ParticleFlowReco::_pflow_HAD_match_TRK
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<float> ParticleFlowReco::_pflow_HAD_phi
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<float> > ParticleFlowReco::_pflow_HAD_tower_eta
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_phi
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< 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_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< 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 66 of file ParticleFlowReco.h.

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

Referenced by get_expected_signature(), and process_event().

std::vector<float> ParticleFlowReco::_pflow_TRK_phi
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().

gsl_rng* ParticleFlowReco::_tr_eff
private

Definition at line 64 of file ParticleFlowReco.h.

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

Referenced by ParticleFlowReco(), process_event(), and ~ParticleFlowReco().


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