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
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
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
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
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
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