Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:14:29

0001 #ifndef __FORWARD_PI0S_H__
0002 #define __FORWARD_PI0S_H__
0003 
0004 #include <fun4all/SubsysReco.h>
0005 #include <vector>
0006 
0007 #include <TFile.h>
0008 #include <TH1.h>
0009 #include <TH2.h>
0010 #include <TMath.h>
0011 #include <TTree.h>
0012 
0013 class PHCompositeNode;
0014 class RawClusterContainer;
0015 class RawCluster;
0016 class SvtxTrackMap;
0017 class JetMap;
0018 class JetEvalStack;
0019 class JetRecoEval;
0020 class SvtxTrackEval;
0021 class PHG4TruthInfoContainer;
0022 class PHHepMCGenEvent;
0023 class Forward_pi0s : public SubsysReco
0024 {
0025  public:
0026   Forward_pi0s(const std::string &name = "pi0_eval.root");
0027   double isoconeradius, mincluspt;
0028   float jet_cone_size;
0029   float _etalow, _etahi;
0030   int _useforwardarm;
0031   int use_isocone;
0032 
0033   int Init(PHCompositeNode *);
0034   int process_event(PHCompositeNode *);
0035   int End(PHCompositeNode *);
0036 
0037   void set_cluspt_mincut(double pt) { mincluspt = pt; };
0038   void SetFirstEventNum(int eventnum) { nevents = eventnum; };
0039   void set_eta_lowhigh(float etalow, float etahi)
0040   {
0041     _etalow = etalow;
0042     _etahi = etahi;
0043   };
0044   void useforwardarm(int yesorno) { _useforwardarm = yesorno;};
0045 
0046  private:
0047   void Set_Tree_Branches();
0048   void initialize_things();
0049 
0050   TFile *file;
0051   TTree *tree;
0052   TTree *cluster_tree;
0053   TTree *truth_g4particles;
0054   TTree *inhcal_tree;
0055   TTree *fcluster_tree;
0056 
0057   std::string outfilename;
0058 
0059   int nevents;
0060   TH1F *histo;
0061 
0062   //hcalcluster info
0063   float hcal_energy;
0064   float hcal_eta;
0065   float hcal_phi;
0066   float hcal_pt;
0067   float hcal_px;
0068   float hcal_py;
0069   float hcal_pz;
0070   float hcal_theta;
0071   float hcal_x, hcal_y, hcal_z, hcal_t;
0072 
0073   //cluster info
0074   float clus_energy;
0075   float clus_eta;
0076   float clus_phi;
0077   float clus_pt;
0078   float clus_px;
0079   float clus_py;
0080   float clus_pz;
0081   float clus_energy2;
0082   float clus_eta2;
0083   float clus_phi2;
0084   float clus_pt2;
0085   float clus_px2;
0086   float clus_py2;
0087   float clus_pz2;
0088   float clus_theta2;
0089   float cent_invmass;
0090   float clus_theta;
0091   float clus_x, clus_y, clus_z, clus_t;
0092 
0093   float fclusenergy2;
0094   float fclus_eta2;
0095   float fclus_phi2;
0096   float fclus_theta2;
0097   float fclus_pt2;
0098   float fclus_px2;
0099   float fclus_py2;
0100   float fclus_pz2;
0101   float invmass;
0102 
0103   //all truth particles
0104   float truthpx, truthpy, truthpz;
0105   float truthp;
0106   float truthphi;
0107   float trutheta;
0108   float truthpt;
0109   float truthenergy;
0110   int truthpid;
0111   int numparticlesinevent;
0112   int process_id;
0113 
0114   //clust truth variables
0115   float clustruthpx;
0116   float clustruthpy;
0117   float clustruthpz;
0118   float clustruthenergy;
0119   float clustruthpt;
0120   float clustruthphi;
0121   float clustrutheta;
0122   int clustruthpid;
0123 
0124 
0125 
0126   float hclustruthpx;
0127   float hclustruthpy;
0128   float hclustruthpz;
0129   float hclustruthenergy;
0130   float hclustruthpt;
0131   float hclustruthphi;
0132   float hclustrutheta;
0133   int hclustruthpid;
0134 
0135   //forward clusters
0136   float fclusenergy;
0137   float fclus_eta;
0138   float fclus_phi;
0139   float fclus_theta;
0140   float fclus_pt;
0141   int fclustruthpid;
0142   float fclustruthpx;
0143   float fclustruthpy;
0144   float fclustruthpz;
0145   float fclustruthenergy;
0146   float fclustruthpt;
0147   float fclustruthphi;
0148   float fclustrutheta;
0149   float fclus_px;
0150   float fclus_py;
0151   float fclus_pz;
0152 
0153   float tpi0e;
0154   float tpi0px;
0155   float tpi0py;
0156   float tpi0pz;
0157   float tpi0pid;
0158   float tpi0pt;
0159   float tpi0phi;
0160   float tpi0eta;
0161 
0162   float tphote1;
0163   float tphotpx1;
0164   float tphotpy1;
0165   float tphotpz1;
0166   int tphotpid1;
0167   int tphotparentid1;
0168   float tphotpt1;
0169   float tphotphi1;
0170   float tphoteta1;
0171 
0172   float tphote2;
0173   float tphotpx2;
0174   float tphotpy2;
0175   float tphotpz2;
0176   int tphotpid2;
0177   int tphotparentid2;
0178   float tphotpt2;
0179   float tphotphi2;
0180   float tphoteta2;
0181 
0182   const float pi2 = -1.5707963;
0183   const float threepi2 = 4.71238898;
0184   const float pi = 3.1415926;
0185 };
0186 
0187 #endif  // __FORWARD_PI0S_H__