Back to home page

sPhenix code displayed by LXR

 
 

    


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* /*topNode*/) override;
0028   int End(PHCompositeNode* /*topNode*/) 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  // HELIXRESIDUALS_H