10 #include <TPolyLine.h>
14 #include "StFgtSlowSimuMaker.h"
15 #include "StFgtGeom.h"
20 StFgtSlowSimuMaker::InitHisto1(){
26 int digNx=2000, digNy=digNx;
28 digXY=
new TH2F(
"digXY",
" 2D digitization response of FGT quart; local X(cm); local Y (cm)",digNx,0.,maxR,digNy,0.,maxR); HList->Add(digXY);
30 digRad=
new TH1F(
"digRad",
"rad-strips response of FGT disk; radial-strip ID",geom->radStripGBLId_number(),0.,geom->radStripGBLId_number()); HList->Add(digRad);
31 digPhi=
new TH1F(
"digPhi",
"phi-strips response of FGT disk; phi-strip ID",geom->phiStripGBLId_number(),0.,geom->phiStripGBLId_number()); HList->Add(digPhi);
34 digXYAll=
new TH2F(
"digXYAll",
" 2D digitization response of all FGT quart; local X(cm); local Y (cm)",digNx,0.,maxR,digNy,0.,maxR); HList->Add(digXYAll);
36 digRadAll=
new TH1F(
"digRadAll",
"rad-strips response of all FGT disks; radial-strip ID",geom->radStripGBLId_number(),0.,geom->radStripGBLId_number()); HList->Add(digRadAll);
37 digPhiAll=
new TH1F(
"digPhiAll",
"phi-strips response of all FGT disks; phi-strip ID",geom->phiStripGBLId_number(),0.,geom->phiStripGBLId_number()); HList->Add(digPhiAll);
44 StFgtSlowSimuMaker::InitHisto2(){
47 hA[0]=
new TH1F(
"ss_inDE",
"g2t DE of hit; Elos (keV)",600,0.,5.);
48 hA[1]=
new TH1F(
"ss_inDS",
"g2t path length of hit; DS (cm)",60,0.,9.);
49 hA[2]=
new TH1F(
"ss_inZ",
"g2t Z of hit (entrance); Z(cm)",1000,50.,250.);
52 hA[3]=
new TH1F(
"ss_hitStat",
"Where hits are lost, 1-10 general; x=10+5*disk+quad",75, 0.5,75.5);
53 hA[4]=
new TH2F(
"ss_inXY",
"Entrance X-Y , accepted hits, all disks",90,-45.,45.,90,-45.,45.);
56 hA[5]=
new TH1F(
"ss_cTof",
"g2t TOF of hit (before cut); TOF(ns)",1000,0.,200.);
57 hA[6]=
new TH1F(
"ss_inR",
"g2t Rxy of hit, w=1.; Rxy (cm)",10*(
int)maxRb,0.,maxRb);
58 hA[7]=
new TH1F(
"ss_cPmag",
"g2t P.Mag of hit (before cut); log10(momentum/MeV)",160,-2,6.);
65 for(i=0;i<kFgtMxDisk;i++) {
66 char tt1[100], tt2[500];
67 sprintf(tt1,
"ss_gXY%d",i);
68 sprintf(tt2,
" hits accepted in Disk=%d; LAB X (cm) ; LAB Y (cm) ",i);
69 hA[11+i]=
new TH2F(tt1,tt2,25,-maxRb,maxRb,25,-maxRb,maxRb);
71 hA[20]=
new TH1F(
"fr_pairEne",
"Energy of pair per collision; Energy Loss per collision [eV]", 100, 0, 100);
72 hA[21]=
new TH1F(
"fr_nPrimPair",
"No. of prim pairs per track; # of pairs", 35, -0.5, 34.5);
73 hA[22]=
new TH1F(
"fr_totEne",
"Total energy deposit per track; Energy Loss [keV]", 250, 0, 5.);
75 hA[23]=
new TH1F(
"fr_nTotPair",
"Total No. of pairs per track; # of pairs", 250, -0.5, 249.5);
76 hA[24]=
new TH1F(
"fr_pathL",
"Total path length in gas per track; path (mm)",50, 0., 10.);
77 hA[25]=
new TH1F(
"fr_avrPath",
"Average path length , w=nAnyEle; path (mm)",50, 0., 10.);
78 hA[26]=
new TH1F(
"fr_avrTPath",
"Average transverse path length , w=nAnyEle; path (mm)",250, 0., 10.);
79 hA[27]=
new TH1F(
"fr_Zdrf",
"Zdrift of prim ele ; Z(mm)",100,0.,5.);
80 hA[28]=
new TH2F(
"fr_Rdiff",
"Transverse diffusion; relative X(um); relative Y(um)",50,-250,250,50,-250,250);
84 TList *Lx; TCrown *cr;
87 Lx=hA[4]->GetListOfFunctions(); assert(Lx);
89 for(iq=0;iq<kFgtMxQuad;iq++) {
90 float phi1=geom->phiQuadXaxis(iq)/3.1416*180.;
91 cr=
new TCrown(0.,0.,geom->Rin(),geom->Rout(),phi1,phi1+90);
92 cr->SetLineColor(kRed); Lx->Add(cr);
94 cr=
new TCrown(0.,0.,geom->Rmid(),geom->Rmid(),0,360);
95 cr->SetLineColor(kMagenta); Lx->Add(cr); cr->SetLineStyle(2);
101 if(hA[i]) HList->Add(hA[i]);
110 StFgtSlowSimuMaker::CloseHisto(){
113 TList *Lx; TCrown *cr;
116 Lx=digXY->GetListOfFunctions(); assert(Lx);
119 for(iqq=0;iqq<2;iqq++) {
122 cr=
new TCrown(0.,0.,geom->Rmid(),geom->Rout(),phi1,phi1+90);
124 cr=
new TCrown(0.,0.,geom->Rin(),geom->Rmid(),phi1,phi1+90);
125 cr->SetLineColor(kGreen);
129 cr=
new TCrown(0.,0.,geom->Rmid(),geom->Rmid(),0,90);
133 Lx1=digXYAll->GetListOfFunctions(); assert(Lx1);
135 for(iqq=0;iqq<2;iqq++) {
138 cr=
new TCrown(0.,0.,geom->Rmid(),geom->Rout(),phi1,phi1+90);
140 cr=
new TCrown(0.,0.,geom->Rin(),geom->Rmid(),phi1,phi1+90);
141 cr->SetLineColor(kGreen);
145 cr=
new TCrown(0.,0.,geom->Rmid(),geom->Rmid(),0,90);