19 #include "TApplication.h"
27 #include "TLinearFitter.h"
55 std::cout <<
" Processing Event " <<
nEvents<< std::endl;
61 TCanvas *c = (TCanvas *)gROOT->GetListOfCanvases()->FindObject(
"cHarpo");
63 c =
new TCanvas(
"cHarpo",
"FEMINOS: All Events cumulated",0,0,1000,800);
68 TCanvas *c2 = (TCanvas *)gROOT->GetListOfCanvases()->FindObject(
"cHarpo2");
70 c2 =
new TCanvas(
"cHarpo2",
"FEMINOS: Current Event",0,0,1000,800);
75 gStyle->SetOptStat(0);
77 TH1F* h1Ev1Ch =
new TH1F(
"h1Ev1Ch",
";time [tb]",508,0,508);
78 TH1F* h1EvAllCh =
new TH1F(
"h1EvAllCh",
";time [tb]",508,0,508);
79 TH2F* h1Ev2D =
new TH2F(
"h1Ev2D",
";time [tb]; channel",508,0,508,304,0,304);
81 TH1F* h1EvFFT1Ch =
new TH1F(
"h1EvFFT1Ch",
";freq []",508,0,508);
82 TH1F* h1EvFFTAllCh =
new TH1F(
"h1EvFFTAllCh",
";freq []",508,0,508);
83 TH2F* h1EvFFT2D =
new TH2F(
"h1EvFFT2D",
";freq []; channel",508,0,508,304,0,304);
85 TH1F* h1EvPed1Ch =
new TH1F(
"h1EvPed1Ch",
";pedesteal [ADC]",500,0,500);
86 TH1F* h1EvPedAllCh =
new TH1F(
"h1EvPedAllCh",
";pedesteal [ADC]",500,0,500);
87 TH2F* h1EvPed2D =
new TH2F(
"h1EvPed2D",
";pedesteal [ADC]; channel",500,0,500,304,0,304);
92 std::cout <<
"Event " <<
nEvents <<
" " << m << std::endl;
96 TH1F* hTmp =
new TH1F(
"hTmp",
"",508,0,508);
97 for(Int_t i=0;i<
NADC;i++){
99 for(Int_t j=0;j<
NALL;j++){
102 h2D->SetBinContent(i+1,j+1,
h2D->GetBinContent(i+1,j+1)+q);
103 h1Ev2D->SetBinContent(i+1,j+1,q);
105 h1Ch->SetBinContent(i+1,
h1Ch->GetBinContent(i+1)+q);
106 h1Ev1Ch->SetBinContent(i+1,q);
111 h1EvPed2D->Fill(q,j);
114 hAllCh->SetBinContent(i+1,
hAllCh->GetBinContent(i+1)+qTotT);
115 h1EvAllCh->SetBinContent(i+1,qTotT);
117 h1EvPedAllCh->Fill(qTotT/288);
118 hTmp->SetBinContent(i+1,qTotT);
121 hm1 = hTmp->FFT(hm1,
"MAG");
122 for(Int_t i=2;i<512;i++){
124 h1EvFFTAllCh->SetBinContent(i+1,hm1->GetBinContent(i+1));
129 for(Int_t j=0;j<
NALL;j++){
130 TH1F* hTmp =
new TH1F(
"hTmp",
"",508,0,508);
131 for(Int_t i=0;i<
NADC;i++){
134 hTmp->SetBinContent(i+1,q);
138 hm = hTmp->FFT(hm,
"MAG");
139 for(Int_t i=2;i<512;i++){
140 hFFT2D->SetBinContent(i+1,j+1,
hFFT2D->GetBinContent(i+1,j+1)+hm->GetBinContent(i+1));
141 h1EvFFT2D->SetBinContent(i+1,j+1,hm->GetBinContent(i+1));
143 hFFT1Ch->SetBinContent(i+1,
hFFT1Ch->GetBinContent(i+1,j+1)+hm->GetBinContent(i+1));
144 h1EvFFT1Ch->SetBinContent(i+1,hm->GetBinContent(i+1));
152 hFFT1Ch->GetXaxis()->SetRangeUser(-1,255);
153 hFFTAllCh->GetXaxis()->SetRangeUser(-1,255);
154 hFFT2D->GetXaxis()->SetRangeUser(-1,255);
155 h1EvFFT1Ch->GetXaxis()->SetRangeUser(-1,255);
156 h1EvFFTAllCh->GetXaxis()->SetRangeUser(-1,255);
157 h1EvFFT2D->GetXaxis()->SetRangeUser(-1,255);
165 h2D->DrawCopy(
"colz");
184 h1EvAllCh->DrawCopy();
186 h1Ev2D->DrawCopy(
"colz");
189 h1EvFFT1Ch->DrawCopy();
191 h1EvFFTAllCh->DrawCopy();
193 h1EvFFT2D->DrawCopy(
"colz");
196 h1EvPed1Ch->DrawCopy();
198 h1EvPedAllCh->DrawCopy();
200 h1EvPed2D->DrawCopy(
"colz");
202 TFile* file =
new TFile(
"noise1Ev.root",
"recreate");
209 h1EvFFTAllCh->Write();
213 h1EvPedAllCh->Write();
221 h1EvFFT1Ch->Delete();
222 h1EvFFTAllCh->Delete();
224 h1EvPed1Ch->Delete();
225 h1EvPedAllCh->Delete();
231 std::cout <<
"No Data Map for plane " << std::endl;
240 printf(
"Event %ld done. Waiting for input to continue: ",
nEvents);
241 if(scanf(
"%d",&iscan) == 1)
242 std::cout <<
"Advance to next event" << std::endl;
244 std::cout <<
"Scan all events" << std::endl;
253 h1Ch =
new TH1F(
"h1Ch",
";time [tb]",508,0,508);
254 hAllCh =
new TH1F(
"hAllCh",
";time [tb]",508,0,508);
255 h2D =
new TH2F(
"h2D",
";time [tb]; channel",508,0,508,304,0,304);
257 hFFT1Ch =
new TH1F(
"hFFT1Ch",
";freq []",508,0,508);
258 hFFTAllCh =
new TH1F(
"hFFTAllCh",
";freq []",508,0,508);
259 hFFT2D =
new TH2F(
"hFFT2D",
";freq []; channel",508,0,508,304,0,304);
261 hPed1Ch =
new TH1F(
"hPed1Ch",
";pedesteal [ADC]",500,0,500);
262 hPedAllCh =
new TH1F(
"hPedAllCh",
";pedesteal [ADC]",500,0,500);
263 hPed2D =
new TH2F(
"hPed2D",
";pedesteal [ADC]; channel",500,0,500,304,0,304);
271 TCanvas *c = (TCanvas *)gROOT->GetListOfCanvases()->FindObject(
"cHarpo");
273 c->SaveAs(
"noise.png");
274 c->SaveAs(
"noise.C");
283 TFile* file =
new TFile(
"noise.root",
"recreate");
Double_t GetData(Int_t i, Int_t j)
Set/Get Data Cell.
TH1F * h1Ch
Redefine empty default.
void Save(char *mode=NULL)
virtual HarpoDccMap * GetMap()
unpacked dcc data The class contains the data map for DCC or Feminos The data is stored as a 2D TMatr...
A virtual class which define intrafece between HARPO Reader and Event Analysis code.