Skip to content
Snippets Groups Projects
Commit b061a1f4 authored by Vardan Tadevosyan's avatar Vardan Tadevosyan Committed by Stephen A. Wood
Browse files

Added Y coordinate correction to calo. energy dep.-s

parent 3cf4a6b6
No related branches found
No related tags found
No related merge requests found
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
hscin_tdc_max = 4000 hscin_tdc_max = 4000
; hscin_tdc_to_time scin tdc time per channel ; hscin_tdc_to_time scin tdc time per channel
hscin_tdc_to_time = 0.0259 hscin_tdc_to_time = 0.0259
new variable for picking good hits for tof fitting ; new variable for picking good hits for tof fitting
; this should not be set tight until you are ready to fit ; this should not be set tight until you are ready to fit
; tof and you figured out good values ; tof and you figured out good values
htof_tolerance = 100.0 htof_tolerance = 100.0
......
void comphh(Int_t run, TH1F* h1, TH1F* h2)
{
TFile* f = new TFile(Form("hodtest_%d.root",run));
cout << "hcana root file " << Form("hodtest_%d.root",run) << endl;
TCanvas *c1 = new TCanvas("c1", "h1 vs h2", 1000, 667);
// gPad->SetLogy();
h1->SetFillColor(kGreen);
h1->SetLineColor(kGreen);
h1->Draw();
h2->SetLineColor(kBlue);
h2->SetFillStyle(0);
h2->SetLineWidth(2);
h2->Draw("same");
TLatex l;
l.SetTextSize(0.04);
Float_t maxy = h1->GetBinContent(h1->GetMaximumBin());
Float_t xmin = h1->GetXaxis()->GetXmin();
Float_t xmax = h1->GetXaxis()->GetXmax();
Float_t xt = xmin + 0.75*(xmax-xmin);
l.SetTextColor(kGreen);
l.DrawLatex(xt,0.65*maxy,"h1");
l.SetTextColor(kBlue);
l.DrawLatex(xt,0.75*maxy,"h2");
// Difference between the histograms.
TCanvas *c2 = new TCanvas("c2", "Epr differences", 1000, 667);
TH1F* dif = h2->Clone();
dif->Add(h2,h1,1.,-1.);
dif->SetTitle("Difference");
dif->SetFillColor(kRed);
dif->SetLineColor(kRed);
dif->SetLineWidth(1);
dif->SetFillStyle(1111);
dif->Draw();
}
void comptrackedepcor(Int_t run)
{
TFile* f = new TFile(Form("hodtest_%d.root",run));
cout << "hcana root file " << Form("hodtest_%d.root",run) << endl;
TH1F* h = trecor;
TFile* f1 = new TFile(Form("%d_hbk.root",run));
cout << "Engine root file " << Form("%d_hbk.root",run) << endl;
TH1F* h1;
switch (run) {
case 50017 :
// h1 = h212; //A+
break;
default :
h1 = h422; //edep y corrected
}
TCanvas *c1 = new TCanvas("c1", "Shower Track 1 Edep (Y-corr.)", 800, 1000);
c1->Divide(1,2);
// gPad->SetLogy();
c1->cd(1);
h1->SetFillColor(kGreen);
h1->SetLineColor(kGreen);
h1->Draw();
h->SetLineColor(kBlue);
h->SetFillStyle(0);
h->SetLineWidth(2);
h->Draw("same");
TLatex l;
l.SetTextSize(0.04);
Float_t maxy = h1->GetBinContent(h1->GetMaximumBin());
Float_t xmin = h1->GetXaxis()->GetXmin();
Float_t xmax = h1->GetXaxis()->GetXmax();
Float_t xt = xmin + 0.75*(xmax-xmin);
l.SetTextColor(kGreen);
l.DrawLatex(xt,0.65*maxy,"Engine");
l.SetTextColor(kBlue);
l.DrawLatex(xt,0.75*maxy,"hcana");
// Difference between the histograms.
c1->cd(2);
TH1F* dif = h->Clone();
dif->Add(h,h1,1.,-1.);
dif->SetTitle("Edep cor. Difference");
dif->SetFillColor(kRed);
dif->SetLineColor(kRed);
dif->SetLineWidth(1);
dif->SetFillStyle(1111);
dif->Draw();
}
File added
void comptrackeprcor(Int_t run)
{
TFile* f = new TFile(Form("hodtest_%d.root",run));
cout << "hcana root file " << Form("hodtest_%d.root",run) << endl;
TH1F* h = treprcor;
TFile* f1 = new TFile(Form("%d_hbk.root",run));
cout << "Engine root file " << Form("%d_hbk.root",run) << endl;
TH1F* h1;
switch (run) {
case 50017 :
// h1 = h212; //A+
break;
default :
h1 = h423; //epr y corrected
}
TCanvas *c1 = new TCanvas("c1", "Shower Track 1 Edep (Y-corr.)", 800, 1000);
c1->Divide(1,2);
// gPad->SetLogy();
c1->cd(1);
h1->SetFillColor(kGreen);
h1->SetLineColor(kGreen);
h1->Draw();
h->SetLineColor(kBlue);
h->SetFillStyle(0);
h->SetLineWidth(2);
h->Draw("same");
TLatex l;
l.SetTextSize(0.04);
Float_t maxy = h1->GetBinContent(h1->GetMaximumBin());
Float_t xmin = h1->GetXaxis()->GetXmin();
Float_t xmax = h1->GetXaxis()->GetXmax();
Float_t xt = xmin + 0.75*(xmax-xmin);
l.SetTextColor(kGreen);
l.DrawLatex(xt,0.65*maxy,"Engine");
l.SetTextColor(kBlue);
l.DrawLatex(xt,0.75*maxy,"hcana");
// Difference between the histograms.
c1->cd(2);
TH1F* dif = h->Clone();
dif->Add(h,h1,1.,-1.);
dif->SetTitle("Epr cor. Difference");
dif->SetFillColor(kRed);
dif->SetLineColor(kRed);
dif->SetLineWidth(1);
dif->SetFillStyle(1111);
dif->Draw();
}
File added
...@@ -74,89 +74,98 @@ TH1F tre 'HMS Cal Track Clust. Edep' H.cal.tre 200 -0.1 1.622 H.dc.ntrack==1 ...@@ -74,89 +74,98 @@ TH1F tre 'HMS Cal Track Clust. Edep' H.cal.tre 200 -0.1 1.622 H.dc.ntrack==1
# Preshower Energy of the cluster associated to the main (currently 1st) track # Preshower Energy of the cluster associated to the main (currently 1st) track
TH1F trepr 'HMS PrSh Track Clust. Edep' H.cal.trepr 100 -0.1 0.811 H.dc.ntrack==1 TH1F trepr 'HMS PrSh Track Clust. Edep' H.cal.trepr 100 -0.1 0.811 H.dc.ntrack==1
#Calorimeter ADC channels # Coordinate corrected energy deposition from the main track (currently first)
TH1F hcaladc_A1p 'HMS Cal ADC A1p - PED' H.cal.1pr.apos_p[0] 150 50 500 TH1F trecor 'HMS Cal Track Edep' H.cal.trecor 200 -0.1 1.622 H.dc.ntrack==1
TH1F hcaladc_A2p 'HMS Cal ADC A2p - PED' H.cal.1pr.apos_p[1] 150 50 500
TH1F hcaladc_A3p 'HMS Cal ADC A3p - PED' H.cal.1pr.apos_p[2] 150 50 500 # Coordinate corrected preshower energy from the main track (currently first)
TH1F hcaladc_A4p 'HMS Cal ADC A4p - PED' H.cal.1pr.apos_p[3] 150 50 500 TH1F treprcor 'HMS PrSh Track Edep' H.cal.treprcor 100 -0.1 0.811 H.dc.ntrack==1
TH1F hcaladc_A5p 'HMS Cal ADC A5p - PED' H.cal.1pr.apos_p[4] 150 50 500 # Coordinate corrected energy deposition from the main track (currently first)
TH1F hcaladc_A6p 'HMS Cal ADC A6p - PED' H.cal.1pr.apos_p[5] 150 50 500 # in the planes. Currently works for the 1-st pnae only.
TH1F hcaladc_A7p 'HMS Cal ADC A7p - PED' H.cal.1pr.apos_p[6] 150 50 500 TH1F treplcor 'HMS Cal Track E1' H.cal.treplcor 100 -0.1 0.811 H.dc.ntrack==1
TH1F hcaladc_A8p 'HMS Cal ADC A8p - PED' H.cal.1pr.apos_p[7] 150 50 500
TH1F hcaladc_A9p 'HMS Cal ADC A9p - PED' H.cal.1pr.apos_p[8] 150 50 500 # Calorimeter ADC channels
TH1F hcaladc_A10p 'HMS Cal ADC A10p - PED' H.cal.1pr.apos_p[9] 150 50 500 #TH1F hcaladc_A1p 'HMS Cal ADC A1p - PED' H.cal.1pr.apos_p[0] 150 50 500
TH1F hcaladc_A11p 'HMS Cal ADC A11p - PED' H.cal.1pr.apos_p[10] 150 50 500 #TH1F hcaladc_A2p 'HMS Cal ADC A2p - PED' H.cal.1pr.apos_p[1] 150 50 500
TH1F hcaladc_A12p 'HMS Cal ADC A12p - PED' H.cal.1pr.apos_p[11] 150 50 500 #TH1F hcaladc_A3p 'HMS Cal ADC A3p - PED' H.cal.1pr.apos_p[2] 150 50 500
TH1F hcaladc_A13p 'HMS Cal ADC A13p - PED' H.cal.1pr.apos_p[12] 150 50 500 #TH1F hcaladc_A4p 'HMS Cal ADC A4p - PED' H.cal.1pr.apos_p[3] 150 50 500
TH1F hcaladc_B1p 'HMS Cal ADC B1p - PED' H.cal.2ta.apos_p[0] 150 50 500 #TH1F hcaladc_A5p 'HMS Cal ADC A5p - PED' H.cal.1pr.apos_p[4] 150 50 500
TH1F hcaladc_B2p 'HMS Cal ADC B2p - PED' H.cal.2ta.apos_p[1] 150 50 500 #TH1F hcaladc_A6p 'HMS Cal ADC A6p - PED' H.cal.1pr.apos_p[5] 150 50 500
TH1F hcaladc_B3p 'HMS Cal ADC B3p - PED' H.cal.2ta.apos_p[2] 150 50 500 #TH1F hcaladc_A7p 'HMS Cal ADC A7p - PED' H.cal.1pr.apos_p[6] 150 50 500
TH1F hcaladc_B4p 'HMS Cal ADC B4p - PED' H.cal.2ta.apos_p[3] 150 50 500 #TH1F hcaladc_A8p 'HMS Cal ADC A8p - PED' H.cal.1pr.apos_p[7] 150 50 500
TH1F hcaladc_B5p 'HMS Cal ADC B5p - PED' H.cal.2ta.apos_p[4] 150 50 500 #TH1F hcaladc_A9p 'HMS Cal ADC A9p - PED' H.cal.1pr.apos_p[8] 150 50 500
TH1F hcaladc_B6p 'HMS Cal ADC B6p - PED' H.cal.2ta.apos_p[5] 150 50 500 #TH1F hcaladc_A10p 'HMS Cal ADC A10p - PED' H.cal.1pr.apos_p[9] 150 50 500
TH1F hcaladc_B7p 'HMS Cal ADC B7p - PED' H.cal.2ta.apos_p[6] 150 50 500 #TH1F hcaladc_A11p 'HMS Cal ADC A11p - PED' H.cal.1pr.apos_p[10] 150 50 500
TH1F hcaladc_B8p 'HMS Cal ADC B8p - PED' H.cal.2ta.apos_p[7] 150 50 500 #TH1F hcaladc_A12p 'HMS Cal ADC A12p - PED' H.cal.1pr.apos_p[11] 150 50 500
TH1F hcaladc_B9p 'HMS Cal ADC B9p - PED' H.cal.2ta.apos_p[8] 150 50 500 #TH1F hcaladc_A13p 'HMS Cal ADC A13p - PED' H.cal.1pr.apos_p[12] 150 50 500
TH1F hcaladc_B10p 'HMS Cal ADC B10p - PED' H.cal.2ta.apos_p[9] 150 50 500 #TH1F hcaladc_B1p 'HMS Cal ADC B1p - PED' H.cal.2ta.apos_p[0] 150 50 500
TH1F hcaladc_B11p 'HMS Cal ADC B11p - PED' H.cal.2ta.apos_p[10] 150 50 500 #TH1F hcaladc_B2p 'HMS Cal ADC B2p - PED' H.cal.2ta.apos_p[1] 150 50 500
TH1F hcaladc_B12p 'HMS Cal ADC B12p - PED' H.cal.2ta.apos_p[11] 150 50 500 #TH1F hcaladc_B3p 'HMS Cal ADC B3p - PED' H.cal.2ta.apos_p[2] 150 50 500
TH1F hcaladc_B13p 'HMS Cal ADC B13p - PED' H.cal.2ta.apos_p[12] 150 50 500 #TH1F hcaladc_B4p 'HMS Cal ADC B4p - PED' H.cal.2ta.apos_p[3] 150 50 500
#TH1F hcaladc_B5p 'HMS Cal ADC B5p - PED' H.cal.2ta.apos_p[4] 150 50 500
TH1F hcaladc_C1p 'HMS Cal ADC C1p - PED' H.cal.3ta.apos_p[0] 150 50 500 #TH1F hcaladc_B6p 'HMS Cal ADC B6p - PED' H.cal.2ta.apos_p[5] 150 50 500
TH1F hcaladc_C2p 'HMS Cal ADC C2p - PED' H.cal.3ta.apos_p[1] 150 50 500 #TH1F hcaladc_B7p 'HMS Cal ADC B7p - PED' H.cal.2ta.apos_p[6] 150 50 500
TH1F hcaladc_C3p 'HMS Cal ADC C3p - PED' H.cal.3ta.apos_p[2] 150 50 500 #TH1F hcaladc_B8p 'HMS Cal ADC B8p - PED' H.cal.2ta.apos_p[7] 150 50 500
TH1F hcaladc_C4p 'HMS Cal ADC C4p - PED' H.cal.3ta.apos_p[3] 150 50 500 #TH1F hcaladc_B9p 'HMS Cal ADC B9p - PED' H.cal.2ta.apos_p[8] 150 50 500
TH1F hcaladc_C5p 'HMS Cal ADC C5p - PED' H.cal.3ta.apos_p[4] 150 50 500 #TH1F hcaladc_B10p 'HMS Cal ADC B10p - PED' H.cal.2ta.apos_p[9] 150 50 500
TH1F hcaladc_C6p 'HMS Cal ADC C6p - PED' H.cal.3ta.apos_p[5] 150 50 500 #TH1F hcaladc_B11p 'HMS Cal ADC B11p - PED' H.cal.2ta.apos_p[10] 150 50 500
TH1F hcaladc_C7p 'HMS Cal ADC C7p - PED' H.cal.3ta.apos_p[6] 150 50 500 #TH1F hcaladc_B12p 'HMS Cal ADC B12p - PED' H.cal.2ta.apos_p[11] 150 50 500
TH1F hcaladc_C8p 'HMS Cal ADC C8p - PED' H.cal.3ta.apos_p[7] 150 50 500 #TH1F hcaladc_B13p 'HMS Cal ADC B13p - PED' H.cal.2ta.apos_p[12] 150 50 500
TH1F hcaladc_C9p 'HMS Cal ADC C9p - PED' H.cal.3ta.apos_p[8] 150 50 500
TH1F hcaladc_C10p 'HMS Cal ADC C10p - PED' H.cal.3ta.apos_p[9] 150 50 500 #TH1F hcaladc_C1p 'HMS Cal ADC C1p - PED' H.cal.3ta.apos_p[0] 150 50 500
TH1F hcaladc_C11p 'HMS Cal ADC C11p - PED' H.cal.3ta.apos_p[10] 150 50 500 #TH1F hcaladc_C2p 'HMS Cal ADC C2p - PED' H.cal.3ta.apos_p[1] 150 50 500
TH1F hcaladc_C12p 'HMS Cal ADC C12p - PED' H.cal.3ta.apos_p[11] 150 50 500 #TH1F hcaladc_C3p 'HMS Cal ADC C3p - PED' H.cal.3ta.apos_p[2] 150 50 500
TH1F hcaladc_C13p 'HMS Cal ADC C13p - PED' H.cal.3ta.apos_p[12] 150 50 500 #TH1F hcaladc_C4p 'HMS Cal ADC C4p - PED' H.cal.3ta.apos_p[3] 150 50 500
#TH1F hcaladc_C5p 'HMS Cal ADC C5p - PED' H.cal.3ta.apos_p[4] 150 50 500
TH1F hcaladc_D1p 'HMS Cal ADC D1p - PED' H.cal.4ta.apos_p[0] 150 50 500 #TH1F hcaladc_C6p 'HMS Cal ADC C6p - PED' H.cal.3ta.apos_p[5] 150 50 500
TH1F hcaladc_D2p 'HMS Cal ADC D2p - PED' H.cal.4ta.apos_p[1] 150 50 500 #TH1F hcaladc_C7p 'HMS Cal ADC C7p - PED' H.cal.3ta.apos_p[6] 150 50 500
TH1F hcaladc_D3p 'HMS Cal ADC D3p - PED' H.cal.4ta.apos_p[2] 150 50 500 #TH1F hcaladc_C8p 'HMS Cal ADC C8p - PED' H.cal.3ta.apos_p[7] 150 50 500
TH1F hcaladc_D4p 'HMS Cal ADC D4p - PED' H.cal.4ta.apos_p[3] 150 50 500 #TH1F hcaladc_C9p 'HMS Cal ADC C9p - PED' H.cal.3ta.apos_p[8] 150 50 500
TH1F hcaladc_D5p 'HMS Cal ADC D5p - PED' H.cal.4ta.apos_p[4] 150 50 500 #TH1F hcaladc_C10p 'HMS Cal ADC C10p - PED' H.cal.3ta.apos_p[9] 150 50 500
TH1F hcaladc_D6p 'HMS Cal ADC D6p - PED' H.cal.4ta.apos_p[5] 150 50 500 #TH1F hcaladc_C11p 'HMS Cal ADC C11p - PED' H.cal.3ta.apos_p[10] 150 50 500
TH1F hcaladc_D7p 'HMS Cal ADC D7p - PED' H.cal.4ta.apos_p[6] 150 50 500 #TH1F hcaladc_C12p 'HMS Cal ADC C12p - PED' H.cal.3ta.apos_p[11] 150 50 500
TH1F hcaladc_D8p 'HMS Cal ADC D8p - PED' H.cal.4ta.apos_p[7] 150 50 500 #TH1F hcaladc_C13p 'HMS Cal ADC C13p - PED' H.cal.3ta.apos_p[12] 150 50 500
TH1F hcaladc_D9p 'HMS Cal ADC D9p - PED' H.cal.4ta.apos_p[8] 150 50 500
TH1F hcaladc_D10p 'HMS Cal ADC D10p - PED' H.cal.4ta.apos_p[9] 150 50 500 #TH1F hcaladc_D1p 'HMS Cal ADC D1p - PED' H.cal.4ta.apos_p[0] 150 50 500
TH1F hcaladc_D11p 'HMS Cal ADC D11p - PED' H.cal.4ta.apos_p[10] 150 50 500 #TH1F hcaladc_D2p 'HMS Cal ADC D2p - PED' H.cal.4ta.apos_p[1] 150 50 500
TH1F hcaladc_D12p 'HMS Cal ADC D12p - PED' H.cal.4ta.apos_p[11] 150 50 500 #TH1F hcaladc_D3p 'HMS Cal ADC D3p - PED' H.cal.4ta.apos_p[2] 150 50 500
TH1F hcaladc_D13p 'HMS Cal ADC D13p - PED' H.cal.4ta.apos_p[12] 150 50 500 #TH1F hcaladc_D4p 'HMS Cal ADC D4p - PED' H.cal.4ta.apos_p[3] 150 50 500
#TH1F hcaladc_D5p 'HMS Cal ADC D5p - PED' H.cal.4ta.apos_p[4] 150 50 500
TH1F hcaladc_A1n 'HMS Cal ADC A1n - PED' H.cal.1pr.aneg_p[0] 150 50 500 #TH1F hcaladc_D6p 'HMS Cal ADC D6p - PED' H.cal.4ta.apos_p[5] 150 50 500
TH1F hcaladc_A2n 'HMS Cal ADC A2n - PED' H.cal.1pr.aneg_p[1] 150 50 500 #TH1F hcaladc_D7p 'HMS Cal ADC D7p - PED' H.cal.4ta.apos_p[6] 150 50 500
TH1F hcaladc_A3n 'HMS Cal ADC A3n - PED' H.cal.1pr.aneg_p[2] 150 50 500 #TH1F hcaladc_D8p 'HMS Cal ADC D8p - PED' H.cal.4ta.apos_p[7] 150 50 500
TH1F hcaladc_A4n 'HMS Cal ADC A4n - PED' H.cal.1pr.aneg_p[3] 150 50 500 #TH1F hcaladc_D9p 'HMS Cal ADC D9p - PED' H.cal.4ta.apos_p[8] 150 50 500
TH1F hcaladc_A5n 'HMS Cal ADC A5n - PED' H.cal.1pr.aneg_p[4] 150 50 500 #TH1F hcaladc_D10p 'HMS Cal ADC D10p - PED' H.cal.4ta.apos_p[9] 150 50 500
TH1F hcaladc_A6n 'HMS Cal ADC A6n - PED' H.cal.1pr.aneg_p[5] 150 50 500 #TH1F hcaladc_D11p 'HMS Cal ADC D11p - PED' H.cal.4ta.apos_p[10] 150 50 500
TH1F hcaladc_A7n 'HMS Cal ADC A7n - PED' H.cal.1pr.aneg_p[6] 150 50 500 #TH1F hcaladc_D12p 'HMS Cal ADC D12p - PED' H.cal.4ta.apos_p[11] 150 50 500
TH1F hcaladc_A8n 'HMS Cal ADC A8n - PED' H.cal.1pr.aneg_p[7] 150 50 500 #TH1F hcaladc_D13p 'HMS Cal ADC D13p - PED' H.cal.4ta.apos_p[12] 150 50 500
TH1F hcaladc_A9n 'HMS Cal ADC A9n - PED' H.cal.1pr.aneg_p[8] 150 50 500
TH1F hcaladc_A10n 'HMS Cal ADC A10n - PED' H.cal.1pr.aneg_p[9] 150 50 500 #TH1F hcaladc_A1n 'HMS Cal ADC A1n - PED' H.cal.1pr.aneg_p[0] 150 50 500
TH1F hcaladc_A11n 'HMS Cal ADC A11n - PED' H.cal.1pr.aneg_p[10] 150 50 500 #TH1F hcaladc_A2n 'HMS Cal ADC A2n - PED' H.cal.1pr.aneg_p[1] 150 50 500
TH1F hcaladc_A12n 'HMS Cal ADC A12n - PED' H.cal.1pr.aneg_p[11] 150 50 500 #TH1F hcaladc_A3n 'HMS Cal ADC A3n - PED' H.cal.1pr.aneg_p[2] 150 50 500
TH1F hcaladc_A13n 'HMS Cal ADC A13n - PED' H.cal.1pr.aneg_p[12] 150 50 500 #TH1F hcaladc_A4n 'HMS Cal ADC A4n - PED' H.cal.1pr.aneg_p[3] 150 50 500
#TH1F hcaladc_A5n 'HMS Cal ADC A5n - PED' H.cal.1pr.aneg_p[4] 150 50 500
TH1F hcaladc_B1n 'HMS Cal ADC B1n - PED' H.cal.2ta.aneg_p[0] 150 50 500 #TH1F hcaladc_A6n 'HMS Cal ADC A6n - PED' H.cal.1pr.aneg_p[5] 150 50 500
TH1F hcaladc_B2n 'HMS Cal ADC B2n - PED' H.cal.2ta.aneg_p[1] 150 50 500 #TH1F hcaladc_A7n 'HMS Cal ADC A7n - PED' H.cal.1pr.aneg_p[6] 150 50 500
TH1F hcaladc_B3n 'HMS Cal ADC B3n - PED' H.cal.2ta.aneg_p[2] 150 50 500 #TH1F hcaladc_A8n 'HMS Cal ADC A8n - PED' H.cal.1pr.aneg_p[7] 150 50 500
TH1F hcaladc_B4n 'HMS Cal ADC B4n - PED' H.cal.2ta.aneg_p[3] 150 50 500 #TH1F hcaladc_A9n 'HMS Cal ADC A9n - PED' H.cal.1pr.aneg_p[8] 150 50 500
TH1F hcaladc_B5n 'HMS Cal ADC B5n - PED' H.cal.2ta.aneg_p[4] 150 50 500 #TH1F hcaladc_A10n 'HMS Cal ADC A10n - PED' H.cal.1pr.aneg_p[9] 150 50 500
TH1F hcaladc_B6n 'HMS Cal ADC B6n - PED' H.cal.2ta.aneg_p[5] 150 50 500 #TH1F hcaladc_A11n 'HMS Cal ADC A11n - PED' H.cal.1pr.aneg_p[10] 150 50 500
TH1F hcaladc_B7n 'HMS Cal ADC B7n - PED' H.cal.2ta.aneg_p[6] 150 50 500 #TH1F hcaladc_A12n 'HMS Cal ADC A12n - PED' H.cal.1pr.aneg_p[11] 150 50 500
TH1F hcaladc_B8n 'HMS Cal ADC B8n - PED' H.cal.2ta.aneg_p[7] 150 50 500 #TH1F hcaladc_A13n 'HMS Cal ADC A13n - PED' H.cal.1pr.aneg_p[12] 150 50 500
TH1F hcaladc_B9n 'HMS Cal ADC B9n - PED' H.cal.2ta.aneg_p[8] 150 50 500
TH1F hcaladc_B10n 'HMS Cal ADC B10n - PED' H.cal.2ta.aneg_p[9] 150 50 500 #TH1F hcaladc_B1n 'HMS Cal ADC B1n - PED' H.cal.2ta.aneg_p[0] 150 50 500
TH1F hcaladc_B11n 'HMS Cal ADC B11n - PED' H.cal.2ta.aneg_p[10] 150 50 500 #TH1F hcaladc_B2n 'HMS Cal ADC B2n - PED' H.cal.2ta.aneg_p[1] 150 50 500
TH1F hcaladc_B12n 'HMS Cal ADC B12n - PED' H.cal.2ta.aneg_p[11] 150 50 500 #TH1F hcaladc_B3n 'HMS Cal ADC B3n - PED' H.cal.2ta.aneg_p[2] 150 50 500
TH1F hcaladc_B13n 'HMS Cal ADC B13n - PED' H.cal.2ta.aneg_p[12] 150 50 500 #TH1F hcaladc_B4n 'HMS Cal ADC B4n - PED' H.cal.2ta.aneg_p[3] 150 50 500
#TH1F hcaladc_B5n 'HMS Cal ADC B5n - PED' H.cal.2ta.aneg_p[4] 150 50 500
#TH1F hcaladc_B6n 'HMS Cal ADC B6n - PED' H.cal.2ta.aneg_p[5] 150 50 500
#TH1F hcaladc_B7n 'HMS Cal ADC B7n - PED' H.cal.2ta.aneg_p[6] 150 50 500
#TH1F hcaladc_B8n 'HMS Cal ADC B8n - PED' H.cal.2ta.aneg_p[7] 150 50 500
#TH1F hcaladc_B9n 'HMS Cal ADC B9n - PED' H.cal.2ta.aneg_p[8] 150 50 500
#TH1F hcaladc_B10n 'HMS Cal ADC B10n - PED' H.cal.2ta.aneg_p[9] 150 50 500
#TH1F hcaladc_B11n 'HMS Cal ADC B11n - PED' H.cal.2ta.aneg_p[10] 150 50 500
#TH1F hcaladc_B12n 'HMS Cal ADC B12n - PED' H.cal.2ta.aneg_p[11] 150 50 500
#TH1F hcaladc_B13n 'HMS Cal ADC B13n - PED' H.cal.2ta.aneg_p[12] 150 50 500
# Can we use variables for the constants. In CTP we used hdc_nwire(i) # Can we use variables for the constants. In CTP we used hdc_nwire(i)
# #
......
...@@ -410,6 +410,12 @@ Int_t THcShower::ReadDatabase( const TDatime& date ) ...@@ -410,6 +410,12 @@ Int_t THcShower::ReadDatabase( const TDatime& date )
cout << endl; cout << endl;
}; };
// Corrdiante corrected track energies per plane
fTREpl_cor = new Double_t [fNLayers];
fTREpl_pos_cor = new Double_t [fNLayers];
fTREpl_neg_cor = new Double_t [fNLayers];
// Origin of the calorimeter, at tha middle of the face of the detector, // Origin of the calorimeter, at tha middle of the face of the detector,
// or at the middle of the front plane of the 1-st layer. // or at the middle of the front plane of the 1-st layer.
// //
...@@ -462,8 +468,8 @@ Int_t THcShower::DefineVariables( EMode mode ) ...@@ -462,8 +468,8 @@ Int_t THcShower::DefineVariables( EMode mode )
// { "asum_p", "Sum of ped-subtracted ADCs", "fAsum_p" }, // { "asum_p", "Sum of ped-subtracted ADCs", "fAsum_p" },
// { "asum_c", "Sum of calibrated ADCs", "fAsum_c" }, // { "asum_c", "Sum of calibrated ADCs", "fAsum_c" },
{ "nclust", "Number of clusters", "fNclust" }, { "nclust", "Number of clusters", "fNclust" },
{ "emax", "Energy (MeV) of largest cluster", "fE" }, { "emax", "Energy of largest cluster", "fE" },
{ "eprmax", "Preshower Energy (MeV) of largest cluster", "fEpr" }, { "eprmax", "Preshower Energy of largest cluster", "fEpr" },
{ "xmax", "x-position (cm) of largest cluster", "fX" }, { "xmax", "x-position (cm) of largest cluster", "fX" },
// { "z", "z-position (cm) of largest cluster", "fZ" }, // { "z", "z-position (cm) of largest cluster", "fZ" },
{ "mult", "Multiplicity of largest cluster", "fMult" }, { "mult", "Multiplicity of largest cluster", "fMult" },
...@@ -473,10 +479,28 @@ Int_t THcShower::DefineVariables( EMode mode ) ...@@ -473,10 +479,28 @@ Int_t THcShower::DefineVariables( EMode mode )
{ "try", "track y-position in det plane (1st track)", "fTRY" }, { "try", "track y-position in det plane (1st track)", "fTRY" },
{ "tre", "track energy in the calorimeter (1st track)", "fTRE" }, { "tre", "track energy in the calorimeter (1st track)", "fTRE" },
{ "trepr", "track energy in the preshower (1st track)", "fTREpr" }, { "trepr", "track energy in the preshower (1st track)", "fTREpr" },
{ "trecor", "Y-corrected track Edep (1st track)", "fTRE_cor" },
{ "treprcor", "Y-corrected track Epr (1st track)", "fTREpr_cor" },
{ "treplcor", "Y-corrected track Edep for planes", "fTREpl_cor" },
{ 0 } { 0 }
}; };
return DefineVarsFromList( vars, mode ); return DefineVarsFromList( vars, mode );
/*
for (Int_t i=0; i<fNLayers; i++) {
RVarDef vars[] = {
{ Form("treplcor%d",i+1),
Form("Y-corrected track Edep for plane %d",i+1),
Form("fTREpl_cor[%d]",i) },
{ 0 }
};
return DefineVarsFromList( vars, mode );
};
*/
//{ "treplposcor","Y-corrected track pos. Edep per plane", "fTREpl_pos_cor"},
//{ "treplnegcor","Y-corrected track neg. Edep per plane", "fTREpl_neg_cor"},
return kOK; return kOK;
} }
...@@ -530,8 +554,15 @@ void THcShower::Clear(Option_t* opt) ...@@ -530,8 +554,15 @@ void THcShower::Clear(Option_t* opt)
fX = -75.; //out of acceptance fX = -75.; //out of acceptance
fTRX = -75.; //out of acceptance fTRX = -75.; //out of acceptance
fTRY = -40.; //out of acceptance fTRY = -40.; //out of acceptance
fTRE = -1.; fTRE = -0.;
fTREpr = -1.; fTREpr = -0.;
fTRE_cor = -0.;
fTREpr_cor = -0.;
for(Int_t ip=0;ip<fNLayers;ip++) {
fTREpl_cor[ip] = -0.;
fTREpl_pos_cor[ip] = -0.;
fTREpl_neg_cor[ip] = -0.;
}
} }
//_____________________________________________________________________________ //_____________________________________________________________________________
...@@ -738,12 +769,12 @@ Int_t THcShower::CoarseProcess( TClonesArray& tracks) ...@@ -738,12 +769,12 @@ Int_t THcShower::CoarseProcess( TClonesArray& tracks)
cout << "Number of reconstructed tracks = " << Ntracks << endl; cout << "Number of reconstructed tracks = " << Ntracks << endl;
} }
for (Int_t i=0; i<Ntracks; i++) { for (Int_t itrk=0; itrk<Ntracks; itrk++) {
THaTrack* theTrack = static_cast<THaTrack*>( tracks[i] ); THaTrack* theTrack = static_cast<THaTrack*>( tracks[itrk] );
if (fdbg_tracks_cal) { if (fdbg_tracks_cal) {
cout << " Track " << i << ": " cout << " Track " << itrk << ": "
<< " X = " << theTrack->GetX() << " X = " << theTrack->GetX()
<< " Y = " << theTrack->GetY() << " Y = " << theTrack->GetY()
<< " Theta = " << theTrack->GetTheta() << " Theta = " << theTrack->GetTheta()
...@@ -751,22 +782,67 @@ Int_t THcShower::CoarseProcess( TClonesArray& tracks) ...@@ -751,22 +782,67 @@ Int_t THcShower::CoarseProcess( TClonesArray& tracks)
<< endl; << endl;
} }
Double_t Xtr; Double_t Xtr = -75.;
Double_t Ytr; Double_t Ytr = -40.;
Int_t mclust = MatchCluster(theTrack, ClusterList, Xtr, Ytr); Int_t mclust = MatchCluster(theTrack, ClusterList, Xtr, Ytr);
if (i==0) { if (itrk==0) {
fTRX = Xtr; fTRX = Xtr;
fTRY = Ytr; fTRY = Ytr;
if (mclust >= 0) { if (mclust >= 0) {
THcShowerCluster* cluster = (*ClusterList).ListedCluster(mclust); THcShowerCluster* cluster = (*ClusterList).ListedCluster(mclust);
fTRE = (*cluster).clE(); fTRE = (*cluster).clE();
fTREpr = (*cluster).clEpr(); fTREpr = (*cluster).clEpr();
}
}
} fTRE_cor = 0.;
for (Int_t ip=0; ip<fNLayers; ip++) {
Float_t corpos = 1.;
Float_t corneg = 1.;
if (ip < fNegCols) {
corpos = Ycor(Ytr,0);
corneg = Ycor(Ytr,1);
}
else {
corpos = Ycor(Ytr);
corneg = 0.;
}
if (fdbg_tracks_cal) {
cout << " Plane " << ip << " Ytr = " << Ytr
<< " corpos = " << corpos
<< " corneg = " << corneg << endl;
}
fTREpl_pos_cor[ip] = (*cluster).clEplane(ip,0) * corpos;
fTREpl_neg_cor[ip] = (*cluster).clEplane(ip,1) * corneg;;
fTREpl_cor[ip] = fTREpl_pos_cor[ip] + fTREpl_neg_cor[ip];
if (fdbg_tracks_cal) {
cout << " fTREpl_pos_cor = " << fTREpl_pos_cor[ip]
<< " fTREpl_neg_cor = " << fTREpl_neg_cor[ip] << endl;
}
fTRE_cor += fTREpl_cor[ip];
} //over planes
fTREpr_cor = fTREpl_cor[0];
if (fdbg_tracks_cal)
cout << " fTREpr = " << fTREpr
<< " fTREpr_cor = " << fTREpr_cor << endl;
} //mclust>=0
} //itrk==0
} //over tracks
if (fdbg_tracks_cal) if (fdbg_tracks_cal)
cout << "1st track cluster: fTRX = " << fTRX << " fTRY = " << fTRY cout << "1st track cluster: fTRX = " << fTRX << " fTRY = " << fTRY
......
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
#include "THcHitList.h" #include "THcHitList.h"
#include "THcShowerPlane.h" #include "THcShowerPlane.h"
#include "THcShowerCluster.h" #include "THcShowerCluster.h"
#include "TMath.h"
class THaScCalib; class THaScCalib;
...@@ -88,6 +89,27 @@ public: ...@@ -88,6 +89,27 @@ public:
return fNLayers; return fNLayers;
} }
//Coordinate correction for single PMT modules.
//PMT attached at right (negative) side.
Float_t Ycor(Double_t y) {
return TMath::Exp(y/fAcor)/(1. + y*y/fBcor);
// return TMath::Exp(-y/fAcor)/(1. + y*y/fBcor);
}
//Coordinate correction for double PMT modules.
//
Float_t Ycor(Double_t y, Int_t side) {
if (side!=0&&side!=1) {
cout << "THcShower::Ycor : wrong side " << side << endl;
return 0.;
}
Int_t sign = 1 - 2*side;
// Int_t sign = 2*side - 1;
return (fCcor + sign*y)/(fCcor + sign*y/fDcor);
}
THcShower(); // for ROOT I/O THcShower(); // for ROOT I/O
protected: protected:
...@@ -106,8 +128,8 @@ protected: ...@@ -106,8 +128,8 @@ protected:
Int_t fNhits; // Total number of hits Int_t fNhits; // Total number of hits
Int_t fNclust; // Number of clusters Int_t fNclust; // Number of clusters
Double_t fE; // Energy (MeV) of the largest cluster Double_t fE; // Energy of the largest cluster
Double_t fEpr; // Preshower Energy (MeV) of the largest cluster Double_t fEpr; // Preshower Energy of the largest cluster
Double_t fX; // x-position (cm) of the largest cluster Double_t fX; // x-position (cm) of the largest cluster
Double_t fZ; // z-position (cm) of the largest cluster Double_t fZ; // z-position (cm) of the largest cluster
Int_t fMult; // # of hits in the largest cluster Int_t fMult; // # of hits in the largest cluster
...@@ -115,8 +137,13 @@ protected: ...@@ -115,8 +137,13 @@ protected:
// Double_t* fEblk; // Energies of blocks in main cluster // Double_t* fEblk; // Energies of blocks in main cluster
Double_t fTRX; // track x-position in det plane (1st track) Double_t fTRX; // track x-position in det plane (1st track)
Double_t fTRY; // track y-position in det plane (1st track) Double_t fTRY; // track y-position in det plane (1st track)
Double_t fTRE; // Energy (MeV) of the cluster associated to track Double_t fTRE; // Energy of the cluster associated to track
Double_t fTREpr; // Preshower Energy (MeV) of the track's cluster Double_t fTREpr; // Preshower Energy of the track's cluster
Double_t fTRE_cor; // Y-corrected track total energy
Double_t fTREpr_cor; // Y-corrected track Preshower energy
Double_t* fTREpl_cor; // Y-corrected track energy per plane
Double_t* fTREpl_pos_cor; // Y-corrected track positive energy per plane
Double_t* fTREpl_neg_cor; // Y-corrected track negative energy per plane
// Potential Hall C parameters. Mostly here for demonstration // Potential Hall C parameters. Mostly here for demonstration
......
...@@ -109,7 +109,7 @@ class THcShowerCluster : THcShowerHitList { ...@@ -109,7 +109,7 @@ class THcShowerCluster : THcShowerHitList {
Double_t clEplane(Int_t iplane, Int_t side) { Double_t clEplane(Int_t iplane, Int_t side) {
if (side!=0&&side!=1||side!=2) { if (side!=0&&side!=1&&side!=2) {
cout << "*** Wrong Side in clEplane:" << side << " ***" << endl; cout << "*** Wrong Side in clEplane:" << side << " ***" << endl;
return -1; return -1;
} }
......
...@@ -207,7 +207,7 @@ Int_t THcShowerPlane::DefineVariables( EMode mode ) ...@@ -207,7 +207,7 @@ Int_t THcShowerPlane::DefineVariables( EMode mode )
{"aneg_p", "Ped-subtracted Negative ADC Amplitudes", "fA_Neg_p"}, {"aneg_p", "Ped-subtracted Negative ADC Amplitudes", "fA_Neg_p"},
{"epos", "Energy Depositions from Positive Side PMTs", "fEpos"}, {"epos", "Energy Depositions from Positive Side PMTs", "fEpos"},
{"eneg", "Energy Depositions from Negative Side PMTs", "fEneg"}, {"eneg", "Energy Depositions from Negative Side PMTs", "fEneg"},
{"emean", "Mean Energy Depositions", "fEMean"}, {"emean", "Mean Energy Depositions", "fEmean"},
{"eplane", "Energy Deposition per plane", "fEplane"}, {"eplane", "Energy Deposition per plane", "fEplane"},
{"eplane_pos", "Energy Deposition per plane from pos. PMTs","fEplane_pos"}, {"eplane_pos", "Energy Deposition per plane from pos. PMTs","fEplane_pos"},
{"eplane_neg", "Energy Deposition per plane from neg. PMTs","fEplane_neg"}, {"eplane_neg", "Energy Deposition per plane from neg. PMTs","fEplane_neg"},
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment