Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
TruthPhotonJet.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file TruthPhotonJet.h
1 #ifndef __TRUTHPHOTONJET_H__
2 #define __TRUTHPHOTONJET_H__
3 
4 #include <fun4all/SubsysReco.h>
5 #include <vector>
6 
7 #include <TFile.h>
8 #include <TH1.h>
9 #include <TH2.h>
10 #include <TMath.h>
11 #include <TTree.h>
12 
13 class PHCompositeNode;
15 class RawCluster;
16 class SvtxTrackMap;
17 class JetMap;
18 class JetEvalStack;
19 class JetRecoEval;
20 class SvtxTrackEval;
22 class PHHepMCGenEventMap;
23 class PHHepMCGenEvent;
24 class CaloTriggerInfo;
25 class PHGenIntegral;
26 class TruthPhotonJet : public SubsysReco
27 {
28  public:
29  TruthPhotonJet(const std::string &name = "truthphotonjet.root");
31  double minjetpt;
35  int etalow;
36  int etahigh;
38  int Init(PHCompositeNode *);
40  int End(PHCompositeNode *);
41  void set_jetpt_mincut(double pt) { minjetpt = pt; };
42  void set_cluspt_mincut(double pt) { mincluspt = pt; };
43  void set_jetcone_size(int size) { jet_cone_size = size; } //float for jet cone size, i.e. 0.2,0.3,0.4, etc.
44  void SetFirstEventNum(int eventnum) { nevents = eventnum; } //setting the first event based on job number so that each event has an individual eventnum
45  void use_tracked_jets(int useit) { eval_tracked_jets = useit; };
46  void set_eta_lowhigh(float low, float high)
47  {
48  etalow = low;
49  etahigh = high;
50  };
51  void set_dijet_process(int yesorno) { _is_dijet_process = yesorno; };
52  private:
54 
55  TFile *file;
56  TTree *tree;
57 
59  TTree *truthtree;
60 
61  TTree *truthjettree;
62 
63  TTree *event_tree;
64  TTree *runinfo;
65 
67 
68  int nevents;
69  TH1F *histo;
70 
71  float beam_energy;
72  float x1;
73  float x2;
74  int partid1;
75  int partid2;
81 
82  //cluster info
83  float clus_energy;
84  float clus_eta;
85  float clus_phi;
86  float clus_pt;
87  float clus_px;
88  float clus_py;
89  float clus_pz;
90  float clus_theta;
92 
93  //track info
94  float tr_px, tr_py, tr_pz;
95  float tr_p;
96  float tr_pt;
97  float tr_phi;
98  float tr_eta;
99  int charge;
100  float chisq;
101  unsigned int ndf;
102  float dca;
103  float tr_x, tr_y, tr_z;
105  float truthtrackp;
106  float truthtracke;
112 
113  //all truth jets
114  float truthjetpt;
116  float truthjetphi;
117  float truthjeteta;
119  float truthjetp;
121  float truthjetxf;
122 
123  //all reco jets
124  float recojetpt;
126  float recojetphi;
127  float recojeteta;
128  float recojetmass;
129  float recojetp;
131  float recojetid;
132  float truthjetid;
133 
134  //isophot+reco jet
135  float _recojetid;
136  float _recojetpt;
138  float _recojetphi;
139  float _recojeteta;
141  float _recojetp;
143  float jetdphi;
144  float jetpout;
145  float jetdeta;
146  float _truthjetid;
147  float _truthjetpt;
152  float _truthjetp;
154 
155  //isophot+reco track jet
156  float _trecojetid;
157  float _trecojetpt;
162  float _trecojetp;
164  float tjetdphi;
165  float tjetpout;
166  float tjetdeta;
173  float _ttruthjetp;
175 
176  //isophot+reco hadron
178  float _tr_p;
179  float _tr_pt;
180  float _tr_phi;
181  float _tr_eta;
182  int _charge;
183  float _chisq;
184  unsigned int _ndf;
185  float _dca;
186  float _tr_x, _tr_y, _tr_z;
187  float haddphi;
188  float hadpout;
189  float haddeta;
200 
201  //all truth particles
203  float truthp;
204  float truthphi;
205  float trutheta;
206  float truthpt;
207  float truthenergy;
208  int truthpid;
211 
212  //clust truth variables
213  float clustruthpx;
214  float clustruthpy;
215  float clustruthpz;
217  float clustruthpt;
221 
225  float cluseventpt;
226 
227  float eventdphi;
228 
229  float intlumi;
234 
235  //trigger emulator info (emcal trigger)
236  float E_4x4;
237  float phi_4x4;
238  float eta_4x4;
239  float E_2x2;
240  float phi_2x2;
241  float eta_2x2;
242 
243  void Set_Tree_Branches();
244  void initialize_values();
245 
246  const float pi2 = -1.5707963;
247  const float threepi2 = 4.71238898;
248  const float pi = 3.1415926;
249 };
250 
251 #endif // __PHOTONJET_H__