Analysis Software
Documentation for sPHENIX simulation software
|
#include <coresoftware/blob/master/offline/packages/trackreco/SecondaryVertexFinder.h>
Public Member Functions | |
SecondaryVertexFinder (const std::string &name="SecondaryVertexFinder") | |
Tracking includes. | |
~SecondaryVertexFinder () override | |
int | InitRun (PHCompositeNode *topNode) override |
int | process_event (PHCompositeNode *topNode) override |
int | End (PHCompositeNode *topNode) override |
Called at the end of all processing. | |
void | setTrackDcaCut (const double cutxy, const double cutz) |
void | setTwoTrackDcaCut (const double cut) |
void | setMinPathCut (const double cut) |
void | setTrackQualityCut (double cut) |
void | setRequireMVTX (bool set) |
void | setOutfileName (const std::string &filename) |
void | setDecayParticleMass (double mass) |
void | set_write_electrons_node (bool flag) |
void | set_write_ntuple (bool flag) |
Public Member Functions inherited from SubsysReco | |
~SubsysReco () override | |
virtual int | EndRun (const int) |
Called at the end of each run. | |
virtual int | Init (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 | |
int | GetNodes (PHCompositeNode *topNode) |
int | CreateOutputNode (PHCompositeNode *topNode) |
bool | passConversionElectronCuts (TLorentzVector tsum, SvtxTrack *tr1, SvtxTrack *tr2, float pair_dca, Eigen::Vector3d PCA, Eigen::Vector3d VTX) |
bool | hasSiliconSeed (SvtxTrack *tr) |
void | outputTrackDetails (SvtxTrack *tr) |
void | get_dca (SvtxTrack *track, float &dca3dxy, float &dca3dz, float &dca3dxysigma, float &dca3dzsigma) |
bool | circle_circle_intersection (double r0, double x0, double y0, double r1, double x1, double y1, std::vector< double > &intersectionXY) |
void | findPcaTwoLines (Eigen::Vector3d pos1, Eigen::Vector3d mom1, Eigen::Vector3d pos2, Eigen::Vector3d mom2, double &dca, Eigen::Vector3d &PCA1, Eigen::Vector3d &PCA2) |
void | getCircleXYTrack (SvtxTrack *track, double &R, Eigen::Vector2d ¢er) |
double | getZFromIntersectionXY (SvtxTrack *track, double &R, Eigen::Vector2d ¢er, Eigen::Vector2d intersection) |
bool | projectTrackToPoint (SvtxTrack *track, Eigen::Vector3d &PCA, Eigen::Vector3d &pos, Eigen::Vector3d &mom) |
void | fillNtp (SvtxTrack *track1, SvtxTrack *track2, double dca3dxy1, double dca3dz1, double dca3dxy2, double dca3dz2, Eigen::Vector3d vpos1, Eigen::Vector3d vmom1, Eigen::Vector3d vpos2, Eigen::Vector3d vmom2, Acts::Vector3 pca_rel1, Acts::Vector3 pca_rel2, double pair_dca, double invariantMass, double invariantPt, double path, int has_silicon_1, int has_siilicon_2) |
Private Attributes | |
SvtxTrackMap * | _track_map {nullptr} |
SvtxTrackMap * | _track_map_electrons {nullptr} |
SvtxTrack * | _track {nullptr} |
SvtxVertexMap * | _svtx_vertex_map {nullptr} |
ActsGeometry * | _tGeometry {nullptr} |
bool | _require_mvtx = false |
bool | _write_electrons_node = true |
bool | _write_ntuple = false |
double | _decaymass = 0.000511 |
double | _track_dcaxy_cut = 0.020 |
double | _track_dcaz_cut = 0.020 |
double | _qual_cut = 4.0 |
double | _two_track_dcacut = 0.5 |
double | _max_intersection_radius = 40.0 |
double | _projected_track_z_cut = 1.0 |
double | _min_path_cut = 0.2 |
double | _costheta_cut = 0.9985 |
double | _conversion_pair_dcacut = 0.2 |
unsigned int | _min_tpc_clusters = 40 |
double | _deta_cut = 0.05 |
double | _invariant_pt_cut = 0.1 |
double | _max_mass_cut = 0.03 |
TH2D * | recomass {nullptr} |
TH2D * | hdecaypos {nullptr} |
TH1D * | hdecay_radius {nullptr} |
TNtuple * | ntp {nullptr} |
std::string | outfile |
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") | |
Definition at line 61 of file SecondaryVertexFinder.h.
View newest version in sPHENIX GitHub at line 61 of file SecondaryVertexFinder.h
SecondaryVertexFinder::SecondaryVertexFinder | ( | const std::string & | name = "SecondaryVertexFinder" | ) |
Tracking includes.
Definition at line 55 of file SecondaryVertexFinder.cc.
View newest version in sPHENIX GitHub at line 55 of file SecondaryVertexFinder.cc
|
override |
Definition at line 62 of file SecondaryVertexFinder.cc.
View newest version in sPHENIX GitHub at line 62 of file SecondaryVertexFinder.cc
|
private |
Definition at line 722 of file SecondaryVertexFinder.cc.
View newest version in sPHENIX GitHub at line 722 of file SecondaryVertexFinder.cc
References KFPMath::a, h, norm, r0, r1, Fun4AllBase::Verbosity(), and x0.
Referenced by process_event().
|
private |
Definition at line 799 of file SecondaryVertexFinder.cc.
View newest version in sPHENIX GitHub at line 799 of file SecondaryVertexFinder.cc
References _track_map_electrons, _write_electrons_node, PHCompositeNode::addNode(), PHNodeIterator::findFirst(), and Fun4AllBase::Verbosity().
Referenced by InitRun().
|
overridevirtual |
Called at the end of all processing.
Reimplemented from SubsysReco.
Definition at line 784 of file SecondaryVertexFinder.cc.
View newest version in sPHENIX GitHub at line 784 of file SecondaryVertexFinder.cc
References _write_ntuple, Fun4AllReturnCodes::EVENT_OK, fout, hdecay_radius, hdecaypos, ntp, outfile, and recomass.
|
private |
Definition at line 92 of file SecondaryVertexFinder.cc.
View newest version in sPHENIX GitHub at line 92 of file SecondaryVertexFinder.cc
References _svtx_vertex_map, SvtxVertexMap::get(), SvtxTrack::get_charge(), SvtxTrack::get_px(), SvtxTrack::get_py(), SvtxTrack::get_pz(), SvtxTrack::get_quality(), SvtxTrack::get_tpc_seed(), SvtxTrack::get_vertex_id(), SvtxTrack::get_x(), SvtxTrack::get_y(), SvtxTrack::get_z(), ntp, path, and TrackSeed::size_cluster_keys().
Referenced by process_event().
|
private |
Definition at line 672 of file SecondaryVertexFinder.cc.
View newest version in sPHENIX GitHub at line 672 of file SecondaryVertexFinder.cc
References KFPMath::a2, b1, Acts::PhysicalConstants::c, F, G, TauVsDIS_MachineLearning_Differentiation::X, and TauVsDIS_MachineLearning_Differentiation::Y.
Referenced by process_event().
|
private |
Definition at line 602 of file SecondaryVertexFinder.cc.
View newest version in sPHENIX GitHub at line 602 of file SecondaryVertexFinder.cc
References _svtx_vertex_map, SvtxVertexMap::get(), SvtxTrack::get_error(), SvtxTrack::get_id(), SvtxTrack::get_px(), SvtxTrack::get_py(), SvtxTrack::get_pz(), SvtxTrack::get_vertex_id(), SvtxTrack::get_x(), SvtxTrack::get_y(), SvtxTrack::get_z(), i, j, ActsTests::PropagationDatasets::phi, Acts::Test::pos, physmon_track_finding_ttbar::r, and Fun4AllBase::Verbosity().
Referenced by process_event().
|
private |
Definition at line 482 of file SecondaryVertexFinder.cc.
View newest version in sPHENIX GitHub at line 482 of file SecondaryVertexFinder.cc
References Acts::IntegrationTest::Bz, charge(), double(), SvtxTrack::get_charge(), SvtxTrack::get_pt(), SvtxTrack::get_px(), SvtxTrack::get_py(), SvtxTrack::get_x(), SvtxTrack::get_y(), physmon_track_finding_ttbar::pt, ambiguity_solver_full_chain::x, and y.
Referenced by process_event().
|
private |
Definition at line 833 of file SecondaryVertexFinder.cc.
View newest version in sPHENIX GitHub at line 833 of file SecondaryVertexFinder.cc
References _svtx_vertex_map, _tGeometry, _track_map, Fun4AllReturnCodes::ABORTEVENT, Fun4AllReturnCodes::EVENT_OK, and PHWHERE.
Referenced by InitRun().
|
private |
Definition at line 459 of file SecondaryVertexFinder.cc.
View newest version in sPHENIX GitHub at line 459 of file SecondaryVertexFinder.cc
References SvtxTrack::get_pt(), SvtxTrack::get_pz(), SvtxTrack::get_x(), SvtxTrack::get_y(), SvtxTrack::get_z(), Fun4AllBase::Verbosity(), and physmon_track_finding_ttbar::z.
Referenced by process_event().
|
private |
Definition at line 593 of file SecondaryVertexFinder.cc.
View newest version in sPHENIX GitHub at line 593 of file SecondaryVertexFinder.cc
References SvtxTrack::get_silicon_seed().
Referenced by process_event().
|
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 68 of file SecondaryVertexFinder.cc.
View newest version in sPHENIX GitHub at line 68 of file SecondaryVertexFinder.cc
References _write_electrons_node, _write_ntuple, CreateOutputNode(), Fun4AllReturnCodes::EVENT_OK, GetNodes(), hdecay_radius, hdecaypos, ntp, and recomass.
|
private |
Definition at line 561 of file SecondaryVertexFinder.cc.
View newest version in sPHENIX GitHub at line 561 of file SecondaryVertexFinder.cc
References _svtx_vertex_map, eta, SvtxVertexMap::get(), SvtxTrack::get_eta(), SvtxTrack::get_pt(), SvtxTrack::get_quality(), SvtxTrack::get_silicon_seed(), SvtxTrack::get_tpc_seed(), SvtxTrack::get_vertex_id(), SvtxTrack::get_x(), SvtxTrack::get_y(), SvtxTrack::get_z(), physmon_track_finding_ttbar::pt, TrackSeed::size_cluster_keys(), ambiguity_solver_full_chain::x, y, and physmon_track_finding_ttbar::z.
Referenced by process_event().
|
private |
Definition at line 424 of file SecondaryVertexFinder.cc.
View newest version in sPHENIX GitHub at line 424 of file SecondaryVertexFinder.cc
References _conversion_pair_dcacut, _costheta_cut, _deta_cut, _invariant_pt_cut, _max_mass_cut, _min_tpc_clusters, SvtxTrack::get_eta(), SvtxTrack::get_tpc_seed(), path, and TrackSeed::size_cluster_keys().
Referenced by process_event().
|
overridevirtual |
Called for each event. This is where you do the real work.
Reimplemented from SubsysReco.
Definition at line 136 of file SecondaryVertexFinder.cc.
View newest version in sPHENIX GitHub at line 136 of file SecondaryVertexFinder.cc
References _decaymass, _max_intersection_radius, _min_path_cut, _projected_track_z_cut, _qual_cut, _require_mvtx, _svtx_vertex_map, _track_dcaxy_cut, _track_dcaz_cut, _track_map, _track_map_electrons, _two_track_dcacut, _write_electrons_node, _write_ntuple, SvtxTrackMap::begin(), circle_circle_intersection(), SvtxTrackMap::end(), Fun4AllReturnCodes::EVENT_OK, fillNtp(), findPcaTwoLines(), SvtxVertexMap::get(), get_dca(), getCircleXYTrack(), getZFromIntersectionXY(), hasSiliconSeed(), hdecay_radius, hdecaypos, i, SvtxTrackMap::insertWithKey(), next, norm, outputTrackDetails(), passConversionElectronCuts(), path, PHWHERE, projectTrackToPoint(), R1, R2, recomass, SvtxTrackMap::size(), SvtxVertex::size_tracks(), ambiguity_solver_full_chain::t1, ambiguity_solver_full_chain::t2, and Fun4AllBase::Verbosity().
|
private |
create perigee surface
Couldn't construct strict PCA track parameter requirement
Definition at line 511 of file SecondaryVertexFinder.cc.
View newest version in sPHENIX GitHub at line 511 of file SecondaryVertexFinder.cc
References _svtx_vertex_map, _tGeometry, Acts::UnitConstants::cm, ActsGeometry::geometry(), SvtxTrack::get_px(), SvtxTrack::get_py(), SvtxTrack::get_pz(), SvtxTrack::get_x(), SvtxTrack::get_y(), SvtxTrack::get_z(), ActsTrackingGeometry::getGeoContext(), momentum, Acts::Test::pos, and Fun4AllBase::Verbosity().
Referenced by process_event().
|
inline |
Definition at line 80 of file SecondaryVertexFinder.h.
View newest version in sPHENIX GitHub at line 80 of file SecondaryVertexFinder.h
References _write_electrons_node.
Referenced by Filter_Conversion_Electrons().
|
inline |
Definition at line 81 of file SecondaryVertexFinder.h.
View newest version in sPHENIX GitHub at line 81 of file SecondaryVertexFinder.h
References _write_ntuple.
Referenced by Filter_Conversion_Electrons().
|
inline |
Definition at line 79 of file SecondaryVertexFinder.h.
View newest version in sPHENIX GitHub at line 79 of file SecondaryVertexFinder.h
References _decaymass, and mass.
Referenced by Filter_Conversion_Electrons().
|
inline |
Definition at line 75 of file SecondaryVertexFinder.h.
View newest version in sPHENIX GitHub at line 75 of file SecondaryVertexFinder.h
References _min_path_cut.
|
inline |
Definition at line 78 of file SecondaryVertexFinder.h.
View newest version in sPHENIX GitHub at line 78 of file SecondaryVertexFinder.h
References filename, and outfile.
Referenced by Filter_Conversion_Electrons().
|
inline |
Definition at line 77 of file SecondaryVertexFinder.h.
View newest version in sPHENIX GitHub at line 77 of file SecondaryVertexFinder.h
References _require_mvtx.
Definition at line 73 of file SecondaryVertexFinder.h.
View newest version in sPHENIX GitHub at line 73 of file SecondaryVertexFinder.h
References _track_dcaxy_cut, and _track_dcaz_cut.
|
inline |
Definition at line 76 of file SecondaryVertexFinder.h.
View newest version in sPHENIX GitHub at line 76 of file SecondaryVertexFinder.h
References _qual_cut.
|
inline |
Definition at line 74 of file SecondaryVertexFinder.h.
View newest version in sPHENIX GitHub at line 74 of file SecondaryVertexFinder.h
References _two_track_dcacut.
|
private |
Definition at line 135 of file SecondaryVertexFinder.h.
View newest version in sPHENIX GitHub at line 135 of file SecondaryVertexFinder.h
Referenced by passConversionElectronCuts().
|
private |
Definition at line 132 of file SecondaryVertexFinder.h.
View newest version in sPHENIX GitHub at line 132 of file SecondaryVertexFinder.h
Referenced by passConversionElectronCuts().
|
private |
Definition at line 115 of file SecondaryVertexFinder.h.
View newest version in sPHENIX GitHub at line 115 of file SecondaryVertexFinder.h
Referenced by process_event(), and setDecayParticleMass().
|
private |
Definition at line 137 of file SecondaryVertexFinder.h.
View newest version in sPHENIX GitHub at line 137 of file SecondaryVertexFinder.h
Referenced by passConversionElectronCuts().
|
private |
Definition at line 138 of file SecondaryVertexFinder.h.
View newest version in sPHENIX GitHub at line 138 of file SecondaryVertexFinder.h
Referenced by passConversionElectronCuts().
|
private |
Definition at line 127 of file SecondaryVertexFinder.h.
View newest version in sPHENIX GitHub at line 127 of file SecondaryVertexFinder.h
Referenced by process_event().
|
private |
Definition at line 139 of file SecondaryVertexFinder.h.
View newest version in sPHENIX GitHub at line 139 of file SecondaryVertexFinder.h
Referenced by passConversionElectronCuts().
|
private |
Definition at line 131 of file SecondaryVertexFinder.h.
View newest version in sPHENIX GitHub at line 131 of file SecondaryVertexFinder.h
Referenced by process_event(), and setMinPathCut().
|
private |
Definition at line 136 of file SecondaryVertexFinder.h.
View newest version in sPHENIX GitHub at line 136 of file SecondaryVertexFinder.h
Referenced by passConversionElectronCuts().
|
private |
Definition at line 128 of file SecondaryVertexFinder.h.
View newest version in sPHENIX GitHub at line 128 of file SecondaryVertexFinder.h
Referenced by process_event().
|
private |
Definition at line 123 of file SecondaryVertexFinder.h.
View newest version in sPHENIX GitHub at line 123 of file SecondaryVertexFinder.h
Referenced by process_event(), and setTrackQualityCut().
|
private |
Definition at line 111 of file SecondaryVertexFinder.h.
View newest version in sPHENIX GitHub at line 111 of file SecondaryVertexFinder.h
Referenced by process_event(), and setRequireMVTX().
|
private |
Definition at line 108 of file SecondaryVertexFinder.h.
View newest version in sPHENIX GitHub at line 108 of file SecondaryVertexFinder.h
Referenced by fillNtp(), get_dca(), GetNodes(), outputTrackDetails(), process_event(), and projectTrackToPoint().
|
private |
Definition at line 109 of file SecondaryVertexFinder.h.
View newest version in sPHENIX GitHub at line 109 of file SecondaryVertexFinder.h
Referenced by GetNodes(), and projectTrackToPoint().
|
private |
Definition at line 107 of file SecondaryVertexFinder.h.
View newest version in sPHENIX GitHub at line 107 of file SecondaryVertexFinder.h
|
private |
Definition at line 121 of file SecondaryVertexFinder.h.
View newest version in sPHENIX GitHub at line 121 of file SecondaryVertexFinder.h
Referenced by process_event(), and setTrackDcaCut().
|
private |
Definition at line 122 of file SecondaryVertexFinder.h.
View newest version in sPHENIX GitHub at line 122 of file SecondaryVertexFinder.h
Referenced by process_event(), and setTrackDcaCut().
|
private |
Definition at line 105 of file SecondaryVertexFinder.h.
View newest version in sPHENIX GitHub at line 105 of file SecondaryVertexFinder.h
Referenced by GetNodes(), and process_event().
|
private |
Definition at line 106 of file SecondaryVertexFinder.h.
View newest version in sPHENIX GitHub at line 106 of file SecondaryVertexFinder.h
Referenced by CreateOutputNode(), and process_event().
|
private |
Definition at line 126 of file SecondaryVertexFinder.h.
View newest version in sPHENIX GitHub at line 126 of file SecondaryVertexFinder.h
Referenced by process_event(), and setTwoTrackDcaCut().
|
private |
Definition at line 112 of file SecondaryVertexFinder.h.
View newest version in sPHENIX GitHub at line 112 of file SecondaryVertexFinder.h
Referenced by CreateOutputNode(), InitRun(), process_event(), and set_write_electrons_node().
|
private |
Definition at line 113 of file SecondaryVertexFinder.h.
View newest version in sPHENIX GitHub at line 113 of file SecondaryVertexFinder.h
Referenced by End(), InitRun(), process_event(), and set_write_ntuple().
|
private |
Definition at line 143 of file SecondaryVertexFinder.h.
View newest version in sPHENIX GitHub at line 143 of file SecondaryVertexFinder.h
Referenced by End(), InitRun(), and process_event().
|
private |
Definition at line 142 of file SecondaryVertexFinder.h.
View newest version in sPHENIX GitHub at line 142 of file SecondaryVertexFinder.h
Referenced by End(), InitRun(), and process_event().
|
private |
Definition at line 144 of file SecondaryVertexFinder.h.
View newest version in sPHENIX GitHub at line 144 of file SecondaryVertexFinder.h
|
private |
Definition at line 145 of file SecondaryVertexFinder.h.
View newest version in sPHENIX GitHub at line 145 of file SecondaryVertexFinder.h
Referenced by End(), and setOutfileName().
|
private |
Definition at line 141 of file SecondaryVertexFinder.h.
View newest version in sPHENIX GitHub at line 141 of file SecondaryVertexFinder.h
Referenced by End(), InitRun(), and process_event().