From 1d90bdcae51eea1d391a0282c971492d7d0e6483 Mon Sep 17 00:00:00 2001
From: Vardan Tadevosyan <tadevosn@jlab.org>
Date: Thu, 16 May 2013 09:39:55 -0400
Subject: [PATCH] Added read in min. pedestal number fMinPeds in ShowerPlane

---
 examples/hodtest.C     | 4 ++--
 src/THcShower.cxx      | 1 +
 src/THcShower.h        | 6 ++++++
 src/THcShowerPlane.cxx | 6 +++---
 4 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/examples/hodtest.C b/examples/hodtest.C
index 7f31ff5..dc58902 100644
--- a/examples/hodtest.C
+++ b/examples/hodtest.C
@@ -65,8 +65,8 @@
   // the pedestal events
   //  run->SetEventRange(1,2000);//  Physics Event number, does not
                                 // include scaler or control events
-  run->SetEventRange(1,999999);
-  //  run->SetEventRange(1,1);
+  //  run->SetEventRange(1,999999);
+  run->SetEventRange(1,1);
 
   // Define the analysis parameters
   analyzer->SetEvent( event );
diff --git a/src/THcShower.cxx b/src/THcShower.cxx
index 8ffb015..d0b6e2b 100644
--- a/src/THcShower.cxx
+++ b/src/THcShower.cxx
@@ -235,6 +235,7 @@ Int_t THcShower::ReadDatabase( const TDatime& date )
     //    {"cal_neg_gain_cur",  hcal_neg_gain_cur,  kDouble, fNtotBlocks},
     {"cal_neg_ped_limit", fShNegPedLimit, kInt,    fNtotBlocks},
     {"cal_neg_gain_cor",  hcal_neg_gain_cor,  kDouble, fNtotBlocks},
+    {"cal_min_peds", &fShMinPeds, kInt},
     {0}
   };
   gHcParms->LoadParmValues((DBRequest*)&list, prefix);
diff --git a/src/THcShower.h b/src/THcShower.h
index 0c3e63b..744f17e 100644
--- a/src/THcShower.h
+++ b/src/THcShower.h
@@ -46,6 +46,10 @@ public:
     return ( Side == 0 ? fShPosPedLimit[nelem] : fShNegPedLimit[nelem]);
   }
 
+  Int_t fGetMinPeds() {
+    return fShMinPeds;
+  }
+
   THcShower();  // for ROOT I/O
 
 protected:
@@ -56,6 +60,8 @@ protected:
   Int_t* fShPosPedLimit;
   Int_t* fShNegPedLimit;
 
+  Int_t fShMinPeds;   //Min.number of events to analize/update pedestals.
+
   // Calibration constants
   Double_t* fPosCalConst;
   Double_t* fNegCalConst;
diff --git a/src/THcShowerPlane.cxx b/src/THcShowerPlane.cxx
index c370149..07299db 100644
--- a/src/THcShowerPlane.cxx
+++ b/src/THcShowerPlane.cxx
@@ -146,6 +146,9 @@ Int_t THcShowerPlane::ReadDatabase( const TDatime& date )
   for(Int_t i=0;i<fNelem;i++) cout << " " << fNegPedLimit[i];
   cout << endl;
 
+  fMinPeds = fParent->fGetMinPeds();
+  cout << "   fMinPeds = " << fMinPeds << endl;
+
   InitializePedestals();
 
   return kOK;
@@ -337,14 +340,11 @@ void THcShowerPlane::CalculatePedestals( )
 void THcShowerPlane::InitializePedestals( )
 {
   fNPedestalEvents = 0;
-  fMinPeds = 500; 		// In engine, this is set in parameter file
   fPosPedSum = new Int_t [fNelem];
   fPosPedSum2 = new Int_t [fNelem];
-  //  fPosPedLimit = new Int_t [fNelem];
   fPosPedCount = new Int_t [fNelem];
   fNegPedSum = new Int_t [fNelem];
   fNegPedSum2 = new Int_t [fNelem];
-  //  fNegPedLimit = new Int_t [fNelem];
   fNegPedCount = new Int_t [fNelem];
 
   fPosSig = new Double_t [fNelem];
-- 
GitLab