Back to home page

sPhenix code displayed by LXR

 
 

    


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

0001 #ifndef __RICHParticleID_H__
0002 #define __RICHParticleID_H__
0003 
0004 #include <fun4all/SubsysReco.h>
0005 #include <math.h>
0006 
0007 class TTree;
0008 class TFile;
0009 class TH1D;
0010 
0011 class PHCompositeNode;
0012 class PHG4TruthInfoContainer;
0013 class PHG4Hit;
0014 class PHG4HitContainer;
0015 class SvtxTrackMap;
0016 class SvtxTrack;
0017 
0018 class PidInfoContainer;
0019 class TrackProjectorPid;
0020 class SetupDualRICHAnalyzer;
0021 class PIDProbabilities;
0022 
0023 class RICHParticleID : public SubsysReco
0024 {
0025 
0026 public:
0027 
0028   RICHParticleID(std::string richname, std::string tracksname);
0029 
0030   int
0031   Init(PHCompositeNode*);
0032   int
0033   InitRun(PHCompositeNode*);
0034   int
0035   process_event(PHCompositeNode*);
0036   int
0037   End(PHCompositeNode*);
0038 
0039   /* set refractive index of RICH radiator */
0040   void set_refractive_index( float newidx )
0041   {
0042     _refractive_index = newidx;
0043     return;
0044   }
0045 
0046 private:
0047   void CreateNodes(PHCompositeNode *topNode);
0048 
0049   bool _verbose;
0050 
0051   int _ievent;
0052 
0053   /* RICH detecto name */
0054   std::string _detector;
0055 
0056   /* Collection storing track information */
0057   std::string _trackmap_name;
0058 
0059   /* Hit collection storing RICH photon hits */
0060   std::string _richhits_name;
0061 
0062   /* Node name for node to store PID infos */
0063   std::string _pidinfo_node_name;
0064 
0065   /* Refractive index of RICH radiator */
0066   float _refractive_index;
0067 
0068   /* Collection to store PidInfos for each track on node tree */
0069   PidInfoContainer* _pidinfos;
0070 
0071   /* track projector object */
0072   TrackProjectorPid *_trackproj;
0073 
0074   /* acquire object */
0075   SetupDualRICHAnalyzer *_acquire;
0076 
0077   /* particleid object */
0078   PIDProbabilities *_particleid;
0079 
0080   /* Radius for track extrapolation */
0081   float _radius;
0082 
0083 };
0084 
0085 #endif // __RICHParticleID_H__