StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StFcsPi0ReconstructionMaker.h
1 // class StFcsPi0ReconstructionMaker
2 // author Xilin Liang
3 
4 #ifndef STAR_StFcsPi0ReconstructionMaker_HH
5 #define STAR_StFcsPi0ReconstructionMaker_HH
6 
7 #include "StMaker.h"
8 #include "StEnumerations.h"
9 #include "TCanvas.h"
10 #include "stdio.h"
11 #include "TFile.h"
12 #include "TH2F.h"
13 #include "TGraph.h"
14 #include "StLorentzVectorD.hh"
15 #include "StThreeVectorD.hh"
16 
17 class TApplication;
19 class StFcsDb;
20 class StFcsCollection;
21 
23 {
24 
25 public:
26  StFcsPi0ReconstructionMaker(const Char_t* name="FcsPi0F");
28  Int_t Init();
29  Int_t Make();
30  Int_t Finish();
31  void st(Int_t run_number){filename=Form("StFcsPi0invariantmass%i.root",run_number);};
32 
33 private:
34 
35  StFcsDb* mFcsDb=0;
36  StFcsCollection* mFcsColl=0;
37  TH1F* h0=0; //h0:# of entries
38  TH1F* h1_inv_mass_cluster=0; //h1_inv_mass_cluster:invariant mass for cluster finder analysis
39  TH1F* h1_Zgg_cluster=0; //h1_Zgg_cluster:energy asymmetry for cluster finder analysis, define as : (abs(E1 - E2) / (E1 + E2)
40  TH1F* h1_opening_angle_cluster=0; //h1_opening_angle_cluster:opening angle
41  TH1F* h1_each_cluster_energy_nocut=0; //h1_each_cluster_energy_nocut:each cluster energy without cut for cluster finder
42  TH1F* h1_each_cluster_energy_aftercut=0; //h1_each_cluster_energy_aftercut:each cluster energy after cut
43  TH1F* h1_two_cluster_energy_nocut=0; //h1_two_cluster_energy_nocut:E1 +E2 without cut
44  TH1F* h1_two_cluster_energy_aftercut=0; //h1_two_cluster_energy_aftercut:E1 + E2 after all cuts
45  TH1F* h1_dgg_cluster=0; //h1_dgg_cluster: distance bewteen two clusters at the Ecal.
46  TH2F* h2_EcalMult_vs_TOFMult=0; //h2_EcalMult_vs_TOFMult: 2D hist: Ecal Multiplicity us TOF Multiplicity
47  TH2F* h2_EcalMult_vs_TOFMult_E_1=0; //h2_EcalMult_vs_TOFMult_E_1: 2D hist: Ecal Multiplicity us TOF Multiplicity after counting tower energy > 1 GeV
48  TH2F* h2_EcalClustMult_vs_TOFMult=0; //h2_EcalClustMult_vs_TOFMult: 2D hist: Ecal Cluster Multiplicity us TOF Multiplicity after counting cluster energy > 1 GeV
49  TH2F* h2_EcalClustMult_vs_TOFMult_E_1=0; //h2_EcalClustMult_vs_TOFMult_E_1: 2D hist: Ecal Cluster Multiplicity us TOF Multiplicity(E>1)
50  TH2F* h2_dgg_cluster_vs_E1pE2_cluster=0; //h2_dgg_cluster_vs_E1pE2_cluster: 2D hist: dgg vs E1 + E2
51  TH2F* h2_mass_cluster_vs_Zgg_cluster=0; //h2_mass_cluster_vs_Zgg_cluster: 2D hist: invariant mass vs Zgg
52  TH2F* h2_cluster_position=0; //h2_cluster_position: 2D hist: cluster position y vs x
53  TH2F* h2_mass_cluster_vs_dgg_cluster=0; //2D hist: invariant mass vs dgg for cluster finder
54 
55  TH1F *h1list_mass_cluster_by_tower[64]; //h1list_mass_cluster_by_tower: invariant mass sorted by highest energy tower[64]
56  TH1F *h1list_Etower[64]; //h1list_Etower: energy spectrum for tower (no cut)
57 
58  TH1F* h1_inv_mass_point=0; //h1_inv_mass_point:invariant mass
59  TH1F* h1_Zgg_point=0; //h1_Zgg_point:Zgg
60  TH1F* h1_opening_angle_point=0; //h1_opening_angle_point:opening angle
61  TH1F* h1_each_point_energy_nocut=0; //h1_each_point_energy_nocut:each point energy without cut
62  TH1F* h1_each_point_energy_aftercut=0; //h1_each_point_energy_aftercut:each point energy after cuts
63  TH1F* h1_two_point_energy_nocut=0; //h1_two_point_energy_nocut: E1 + E2 without cut
64  TH1F* h1_two_point_energy_aftercut=0; //h1_two_point_energy_aftercut: E1 + E2 after cut
65  TH1F* h1_dgg_point=0; //h1_dgg_point: distance bewteen two points at Ecal.
66  TH1F* h1_x_rPosition_point=0;//h1_x_rPosition_point: point position(x) in cell
67  TH1F* h1_y_rPosition_point=0;//h1_y_rPosition_point: point position(y) in cell
68 
69  TH2F* h2_EcalPointMult_vs_TOFMult=0; //h2_EcalPointMult_vs_TOFMult: 2D hist: Ecal Point Multiplicity us TOF Multiplicity
70  TH2F* h2_EcalPointMult_vs_TOFMult_E_1=0; //h2_EcalPointMult_vs_TOFMult_E_1: 2D hist: Ecal Point Multiplicity us TOF Multiplicity(E>1)
71 
72  TH2F* h2_dgg_point_vs_E1pE2_point=0; //h2_dgg_point_vs_E1pE2_point: 2D hist: dgg vs E1+E2
73  TH2F* h2_mass_point_vs_Zgg_point=0; //h2_mass_point_vs_Zgg_point: 2D hist: pi0 invariant mass vs Zgg
74  TH2F* h2_point_position=0; //h2_point_position: 2D hist: point position y vs x
75  TH2F* h2_mass_point_vs_dgg_point=0; //2D hist: invariant mass vs dgg
76  TH1F *h1list_mass_point_by_tower[64]; //h1list_mass_point_by_tower: invariant mass sorted by highest energy tower (point maker)
77 
78  int mDebug=0;
79  int mFilter=0;
80  int mNAccepted=0;
81  double mMaxEvents=1000000;
82  int bins=80;//bin for invariant mass plot
83  string filename;
84  float m_low=-0.001;
85  float m_up=0.501;//upper limit of invariant mass plot
86  float EcalMult_cut=25;//upper limit of Ecal Multiplicity cut
87  float TofMult_cut=60;//upper limit of Tof Multiplicity cut
88 
89  ClassDef(StFcsPi0ReconstructionMaker,0);
90 };
91 #endif
92 
93