Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-06 08:13:21

0001 /// ---------------------------------------------------------------------------
0002 /*! \file   TrkTools.h
0003  *  \author Derek Anderson
0004  *  \date   10.30.2023
0005  *
0006  *  Collection of frequent track-related methods utilized
0007  *  in the sPHENIX Cold QCD Energy-Energy Correlator analysis.
0008  */
0009 /// ---------------------------------------------------------------------------
0010 
0011 #ifndef SCORRELATORUTILITIES_TRKTOOLS_H
0012 #define SCORRELATORUTILITIES_TRKTOOLS_H
0013 
0014 // c++ utilities
0015 #include <array>
0016 #include <limits>
0017 #include <string>
0018 #include <vector>
0019 #include <cassert>
0020 #include <utility>
0021 // root utilities
0022 #include <Math/Vector3D.h>
0023 // phool libraries
0024 #include <phool/phool.h>
0025 #include <phool/getClass.h>
0026 #include <phool/PHIODataNode.h>
0027 #include <phool/PHNodeIterator.h>
0028 #include <phool/PHCompositeNode.h>
0029 // tracking libraries
0030 #include <trackbase_historic/SvtxTrack.h>
0031 #include <trackbase_historic/SvtxTrackMap.h>
0032 #include <trackbase_historic/TrackAnalysisUtils.h>
0033 // track evaluator utilities
0034 #include <g4eval/SvtxTrackEval.h>
0035 // vertex libraries
0036 #include <globalvertex/GlobalVertex.h>
0037 // phenix Geant4 utilities
0038 #include <g4main/PHG4Particle.h>
0039 // analysis utilities
0040 #include "Constants.h"
0041 #include "Interfaces.h"
0042 
0043 // make common namespaces implicit
0044 using namespace std;
0045 
0046 
0047 
0048 namespace SColdQcdCorrelatorAnalysis {
0049   namespace Tools {
0050 
0051     // track methods ----------------------------------------------------------
0052 
0053     int                   GetNumLayer(SvtxTrack* track, const int16_t sys = 0);
0054     int                   GetNumClust(SvtxTrack* track, const int16_t sys = 0);
0055     int                   GetMatchID(SvtxTrack* track, SvtxTrackEval* trackEval);
0056     bool                  IsGoodTrackSeed(SvtxTrack* track, const bool requireSiSeeds = true);
0057     bool                  IsFromPrimaryVtx(SvtxTrack* track, PHCompositeNode* topNode);
0058     double                GetTrackDeltaPt(SvtxTrack* track);
0059     TrackSeed*            GetTrackSeed(SvtxTrack* track, const int16_t sys);
0060     pair<double, double>  GetTrackDcaPair(SvtxTrack* track, PHCompositeNode* topNode);
0061     ROOT::Math::XYZVector GetTrackVertex(SvtxTrack* track, PHCompositeNode* topNode);
0062 
0063   }  // end Tools namespace
0064 }  // end SColdQcdCorrealtorAnalysis namespace
0065 
0066 #endif
0067 
0068 // end ------------------------------------------------------------------------