1 #include "SpinHistos.h"
12 SpinHistos::SpinHistos(
const Char_t *name,
const Char_t *title):TDirectory(name,title,
"SpinHistos")
15 Double_t pt_bins[] = { 0.0, 3.4, 4.4, 5.4, 6.4, 8.4, 10.4, 12.4, 16.4, 32.4 };
16 Int_t npt_bins =
sizeof(pt_bins)/
sizeof(Double_t)-1;
25 hMass =
new TH1F(TString(
"hMass") +name,
"Diphoton invariant mass", nmass,min,max );
26 hPT =
new TH2F(TString(
"hPT") +name,
"Diphoton transverse momentum vs mass", nmass,min,max,npt_bins,pt_bins);
27 hZgg =
new TH2F(TString(
"hZgg") +name,
"Diphoton energy sharing vs mass", nmass,min,max,50,0.,1.);
28 hZvert=
new TH2F(TString(
"hZvert") +name,
"Event z-vertex vs mass", nmass,min,max,150,-150.,150.);
29 hEta =
new TH2F(TString(
"hEta") +name,
"#eta of #pi^{0} candidate vs mass", nmass,min,max,48,1.086,2.);
31 hYX[0]=
new TH2F(TString(
"hYX_0") +name,
"#pi^{0} position at z=280cm", 120,-240.,240.,120,-240.,240.);
32 hYX[1]=
new TH2F(TString(
"hYX_1") +name,
"higher energy gamma at z=280 cm", 240,-240.,240.,240,-240.,240.);
33 hYX[2]=
new TH2F(TString(
"hYX_2") +name,
"lower energy gamma at z=280 cm", 240,-240.,240.,240,-240.,240.);
35 hE1E2 =
new TH2F(TString(
"hE1E2") +name,
"E1 vs E2", 100,0.,50.,100,0.,50.);
37 hPhiggVsEnergy =
new TH2F(TString(
"hPhiggVsEnergy")+name,
"#phi_{#gamma #gamma} vs energy",100,0.,50.,100,0.,0.2);
40 hEsmd=
new TH2F(TString(
"hEsmd")+name,
"E_{smd} / E_{#pi^{0}} vs E_{#pi^{0}}", 60,0.,30.,60,0.,0.12);
41 hEpre1=
new TH2F(TString(
"hEpre1")+name,
"E_{pre1} [MeV] / E_{#pi^{0}} [GeV] vs E_{#pi^{0}}", 60,0.,30.,60,0.,6.);
42 hEpre2=
new TH2F(TString(
"hEpre2")+name,
"E_{pre2} [MeV] / E_{#pi^{0}} [GeV] vs E_{#pi^{0}}", 60,0.,30.,60,0.,12.);
43 hEpost=
new TH2F(TString(
"hEpost")+name,
"E_{post} [MeV] / E_{#pi^{0}} [GeV] vs E_{#pi^{0}}", 60,0.,30.,60,0.,1.2);
45 hEpre12=
new TH2F(TString(
"hEpre12")+name,
"E_{pre2} vs E_{pre1} [MeV]",75,0.,150.,75,0.,150.);
53 Float_t mass = pair.
mass();
54 hMass -> Fill( mass );
55 hPT -> Fill( mass, pair.
pt() );
56 hZgg -> Fill( mass, pair.
zgg() );
87 hEsmd->Fill( epi0, esmd/epi0 );
88 hEpre1->Fill( epi0, epre1*1000./epi0 );
89 hEpre2->Fill( epi0, epre2*1000./epi0 );
90 hEpost->Fill( epi0, epost*1000./epi0 );
91 hEpre12->Fill( epre1*1000, epre2*1000 );
94 TVector3 pp = (e1*p1 + e2*p2) * ( 1/(e1+e2) );
95 hYX[0] -> Fill( pp.X(), pp.Y() );
96 hYX[1] -> Fill( p1.X(), p1.Y() );
97 hYX[2] -> Fill( p2.X(), p2.Y() );
98 hE1E2 -> Fill( e2, e1 );
115 for ( Int_t i=0;i<3;i++ )
hYX[i]->Reset();
void cluster(const StEEmcSmdCluster &c, Int_t plane)
Add an smd cluster to this point.
void energy(Float_t e, Int_t layer=0)
Set the energy of this point.
const TVector3 & momentum() const
Returns momentum of pair.
const TVector3 & vertex() const
Returns vertex of pair.
const StEEmcPoint & point(Int_t index) const
Float_t zgg() const
Returns energy-sharing of pair.
void Clear(Option_t *opts="")
Float_t energy() const
Returns energy of pair.
void position(const TVector3 &p)
Set the position of this point at the SMD plane.
Float_t mass() const
Returns invariant mass of pair.
Float_t phigg() const
Returns opening-angle of pair.
Float_t pt() const
Returns pt of pair.
A class to represent pairs of points.
Spin sorted pi0 histograms.