Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-06 08:18:46

0001 // Tell emacs that this is a C++ source
0002 //  -*- C++ -*-.
0003 #ifndef QAG4SIMULATIONDISTORTIONS_H
0004 #define QAG4SIMULATIONDISTORTIONS_H
0005 
0006 #include <fun4all/SubsysReco.h>
0007 #include <tpc/TpcGlobalPositionWrapper.h>
0008 #include <trackbase/TrkrDefs.h>
0009 
0010 #include <math.h>
0011 #include <string>
0012 #include <vector>
0013 
0014 class PHCompositeNode;
0015 class SvtxTrackMap;
0016 class TrkrClusterContainer;
0017 class SvtxTrack;
0018 class ActsGeometry;
0019 
0020 class QAG4SimulationDistortions : public SubsysReco
0021 {
0022  public:
0023   QAG4SimulationDistortions(const std::string& name = "QAG4SimulationDistortions");
0024 
0025   ~QAG4SimulationDistortions() override;
0026 
0027   int Init(PHCompositeNode*) override;
0028   int InitRun(PHCompositeNode* topNode) override;
0029   int process_event(PHCompositeNode*) override;
0030   int End(PHCompositeNode *topNode) override;
0031 
0032   //! track map name
0033   void set_trackmap_name( const std::string& value )
0034   { m_trackmapname = value; }
0035 
0036  private:
0037 
0038   //! track map name
0039   std::string m_trackmapname = "SvtxSiliconMMTrackMap";
0040 
0041   std::string get_histo_prefix()
0042   {
0043     return std::string("h_") + Name() + std::string("_");
0044   }
0045 
0046   std::vector<TrkrDefs::cluskey> get_cluster_keys(SvtxTrack* track);
0047   bool checkTrack(SvtxTrack* track);
0048   SvtxTrackMap* m_trackMap = nullptr;
0049   TrkrClusterContainer* m_clusterContainer = nullptr;
0050   ActsGeometry* m_tGeometry = nullptr;
0051 
0052   //! tpc global position wrapper
0053   TpcGlobalPositionWrapper m_globalPositionWrapper;
0054 
0055   int m_event = 0;
0056   float m_tanAlpha = NAN;
0057   float m_tanBeta = NAN;
0058   float m_drphi = NAN;
0059   float m_dz = NAN;
0060   float m_clusR = NAN;
0061   float m_clusPhi = NAN;
0062   float m_clusZ = NAN;
0063   float m_statePhi = NAN;
0064   float m_stateZ = NAN;
0065   float m_stateR = NAN;
0066   float m_stateRPhiErr = NAN;
0067   float m_stateZErr = NAN;
0068   float m_clusRPhiErr = NAN;
0069   float m_clusZErr = NAN;
0070   TrkrDefs::cluskey m_cluskey = TrkrDefs::CLUSKEYMAX;
0071 
0072   ///@name counters
0073   //@{
0074   int m_total_tracks = 0;
0075   int m_accepted_tracks = 0;
0076 
0077   int m_total_states = 0;
0078   int m_accepted_states = 0;
0079   //@}
0080 
0081 
0082 };
0083 
0084 #endif  // QAG4SIMULATIONDISTORTIONS_H