EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
|
#include <fun4all_coresoftware/blob/master/offline/packages/trackreco/PHActsTrackProjection.h>
Public Member Functions | |
PHActsTrackProjection (const std::string &name="PHActsTrackProjection") | |
int | Init (PHCompositeNode *topNode) override |
int | InitRun (PHCompositeNode *topNode) override |
int | process_event (PHCompositeNode *topNode) override |
int | End (PHCompositeNode *topNode) override |
Called at the end of all processing. | |
Public Member Functions inherited from SubsysReco | |
~SubsysReco () override | |
virtual int | EndRun (const int) |
Called at the end of each run. | |
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 | |
int | getNodes (PHCompositeNode *topNode) |
int | projectTracks (PHCompositeNode *topNode, int caloLayer) |
BoundTrackParamPtrResult | propagateTrack (const Acts::BoundTrackParameters ¶ms, const SurfacePtr &targetSurf) |
Propagate the fitted track parameters to a surface with Acts. | |
int | setCaloContainerNodes (PHCompositeNode *topNode, const int caloLayer) |
Set the particular calo nodes depending on which layer. | |
int | makeCaloSurfacePtrs (PHCompositeNode *topNode) |
Make Acts::CylinderSurface objects corresponding to the calos. | |
void | updateSvtxTrack (const Acts::BoundTrackParameters ¶ms, SvtxTrack *svtxTrack, const int caloLayer) |
Update the SvtxTrack object with the track-cluster match. | |
void | getSquareTowerEnergies (int phiBin, int etaBin, double &energy3x3, double &energy5x5) |
Get 3x3 and 5x5 tower sums matched to a track. | |
void | getClusterProperties (double phi, double eta, double &minIndex, double &minDphi, double &minDeta, double &minE) |
Get the cluster values for a particular matched track. | |
Acts::BoundTrackParameters | makeTrackParams (SvtxTrack *track) |
double | deltaPhi (const double &phi) |
Acts::Vector3D | getVertex (SvtxTrack *track) |
Private Attributes | |
ActsTrackingGeometry * | m_tGeometry = nullptr |
Objects containing the Acts track fit results. | |
SvtxTrackMap * | m_trackMap = nullptr |
SvtxVertexMap * | m_vertexMap = nullptr |
std::map< const unsigned int, Trajectory > * | m_trajectories {nullptr} |
std::vector< std::string > | m_caloNames |
std::vector< SvtxTrack::CAL_LAYER > | m_caloTypes |
std::map< std::string, SurfacePtr > | m_caloSurfaces |
RawTowerGeomContainer * | m_towerGeomContainer = nullptr |
RawTowerContainer * | m_towerContainer = nullptr |
RawClusterContainer * | m_clusterContainer = nullptr |
bool | m_useCemcPosRecalib = false |
int | m_event = 0 |
Static Private Attributes | |
static const int | m_nCaloLayers = 3 |
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") | |
This class takes final fitted tracks from the Acts track fitting and projects them out to cylinders with radius at the same radius as the three calorimeters. Cluster matching is performed with the projections and the SvtxTrack object is updated.
Definition at line 44 of file PHActsTrackProjection.h.
View newest version in sPHENIX GitHub at line 44 of file PHActsTrackProjection.h
PHActsTrackProjection::PHActsTrackProjection | ( | const std::string & | name = "PHActsTrackProjection" | ) |
Definition at line 38 of file PHActsTrackProjection.cc.
View newest version in sPHENIX GitHub at line 38 of file PHActsTrackProjection.cc
References SvtxTrack::CEMC, SvtxTrack::HCALIN, SvtxTrack::HCALOUT, m_caloNames, and m_caloTypes.
|
private |
Definition at line 488 of file PHActsTrackProjection.cc.
View newest version in sPHENIX GitHub at line 488 of file PHActsTrackProjection.cc
Referenced by getClusterProperties().
|
overridevirtual |
Called at the end of all processing.
Reimplemented from SubsysReco.
Definition at line 98 of file PHActsTrackProjection.cc.
View newest version in sPHENIX GitHub at line 98 of file PHActsTrackProjection.cc
References Fun4AllReturnCodes::EVENT_OK.
|
private |
Get the cluster values for a particular matched track.
Definition at line 253 of file PHActsTrackProjection.cc.
View newest version in sPHENIX GitHub at line 253 of file PHActsTrackProjection.cc
References deltaPhi(), RawClusterContainer::getClustersMap(), RawClusterUtility::GetPseudorapidity(), and m_clusterContainer.
Referenced by updateSvtxTrack().
|
private |
Definition at line 449 of file PHActsTrackProjection.cc.
View newest version in sPHENIX GitHub at line 449 of file PHActsTrackProjection.cc
References Fun4AllReturnCodes::ABORTEVENT, Fun4AllReturnCodes::EVENT_OK, m_tGeometry, m_trackMap, m_trajectories, m_vertexMap, and PHWHERE.
Referenced by InitRun().
|
private |
Get 3x3 and 5x5 tower sums matched to a track.
Check the phi periodic boundary conditions
Check the eta boundary conditions
Definition at line 284 of file PHActsTrackProjection.cc.
View newest version in sPHENIX GitHub at line 284 of file PHActsTrackProjection.cc
References kdfinder::abs(), RawTower::get_energy(), RawTowerGeomContainer::get_etabins(), RawTowerGeomContainer::get_phibins(), RawTowerContainer::getTower(), m_towerContainer, and m_towerGeomContainer.
Referenced by updateSvtxTrack().
|
private |
Definition at line 169 of file PHActsTrackProjection.cc.
View newest version in sPHENIX GitHub at line 169 of file PHActsTrackProjection.cc
References Acts::UnitConstants::cm, SvtxVertexMap::get(), SvtxTrack::get_vertex_id(), SvtxVertex::get_x(), SvtxVertex::get_y(), SvtxVertex::get_z(), and m_vertexMap.
Referenced by makeTrackParams().
|
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 93 of file PHActsTrackProjection.cc.
View newest version in sPHENIX GitHub at line 93 of file PHActsTrackProjection.cc
References Fun4AllReturnCodes::EVENT_OK.
|
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 51 of file PHActsTrackProjection.cc.
View newest version in sPHENIX GitHub at line 51 of file PHActsTrackProjection.cc
References Fun4AllReturnCodes::ABORTEVENT, Fun4AllReturnCodes::EVENT_OK, getNodes(), makeCaloSurfacePtrs(), and Fun4AllBase::Verbosity().
|
private |
Make Acts::CylinderSurface objects corresponding to the calos.
Extend farther so that there is at least surface there, for high curling tracks. Can always reject later
Make a cylindrical surface at (0,0,0) aligned along the z axis
Definition at line 407 of file PHActsTrackProjection.cc.
View newest version in sPHENIX GitHub at line 407 of file PHActsTrackProjection.cc
References Fun4AllReturnCodes::ABORTEVENT, Acts::UnitConstants::cm, Acts::VectorHelpers::eta(), Fun4AllReturnCodes::EVENT_OK, ActsTrackingGeometry::geoContext, RawTowerGeomContainer::get_radius(), m_caloNames, m_caloSurfaces, m_nCaloLayers, m_tGeometry, m_towerGeomContainer, name, setCaloContainerNodes(), theta(), Acts::Test::transform, and Fun4AllBase::Verbosity().
Referenced by InitRun().
|
private |
Definition at line 142 of file PHActsTrackProjection.cc.
View newest version in sPHENIX GitHub at line 142 of file PHActsTrackProjection.cc
References Acts::UnitConstants::cm, Acts::Test::cov, ActsTrackingGeometry::geoContext, SvtxTrack::get_acts_covariance(), SvtxTrack::get_charge(), SvtxTrack::get_p(), SvtxTrack::get_px(), SvtxTrack::get_py(), SvtxTrack::get_pz(), SvtxTrack::get_x(), SvtxTrack::get_y(), SvtxTrack::get_z(), getVertex(), m_tGeometry, momentum, and Acts::UnitConstants::ns.
|
overridevirtual |
Called for each event. This is where you do the real work.
Reimplemented from SubsysReco.
Definition at line 67 of file PHActsTrackProjection.cc.
View newest version in sPHENIX GitHub at line 67 of file PHActsTrackProjection.cc
References Fun4AllReturnCodes::ABORTEVENT, Fun4AllReturnCodes::EVENT_OK, G4TTL::layer, m_caloNames, m_event, m_nCaloLayers, projectTracks(), and Fun4AllBase::Verbosity().
|
private |
Definition at line 104 of file PHActsTrackProjection.cc.
View newest version in sPHENIX GitHub at line 104 of file PHActsTrackProjection.cc
References Fun4AllReturnCodes::ABORTEVENT, Fun4AllReturnCodes::EVENT_OK, SvtxTrackMap::get(), m_caloNames, m_caloSurfaces, m_trackMap, m_trajectories, PHWHERE, propagateTrack(), setCaloContainerNodes(), updateSvtxTrack(), and Fun4AllBase::Verbosity().
Referenced by process_event().
|
private |
Propagate the fitted track parameters to a surface with Acts.
Definition at line 319 of file PHActsTrackProjection.cc.
View newest version in sPHENIX GitHub at line 319 of file PHActsTrackProjection.cc
References Acts::Logging::FATAL, ActsTrackingGeometry::geoContext, Acts::getDefaultLogger(), m_tGeometry, ActsTrackingGeometry::magFieldContext, Acts::SingleBoundTrackParameters< charge_t >::momentum(), eicpy.build::options, Acts::SingleBoundTrackParameters< charge_t >::position(), propagation_timing::stepper, Acts::Logging::VERBOSE, and Fun4AllBase::Verbosity().
Referenced by projectTracks().
|
private |
Set the particular calo nodes depending on which layer.
Definition at line 372 of file PHActsTrackProjection.cc.
View newest version in sPHENIX GitHub at line 372 of file PHActsTrackProjection.cc
References Fun4AllReturnCodes::ABORTEVENT, Fun4AllReturnCodes::EVENT_OK, m_caloNames, m_clusterContainer, m_towerContainer, m_towerGeomContainer, m_useCemcPosRecalib, and PHWHERE.
Referenced by makeCaloSurfacePtrs(), and projectTracks().
|
private |
Update the SvtxTrack object with the track-cluster match.
Definition at line 181 of file PHActsTrackProjection.cc.
View newest version in sPHENIX GitHub at line 181 of file PHActsTrackProjection.cc
References ActsTrackingGeometry::geoContext, RawTowerGeomContainer::get_etabin(), RawTowerGeomContainer::get_phibin(), getClusterProperties(), getSquareTowerEnergies(), m_caloTypes, m_tGeometry, m_towerGeomContainer, Acts::SingleBoundTrackParameters< charge_t >::position(), G4BECAL::radius, SvtxTrack::set_cal_cluster_e(), SvtxTrack::set_cal_cluster_id(), SvtxTrack::set_cal_deta(), SvtxTrack::set_cal_dphi(), SvtxTrack::set_cal_energy_3x3(), SvtxTrack::set_cal_energy_5x5(), and Fun4AllBase::Verbosity().
Referenced by projectTracks().
|
private |
Definition at line 101 of file PHActsTrackProjection.h.
View newest version in sPHENIX GitHub at line 101 of file PHActsTrackProjection.h
Referenced by makeCaloSurfacePtrs(), PHActsTrackProjection(), process_event(), projectTracks(), and setCaloContainerNodes().
|
private |
Definition at line 103 of file PHActsTrackProjection.h.
View newest version in sPHENIX GitHub at line 103 of file PHActsTrackProjection.h
Referenced by makeCaloSurfacePtrs(), and projectTracks().
|
private |
Definition at line 102 of file PHActsTrackProjection.h.
View newest version in sPHENIX GitHub at line 102 of file PHActsTrackProjection.h
Referenced by PHActsTrackProjection(), and updateSvtxTrack().
|
private |
Definition at line 107 of file PHActsTrackProjection.h.
View newest version in sPHENIX GitHub at line 107 of file PHActsTrackProjection.h
Referenced by getClusterProperties(), and setCaloContainerNodes().
|
private |
Definition at line 111 of file PHActsTrackProjection.h.
View newest version in sPHENIX GitHub at line 111 of file PHActsTrackProjection.h
Referenced by process_event().
|
staticprivate |
Objects to hold calorimeter information. There are only 3 calo layers
Definition at line 100 of file PHActsTrackProjection.h.
View newest version in sPHENIX GitHub at line 100 of file PHActsTrackProjection.h
Referenced by makeCaloSurfacePtrs(), and process_event().
|
private |
Objects containing the Acts track fit results.
Definition at line 92 of file PHActsTrackProjection.h.
View newest version in sPHENIX GitHub at line 92 of file PHActsTrackProjection.h
Referenced by getNodes(), makeCaloSurfacePtrs(), makeTrackParams(), propagateTrack(), and updateSvtxTrack().
|
private |
Definition at line 106 of file PHActsTrackProjection.h.
View newest version in sPHENIX GitHub at line 106 of file PHActsTrackProjection.h
Referenced by getSquareTowerEnergies(), and setCaloContainerNodes().
|
private |
Definition at line 105 of file PHActsTrackProjection.h.
View newest version in sPHENIX GitHub at line 105 of file PHActsTrackProjection.h
Referenced by getSquareTowerEnergies(), makeCaloSurfacePtrs(), setCaloContainerNodes(), and updateSvtxTrack().
|
private |
Definition at line 93 of file PHActsTrackProjection.h.
View newest version in sPHENIX GitHub at line 93 of file PHActsTrackProjection.h
Referenced by getNodes(), and projectTracks().
|
private |
Definition at line 95 of file PHActsTrackProjection.h.
View newest version in sPHENIX GitHub at line 95 of file PHActsTrackProjection.h
Referenced by getNodes(), and projectTracks().
|
private |
Definition at line 109 of file PHActsTrackProjection.h.
View newest version in sPHENIX GitHub at line 109 of file PHActsTrackProjection.h
Referenced by setCaloContainerNodes().
|
private |
Definition at line 94 of file PHActsTrackProjection.h.
View newest version in sPHENIX GitHub at line 94 of file PHActsTrackProjection.h
Referenced by getNodes(), and getVertex().