From f5270ae9deff6fa1a3edb525d1bfa3f1a8fa3356 Mon Sep 17 00:00:00 2001 From: Zafar Ahmed <zahmed@jlab.org> Date: Thu, 14 Nov 2013 19:58:54 -0500 Subject: [PATCH] Cherenkov class without any change in map and parameter files. --- Makefile | 1 + SConscript.py | 4 +- examples/PARAM/hcana.param | 1 + examples/PARAM/hcer.param | 2 +- examples/hodtest.C | 8 ++-- examples/hodtest_cuts.def | 94 +++++++++++++++++++------------------- examples/output.def | 15 ++++++ src/HallC_LinkDef.h | 2 + src/SConscript.py | 3 +- 9 files changed, 76 insertions(+), 54 deletions(-) diff --git a/Makefile b/Makefile index 0b86cf7..b03e0e4 100644 --- a/Makefile +++ b/Makefile @@ -23,6 +23,7 @@ SRC = src/THcInterface.cxx src/THcParmList.cxx src/THcAnalyzer.cxx \ src/THcShower.cxx src/THcShowerPlane.cxx \ src/THcRawShowerHit.cxx \ src/THcAerogel.cxx src/THcAerogelHit.cxx \ + src/THcCherenkov.cxx src/THcCherenkovHit.cxx \ src/THcFormula.cxx # Name of your package. diff --git a/SConscript.py b/SConscript.py index 52beeeb..79197c4 100644 --- a/SConscript.py +++ b/SConscript.py @@ -16,8 +16,8 @@ hcheaders = Split(""" src/THcScintillatorPlane.h src/THcHodoscopeHit.h src/THcDC.h src/THcDriftChamberPlane.h src/THcDriftChamber.h src/THcRawDCHit.h src/THcDCHit.h src/THcDCWire.h src/THcSpacePoint.h src/THcDCLookupTTDConv.h src/THcDCTimeToDistConv.h src/THcShower.h src/THcShowerPlane.h - src/THcRawShowerHit.h src/THcAerogel.h src/THcAerogelHit.h src/THcGlobals.h src/THcDCTrack.h - src/THcFormula.h + src/THcRawShowerHit.h src/THcAerogel.h src/THcAerogelHit.h src/THcCherenkov.h src/THcCherenkovHit.h + src/THcGlobals.h src/THcDCTrack.h src/THcFormula.h src/HallC_LinkDef.h """) pbaseenv.RootCint(roothcdict,hcheaders) diff --git a/examples/PARAM/hcana.param b/examples/PARAM/hcana.param index 1f9e393..8735273 100644 --- a/examples/PARAM/hcana.param +++ b/examples/PARAM/hcana.param @@ -17,6 +17,7 @@ hcal_c_cor = 64.36 hcal_d_cor = 1.66 haero_num_pairs = 8 +hcher_num_pairs = 2 # Names of planes so that parameter names can be constructed hdc_plane_names = "1x1 1y1 1u1 1v1 1y2 1x2 2x1 2y1 2u1 2v1 2y2 2x2" diff --git a/examples/PARAM/hcer.param b/examples/PARAM/hcer.param index adaa565..5c7cfc8 100644 --- a/examples/PARAM/hcer.param +++ b/examples/PARAM/hcer.param @@ -17,7 +17,7 @@ hcer_width = 50, 50 ; tube: bot top ;hcer_adc_to_npe = 1/93., 1/120. ; DJG June 21 2007: Quick and dirty online calibration. -hcer_adc_to_npe = 1/149.6, 1/166.0. +hcer_adc_to_npe = 1/149.6, 1/166.0 hcer_chi2max = 50. hcer_beta_min = 0.8 diff --git a/examples/hodtest.C b/examples/hodtest.C index cd4d937..37703cc 100644 --- a/examples/hodtest.C +++ b/examples/hodtest.C @@ -5,8 +5,8 @@ // Steering script to test hodoscope decoding // - Int_t RunNumber=50017; - char* RunFileNamePattern="daq04_%d.log.0"; + Int_t RunNumber=52949; + char* RunFileNamePattern="/cache/mss/hallc/daq04/raw/daq04_%d.log.0"; gHcParms->Define("gen_run_number", "Run Number", RunNumber); gHcParms->AddString("g_ctp_database_filename", "DBASE/test.database"); @@ -41,6 +41,8 @@ HMS->AddDetector( new THcDC("dc", "Drift Chambers" )); THcAerogel* aerogel = new THcAerogel("aero", "Aerogel Cerenkov" ); HMS->AddDetector( aerogel ); + THcCherenkov* cherenkov = new THcCherenkov("cher", "Gas Cerenkov" ); + HMS->AddDetector( cherenkov ); // Set up the analyzer - we use the standard one, // but this could be an experiment-specific one as well. @@ -63,7 +65,7 @@ // Eventually need to learn to skip over, or properly analyze // the pedestal events - run->SetEventRange(1,2000);// Physics Event number, does not + run->SetEventRange(1,20000);// Physics Event number, does not // include scaler or control events // Define the analysis parameters diff --git a/examples/hodtest_cuts.def b/examples/hodtest_cuts.def index 8d0581f..b98813f 100644 --- a/examples/hodtest_cuts.def +++ b/examples/hodtest_cuts.def @@ -10,60 +10,60 @@ Decode_master !Pedestal_event Block: CoarseTracking -hfoundtrack H.dc.ntrack != 0 -hfound1track H.dc.ntrack == 1 -hfound2track H.dc.ntrack == 2 -hfound3track H.dc.ntrack == 3 -hfound4track H.dc.ntrack == 4 +#hfoundtrack H.dc.ntrack != 0 +#hfound1track H.dc.ntrack == 1 +#hfound2track H.dc.ntrack == 2 +#hfound3track H.dc.ntrack == 3 +#hfound4track H.dc.ntrack == 4 -goodhdc1x1 (H.dc.1x1.nhit > 0) && (H.dc.1x1.nhit < 3) -goodhdc1y1 (H.dc.1y1.nhit > 0) && (H.dc.1y1.nhit < 3) -goodhdc1u1 (H.dc.1u1.nhit > 0) && (H.dc.1u1.nhit < 3) -goodhdc1v1 (H.dc.1v1.nhit > 0) && (H.dc.1v1.nhit < 3) -goodhdc1y2 (H.dc.1y2.nhit > 0) && (H.dc.1y2.nhit < 3) -goodhdc1x2 (H.dc.1x2.nhit > 0) && (H.dc.1x2.nhit < 3) +#goodhdc1x1 (H.dc.1x1.nhit > 0) && (H.dc.1x1.nhit < 3) +#goodhdc1y1 (H.dc.1y1.nhit > 0) && (H.dc.1y1.nhit < 3) +#goodhdc1u1 (H.dc.1u1.nhit > 0) && (H.dc.1u1.nhit < 3) +#goodhdc1v1 (H.dc.1v1.nhit > 0) && (H.dc.1v1.nhit < 3) +#goodhdc1y2 (H.dc.1y2.nhit > 0) && (H.dc.1y2.nhit < 3) +#goodhdc1x2 (H.dc.1x2.nhit > 0) && (H.dc.1x2.nhit < 3) -goodhdc2x1 (H.dc.2x1.nhit > 0) && (H.dc.2x1.nhit < 3) -goodhdc2y1 (H.dc.2y1.nhit > 0) && (H.dc.2y1.nhit < 3) -goodhdc2u1 (H.dc.2u1.nhit > 0) && (H.dc.2u1.nhit < 3) -goodhdc2v1 (H.dc.2v1.nhit > 0) && (H.dc.2v1.nhit < 3) -goodhdc2y2 (H.dc.2y2.nhit > 0) && (H.dc.2y2.nhit < 3) -goodhdc2x2 (H.dc.2x2.nhit > 0) && (H.dc.2x2.nhit < 3) +#goodhdc2x1 (H.dc.2x1.nhit > 0) && (H.dc.2x1.nhit < 3) +#goodhdc2y1 (H.dc.2y1.nhit > 0) && (H.dc.2y1.nhit < 3) +#goodhdc2u1 (H.dc.2u1.nhit > 0) && (H.dc.2u1.nhit < 3) +#goodhdc2v1 (H.dc.2v1.nhit > 0) && (H.dc.2v1.nhit < 3) +#goodhdc2y2 (H.dc.2y2.nhit > 0) && (H.dc.2y2.nhit < 3) +#goodhdc2x2 (H.dc.2x2.nhit > 0) && (H.dc.2x2.nhit < 3) -goodhdc1 goodhdc1x1 && goodhdc1y1 && goodhdc1u1 && goodhdc1v1 && goodhdc1y2 && goodhdc1x2 -goodhdc2 goodhdc2x1 && goodhdc2y1 && goodhdc2u1 && goodhdc2v1 && goodhdc2y2 && goodhdc2x2 -bothgoodhdc goodhdc1 && goodhdc2 +#goodhdc1 goodhdc1x1 && goodhdc1y1 && goodhdc1u1 && goodhdc1v1 && goodhdc#1y2 && goodhdc1x2 +#goodhdc2 goodhdc2x1 && goodhdc2y1 && goodhdc2u1 && goodhdc2v1 && goodhdc#2y2 && goodhdc2x2 +#bothgoodhdc goodhdc1 && goodhdc2 -realhdc1x1 goodhdc1x1 && (H.dc.nsp != 0) -realhdc1y1 goodhdc1y1 && (H.dc.nsp != 0) -realhdc1u1 goodhdc1u1 && (H.dc.nsp != 0) -realhdc1v1 goodhdc1v1 && (H.dc.nsp != 0) -realhdc1y2 goodhdc1y2 && (H.dc.nsp != 0) -realhdc1x2 goodhdc1x2 && (H.dc.nsp != 0) -realhdc2x1 goodhdc2x1 && (H.dc.nsp != 0) -realhdc2y1 goodhdc2y1 && (H.dc.nsp != 0) -realhdc2u1 goodhdc2u1 && (H.dc.nsp != 0) -realhdc2v1 goodhdc2v1 && (H.dc.nsp != 0) -realhdc2y2 goodhdc2y2 && (H.dc.nsp != 0) -realhdc2x2 goodhdc2x2 && (H.dc.nsp != 0) +#realhdc1x1 goodhdc1x1 && (H.dc.nsp != 0) +#realhdc1y1 goodhdc1y1 && (H.dc.nsp != 0) +#realhdc1u1 goodhdc1u1 && (H.dc.nsp != 0) +#realhdc1v1 goodhdc1v1 && (H.dc.nsp != 0) +#realhdc1y2 goodhdc1y2 && (H.dc.nsp != 0) +#realhdc1x2 goodhdc1x2 && (H.dc.nsp != 0) +#realhdc2x1 goodhdc2x1 && (H.dc.nsp != 0) +#realhdc2y1 goodhdc2y1 && (H.dc.nsp != 0) +#realhdc2u1 goodhdc2u1 && (H.dc.nsp != 0) +#realhdc2v1 goodhdc2v1 && (H.dc.nsp != 0) +#realhdc2y2 goodhdc2y2 && (H.dc.nsp != 0) +#realhdc2x2 goodhdc2x2 && (H.dc.nsp != 0) #hlowchi2 (hschi2perdeg<10) && hcleantrack -hlowchi2 1 +#hlowchi2 1 -hdcres_1 (H.dc.residual[0] < 1000) && hlowchi2 -hdcres_2 (H.dc.residual[1] < 1000) && hlowchi2 -hdcres_3 (H.dc.residual[2] < 1000) && hlowchi2 -hdcres_4 (H.dc.residual[3] < 1000) && hlowchi2 -hdcres_5 (H.dc.residual[4] < 1000) && hlowchi2 -hdcres_6 (H.dc.residual[5] < 1000) && hlowchi2 -hdcres_7 (H.dc.residual[6] < 1000) && hlowchi2 -hdcres_8 (H.dc.residual[7] < 1000) && hlowchi2 -hdcres_9 (H.dc.residual[8] < 1000) && hlowchi2 -hdcres_10 (H.dc.residual[9] < 1000) && hlowchi2 -hdcres_11 (H.dc.residual[10] < 1000) && hlowchi2 -hdcres_12 (H.dc.residual[11] < 1000) && hlowchi2 +#hdcres_1 (H.dc.residual[0] < 1000) && hlowchi2 +#hdcres_2 (H.dc.residual[1] < 1000) && hlowchi2 +#hdcres_3 (H.dc.residual[2] < 1000) && hlowchi2 +#hdcres_4 (H.dc.residual[3] < 1000) && hlowchi2 +#hdcres_5 (H.dc.residual[4] < 1000) && hlowchi2 +#hdcres_6 (H.dc.residual[5] < 1000) && hlowchi2 +#hdcres_7 (H.dc.residual[6] < 1000) && hlowchi2 +#hdcres_8 (H.dc.residual[7] < 1000) && hlowchi2 +#hdcres_9 (H.dc.residual[8] < 1000) && hlowchi2 +#hdcres_10 (H.dc.residual[9] < 1000) && hlowchi2 +#hdcres_11 (H.dc.residual[10] < 1000) && hlowchi2 +#hdcres_12 (H.dc.residual[11] < 1000) && hlowchi2 -Block: CoarseReconstruct -CourseReconstruct 1 +#Block: CoarseReconstruct +#CourseReconstruct 1 diff --git a/examples/output.def b/examples/output.def index 9797fc3..756e297 100644 --- a/examples/output.def +++ b/examples/output.def @@ -4,9 +4,24 @@ block H.dc.* block H.hod.* block H.cal.* block H.aero.* +block H.cher.* block H.tr.* block g.evtyp +# Cherenkov histograms +TH1F h_cher_aneg 'Cherenkov Aneg' H.cher.aneg 100 0 6000 +TH1F h_cher_aneg_p 'Cherenkov Aneg_p' H.cher.aneg_p 100 0 6000 +TH1F h_cher_aneg_p 'Cherenkov Apos' H.cher.apos 100 0 6000 +TH1F h_cher_apos_p 'Cherenkov Apos' H.cher.apos_p 100 0 60000 +TH1F h_cher_neg_npe 'Cherenkov Neg NPE' H.cher.neg_npe 100 0 100 +TH1F h_cher_pos_npe 'Cherenkov neg tdc hits' H.cher.pos_npe 100 0 100 +TH1F h_cher_negadchits 'Cherenkov neg adc hits' H.cher.negadchits 100 0 100 +TH1F h_cher_negtdchits 'Cherenkov neg tdc hits' H.cher.negtdchits 10 -2 2 +TH1F h_cher_posadchits 'Cherenkov neg tdc hits' H.cher.posadchits 10 -0 2.2 +TH1F h_cher_postdchits 'Cherenkov pos tdc hits' H.cher.postdchits 10 -0 2.2 +TH1F h_cher_tneg 'Cherenkov tneg' H.cher.tneg 10 -0.2 2.2 +TH1F h_cher_tpos 'Cherenkov tpos' H.cher.tpos 10 -0.2 2.2 + # TDC hits per paddle TH1F hpostdc1 'HMS s1x+ TDC hits' H.hod.1x.postdchits 16 0.5 16.5 TH1F hnegtdc1 'HMS s1x- TDC hits' H.hod.1x.negtdchits 16 0.5 16.5 diff --git a/src/HallC_LinkDef.h b/src/HallC_LinkDef.h index 6ee4f49..4992343 100644 --- a/src/HallC_LinkDef.h +++ b/src/HallC_LinkDef.h @@ -45,6 +45,8 @@ #pragma link C++ class THcRawShowerHit+; #pragma link C++ class THcAerogel+; #pragma link C++ class THcAerogelHit+; +#pragma link C++ class THcCherenkov+; +#pragma link C++ class THcCherenkovHit+; #pragma link C++ class THcFormula+; #endif diff --git a/src/SConscript.py b/src/SConscript.py index 5cd9253..9a327b6 100644 --- a/src/SConscript.py +++ b/src/SConscript.py @@ -22,7 +22,8 @@ THcSpacePoint.cxx THcDCTrack.cxx \ THcDCLookupTTDConv.cxx THcDCTimeToDistConv.cxx \ THcShower.cxx THcShowerPlane.cxx \ THcRawShowerHit.cxx \ -THcAerogel.cxx THcAerogelHit.cxx +THcAerogel.cxx THcAerogelHit.cxx \ +THcCherenkov.cxx THcCherenkovHit.cxx \ THcFormula.cxx """) -- GitLab