From 4060f7f98e280e6a0e40ce1568a982bea7856b2a Mon Sep 17 00:00:00 2001
From: Vardan Tadevosyan <tadevosn@jlab.org>
Date: Mon, 4 Aug 2014 17:39:57 -0400
Subject: [PATCH] Modify cuts definition for the HMS calrimeter calibration.

In hcal_calib/hcal_replay_cuts.def:
   add one_clust condition;
   activate good_beta condition (defined for run 52949);
   define 2 versions of the Reconstruct_master cut, one for initial
   calibration and another for iterative calibration.
---
 examples/output_52949.def         |  3 +++
 examples/output_mkj.def           |  3 +++
 hcal_calib/hcal_calib.cpp         |  2 +-
 hcal_calib/hcal_replay_cuts.def   | 20 +++++++++++++-------
 hcal_calib/output_hcal_replay.def |  3 ++-
 5 files changed, 22 insertions(+), 9 deletions(-)

diff --git a/examples/output_52949.def b/examples/output_52949.def
index 7bbeea8..d4c4a66 100644
--- a/examples/output_52949.def
+++ b/examples/output_52949.def
@@ -12,6 +12,9 @@ TH1F hfptime1x ' HMS s1x fptime' H.hod.1x.fptime 80 0. 80.
 TH1F hfptime1y ' HMS s1y fptime' H.hod.1y.fptime 80 0. 80.
 TH1F hfptime2x ' HMS s2x fptime' H.hod.2x.fptime 80 0. 80.
 TH1F hfptime2y ' HMS s2y fptime' H.hod.2y.fptime 80 0. 80.
+# Beta
+TH1F hfpBeta      'HMS Hodo Beta'  H.hod.fpBeta      250 -0.5 2.0
+TH1F hfpBetaChisq 'HMS Hodo Chisq' H.hod.fpBetaChisq 550 -5. 50.
 # 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/examples/output_mkj.def b/examples/output_mkj.def
index 573b025..198c491 100644
--- a/examples/output_mkj.def
+++ b/examples/output_mkj.def
@@ -12,6 +12,9 @@ TH1F hfptime1x ' HMS s1x fptime' H.hod.1x.fptime 80 0. 80.
 TH1F hfptime1y ' HMS s1y fptime' H.hod.1y.fptime 80 0. 80.
 TH1F hfptime2x ' HMS s2x fptime' H.hod.2x.fptime 80 0. 80.
 TH1F hfptime2y ' HMS s2y fptime' H.hod.2y.fptime 80 0. 80.
+# Beta
+TH1F hfpBeta      'HMS Hodo Beta'  H.hod.fpBeta      250 -0.5 2.0
+TH1F hfpBetaChisq 'HMS Hodo Chisq' H.hod.fpBetaChisq 550 -5. 50.
 # 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/hcal_calib/hcal_calib.cpp b/hcal_calib/hcal_calib.cpp
index 3ef151e..0299ac3 100644
--- a/hcal_calib/hcal_calib.cpp
+++ b/hcal_calib/hcal_calib.cpp
@@ -16,7 +16,7 @@ void hcal_calib(Int_t RunNumber) {
  theShowerCalib.ComposeVMs();      // Compute vectors amd matrices for calib.
  theShowerCalib.SolveAlphas();     // Solve for the calibration constants
  theShowerCalib.SaveAlphas();      // Save the constants
- // theShowerCalib.SaveRawData();  // Save raw data into file for debug purposes
+ theShowerCalib.SaveRawData();  // Save raw data into file for debug purposes
  theShowerCalib.FillHEcal();       // Fill histograms
 
  // Plot histograms
diff --git a/hcal_calib/hcal_replay_cuts.def b/hcal_calib/hcal_replay_cuts.def
index 62ca35a..a0bd7c7 100644
--- a/hcal_calib/hcal_replay_cuts.def
+++ b/hcal_calib/hcal_replay_cuts.def
@@ -24,17 +24,23 @@ RawCoarseReconstruct !Pedestal_event
 Block: Reconstruct
 
 one_track H.tr.n==1
-#one_clust H.cal.nclust==1
+one_clust H.cal.nclust==1
 one_sh_track H.cal.ntracks==1
 in_delta  H.tr.tg_dp>-10.&&H.tr.tg_dp<10.
 good_cer H.cer.npesum>3.
-good_beta H.tr.beta>0.9&&H.tr.beta<1.1
-in_calx   H.cal.trx>-60.&&H.cal.trx<60.
-in_caly   H.cal.try>-30.&&H.cal.try<30.
+#good_beta H.tr.beta>0.9&&H.tr.beta<1.1
+good_beta H.hod.fpBeta>0.740&&H.hod.fpBeta<0.935   # 3sigma cut for run 52949
+in_calx   H.cal.trx>-65.4&&H.cal.trx<54.6    #top+5cm, bottom-5cm (see hcal.pos)
+in_caly   H.cal.try>-30.&&H.cal.try<30.      #left+5cm, right-5cm.(see hcal.pos)
 in_cal    in_calx&&in_caly
 
-# This version matches engine
+# This version is for calibration from scratch (no calibration constants exist,
+# first time calibration).
+Reconstruct_master one_track && one_clust && in_delta && good_cer && good_beta && in_cal
+
+# This version can be used for iterative calibration (improve existing
+# constants).
 #Reconstruct_master one_track && one_sh_track && in_delta && good_cer && good_beta && in_cal
 
-# Drop beta, which is not present yet
-Reconstruct_master one_track && one_sh_track && in_delta && good_cer && in_cal
+
+
diff --git a/hcal_calib/output_hcal_replay.def b/hcal_calib/output_hcal_replay.def
index 3657542..61fbeb4 100644
--- a/hcal_calib/output_hcal_replay.def
+++ b/hcal_calib/output_hcal_replay.def
@@ -4,7 +4,8 @@
 
 block H.cal.*
 variable H.cer.npesum
-variable H.tr.beta
+#variable H.tr.beta
+variable H.hod.fpBeta
 variable H.tr.p
 variable H.tr.tg_dp
 variable H.tr.ph	#tan(phi), wrt Y axis
-- 
GitLab