From 8fa21f7d83173f2ee9d4522c45674434053a86d7 Mon Sep 17 00:00:00 2001 From: Eric Pooser <pooser@jlab.org> Date: Tue, 21 Feb 2017 18:06:52 -0500 Subject: [PATCH] Add more variables to eventually histogram --- onlineGUI/Macros/kpp_analysis.C | 79 +++++++++++++++++++++------------ 1 file changed, 51 insertions(+), 28 deletions(-) diff --git a/onlineGUI/Macros/kpp_analysis.C b/onlineGUI/Macros/kpp_analysis.C index 519ab6ba..9c853780 100644 --- a/onlineGUI/Macros/kpp_analysis.C +++ b/onlineGUI/Macros/kpp_analysis.C @@ -6,18 +6,30 @@ void UserScript() { static const Double_t clk2adc = 0.0625; static const UInt_t ndcRefTimes = 10; + static const UInt_t nbars_1x = 13; + static const UInt_t nbars_1y = 13; + static const UInt_t nbars_2x = 14; + static const UInt_t nbars_2y = 21; + + static const UInt_t maxTdcHits = 128; + static const UInt_t maxAdcHits = 4; + // Declare variables Double_t p1X_tdcTime, p1Y_tdcTime, p2X_tdcTime, p2Y_tdcTime; Double_t p1T_tdcTime, p2T_tdcTime; Double_t pT1_tdcTime, pT2_tdcTime, pT3_tdcTime; Double_t pDCREF_tdcTime[ndcRefTimes]; Double_t p1X_nGoodHodoHits, p1Y_nGoodHodoHits, p2X_nGoodHodoHits, p2Y_nGoodHodoHits; - Int_t p1X_negAdcHits, p1Y_negAdcHits, p2X_negAdcHits, p2Y_negAdcHits; - Int_t p1X_negTdcHits, p1Y_negTdcHits, p2X_negTdcHits, p2Y_negTdcHits; - Double_t p1X_negAdcPaddle, p1Y_negAdcPaddle, p2X_negAdcPaddle, p2Y_negAdcPaddle; - Double_t p1X_negTdcPaddle, p1Y_negTdcPaddle, p2X_negTdcPaddle, p2Y_negTdcPaddle; - Double_t p1X_negAdcPulseTime, p1Y_negAdcPulseTime, p2X_negAdcPulseTime, p2Y_negAdcPulseTime; - Double_t p1X_negTdcTime, p1Y_negTdcTime, p2X_negTdcTime, p2Y_negTdcTime; + Int_t p1X_negAdcHits, p1Y_negAdcHits, p2X_negAdcHits, p2Y_negAdcHits; + Int_t p1X_negTdcHits, p1Y_negTdcHits, p2X_negTdcHits, p2Y_negTdcHits; + Double_t p1X_negAdcPaddle[maxAdcHits*nbars_1x], p1Y_negAdcPaddle[maxAdcHits*nbars_1y]; + Double_t p2X_negAdcPaddle[maxAdcHits*nbars_2x], p2Y_negAdcPaddle[maxAdcHits*nbars_2y]; + Double_t p1X_negTdcPaddle[maxTdcHits*nbars_1x], p1Y_negTdcPaddle[maxTdcHits*nbars_1y]; + Double_t p2X_negTdcPaddle[maxTdcHits*nbars_2x], p2Y_negTdcPaddle[maxTdcHits*nbars_2y]; + Double_t p1X_negAdcPulseTime[maxAdcHits*nbars_1x], p1Y_negAdcPulseTime[maxAdcHits*nbars_1y]; + Double_t p2X_negAdcPulseTime[maxAdcHits*nbars_2x], p2Y_negAdcPulseTime[maxAdcHits*nbars_2y]; + Double_t p1X_negTdcTime[maxTdcHits*nbars_1x], p1Y_negTdcTime[maxTdcHits*nbars_1y]; + Double_t p2X_negTdcTime[maxTdcHits*nbars_2x], p2Y_negTdcTime[maxTdcHits*nbars_2y]; Double_t p1X_fpTime, p1Y_fpTime, p2X_fpTime, p2Y_fpTime; Long64_t nentries; @@ -29,7 +41,7 @@ void UserScript() { TH1F *h_p1XmpT3_tdc, *h_p1YmpT3_tdc, *h_p2XmpT3_tdc, *h_p2YmpT3_tdc; TH1F *h_p1TmpT2_tdc, *h_p2TmpT2_tdc, *h_p1TmpT3_tdc, *h_p2TmpT3_tdc; TH1F *h_pDCREF_tdc[ndcRefTimes]; - //TH1F *h_p1Xneg_pt_tt_diff, *h_p1Yneg_pt_tt_diff, *h_p2Xneg_pt_tt_diff, *h_p2Yneg_pt_tt_diff; + TH1F *h_p1Xneg_pt_tt_diff, *h_p1Yneg_pt_tt_diff, *h_p2Xneg_pt_tt_diff, *h_p2Yneg_pt_tt_diff; TH1F *h_p1X_fpTime, *h_p1Y_fpTime, *h_p2X_fpTime, *h_p2Y_fpTime; // Declare trees @@ -39,6 +51,7 @@ void UserScript() { nentries = T->GetEntries(); // Acquire the branches + // Trigger time information T->SetBranchAddress("T.shms.p1X_tdcTime", &p1X_tdcTime); T->SetBranchAddress("T.shms.p1Y_tdcTime", &p1Y_tdcTime); T->SetBranchAddress("T.shms.p2X_tdcTime", &p2X_tdcTime); @@ -48,40 +61,45 @@ void UserScript() { T->SetBranchAddress("T.shms.pT1_tdcTime", &pT1_tdcTime); T->SetBranchAddress("T.shms.pT2_tdcTime", &pT2_tdcTime); T->SetBranchAddress("T.shms.pT3_tdcTime", &pT3_tdcTime); + // DC reference times for (UInt_t iref = 0; iref < ndcRefTimes; iref++) T->SetBranchAddress(Form("T.shms.pDCREF%d_tdcTime", iref+1), &pDCREF_tdcTime[iref]); + // Number of "good" hodoscope hits T->SetBranchAddress("P.hod.1x.ngoodhits", &p1X_nGoodHodoHits); T->SetBranchAddress("P.hod.1y.ngoodhits", &p1Y_nGoodHodoHits); T->SetBranchAddress("P.hod.2x.ngoodhits", &p2X_nGoodHodoHits); T->SetBranchAddress("P.hod.2y.ngoodhits", &p2Y_nGoodHodoHits); - // T->SetBranchAddress("P.hod.1x.negAdcPulseTimeRaw", &p1X_negAdcPulseTime); - // T->SetBranchAddress("P.hod.1y.negAdcPulseTimeRaw", &p1Y_negAdcPulseTime); - // T->SetBranchAddress("P.hod.2x.negAdcPulseTimeRaw", &p2X_negAdcPulseTime); - // T->SetBranchAddress("P.hod.2y.negAdcPulseTimeRaw", &p2Y_negAdcPulseTime); - // T->SetBranchAddress("P.hod.1x.negTdcTime", &p1X_negTdcTime); - // T->SetBranchAddress("P.hod.1y.negTdcTime", &p1Y_negTdcTime); - // T->SetBranchAddress("P.hod.2x.negTdcTime", &p2X_negTdcTime); - // T->SetBranchAddress("P.hod.2y.negTdcTime", &p2Y_negTdcTime); + // Hodoscope focal plane time calculation T->SetBranchAddress("P.hod.1x.fptime", &p1X_fpTime); T->SetBranchAddress("P.hod.1y.fptime", &p1Y_fpTime); T->SetBranchAddress("P.hod.2x.fptime", &p2X_fpTime); T->SetBranchAddress("P.hod.2y.fptime", &p2Y_fpTime); - // T->SetBranchAddress("P.hod.1x.negAdcCounter", &p1X_negAdcPaddle); - // T->SetBranchAddress("P.hod.1y.negAdcCounter", &p1Y_negAdcPaddle); - // T->SetBranchAddress("P.hod.2x.negAdcCounter", &p2X_negAdcPaddle); - // T->SetBranchAddress("P.hod.2y.negAdcCounter", &p2Y_negAdcPaddle); - // T->SetBranchAddress("P.hod.1x.negTdcCounter", &p1X_negTdcPaddle); - // T->SetBranchAddress("P.hod.1y.negTdcCounter", &p1Y_negTdcPaddle); - // T->SetBranchAddress("P.hod.2x.negTdcCounter", &p2X_negTdcPaddle); - // T->SetBranchAddress("P.hod.2y.negTdcCounter", &p2Y_negTdcPaddle); + // Hodoscope ADC information T->SetBranchAddress("Ndata.P.hod.1x.negAdcCounter", &p1X_negAdcHits); T->SetBranchAddress("Ndata.P.hod.1y.negAdcCounter", &p1Y_negAdcHits); T->SetBranchAddress("Ndata.P.hod.2x.negAdcCounter", &p2X_negAdcHits); T->SetBranchAddress("Ndata.P.hod.2y.negAdcCounter", &p2Y_negAdcHits); + T->SetBranchAddress("P.hod.1x.negAdcCounter", p1X_negAdcPaddle); + T->SetBranchAddress("P.hod.1y.negAdcCounter", p1Y_negAdcPaddle); + T->SetBranchAddress("P.hod.2x.negAdcCounter", p2X_negAdcPaddle); + T->SetBranchAddress("P.hod.2y.negAdcCounter", p2Y_negAdcPaddle); + T->SetBranchAddress("P.hod.1x.negAdcPulseTimeRaw", p1X_negAdcPulseTime); + T->SetBranchAddress("P.hod.1y.negAdcPulseTimeRaw", p1Y_negAdcPulseTime); + T->SetBranchAddress("P.hod.2x.negAdcPulseTimeRaw", p2X_negAdcPulseTime); + T->SetBranchAddress("P.hod.2y.negAdcPulseTimeRaw", p2Y_negAdcPulseTime); + // Hodoscope TDC information T->SetBranchAddress("Ndata.P.hod.1x.negTdcCounter", &p1X_negTdcHits); T->SetBranchAddress("Ndata.P.hod.1y.negTdcCounter", &p1Y_negTdcHits); T->SetBranchAddress("Ndata.P.hod.2x.negTdcCounter", &p2X_negTdcHits); T->SetBranchAddress("Ndata.P.hod.2y.negTdcCounter", &p2Y_negTdcHits); + T->SetBranchAddress("P.hod.1x.negTdcCounter", p1X_negTdcPaddle); + T->SetBranchAddress("P.hod.1y.negTdcCounter", p1Y_negTdcPaddle); + T->SetBranchAddress("P.hod.2x.negTdcCounter", p2X_negTdcPaddle); + T->SetBranchAddress("P.hod.2y.negTdcCounter", p2Y_negTdcPaddle); + T->SetBranchAddress("P.hod.1x.negTdcTime", p1X_negTdcTime); + T->SetBranchAddress("P.hod.1y.negTdcTime", p1Y_negTdcTime); + T->SetBranchAddress("P.hod.2x.negTdcTime", p2X_negTdcTime); + T->SetBranchAddress("P.hod.2y.negTdcTime", p2Y_negTdcTime); // Create histos h_p1X_tdc = new TH1F("h_p1X_tdc", "S1X Coincidence Time; TDC Time (ns); Counts / 1 ns", 200, 0, 200); @@ -107,10 +125,10 @@ void UserScript() { h_p2YmpT3_tdc = new TH1F("h_p2YmpT3_tdc", "Hodoscope Trigger (Slot 19 Channel 38) - S2Y; TDC Time (ns); Counts / 1 ns", 200, 0, 200); h_p1TmpT3_tdc = new TH1F("h_p1TmpT3_tdc", "Hodoscope Trigger (Slot 19 Channel 38) - S1; TDC Time (ns); Counts / 1 ns", 200, 0, 200); h_p2TmpT3_tdc = new TH1F("h_p2TmpT3_tdc", "Hodoscope Trigger (Slot 19 Channel 38) - S2; TDC Time (ns); Counts / 1 ns", 200, 0, 200); - // h_p1Xneg_pt_tt_diff = new TH1F("h_p1Xneg_pt_tt_diff", "S1X- Pulse Time - TDC Time; Pulse Time - TDC Time (ns); Counts / 1 ns", 500, -250, 250); - // h_p1Yneg_pt_tt_diff = new TH1F("h_p1Yneg_pt_tt_diff", "S1Y- Pulse Time - TDC Time; Pulse Time - TDC Time (ns); Counts / 1 ns", 500, -250, 250); - // h_p2Xneg_pt_tt_diff = new TH1F("h_p2Xneg_pt_tt_diff", "S2X- Pulse Time - TDC Time; Pulse Time - TDC Time (ns); Counts / 1 ns", 500, -250, 250); - // h_p2Yneg_pt_tt_diff = new TH1F("h_p2Yneg_pt_tt_diff", "S2Y- Pulse Time - TDC Time; Pulse Time - TDC Time (ns); Counts / 1 ns", 500, -250, 250); + h_p1Xneg_pt_tt_diff = new TH1F("h_p1Xneg_pt_tt_diff", "S1X- Pulse Time - TDC Time; Pulse Time - TDC Time (ns); Counts / 1 ns", 500, -250, 250); + h_p1Yneg_pt_tt_diff = new TH1F("h_p1Yneg_pt_tt_diff", "S1Y- Pulse Time - TDC Time; Pulse Time - TDC Time (ns); Counts / 1 ns", 500, -250, 250); + h_p2Xneg_pt_tt_diff = new TH1F("h_p2Xneg_pt_tt_diff", "S2X- Pulse Time - TDC Time; Pulse Time - TDC Time (ns); Counts / 1 ns", 500, -250, 250); + h_p2Yneg_pt_tt_diff = new TH1F("h_p2Yneg_pt_tt_diff", "S2Y- Pulse Time - TDC Time; Pulse Time - TDC Time (ns); Counts / 1 ns", 500, -250, 250); h_p1X_fpTime = new TH1F("h_p1X_fpTime", "S1X Focal Plane Time; TDC Time (ns); Counts / 1ns", 100, 0, 100); h_p1Y_fpTime = new TH1F("h_p1Y_fpTime", "S1Y Focal Plane Time; TDC Time (ns); Counts / 1ns", 100, 0, 100); h_p2X_fpTime = new TH1F("h_p2X_fpTime", "S2X Focal Plane Time; TDC Time (ns); Counts / 1ns", 100, 0, 100); @@ -122,7 +140,8 @@ void UserScript() { T->GetEntry(ievent); - //if (p1X_nGoodHodoHits < 1 || p1Y_nGoodHodoHits < 1 || p2X_nGoodHodoHits < 1 || p2Y_nGoodHodoHits < 1) continue; + //cout << p1X_negAdcPaddle[0] << "\t" << p1X_negAdcPaddle[1] << endl; + if (p1X_nGoodHodoHits != 1 || p1Y_nGoodHodoHits != 1 || p2X_nGoodHodoHits != 1 || p2Y_nGoodHodoHits != 1) continue; // Fill histos @@ -143,6 +162,10 @@ void UserScript() { h_p1X_fpTime->Fill(p1X_fpTime); h_p1Y_fpTime->Fill(p1Y_fpTime); h_p2X_fpTime->Fill(p2X_fpTime); h_p2Y_fpTime->Fill(p2Y_fpTime); + // for (UInt_t ihit = 0; ihit < p1X_negAdcHits; ihit++){ + // //T->SetBranchAddress("P.hod.1x.negAdcCounter", &p1X_negAdcPaddle[ihit]); + // } + } // Entries loop } // UserScript function -- GitLab