Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-06 08:13:59

0001 #ifndef INTTANA_H__
0002 #define INTTANA_H__
0003 
0004 #include <fun4all/SubsysReco.h>
0005 #include <string>
0006 
0007 /// Class declarations for use in the analysis module
0008 class PHCompositeNode;
0009 class TFile;
0010 class TH1;
0011 class TH2;
0012 class TNtuple;
0013 class TTree;
0014 class InttRawData;
0015 
0016 /// Definition of this analysis module class
0017 class InttAna : public SubsysReco
0018 {
0019  public:
0020   /// Constructor
0021   InttAna(const std::string &f = "InttAna",
0022           const std::string &fname = "AnaTutorial_inttana.root");
0023 
0024   // Destructor
0025   virtual ~InttAna();
0026 
0027   /// SubsysReco initialize processing method
0028   int Init(PHCompositeNode *);
0029  
0030   /// SubsysReco initialize processing method
0031   int InitRun(PHCompositeNode *);
0032 
0033   /// SubsysReco event processing method
0034   int process_event(PHCompositeNode *);
0035 
0036   /// SubsysReco end processing method
0037   int End(PHCompositeNode *);
0038 
0039   //truth information
0040   void getHEPMCTruth(PHCompositeNode *topNode);
0041   void getPHG4Particle(PHCompositeNode *topNode);
0042 
0043   void setInttRawData(InttRawData *rawModule) { _rawModule = rawModule; }
0044 
0045   void readRawHit(PHCompositeNode *);
0046 
0047   void setBeamCenter(float x=0, float y=0) {xbeam_=x; ybeam_=y;}
0048 
0049  private:
0050   InttRawData* _rawModule;
0051 
0052   std::string fname_;
0053   TFile* anafile_;
0054   TH1*   h_dca2d_zero; 
0055   TH2*   h2_dca2d_zero; 
0056   TH2*   h2_dca2d_len; 
0057   TH1*   h_zvtx;
0058   TH1*   h_eta;
0059   TH1*   h_phi;
0060   TH1*   h_theta;
0061   TNtuple*  h_ntp_clus; 
0062   //TTree*  h_t_clus; 
0063   TNtuple*  h_ntp_cluspair; 
0064 
0065   float xbeam_;
0066   float ybeam_;
0067 
0068   double xvtx_sim;
0069   double yvtx_sim;
0070   double zvtx_sim;
0071 
0072   TH1* h_zvtxseed_;
0073 
0074   TTree *m_hepmctree;
0075 
0076     /// HEPMC Tree variables
0077   int m_evt=0;
0078   double m_xvtx;
0079   double m_yvtx;
0080   double m_zvtx;
0081   int m_partid1;
0082   int m_partid2;
0083   double m_x1;
0084   double m_x2;
0085   int m_mpi;
0086   int m_process_id;
0087   double m_truthenergy;
0088   double m_trutheta;
0089   double m_truththeta;
0090   double m_truthphi;
0091   int m_status;
0092   double m_truthpx;
0093   double m_truthpy;
0094   double m_truthpz;
0095   double m_truthpt;
0096   double m_truthp;
0097   int m_numparticlesinevent;
0098   int m_truthpid;
0099   double m_vertex;
0100 };
0101 
0102 #endif