Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-03 08:14:07

0001 #ifndef __FastPid_RICH_H__
0002 #define __FastPid_RICH_H__
0003 
0004 #include <fun4all/SubsysReco.h>
0005 #include <math.h>
0006 
0007 class PHCompositeNode;
0008 class PHG4TruthInfoContainer;
0009 class SvtxTrackMap;
0010 class SvtxTrack;
0011 
0012 class PidInfoContainer;
0013 class TrackProjectorPid;
0014 class SetupDualRICHAnalyzer;
0015 
0016 /**
0017  * Class that allows to use a parametrized response of a RICH detector based on the
0018  * information of the reconstructed incoming charged track for particle ID.
0019  */
0020 class FastPid_RICH : public SubsysReco
0021 {
0022 
0023 public:
0024 
0025   FastPid_RICH(std::string richname, std::string tracksname);
0026 
0027   int
0028   Init(PHCompositeNode*);
0029   int
0030   InitRun(PHCompositeNode*);
0031   int
0032   process_event(PHCompositeNode*);
0033   int
0034   End(PHCompositeNode*);
0035 
0036 private:
0037 
0038   void CreateNodes(PHCompositeNode *topNode);
0039 
0040   bool _verbose;
0041 
0042   int _ievent;
0043 
0044   /* RICH detector name */
0045   std::string _detector;
0046 
0047   /* Collection storing track information */
0048   std::string _trackmap_name;
0049 
0050   /* Node name for node to store PID infos */
0051   std::string _pidinfo_node_name;
0052 
0053   /* Collection to store PidInfos for each track on node tree */
0054   PidInfoContainer* _pidinfos;
0055 
0056   /* track projector object */
0057   TrackProjectorPid *_trackproj;
0058 
0059   /* Radius for track extrapolation */
0060   float _radius;
0061 };
0062 
0063 #endif // __FastPid_RICH_H__