From d658b1805b6418e5ad9683aabf41ca395c2e32d9 Mon Sep 17 00:00:00 2001 From: hallc-online <hallconline@gmail.com> Date: Sat, 25 Aug 2018 12:38:41 -0400 Subject: [PATCH] Modify THcHodoEff 1) add variable fHodoEff_CalEnergy_Cut 2) THcHodoEff::ReadDatabase Optionally read in parameter hHodoEff_CalEnergy_Cut (HMS) or pHodoEff_CalEnergy_Cut (SHMS) and fill fHodoEff_CalEnergy_Cut If no parameter then defaults to fHodoEff_CalEnergy_Cut = 0.050 3) fHodoEff_CalEnergy_Cut In "if" statements that select events for hodoscope efficiency replay hard-coded "0.05" with fHodoEff_CalEnergy_Cut --- src/THcHodoEff.cxx | 8 ++++---- src/THcHodoEff.h | 1 + 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/THcHodoEff.cxx b/src/THcHodoEff.cxx index 2cbc877..c261762 100644 --- a/src/THcHodoEff.cxx +++ b/src/THcHodoEff.cxx @@ -183,12 +183,12 @@ Int_t THcHodoEff::ReadDatabase( const TDatime& date ) DBRequest list[]={ {"stat_slop", &fStatSlop, kDouble}, {"stat_maxchisq",&fMaxChisq, kDouble}, + {"HodoEff_CalEnergy_Cut",&fHodoEff_CalEnergy_Cut, kDouble,0,1}, {"hodo_slop", fHodoSlop, kDouble, (UInt_t)fNPlanes}, {0} }; - // fMaxShTrk = 0.05; // For cut on fraction of momentum seen in shower + fHodoEff_CalEnergy_Cut=0.050; // set default value gHcParms->LoadParmValues((DBRequest*)&list,prefix); - cout << "\n\nTHcHodoEff::ReadDatabase nplanes=" << fHod->GetNPlanes() << endl; // Setup statistics arrays // Better method to put this in? @@ -353,7 +353,7 @@ Int_t THcHodoEff::Process( const THaEvData& evdata ) Double_t dist = hitDistance[ip]; if(TMath::Abs(dist) <= fStatSlop && theTrack->GetChi2()/theTrack->GetNDoF() <= fMaxChisq && - theTrack->GetEnergy() >= 0.05 ) + theTrack->GetEnergy() >= fHodoEff_CalEnergy_Cut ) { fStatTrk[fHod->GetScinIndex(ip,hitCounter[ip]-1)]++; // Double_t delta = theTrack->GetDp(); @@ -393,7 +393,7 @@ Int_t THcHodoEff::Process( const THaEvData& evdata ) TMath::Abs(hitcounter-counter) <= checkHit[ip] && fHitPlane[ip] == 0 && theTrack->GetChi2()/theTrack->GetNDoF() <= fMaxChisq && - theTrack->GetEnergy() >= 0.05 ) { + theTrack->GetEnergy() >= fHodoEff_CalEnergy_Cut) { fHitPlane[ip]++; // Need to find out hgood_tdc_pos(igoldentrack,ihit) and neg diff --git a/src/THcHodoEff.h b/src/THcHodoEff.h index 47ab1ee..d2369c0 100644 --- a/src/THcHodoEff.h +++ b/src/THcHodoEff.h @@ -71,6 +71,7 @@ protected: Int_t* fStatAndSum; Double_t* fStatAndEff; Double_t fStatSlop; + Double_t fHodoEff_CalEnergy_Cut; Double_t fMaxChisq; Double_t* fHodoSlop; Double_t fHodoEff_s1,fHodoEff_s2,fHodoEff_tof,fHodoEff_3_of_4,fHodoEff_4_of_4; -- GitLab