diff --git a/src/THcHodoscope.cxx b/src/THcHodoscope.cxx
index 7945ffe1bc82da736362b7bd50b83d7facffb19b..630ef0f03b38737841bdfae8cf7b64ff4f28898d 100644
--- a/src/THcHodoscope.cxx
+++ b/src/THcHodoscope.cxx
@@ -130,6 +130,14 @@ void THcHodoscope::Setup(const char* name, const char* description)
   fPartMass = app->GetParticleMass();
   fBetaNominal = app->GetBetaAtPcentral();
 
+
+
+  if (fSHMS) {
+    fCherenkov = dynamic_cast<THcCherenkov*>(app->GetDetector("hgcer"));
+  } else {
+    fCherenkov = dynamic_cast<THcCherenkov*>(app->GetDetector("cer"));
+  }
+
   delete [] desc;
 }
 
@@ -189,6 +197,9 @@ THaAnalysisObject::EStatus THcHodoscope::Init( const TDatime& date )
     fScinHitPaddle.push_back(std::vector<Int_t>(fNPaddle[ip], 0));
   }
 
+
+
+
   return fStatus = kOK;
 }
 //_____________________________________________________________________________
@@ -318,6 +329,9 @@ Int_t THcHodoscope::ReadDatabase( const TDatime& date )
     {"dumptof",                          &fDumpTOF,               kInt,    0, 1},
     {"TOFCalib_shtrk_lo",                &fTOFCalib_shtrk_lo,               kDouble,    0, 1},
     {"TOFCalib_shtrk_hi",                &fTOFCalib_shtrk_hi,               kDouble,    0, 1},
+    {"TOFCalib_cer_lo",                &fTOFCalib_cer_lo,               kDouble,    0, 1},
+    {"TOFCalib_beta_lo",                &fTOFCalib_beta_lo,               kDouble,    0, 1},
+    {"TOFCalib_beta_hi",                &fTOFCalib_beta_hi,               kDouble,    0, 1},
     {"dumptof_filename",                 &fTOFDumpFile,           kString, 0, 1},
     {0}
   };
@@ -328,7 +342,11 @@ Int_t THcHodoscope::ReadDatabase( const TDatime& date )
     fAdcTimeWindowMin[ip] = 0.;
     fAdcTimeWindowMax[ip] = 1000.;
   }
-  
+  fTOFCalib_shtrk_lo=-kBig;
+  fTOFCalib_shtrk_hi= kBig;
+  fTOFCalib_cer_lo=-kBig;
+  fTOFCalib_beta_lo=-kBig;
+  fTOFCalib_beta_hi= kBig;
   fdebugprintscinraw=0;
   fDumpTOF = 0;
   fTOFDumpFile="";
@@ -1545,7 +1563,10 @@ Int_t THcHodoscope::FineProcess( TClonesArray&  tracks  )
 	for (Int_t iphit = 0; iphit < fPlanes[ip]->GetNScinHits(); iphit++ ){
           THcHodoHit *hit = fTOFPInfo[ih].hit;
 	  if (fGoodFlags[itrk][ip][iphit].goodScinTime) {
-	    if(fDumpTOF && Ntracks==1 && fGoodEventTOFCalib && shower_track_enorm > fTOFCalib_shtrk_lo && shower_track_enorm < fTOFCalib_shtrk_hi ) {
+            Bool_t sh_pid=(shower_track_enorm > fTOFCalib_shtrk_lo && shower_track_enorm < fTOFCalib_shtrk_hi);
+            Bool_t beta_pid=( fBeta > fTOFCalib_beta_lo &&  fBeta < fTOFCalib_beta_hi);
+	    Bool_t cer_pid=( fCherenkov->GetCerNPE() > fTOFCalib_cer_lo);
+	    if(fDumpTOF && Ntracks==1 && fGoodEventTOFCalib && sh_pid && beta_pid && cer_pid) {
               fDumpOut << fixed << setprecision(2);
              fDumpOut  << showpoint << " 1" << setw(3) << ip+1 << setw(3) << hit->GetPaddleNumber()  << setw(10) << hit->GetPosTDC()*fScinTdcToTime  << setw(10) << fTOFPInfo[ih].pathp << setw(10) << fTOFPInfo[ih].zcor  << setw(10) << fTOFPInfo[ih].time_pos << setw(10) << hit->GetPosADC() << endl;
              fDumpOut  << showpoint << " 2" << setw(3) << ip+1 << setw(3) << hit->GetPaddleNumber() << setw(10) << hit->GetNegTDC()*fScinTdcToTime  << setw(10) << fTOFPInfo[ih].pathn << setw(10) << fTOFPInfo[ih].zcor  << setw(10) << fTOFPInfo[ih].time_neg << setw(10) << hit->GetNegADC() << endl;
diff --git a/src/THcHodoscope.h b/src/THcHodoscope.h
index 94155447ec0480719e1434912ab352c46181f61f..b85c7a3faac772bbe91774e5ca015652ae3f24c5 100644
--- a/src/THcHodoscope.h
+++ b/src/THcHodoscope.h
@@ -15,6 +15,7 @@
 #include "THcHodoHit.h"
 #include "THcRawHodoHit.h"
 #include "THcScintillatorPlane.h"
+#include "THcCherenkov.h"
 
 #include "THaTrackingDetector.h"
 #include "THcHitList.h"
@@ -117,6 +118,8 @@ public:
   THcHodoscope();  // for ROOT I/O
 protected:
 
+  THcCherenkov* fCherenkov;
+
   Int_t fAnalyzePedestals;
 
   Int_t fNHits;
@@ -212,6 +215,9 @@ protected:
 
   Double_t fTOFCalib_shtrk_lo;
   Double_t fTOFCalib_shtrk_hi;
+  Double_t fTOFCalib_cer_lo;
+  Double_t fTOFCalib_beta_lo;
+  Double_t fTOFCalib_beta_hi;
   Int_t        fDumpTOF;
   ofstream    fDumpOut;
   string       fTOFDumpFile;