Skip to content
Snippets Groups Projects
Commit 226a9597 authored by Eric Pooser's avatar Eric Pooser
Browse files

Added more histos

parent f721b198
No related branches found
No related tags found
No related merge requests found
......@@ -4,22 +4,24 @@ block T.shms.*
#block P.ngcer.*
#block P.dc.*
#block P.tr.*
#block P.hod.*
block P.hod.*
#block P.hgcer.*
#block P.aero.*
#block P.cal.*
#block P.gtr.*
#TH1F hptrig2_minus_p1x 'SHMS Trigger 2 - p1X TDC; TDC Time (ns); Counts / 1 ns' (T.shms.pT2_tdcTime-T.shms.p1X_tdcTime[0])*0.1 150 0 150 T.shms.pT2_tdcMultiplicity==1
#TH1F hptrig2_minus_p1y 'SHMS Trigger 2 - p1Y TDC; TDC Time (ns); Counts / 1 ns' (T.shms.pT2_tdcTime-T.shms.p1Y_tdcTime[0])*0.1 150 0 150 T.shms.pT2_tdcMultiplicity==1
#TH1F hptrig2_minus_p2x 'SHMS Trigger 2 - p2X TDC; TDC Time (ns); Counts / 1 ns' (T.shms.pT2_tdcTime-T.shms.p2X_tdcTime[0])*0.1 150 0 150 T.shms.pT2_tdcMultiplicity==1
#TH1F hptrig2_minus_p2y 'SHMS Trigger 2 - p2Y TDC; TDC Time (ns); Counts / 1 ns' (T.shms.pT2_tdcTime-T.shms.p2Y_tdcTime[0])*0.1 150 0 150 T.shms.pT2_tdcMultiplicity==1
#TH1F hptrig2_minus_ps1 'SHMS Trigger 2 - pS1 TDC; TDC Time (ns); Counts / 1 ns' (T.shms.pT2_tdcTime-T.shms.p1T_tdcTime[0])*0.1 150 0 150 T.shms.pT2_tdcMultiplicity==1
#TH1F hptrig2_minus_ps2 'SHMS Trigger 2 - pS2 TDC; TDC Time (ns); Counts / 1 ns' (T.shms.pT2_tdcTime-T.shms.p2T_tdcTime[0])*0.1 150 0 150 T.shms.pT2_tdcMultiplicity==1
TH1F hptrig2_minus_p1x 'SHMS Trigger 2 - p1X TDC; TDC Time (ns); Counts / 1 ns' (T.shms.pT2_tdcTime-T.shms.p1X_tdcTime)*0.1 150 0 150
TH1F hptrig2_minus_p1y 'SHMS Trigger 2 - p1Y TDC; TDC Time (ns); Counts / 1 ns' (T.shms.pT2_tdcTime-T.shms.p1Y_tdcTime)*0.1 150 0 150
TH1F hptrig2_minus_p2x 'SHMS Trigger 2 - p2X TDC; TDC Time (ns); Counts / 1 ns' (T.shms.pT2_tdcTime-T.shms.p2X_tdcTime)*0.1 150 0 150
TH1F hptrig2_minus_p2y 'SHMS Trigger 2 - p2Y TDC; TDC Time (ns); Counts / 1 ns' (T.shms.pT2_tdcTime-T.shms.p2Y_tdcTime)*0.1 150 0 150
TH1F hptrig2_minus_ps1 'SHMS Trigger 2 - pS1 TDC; TDC Time (ns); Counts / 1 ns' (T.shms.pT2_tdcTime-T.shms.p1T_tdcTime)*0.1 150 0 150
TH1F hptrig2_minus_ps2 'SHMS Trigger 2 - pS2 TDC; TDC Time (ns); Counts / 1 ns' (T.shms.pT2_tdcTime-T.shms.p2T_tdcTime)*0.1 150 0 150
#TH1F hptrig3_minus_p1x 'SHMS Trigger 3 - p1X TDC; TDC Time (ns); Counts / 1 ns' (T.shms.pT3_tdcTime-T.shms.p1X_tdcTime[0])*0.1 150 0 150 T.shms.pT3_tdcMultiplicity==1
#TH1F hptrig3_minus_p1y 'SHMS Trigger 3 - p1Y TDC; TDC Time (ns); Counts / 1 ns' (T.shms.pT3_tdcTime-T.shms.p1Y_tdcTime[0])*0.1 150 0 150 T.shms.pT3_tdcMultiplicity==1
#TH1F hptrig3_minus_p2x 'SHMS Trigger 3 - p2X TDC; TDC Time (ns); Counts / 1 ns' (T.shms.pT3_tdcTime-T.shms.p2X_tdcTime[0])*0.1 150 0 150 T.shms.pT3_tdcMultiplicity==1
#TH1F hptrig3_minus_p2y 'SHMS Trigger 3 - p2Y TDC; TDC Time (ns); Counts / 1 ns' (T.shms.pT3_tdcTime-T.shms.p2Y_tdcTime[0])*0.1 150 0 150 T.shms.pT3_tdcMultiplicity==1
#TH1F hptrig2_minus_ps1 'SHMS Trigger 3 - pS1 TDC; TDC Time (ns); Counts / 1 ns' (T.shms.pT3_tdcTime-T.shms.p1T_tdcTime[0])*0.1 150 0 150 T.shms.pT3_tdcMultiplicity==1
#TH1F hptrig2_minus_ps2 'SHMS Trigger 3 - pS2 TDC; TDC Time (ns); Counts / 1 ns' (T.shms.pT3_tdcTime-T.shms.p2T_tdcTime[0])*0.1 150 0 150 T.shms.pT3_tdcMultiplicity==1
\ No newline at end of file
TH1F hptrig3_minus_p1x 'SHMS Trigger 3 - p1X TDC; TDC Time (ns); Counts / 1 ns' (T.shms.pT3_tdcTime-T.shms.p1X_tdcTime)*0.1 150 0 150
TH1F hptrig3_minus_p1y 'SHMS Trigger 3 - p1Y TDC; TDC Time (ns); Counts / 1 ns' (T.shms.pT3_tdcTime-T.shms.p1Y_tdcTime)*0.1 150 0 150
TH1F hptrig3_minus_p2x 'SHMS Trigger 3 - p2X TDC; TDC Time (ns); Counts / 1 ns' (T.shms.pT3_tdcTime-T.shms.p2X_tdcTime)*0.1 150 0 150
TH1F hptrig3_minus_p2y 'SHMS Trigger 3 - p2Y TDC; TDC Time (ns); Counts / 1 ns' (T.shms.pT3_tdcTime-T.shms.p2Y_tdcTime)*0.1 150 0 150
TH1F hptrig3_minus_ps1 'SHMS Trigger 3 - pS1 TDC; TDC Time (ns); Counts / 1 ns' (T.shms.pT3_tdcTime-T.shms.p1T_tdcTime)*0.1 150 0 150
TH1F hptrig3_minus_ps2 'SHMS Trigger 3 - pS2 TDC; TDC Time (ns); Counts / 1 ns' (T.shms.pT3_tdcTime-T.shms.p2T_tdcTime)*0.1 150 0 150
TH1F hptrig3_minus_ptrig2 'test' (T.shms.pT3_tdcTime-T.shms.pT2_tdcTime)*0.1 2000 -1000 1000
\ No newline at end of file
protorootfile ../ROOTfiles/shms_replay_XXXXX.root
guicolor lightblue
canvassize 1600 800
newpage 4 4
title poop
canvassize 800 800
definecut 1x_goodHitCut P.hod.1x.ngoodhits>1
definecut 1y_goodHitCut P.hod.1y.ngoodhits>1
definecut 2x_goodHitCut P.hod.2x.ngoodhits>1
definecut 2y_goodHitCut P.hod.2y.ngoodhits>1
newpage 3 3 logy
title Trigger Times
macro Macros/kpp_analysis.C("h_p1X_tdc")
macro Macros/kpp_analysis.C("h_p1Y_tdc")
macro Macros/kpp_analysis.C("h_p2X_tdc")
macro Macros/kpp_analysis.C("h_p2Y_tdc")
macro Macros/kpp_analysis.C("h_p1T_tdc")
macro Macros/kpp_analysis.C("h_p2T_tdc")
macro Macros/kpp_analysis.C("h_pT1_tdc")
macro Macros/kpp_analysis.C("h_pT2_tdc")
macro Macros/kpp_analysis.C("h_pT3_tdc")
newpage 4 3 logy
title DC Reference Times
macro Macros/kpp_analysis.C("h_pDCREF1_tdc")
macro Macros/kpp_analysis.C("h_pDCREF2_tdc")
macro Macros/kpp_analysis.C("h_pDCREF3_tdc")
macro Macros/kpp_analysis.C("h_pDCREF4_tdc")
macro Macros/kpp_analysis.C("h_pDCREF5_tdc")
macro Macros/kpp_analysis.C("h_pDCREF6_tdc")
macro Macros/kpp_analysis.C("h_pDCREF7_tdc")
macro Macros/kpp_analysis.C("h_pDCREF8_tdc")
macro Macros/kpp_analysis.C("h_pDCREF9_tdc")
macro Macros/kpp_analysis.C("h_pDCREF10_tdc")
newpage 4 3 logy
title Hodoscope Plane Reference Times
macro Macros/kpp_analysis.C("h_p1XmpT2_tdc")
macro Macros/kpp_analysis.C("h_p1YmpT2_tdc")
macro Macros/kpp_analysis.C("h_p2XmpT2_tdc")
macro Macros/kpp_analysis.C("h_p2YmpT2_tdc")
macro Macros/kpp_analysis.C("h_p1XmpT3_tdc")
macro Macros/kpp_analysis.C("h_p1YmpT3_tdc")
macro Macros/kpp_analysis.C("h_p2XmpT3_tdc")
macro Macros/kpp_analysis.C("h_p2YmpT3_tdc")
macro Macros/kpp_analysis.C("h_p1TmpT2_tdc")
macro Macros/kpp_analysis.C("h_p1TmpT3_tdc")
macro Macros/kpp_analysis.C("h_p2TmpT2_tdc")
macro Macros/kpp_analysis.C("h_p2TmpT3_tdc")
newpage 2 2 logy
title Pulse Time - TDC Time
macro Macros/kpp_analysis.C("h_p1Xneg_pt_tt_diff")
macro Macros/kpp_analysis.C("h_p1Yneg_pt_tt_diff")
macro Macros/kpp_analysis.C("h_p2Xneg_pt_tt_diff")
macro Macros/kpp_analysis.C("h_p2Yneg_pt_tt_diff")
void UserScript() {
Double_t num_p1T;
Double_t p1T_tdc[128];
// Declare constants
static const Double_t clk2tdc = 0.100;
static const UInt_t ndcRefTimes = 10;
// 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;
Double_t p1X_negAdcHits, p1Y_negAdcHits, p2X_negAdcHits, p2Y_negAdcHits;
Double_t p1X_negTdcHits, p1Y_negTdcHits, p2X_negTdcHits, p2Y_negTdcHits;
Double_t p1X_negAdcPulseTime, p1Y_negAdcPulseTime, p2X_negAdcPulseTime, p2Y_negAdcPulseTime;
Double_t p1X_negTdcTime, p1Y_negTdcTime, p2X_negTdcTime, p2Y_negTdcTime;
Long64_t nentries;
TH1F *h_p1T_tdc;
// Declare Histos
TH1F *h_p1X_tdc, *h_p1Y_tdc, *h_p2X_tdc, *h_p2Y_tdc;
TH1F *h_p1T_tdc, *h_p2T_tdc;
TH1F *h_pT1_tdc, *h_pT2_tdc, *h_pT3_tdc;
TH1F *h_p1XmpT2_tdc, *h_p1YmpT2_tdc, *h_p2XmpT2_tdc, *h_p2YmpT2_tdc;
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;
// Declare trees
TTree *T = (TTree*) gDirectory->Get("T");
// Acquire the number of entries
nentries = T->GetEntries();
T->SetBranchAddress("T.shms.p1T_tdcMultiplicity", &num_p1T);
T->SetBranchAddress("T.shms.p1T_tdcTime", &p1T_tdc);
h_p1T_tdc = new TH1F("h_p1T_tdc", "p1T; TDC Time (ns); Counts / 1 ns", 2000, 0, 2000);
// Acquire the branches
T->SetBranchAddress("T.shms.p1X_tdcTime", &p1X_tdcTime);
T->SetBranchAddress("T.shms.p1Y_tdcTime", &p1Y_tdcTime);
T->SetBranchAddress("T.shms.p2X_tdcTime", &p2X_tdcTime);
T->SetBranchAddress("T.shms.p2Y_tdcTime", &p2Y_tdcTime);
T->SetBranchAddress("T.shms.p1T_tdcTime", &p1T_tdcTime);
T->SetBranchAddress("T.shms.p2T_tdcTime", &p2T_tdcTime);
T->SetBranchAddress("T.shms.pT1_tdcTime", &pT1_tdcTime);
T->SetBranchAddress("T.shms.pT2_tdcTime", &pT2_tdcTime);
T->SetBranchAddress("T.shms.pT3_tdcTime", &pT3_tdcTime);
for (UInt_t iref = 0; iref < ndcRefTimes; iref++)
T->SetBranchAddress(Form("T.shms.pDCREF%d_tdcTime", iref+1), &pDCREF_tdcTime[iref]);
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);
// Create histos
h_p1X_tdc = new TH1F("h_p1X_tdc", "S1X Coincidence Time; TDC Time (ns); Counts / 1 ns", 200, 0, 200);
h_p1Y_tdc = new TH1F("h_p1Y_tdc", "S1Y Coincidence Time; TDC Time (ns); Counts / 1 ns", 200, 0, 200);
h_p2X_tdc = new TH1F("h_p2X_tdc", "S2X Coincidence Time; TDC Time (ns); Counts / 1 ns", 200, 0, 200);
h_p2Y_tdc = new TH1F("h_p2Y_tdc", "S2Y Coincidence Time; TDC Time (ns); Counts / 1 ns", 200, 0, 200);
h_p1T_tdc = new TH1F("h_p1T_tdc", "S1X/S1Y Coincidence Time; TDC Time (ns); Counts / 1 ns", 200, 0, 200);
h_p2T_tdc = new TH1F("h_p2T_tdc", "S2X/S2Y Coincidence Time; TDC Time (ns); Counts / 1 ns", 200, 0, 200);
h_pT1_tdc = new TH1F("h_pT1_tdc", "Hodoscope Trigger (Slot 20 Channel 15); TDC Time (ns); Counts / 1 ns", 200, 0, 200);
h_pT2_tdc = new TH1F("h_pT2_tdc", "Hodoscope Trigger (Slot 19 Channel 31); TDC Time (ns); Counts / 1 ns", 200, 0, 200);
h_pT3_tdc = new TH1F("h_pT3_tdc", "Hodoscope Trigger (Slot 19 Channel 38); TDC Time (ns); Counts / 1 ns", 200, 0, 200);
for (UInt_t iref = 0; iref < ndcRefTimes; iref++)
h_pDCREF_tdc[iref] = new TH1F(Form("h_pDCREF%d_tdc", iref+1), Form("DC Reference Time %d; TDC Time (ns); Counts / 1 ns", iref+1), 100, 500, 600);
h_p1XmpT2_tdc = new TH1F("h_p1XmpT2_tdc", "Hodoscope Trigger (Slot 19 Channel 31) - S1X; TDC Time (ns); Counts / 1 ns", 200, 0, 200);
h_p1YmpT2_tdc = new TH1F("h_p1YmpT2_tdc", "Hodoscope Trigger (Slot 19 Channel 31) - S1Y; TDC Time (ns); Counts / 1 ns", 200, 0, 200);
h_p2XmpT2_tdc = new TH1F("h_p2XmpT2_tdc", "Hodoscope Trigger (Slot 19 Channel 31) - S2X; TDC Time (ns); Counts / 1 ns", 200, 0, 200);
h_p2YmpT2_tdc = new TH1F("h_p2YmpT2_tdc", "Hodoscope Trigger (Slot 19 Channel 31) - S2Y; TDC Time (ns); Counts / 1 ns", 200, 0, 200);
h_p1TmpT2_tdc = new TH1F("h_p1TmpT2_tdc", "Hodoscope Trigger (Slot 19 Channel 31) - S1; TDC Time (ns); Counts / 1 ns", 200, 0, 200);
h_p2TmpT2_tdc = new TH1F("h_p2TmpT2_tdc", "Hodoscope Trigger (Slot 19 Channel 31) - S2; TDC Time (ns); Counts / 1 ns", 200, 0, 200);
h_p1XmpT3_tdc = new TH1F("h_p1XmpT3_tdc", "Hodoscope Trigger (Slot 19 Channel 38) - S1X; TDC Time (ns); Counts / 1 ns", 200, 0, 200);
h_p1YmpT3_tdc = new TH1F("h_p1YmpT3_tdc", "Hodoscope Trigger (Slot 19 Channel 38) - S1Y; TDC Time (ns); Counts / 1 ns", 200, 0, 200);
h_p2XmpT3_tdc = new TH1F("h_p2XmpT3_tdc", "Hodoscope Trigger (Slot 19 Channel 38) - S2X; TDC Time (ns); Counts / 1 ns", 200, 0, 200);
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);
// Loop of entries in tree
for(UInt_t ievent = 0; ievent < nentries; ievent++) {
T->GetEntry(ievent);
for (UInt_t ihit = 0; ihit < num_p1T; ihit++) {
Double_t p1T_tdc_data = p1T_tdc[ihit];
cout << ihit << "\t" << p1T_tdc_data << endl;
h_p1T_tdc->Fill(p1T_tdc_data);
}
if (p1X_nGoodHodoHits < 1 || p1Y_nGoodHodoHits < 1 || p2X_nGoodHodoHits < 1 || p2Y_nGoodHodoHits < 1) continue;
// Fill histos
h_p1X_tdc->Fill(p1X_tdcTime*clk2tdc); h_p1Y_tdc->Fill(p1Y_tdcTime*clk2tdc);
h_p2X_tdc->Fill(p2X_tdcTime*clk2tdc); h_p2Y_tdc->Fill(p2Y_tdcTime*clk2tdc);
h_p1T_tdc->Fill(p1T_tdcTime*clk2tdc); h_p2T_tdc->Fill(p2T_tdcTime*clk2tdc);
h_pT1_tdc->Fill(pT1_tdcTime*clk2tdc); h_pT2_tdc->Fill(pT2_tdcTime*clk2tdc); h_pT3_tdc->Fill(pT3_tdcTime*clk2tdc);
for (UInt_t iref = 0; iref < ndcRefTimes; iref++)
h_pDCREF_tdc[iref]->Fill(pDCREF_tdcTime[iref]*clk2tdc);
h_p1XmpT2_tdc->Fill((pT2_tdcTime - p1X_tdcTime)*clk2tdc); h_p1YmpT2_tdc->Fill((pT2_tdcTime - p1Y_tdcTime)*clk2tdc);
h_p2XmpT2_tdc->Fill((pT2_tdcTime - p2X_tdcTime)*clk2tdc); h_p2YmpT2_tdc->Fill((pT2_tdcTime - p2Y_tdcTime)*clk2tdc);
h_p1TmpT2_tdc->Fill((pT2_tdcTime - p1T_tdcTime)*clk2tdc); h_p2TmpT2_tdc->Fill((pT2_tdcTime - p2T_tdcTime)*clk2tdc);
h_p1XmpT3_tdc->Fill((pT3_tdcTime - p1X_tdcTime)*clk2tdc); h_p1YmpT3_tdc->Fill((pT3_tdcTime - p1Y_tdcTime)*clk2tdc);
h_p2XmpT3_tdc->Fill((pT3_tdcTime - p2X_tdcTime)*clk2tdc); h_p2YmpT3_tdc->Fill((pT3_tdcTime - p2Y_tdcTime)*clk2tdc);
h_p1TmpT3_tdc->Fill((pT3_tdcTime - p1T_tdcTime)*clk2tdc); h_p2TmpT3_tdc->Fill((pT3_tdcTime - p2T_tdcTime)*clk2tdc);
h_p1Xneg_pt_tt_diff->Fill(p1X_negAdcPulseTime - p1X_negTdcTime); h_p1Yneg_pt_tt_diff->Fill(p1Y_negAdcPulseTime - p1Y_negTdcTime);
h_p2Xneg_pt_tt_diff->Fill(p2X_negAdcPulseTime - p2X_negTdcTime); h_p2Yneg_pt_tt_diff->Fill(p2Y_negAdcPulseTime - p2Y_negTdcTime);
} // Entries loop
}
} // UserScript function
void kpp_analysis(TString histname) {
TH1F* h; h = (TH1F*) gDirectory->Get(histname);
// Grab the histo
TH1F *h; h = dynamic_cast <TH1F*> gDirectory->Get(histname);
// Grab histo directly if it does not already exist
if(!h) {
UserScript();
h = (TH1F*) gDirectory->Get(histname);
if(!h) {
cout << "User histogram " << histname << " not found" << endl;
exit(1);
}
}
// Throw error
if(!h) { cout << "User histogram " << histname << " not found" << endl; exit(1);}
} // Histo existing condition
h->Draw();
}
} // kpp_analysis function
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