From b061a1f4fa8c90b3776b71c3c2fd75360fb2b0cd Mon Sep 17 00:00:00 2001 From: Vardan Tadevosyan <tadevosn@jlab.org> Date: Wed, 9 Oct 2013 16:32:12 -0400 Subject: [PATCH] Added Y coordinate correction to calo. energy dep.-s --- examples/PARAM/52949/hhodo.param.vt | 2 +- examples/comphh.C | 45 +++++++ examples/comptrackedepcor.C | 61 ++++++++++ examples/comptrackedepcor.pdf | Bin 0 -> 17120 bytes examples/comptrackeprcor.C | 61 ++++++++++ examples/comptrackeprcor.pdf | Bin 0 -> 16208 bytes examples/output_52949.def | 175 +++++++++++++++------------- src/THcShower.cxx | 102 +++++++++++++--- src/THcShower.h | 35 +++++- src/THcShowerCluster.h | 2 +- src/THcShowerPlane.cxx | 2 +- 11 files changed, 382 insertions(+), 103 deletions(-) create mode 100644 examples/comphh.C create mode 100644 examples/comptrackedepcor.C create mode 100644 examples/comptrackedepcor.pdf create mode 100644 examples/comptrackeprcor.C create mode 100644 examples/comptrackeprcor.pdf diff --git a/examples/PARAM/52949/hhodo.param.vt b/examples/PARAM/52949/hhodo.param.vt index 39dc74b..bb26160 100644 --- a/examples/PARAM/52949/hhodo.param.vt +++ b/examples/PARAM/52949/hhodo.param.vt @@ -8,7 +8,7 @@ hscin_tdc_max = 4000 ; hscin_tdc_to_time scin tdc time per channel 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 ; tof and you figured out good values htof_tolerance = 100.0 diff --git a/examples/comphh.C b/examples/comphh.C new file mode 100644 index 0000000..f8a2ba7 --- /dev/null +++ b/examples/comphh.C @@ -0,0 +1,45 @@ +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(); +} diff --git a/examples/comptrackedepcor.C b/examples/comptrackedepcor.C new file mode 100644 index 0000000..fbed4f4 --- /dev/null +++ b/examples/comptrackedepcor.C @@ -0,0 +1,61 @@ +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(); +} diff --git a/examples/comptrackedepcor.pdf b/examples/comptrackedepcor.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f4427ce7cc8645b21b58f50daf418ba81de981de GIT binary patch literal 17120 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 TG)siU;L%7{X=#0P1J?fo_k`$- literal 0 HcmV?d00001 diff --git a/examples/comptrackeprcor.C b/examples/comptrackeprcor.C new file mode 100644 index 0000000..099541e --- /dev/null +++ b/examples/comptrackeprcor.C @@ -0,0 +1,61 @@ +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(); +} diff --git a/examples/comptrackeprcor.pdf b/examples/comptrackeprcor.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c08f6fdb0fec904e12a262ce6c2e196a533e5119 GIT binary patch literal 16208 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 PJBZeR$;%sA8N>b$pkUOV literal 0 HcmV?d00001 diff --git a/examples/output_52949.def b/examples/output_52949.def index 283b044..22c1ef5 100644 --- a/examples/output_52949.def +++ b/examples/output_52949.def @@ -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 TH1F trepr 'HMS PrSh Track Clust. Edep' H.cal.trepr 100 -0.1 0.811 H.dc.ntrack==1 -#Calorimeter ADC channels -TH1F hcaladc_A1p 'HMS Cal ADC A1p - PED' H.cal.1pr.apos_p[0] 150 50 500 -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 -TH1F hcaladc_A4p 'HMS Cal ADC A4p - PED' H.cal.1pr.apos_p[3] 150 50 500 -TH1F hcaladc_A5p 'HMS Cal ADC A5p - PED' H.cal.1pr.apos_p[4] 150 50 500 -TH1F hcaladc_A6p 'HMS Cal ADC A6p - PED' H.cal.1pr.apos_p[5] 150 50 500 -TH1F hcaladc_A7p 'HMS Cal ADC A7p - PED' H.cal.1pr.apos_p[6] 150 50 500 -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 -TH1F hcaladc_A10p 'HMS Cal ADC A10p - PED' H.cal.1pr.apos_p[9] 150 50 500 -TH1F hcaladc_A11p 'HMS Cal ADC A11p - PED' H.cal.1pr.apos_p[10] 150 50 500 -TH1F hcaladc_A12p 'HMS Cal ADC A12p - PED' H.cal.1pr.apos_p[11] 150 50 500 -TH1F hcaladc_A13p 'HMS Cal ADC A13p - PED' H.cal.1pr.apos_p[12] 150 50 500 -TH1F hcaladc_B1p 'HMS Cal ADC B1p - PED' H.cal.2ta.apos_p[0] 150 50 500 -TH1F hcaladc_B2p 'HMS Cal ADC B2p - PED' H.cal.2ta.apos_p[1] 150 50 500 -TH1F hcaladc_B3p 'HMS Cal ADC B3p - PED' H.cal.2ta.apos_p[2] 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_B6p 'HMS Cal ADC B6p - PED' H.cal.2ta.apos_p[5] 150 50 500 -TH1F hcaladc_B7p 'HMS Cal ADC B7p - PED' H.cal.2ta.apos_p[6] 150 50 500 -TH1F hcaladc_B8p 'HMS Cal ADC B8p - PED' H.cal.2ta.apos_p[7] 150 50 500 -TH1F hcaladc_B9p 'HMS Cal ADC B9p - PED' H.cal.2ta.apos_p[8] 150 50 500 -TH1F hcaladc_B10p 'HMS Cal ADC B10p - PED' H.cal.2ta.apos_p[9] 150 50 500 -TH1F hcaladc_B11p 'HMS Cal ADC B11p - PED' H.cal.2ta.apos_p[10] 150 50 500 -TH1F hcaladc_B12p 'HMS Cal ADC B12p - PED' H.cal.2ta.apos_p[11] 150 50 500 -TH1F hcaladc_B13p 'HMS Cal ADC B13p - PED' H.cal.2ta.apos_p[12] 150 50 500 - -TH1F hcaladc_C1p 'HMS Cal ADC C1p - PED' H.cal.3ta.apos_p[0] 150 50 500 -TH1F hcaladc_C2p 'HMS Cal ADC C2p - PED' H.cal.3ta.apos_p[1] 150 50 500 -TH1F hcaladc_C3p 'HMS Cal ADC C3p - PED' H.cal.3ta.apos_p[2] 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_C6p 'HMS Cal ADC C6p - PED' H.cal.3ta.apos_p[5] 150 50 500 -TH1F hcaladc_C7p 'HMS Cal ADC C7p - PED' H.cal.3ta.apos_p[6] 150 50 500 -TH1F hcaladc_C8p 'HMS Cal ADC C8p - PED' H.cal.3ta.apos_p[7] 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_C11p 'HMS Cal ADC C11p - PED' H.cal.3ta.apos_p[10] 150 50 500 -TH1F hcaladc_C12p 'HMS Cal ADC C12p - PED' H.cal.3ta.apos_p[11] 150 50 500 -TH1F hcaladc_C13p 'HMS Cal ADC C13p - PED' H.cal.3ta.apos_p[12] 150 50 500 - -TH1F hcaladc_D1p 'HMS Cal ADC D1p - PED' H.cal.4ta.apos_p[0] 150 50 500 -TH1F hcaladc_D2p 'HMS Cal ADC D2p - PED' H.cal.4ta.apos_p[1] 150 50 500 -TH1F hcaladc_D3p 'HMS Cal ADC D3p - PED' H.cal.4ta.apos_p[2] 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_D6p 'HMS Cal ADC D6p - PED' H.cal.4ta.apos_p[5] 150 50 500 -TH1F hcaladc_D7p 'HMS Cal ADC D7p - PED' H.cal.4ta.apos_p[6] 150 50 500 -TH1F hcaladc_D8p 'HMS Cal ADC D8p - PED' H.cal.4ta.apos_p[7] 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_D11p 'HMS Cal ADC D11p - PED' H.cal.4ta.apos_p[10] 150 50 500 -TH1F hcaladc_D12p 'HMS Cal ADC D12p - PED' H.cal.4ta.apos_p[11] 150 50 500 -TH1F hcaladc_D13p 'HMS Cal ADC D13p - PED' H.cal.4ta.apos_p[12] 150 50 500 - -TH1F hcaladc_A1n 'HMS Cal ADC A1n - PED' H.cal.1pr.aneg_p[0] 150 50 500 -TH1F hcaladc_A2n 'HMS Cal ADC A2n - PED' H.cal.1pr.aneg_p[1] 150 50 500 -TH1F hcaladc_A3n 'HMS Cal ADC A3n - PED' H.cal.1pr.aneg_p[2] 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_A6n 'HMS Cal ADC A6n - PED' H.cal.1pr.aneg_p[5] 150 50 500 -TH1F hcaladc_A7n 'HMS Cal ADC A7n - PED' H.cal.1pr.aneg_p[6] 150 50 500 -TH1F hcaladc_A8n 'HMS Cal ADC A8n - PED' H.cal.1pr.aneg_p[7] 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_A11n 'HMS Cal ADC A11n - PED' H.cal.1pr.aneg_p[10] 150 50 500 -TH1F hcaladc_A12n 'HMS Cal ADC A12n - PED' H.cal.1pr.aneg_p[11] 150 50 500 -TH1F hcaladc_A13n 'HMS Cal ADC A13n - PED' H.cal.1pr.aneg_p[12] 150 50 500 - -TH1F hcaladc_B1n 'HMS Cal ADC B1n - PED' H.cal.2ta.aneg_p[0] 150 50 500 -TH1F hcaladc_B2n 'HMS Cal ADC B2n - PED' H.cal.2ta.aneg_p[1] 150 50 500 -TH1F hcaladc_B3n 'HMS Cal ADC B3n - PED' H.cal.2ta.aneg_p[2] 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 +# Coordinate corrected energy deposition from the main track (currently first) +TH1F trecor 'HMS Cal Track Edep' H.cal.trecor 200 -0.1 1.622 H.dc.ntrack==1 + +# Coordinate corrected preshower energy from the main track (currently first) +TH1F treprcor 'HMS PrSh Track Edep' H.cal.treprcor 100 -0.1 0.811 H.dc.ntrack==1 +# Coordinate corrected energy deposition from the main track (currently first) +# in the planes. Currently works for the 1-st pnae only. +TH1F treplcor 'HMS Cal Track E1' H.cal.treplcor 100 -0.1 0.811 H.dc.ntrack==1 + +# Calorimeter ADC channels +#TH1F hcaladc_A1p 'HMS Cal ADC A1p - PED' H.cal.1pr.apos_p[0] 150 50 500 +#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 +#TH1F hcaladc_A4p 'HMS Cal ADC A4p - PED' H.cal.1pr.apos_p[3] 150 50 500 +#TH1F hcaladc_A5p 'HMS Cal ADC A5p - PED' H.cal.1pr.apos_p[4] 150 50 500 +#TH1F hcaladc_A6p 'HMS Cal ADC A6p - PED' H.cal.1pr.apos_p[5] 150 50 500 +#TH1F hcaladc_A7p 'HMS Cal ADC A7p - PED' H.cal.1pr.apos_p[6] 150 50 500 +#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 +#TH1F hcaladc_A10p 'HMS Cal ADC A10p - PED' H.cal.1pr.apos_p[9] 150 50 500 +#TH1F hcaladc_A11p 'HMS Cal ADC A11p - PED' H.cal.1pr.apos_p[10] 150 50 500 +#TH1F hcaladc_A12p 'HMS Cal ADC A12p - PED' H.cal.1pr.apos_p[11] 150 50 500 +#TH1F hcaladc_A13p 'HMS Cal ADC A13p - PED' H.cal.1pr.apos_p[12] 150 50 500 +#TH1F hcaladc_B1p 'HMS Cal ADC B1p - PED' H.cal.2ta.apos_p[0] 150 50 500 +#TH1F hcaladc_B2p 'HMS Cal ADC B2p - PED' H.cal.2ta.apos_p[1] 150 50 500 +#TH1F hcaladc_B3p 'HMS Cal ADC B3p - PED' H.cal.2ta.apos_p[2] 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_B6p 'HMS Cal ADC B6p - PED' H.cal.2ta.apos_p[5] 150 50 500 +#TH1F hcaladc_B7p 'HMS Cal ADC B7p - PED' H.cal.2ta.apos_p[6] 150 50 500 +#TH1F hcaladc_B8p 'HMS Cal ADC B8p - PED' H.cal.2ta.apos_p[7] 150 50 500 +#TH1F hcaladc_B9p 'HMS Cal ADC B9p - PED' H.cal.2ta.apos_p[8] 150 50 500 +#TH1F hcaladc_B10p 'HMS Cal ADC B10p - PED' H.cal.2ta.apos_p[9] 150 50 500 +#TH1F hcaladc_B11p 'HMS Cal ADC B11p - PED' H.cal.2ta.apos_p[10] 150 50 500 +#TH1F hcaladc_B12p 'HMS Cal ADC B12p - PED' H.cal.2ta.apos_p[11] 150 50 500 +#TH1F hcaladc_B13p 'HMS Cal ADC B13p - PED' H.cal.2ta.apos_p[12] 150 50 500 + +#TH1F hcaladc_C1p 'HMS Cal ADC C1p - PED' H.cal.3ta.apos_p[0] 150 50 500 +#TH1F hcaladc_C2p 'HMS Cal ADC C2p - PED' H.cal.3ta.apos_p[1] 150 50 500 +#TH1F hcaladc_C3p 'HMS Cal ADC C3p - PED' H.cal.3ta.apos_p[2] 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_C6p 'HMS Cal ADC C6p - PED' H.cal.3ta.apos_p[5] 150 50 500 +#TH1F hcaladc_C7p 'HMS Cal ADC C7p - PED' H.cal.3ta.apos_p[6] 150 50 500 +#TH1F hcaladc_C8p 'HMS Cal ADC C8p - PED' H.cal.3ta.apos_p[7] 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_C11p 'HMS Cal ADC C11p - PED' H.cal.3ta.apos_p[10] 150 50 500 +#TH1F hcaladc_C12p 'HMS Cal ADC C12p - PED' H.cal.3ta.apos_p[11] 150 50 500 +#TH1F hcaladc_C13p 'HMS Cal ADC C13p - PED' H.cal.3ta.apos_p[12] 150 50 500 + +#TH1F hcaladc_D1p 'HMS Cal ADC D1p - PED' H.cal.4ta.apos_p[0] 150 50 500 +#TH1F hcaladc_D2p 'HMS Cal ADC D2p - PED' H.cal.4ta.apos_p[1] 150 50 500 +#TH1F hcaladc_D3p 'HMS Cal ADC D3p - PED' H.cal.4ta.apos_p[2] 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_D6p 'HMS Cal ADC D6p - PED' H.cal.4ta.apos_p[5] 150 50 500 +#TH1F hcaladc_D7p 'HMS Cal ADC D7p - PED' H.cal.4ta.apos_p[6] 150 50 500 +#TH1F hcaladc_D8p 'HMS Cal ADC D8p - PED' H.cal.4ta.apos_p[7] 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_D11p 'HMS Cal ADC D11p - PED' H.cal.4ta.apos_p[10] 150 50 500 +#TH1F hcaladc_D12p 'HMS Cal ADC D12p - PED' H.cal.4ta.apos_p[11] 150 50 500 +#TH1F hcaladc_D13p 'HMS Cal ADC D13p - PED' H.cal.4ta.apos_p[12] 150 50 500 + +#TH1F hcaladc_A1n 'HMS Cal ADC A1n - PED' H.cal.1pr.aneg_p[0] 150 50 500 +#TH1F hcaladc_A2n 'HMS Cal ADC A2n - PED' H.cal.1pr.aneg_p[1] 150 50 500 +#TH1F hcaladc_A3n 'HMS Cal ADC A3n - PED' H.cal.1pr.aneg_p[2] 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_A6n 'HMS Cal ADC A6n - PED' H.cal.1pr.aneg_p[5] 150 50 500 +#TH1F hcaladc_A7n 'HMS Cal ADC A7n - PED' H.cal.1pr.aneg_p[6] 150 50 500 +#TH1F hcaladc_A8n 'HMS Cal ADC A8n - PED' H.cal.1pr.aneg_p[7] 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_A11n 'HMS Cal ADC A11n - PED' H.cal.1pr.aneg_p[10] 150 50 500 +#TH1F hcaladc_A12n 'HMS Cal ADC A12n - PED' H.cal.1pr.aneg_p[11] 150 50 500 +#TH1F hcaladc_A13n 'HMS Cal ADC A13n - PED' H.cal.1pr.aneg_p[12] 150 50 500 + +#TH1F hcaladc_B1n 'HMS Cal ADC B1n - PED' H.cal.2ta.aneg_p[0] 150 50 500 +#TH1F hcaladc_B2n 'HMS Cal ADC B2n - PED' H.cal.2ta.aneg_p[1] 150 50 500 +#TH1F hcaladc_B3n 'HMS Cal ADC B3n - PED' H.cal.2ta.aneg_p[2] 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) # diff --git a/src/THcShower.cxx b/src/THcShower.cxx index 36fc4a5..167807d 100644 --- a/src/THcShower.cxx +++ b/src/THcShower.cxx @@ -410,6 +410,12 @@ Int_t THcShower::ReadDatabase( const TDatime& date ) 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, // or at the middle of the front plane of the 1-st layer. // @@ -462,8 +468,8 @@ Int_t THcShower::DefineVariables( EMode mode ) // { "asum_p", "Sum of ped-subtracted ADCs", "fAsum_p" }, // { "asum_c", "Sum of calibrated ADCs", "fAsum_c" }, { "nclust", "Number of clusters", "fNclust" }, - { "emax", "Energy (MeV) of largest cluster", "fE" }, - { "eprmax", "Preshower Energy (MeV) of largest cluster", "fEpr" }, + { "emax", "Energy of largest cluster", "fE" }, + { "eprmax", "Preshower Energy of largest cluster", "fEpr" }, { "xmax", "x-position (cm) of largest cluster", "fX" }, // { "z", "z-position (cm) of largest cluster", "fZ" }, { "mult", "Multiplicity of largest cluster", "fMult" }, @@ -473,10 +479,28 @@ Int_t THcShower::DefineVariables( EMode mode ) { "try", "track y-position in det plane (1st track)", "fTRY" }, { "tre", "track energy in the calorimeter (1st track)", "fTRE" }, { "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 } }; 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; } @@ -530,8 +554,15 @@ void THcShower::Clear(Option_t* opt) fX = -75.; //out of acceptance fTRX = -75.; //out of acceptance fTRY = -40.; //out of acceptance - fTRE = -1.; - fTREpr = -1.; + fTRE = -0.; + 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) 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) { - cout << " Track " << i << ": " + cout << " Track " << itrk << ": " << " X = " << theTrack->GetX() << " Y = " << theTrack->GetY() << " Theta = " << theTrack->GetTheta() @@ -751,22 +782,67 @@ Int_t THcShower::CoarseProcess( TClonesArray& tracks) << endl; } - Double_t Xtr; - Double_t Ytr; + Double_t Xtr = -75.; + Double_t Ytr = -40.; Int_t mclust = MatchCluster(theTrack, ClusterList, Xtr, Ytr); - if (i==0) { + if (itrk==0) { + fTRX = Xtr; fTRY = Ytr; + if (mclust >= 0) { + THcShowerCluster* cluster = (*ClusterList).ListedCluster(mclust); fTRE = (*cluster).clE(); 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) cout << "1st track cluster: fTRX = " << fTRX << " fTRY = " << fTRY diff --git a/src/THcShower.h b/src/THcShower.h index 28b710c..0452731 100644 --- a/src/THcShower.h +++ b/src/THcShower.h @@ -12,6 +12,7 @@ #include "THcHitList.h" #include "THcShowerPlane.h" #include "THcShowerCluster.h" +#include "TMath.h" class THaScCalib; @@ -88,6 +89,27 @@ public: 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 protected: @@ -106,8 +128,8 @@ protected: Int_t fNhits; // Total number of hits Int_t fNclust; // Number of clusters - Double_t fE; // Energy (MeV) of the largest cluster - Double_t fEpr; // Preshower Energy (MeV) of the largest cluster + Double_t fE; // Energy 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 fZ; // z-position (cm) of the largest cluster Int_t fMult; // # of hits in the largest cluster @@ -115,8 +137,13 @@ protected: // Double_t* fEblk; // Energies of blocks in main cluster Double_t fTRX; // track x-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 fTREpr; // Preshower Energy (MeV) of the track's cluster + Double_t fTRE; // Energy of the cluster associated to track + 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 diff --git a/src/THcShowerCluster.h b/src/THcShowerCluster.h index 9f0ff50..5705abb 100644 --- a/src/THcShowerCluster.h +++ b/src/THcShowerCluster.h @@ -109,7 +109,7 @@ class THcShowerCluster : THcShowerHitList { 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; return -1; } diff --git a/src/THcShowerPlane.cxx b/src/THcShowerPlane.cxx index b90f01d..bdca666 100644 --- a/src/THcShowerPlane.cxx +++ b/src/THcShowerPlane.cxx @@ -207,7 +207,7 @@ Int_t THcShowerPlane::DefineVariables( EMode mode ) {"aneg_p", "Ped-subtracted Negative ADC Amplitudes", "fA_Neg_p"}, {"epos", "Energy Depositions from Positive Side PMTs", "fEpos"}, {"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_pos", "Energy Deposition per plane from pos. PMTs","fEplane_pos"}, {"eplane_neg", "Energy Deposition per plane from neg. PMTs","fEplane_neg"}, -- GitLab