File indexing completed on 2025-08-06 08:18:19
0001 #ifndef HELIXRESIDUALS_H
0002 #define HELIXRESIDUALS_H
0003
0004 #include <trackbase/ActsTrackingGeometry.h>
0005 #include <trackbase/TrkrClusterContainerv4.h>
0006 #include <trackbase_historic/SvtxTrackMap.h>
0007 #include <trackbase_historic/TrackSeedContainer_v1.h>
0008 #include <trackbase_historic/TrackSeed_v2.h>
0009 #include <trackermillepedealignment/HelicalFitter.h>
0010
0011 #include <fun4all/SubsysReco.h>
0012
0013 class TFile;
0014 class TNtuple;
0015
0016 class PHCompositeNode;
0017 class SvtxTrack;
0018 class SvtxTrackMap;
0019
0020 class helixResiduals : public SubsysReco
0021 {
0022 public:
0023 helixResiduals(const std::string& name = "helixResiduals");
0024 ~helixResiduals() {}
0025
0026 int InitRun(PHCompositeNode* topNode) override;
0027 int process_event(PHCompositeNode* ) override;
0028 int End(PHCompositeNode* ) override;
0029 void set_output_file(const std::string& outputfile) { filepath = outputfile; }
0030
0031 private:
0032 int getNodes(PHCompositeNode* topNode);
0033
0034 void fill_residuals(TrackSeed* seed, int seed_id, bool isTpc);
0035
0036 HelicalFitter* _fitter = nullptr;
0037 ActsGeometry* tGeometry = nullptr;
0038
0039 TNtuple* ntp_residuals = nullptr;
0040
0041 SvtxTrackMap* _tracks = nullptr;
0042 TrkrClusterContainer* _clusters = nullptr;
0043 TrackSeedContainer* _tpc_seeds = nullptr;
0044 TrackSeedContainer* _si_seeds = nullptr;
0045
0046 TFile* fout = nullptr;
0047
0048 std::string filepath = "";
0049 };
0050
0051 #endif