"Draw CFD vs QTC");
menu->AddButton("Draw CFDvsLED","DrawCFDvsLED()",
"Draw CFD vs LED-CFD");
+ menu->AddButton("Draw Walk","DrawWalk()",
+ "Draw CFD vs LED-CFD");
menu->Show();
}
void OpenFile()
Bool_t down=false;
Int_t index[20];
- TCanvas *c1 = new TCanvas("c1", "c1",0,48,1280,951);
+ TCanvas *c1 = new TCanvas("c1", "CFD C side",0,48,1280,951);
c1->Divide(4,3);
gStyle->SetOptFit(1111);
//c1->Divide(2,2);
c1->cd(i+1);
sprintf(buf1,"T0_C_%i_CFD",i+1);
TH1F *cfd = (TH1F*) gFile->Get(buf1);
- // cfd->Draw();
+ // cfd->Draw();
+
TSpectrum *s = new TSpectrum(2*npeaks,1);
Int_t nfound = s->Search(cfd,sigma," ",0.05);
cout<<"Found "<<nfound<<" peaks sigma "<<sigma<<endl;;
if(nfound!=0){
Float_t *xpeak = s->GetPositionX();
TMath::Sort(nfound, xpeak, index,down);
- Float_t xp = xpeak[index[0]];
+ Float_t xp = xpeak[index[0]];
+ cout<<" index[0] "<<index[0]<<endl;
+ // Float_t xp = xpeak[1];
Int_t xbin = cfd->GetXaxis()->FindBin(xp);
Float_t yp = cfd->GetBinContent(xbin);
cout<<"xbin = "<<xbin<<"\txpeak = "<<xpeak[1]<<"\typeak = "<<yp<<endl;
Float_t hmax = xp+3*sigma;
Float_t hmin = xp-3*sigma;
cout<<hmin<< " "<<hmax<<endl;
- cfd->GetXaxis()->SetRange(hmin-20,hmax+20);
- // cout<<" cfd range "<<mean<<" rms "<<rms<<" "<<hmin<<" "<<hmax<<endl;
+ cfd->GetXaxis()->SetRange(hmin-10,hmax+10);
+ cout<<" cfd range "<<hmin-10<<" "<<hmax+10<<endl;
+ cfd->GetXaxis()->SetLabelSize(0.03);
TF1 *g1 = new TF1("g1", "gaus", hmin, hmax);
- // cfd->Fit("g1","R");
- cfd->Draw();
+ cfd->Fit("g1","R");
+ // cfd->Draw();
+
}
+
}
-
+ TCanvas *c2 = new TCanvas("c2", "CFD A side",0,48,1280,951);
+ c2->Divide(4,3);
+ gStyle->SetOptFit(1111);
+ //c1->Divide(2,2);
+ Char_t buf1[10];
+ for (Int_t i=0; i<12; i++)
+ {
+ c2->cd(i+1);
+ sprintf(buf1,"T0_A_%i_CFD",i+1);
+ TH1F *cfd = (TH1F*) gFile->Get(buf1);
+ // cfd->Draw();
+
+ TSpectrum *s = new TSpectrum(2*npeaks,1);
+ Int_t nfound = s->Search(cfd,sigma," ",0.05);
+ cout<<"Found "<<nfound<<" peaks sigma "<<sigma<<endl;;
+ if(nfound!=0){
+ Float_t *xpeak = s->GetPositionX();
+ TMath::Sort(nfound, xpeak, index,down);
+ Float_t xp = xpeak[index[0]];
+ cout<<" index[0] "<<index[0]<<endl;
+ // Float_t xp = xpeak[1];
+ Int_t xbin = cfd->GetXaxis()->FindBin(xp);
+ Float_t yp = cfd->GetBinContent(xbin);
+ cout<<"xbin = "<<xbin<<"\txpeak = "<<xpeak[1]<<"\typeak = "<<yp<<endl;
+ Float_t hmax = xp+3*sigma;
+ Float_t hmin = xp-3*sigma;
+ cout<<hmin<< " "<<hmax<<endl;
+ cfd->GetXaxis()->SetRange(hmin-10,hmax+10);
+ cout<<" cfd range "<<hmin-10<<" "<<hmax+10<<endl;
+ cfd->GetXaxis()->SetLabelSize(0.03);
+ TF1 *g1 = new TF1("g1", "gaus", hmin, hmax);
+ cfd->Fit("g1","R");
+ // cfd->Draw();
+
+ }
+
+ }
+
}
//------------------------------------------------------------------------
void DrawLED()
Bool_t down=false;
Int_t index[20];
- TCanvas *c1 = new TCanvas("c1", "c1",0,48,1280,951);
+ TCanvas *c1 = new TCanvas("c1", "LED C side",0,48,1280,951);
c1->Divide(4,3);
Char_t buf1[20];
c1->cd(i+1);
sprintf(buf1,"T0_C_%i_LED",i+1);
TH1F *cfd = (TH1F*) gFile->Get(buf1);
- cfd->Draw();
+ TSpectrum *s = new TSpectrum(2*npeaks,1);
+ Int_t nfound = s->Search(cfd,sigma," ",0.2);
+ cout<<"Found "<<nfound<<" peaks sigma "<<sigma<<endl;;
+ if(nfound!=0) {
+ Float_t *xpeak = s->GetPositionX();
+ TMath::Sort(nfound, xpeak, index,down);
+ Float_t xp = xpeak[index[0]];
+ Int_t xbin = cfd->GetXaxis()->FindBin(xp);
+ Float_t yp = cfd->GetBinContent(xbin);
+ cout<<"xbin = "<<xbin<<"\txpeak = "<<xpeak[index[0]]<<"\typeak = "<<yp<<endl;
+ Float_t hmin=xp-3*sigma;
+ Float_t hmax =xp+3*sigma;
+ cfd->GetXaxis()->SetRange(hmin,hmax);
+ cfd->GetXaxis()->SetLabelSize(0.03);
+ TF1 *g1 = new TF1("g1", "gaus", hmin, hmax);
+ cfd->Fit("g1","R");
+ // cfd->Draw();
+
+ }
+
+ }
+ TCanvas *c2 = new TCanvas("c2", "LED A side",0,48,1280,951);
+ c2->Divide(4,3);
+
+ Char_t buf1[20];
+ for (Int_t i=0; i<12; i++)
+ {
+ c2->cd(i+1);
+ sprintf(buf1,"T0_A_%i_LED",i+1);
+ TH1F *cfd = (TH1F*) gFile->Get(buf1);
+
TSpectrum *s = new TSpectrum(2*npeaks,1);
Int_t nfound = s->Search(cfd,sigma," ",0.2);
cout<<"Found "<<nfound<<" peaks sigma "<<sigma<<endl;;
Float_t hmin=xp-3*sigma;
Float_t hmax =xp+3*sigma;
cfd->GetXaxis()->SetRange(hmin,hmax);
+ cfd->GetXaxis()->SetLabelSize(0.03);
TF1 *g1 = new TF1("g1", "gaus", hmin, hmax);
cfd->Fit("g1","R");
// cfd->Draw();
void DrawQTC()
{
- TCanvas *c1 = new TCanvas("c1", "QTC",0,48,1280,951);
- // c1->Divide(4,3);
- c1->Divide(2,3);
+ TCanvas *c1 = new TCanvas("c1", "QTC C side",0,48,1280,951);
+ c1->Divide(4,3);
+ // c1->Divide(2,3);
Char_t buf1[10];
for (Int_t i=0; i<12; i++)
{
c1->cd(i+1);
sprintf(buf1,"QTC%i",i+1);
+
TH1F *qtc = (TH1F*) gFile->Get(buf1);
+
+ Float_t mean = qtc->GetMean();
+ Float_t rms = qtc->GetRMS();
+ Float_t hminR=mean - 0.1*mean;
+ Float_t hmaxR =mean + 0.1*mean;
+ qtc->GetXaxis()->SetRange(hminR,hmaxR);
+ Float_t hmin=mean - 3*rms;
+ Float_t hmax =mean + 3*rms;
+ qtc->GetXaxis()->SetRange(hmin,hmax);
+
+ // TF1 *g2 = new TF1("g2", "gaus", hmin, hmax);
+ // qtc->Fit("g2","RQ");
+ qtc->GetXaxis()->SetLabelSize(0.03);
+
+ qtc->Draw();
+ }
+
+ TCanvas *c2 = new TCanvas("c2", "QTC A side",0,48,1280,951);
+ c2->Divide(4,3);
+ // c1->Divide(2,3);
+
+ Char_t buf1[10];
+ for (Int_t i=12; i<24; i++)
+ {
+ c2->cd(i+1-12);
+ sprintf(buf1,"QTC%i",i+1);
+
+ TH1F *qtc = (TH1F*) gFile->Get(buf1);
+
Float_t mean = qtc->GetMean();
Float_t rms = qtc->GetRMS();
Float_t hminR=mean - 0.1*mean;
qtc->GetXaxis()->SetRange(hmin,hmax);
// TF1 *g2 = new TF1("g2", "gaus", hmin, hmax);
// qtc->Fit("g2","RQ");
+ qtc->GetXaxis()->SetLabelSize(0.03);
+
qtc->Draw();
}
Bool_t down=false;
Int_t index[20];
- TCanvas *c1 = new TCanvas("c1", "c1",0,48,1280,951);
+ TCanvas *c1 = new TCanvas("c1", " LED-CFD C side",0,48,1280,951);
c1->Divide(4,3);
Char_t buf1[20];
for (Int_t i=0; i<12; i++)
{
c1->cd(i+1);
- sprintf(buf1,"LED-CFD%i",i+1);
+ sprintf(buf1,"LEDminCFD%i",i+1);
+ TH1F *cfd = (TH1F*) gFile->Get(buf1);
+ cfd->Draw();
+ TSpectrum *s = new TSpectrum(2*npeaks,1);
+ Int_t nfound = s->Search(cfd,sigma," ",0.2);
+ cout<<"Found "<<nfound<<" peaks sigma "<<sigma<<endl;;
+ if(nfound!=0) {
+ Float_t *xpeak = s->GetPositionX();
+ TMath::Sort(nfound, xpeak, index,down);
+ Float_t xp = xpeak[index[0]];
+ Int_t xbin = cfd->GetXaxis()->FindBin(xp);
+ Float_t yp = cfd->GetBinContent(xbin);
+ cout<<"xbin = "<<xbin<<"\txpeak = "<<xpeak[index[0]]<<"\typeak = "<<yp<<endl;
+ Float_t hmin=xp-3*sigma;
+ Float_t hmax =xp+3*sigma;
+ cfd->GetXaxis()->SetRange(hmin,hmax);
+ TF1 *g1 = new TF1("g1", "gaus", hmin, hmax);
+ cfd->Fit("g1","RQ");
+
+
+ }
+
+ }
+ TCanvas *c2 = new TCanvas("c2", "LED-CFD A side",0,48,1280,951);
+ c2->Divide(4,3);
+
+ Char_t buf1[20];
+ for (Int_t i=12; i<24; i++)
+ {
+ c2->cd(i+1-12);
+ sprintf(buf1,"LEDminCFD%i",i+1);
TH1F *cfd = (TH1F*) gFile->Get(buf1);
cfd->Draw();
TSpectrum *s = new TSpectrum(2*npeaks,1);
Int_t index[20];
Char_t buf1[10], buf2[10];
+ TCanvas *c1 = new TCanvas("c1", "CFD vs QTC C side",0,48,1280,951);
+ gStyle->SetOptStat(111111);
+ c1->Divide(4,3);
+
+ for (Int_t i=0; i<12; i++)
+ {
+ c1->cd(i+1);
+ sprintf(buf1,"T0_C_%i_CFD",i+1);
+ sprintf(buf2,"CFDvsQTC%i",i+1);
+ cout<<buf1<<" "<<buf2<<endl;
+ TH2F *qtc_cfd = (TH2F*) gFile->Get(buf2);
+ TH1F *cfd = (TH1F*) gFile->Get(buf1);
+ // cfd->Draw();
+ TSpectrum *s = new TSpectrum(2*npeaks,1);
+ Int_t nfound = s->Search(cfd,sigma," ",0.05);
+ cout<<"Found "<<nfound<<" peaks sigma "<<sigma<<endl;;
+ if(nfound!=0){
+ Float_t *xpeak = s->GetPositionX();
+ TMath::Sort(nfound, xpeak, index,down);
+ Float_t xp = xpeak[index[0]];
+ Int_t xbin = cfd->GetXaxis()->FindBin(xp);
+ Float_t yp = cfd->GetBinContent(xbin);
+ cout<<"xbin = "<<xbin<<"\txpeak = "<<xpeak[1]<<"\typeak = "<<yp<<endl;
+ Float_t hmax = xp+10*sigma;
+ Float_t hmin = xp-10*sigma;
+ cout<<hmin<< " "<<hmax<<endl;
+ // cfd->GetXaxis()->SetRange(hmin,hmax);
+ // TF1 *g1 = new TF1("g1", "gaus", hmin, hmax);
+ // cfd->Fit("g1","R");
+ qtc_cfd->GetYaxis()->SetRange(hmin,hmax);
+ qtc_cfd->Draw();
+
+ }
+
+ }
+ TCanvas *c2 = new TCanvas("c2", "CFD vs QTC A side",0,48,1280,951);
+ gStyle->SetOptStat(111111);
+ c2->Divide(4,3);
+
+ for (Int_t i=12; i<24; i++)
+ {
+ c2->cd(i+1-12);
+ sprintf(buf1,"T0_A_%i_CFD",i+1-12);
+ sprintf(buf2,"CFDvsQTC%i",i+1);
+ cout<<buf1<<" "<<buf2<<endl;
+ TH2F *qtc_cfd = (TH2F*) gFile->Get(buf2);
+ TH1F *cfd = (TH1F*) gFile->Get(buf1);
+ // cfd->Draw();
+ TSpectrum *s = new TSpectrum(2*npeaks,1);
+ Int_t nfound = s->Search(cfd,sigma," ",0.05);
+ cout<<"Found "<<nfound<<" peaks sigma "<<sigma<<endl;;
+ if(nfound!=0){
+ Float_t *xpeak = s->GetPositionX();
+ TMath::Sort(nfound, xpeak, index,down);
+ Float_t xp = xpeak[index[0]];
+ Int_t xbin = cfd->GetXaxis()->FindBin(xp);
+ Float_t yp = cfd->GetBinContent(xbin);
+ cout<<"xbin = "<<xbin<<"\txpeak = "<<xpeak[1]<<"\typeak = "<<yp<<endl;
+ Float_t hmax = xp+10*sigma;
+ Float_t hmin = xp-10*sigma;
+ cout<<hmin<< " "<<hmax<<endl;
+ // cfd->GetXaxis()->SetRange(hmin,hmax);
+ // TF1 *g1 = new TF1("g1", "gaus", hmin, hmax);
+ // cfd->Fit("g1","R");
+ qtc_cfd->GetYaxis()->SetRange(hmin,hmax);
+ qtc_cfd->Draw();
+
+ }
+
+ }
+
+
+
+}
+//------------------------------------------------------------------------
+void DrawWalk()
+{
+ Int_t npeaks = 20;
+ Int_t sigma=3.;
+ Bool_t down = false;
+
+ Int_t index[20];
+ Char_t buf1[10], buf2[10];
+
TCanvas *c1 = new TCanvas("c1", "c1",0,48,1280,951);
gStyle->SetOptStat(0);
- c1->Divide(3,2);
+ c1->Divide(4,3);
- for (Int_t i=0; i<5; i++)
+ for (Int_t i=0; i<12; i++)
{
c1->cd(i+1);
sprintf(buf1,"T0_C_%i_CFD",i+1);
cout<<" qtc_cfd "<<hminbin<<" "<<hmaxbin<<" "<<nbins<<endl;
// qtc_cfd->Draw();
TProfile *pr_y = qtc_cfd->ProfileX();
+ Float_t maxHr=pr_y->GetBinCenter(hmaxbin);
pr_y->SetMaximum(hmax);
pr_y->SetMinimum(hmin);
// cout<<ng<<" "<<pr_y->GetBinContent(ip)<<" "<<yg<<endl;
ng++;}
else {
- xx[ip/20] = Float_t (ip);
+ xx[ip/20] = Float_t (pr_y->GetBinCenter(ip));
yy[ip/20] = yg/ng;
yg=0;
ng=0;
- // cout<<ip<<" "<<ip/20<<" "<< xx[ip/20]<<" "<< yy[ip/20]<<endl;
+ cout<<ip<<" "<<ip/20<<" "<< xx[ip/20]<<" "<< yy[ip/20]<<endl;
}
}
- TH2F *hr = new TH2F("hr"," ",np,0,nbins, np, hmin, hmax);
+ TH2F *hr = new TH2F("hr"," ",np,0,maxHr, np, hmin, hmax);
hr->Draw();
TGraph *gr = new TGraph(np,xx,yy);
gr->SetMinimum(hmin);
Int_t npeaks = 20;
Int_t sigma=2.;
Char_t buf1[10], buf2[10];
-
- for (Int_t i=0; i<1; i++)
+ TCanvas *c1 = new TCanvas("c1", "c1",0,48,1280,951);
+ gStyle->SetOptStat(0);
+ c1->Divide(4,3);
+ for (Int_t i=0; i<12; i++)
{
- // c1->cd(i+1);
+ c1->cd(i+1);
sprintf(buf1,"T0_C_%i_CFD",i+1);
- sprintf(buf2,"CFD_LED%i",i+1);
+ sprintf(buf2,"CFDvsLED%i",i+1);
TH2F *qtc_cfd = (TH2F*) gFile->Get(buf2);
+ //qtc_cfd->Draw();
TH1F *cfd = (TH1F*) gFile->Get(buf1);
// cfd->Draw();
TSpectrum *s = new TSpectrum(2*npeaks,1);
Int_t hmaxbin= qtc_cfd->GetXaxis()->GetLast();
Int_t nbins= qtc_cfd->GetXaxis()->GetNbins();
cout<<" qtc_cfd "<<hminbin<<" "<<hmaxbin<<" "<<nbins<<endl;
- // qtc_cfd->Draw();
- TProfile *pr_y = qtc_cfd->ProfileX();
+ qtc_cfd->Draw();
+ /*TProfile *pr_y = qtc_cfd->ProfileX();
pr_y->SetMaximum(hmax);
pr_y->SetMinimum(hmin);
// pr_y->Rebin(10);
// pr_y->Draw();
-
+ */
}
-
+
}