From 145239596d1ce7ecd27a35c0bb33b3157fd40e44 Mon Sep 17 00:00:00 2001 From: "Stephen A. Wood" <saw@jlab.org> Date: Fri, 16 Feb 2018 17:23:12 -0500 Subject: [PATCH] Create parameters to hold missing reference time counts. So that the counts can be reported in report files. --- src/THcAerogel.cxx | 2 ++ src/THcCherenkov.cxx | 2 ++ src/THcDC.cxx | 2 ++ src/THcHitList.cxx | 15 +++++++++++++++ src/THcHitList.h | 1 + src/THcHodoscope.cxx | 2 ++ src/THcShower.cxx | 2 ++ src/THcTrigDet.cxx | 1 + 8 files changed, 27 insertions(+) diff --git a/src/THcAerogel.cxx b/src/THcAerogel.cxx index d43d30b..a9501a6 100644 --- a/src/THcAerogel.cxx +++ b/src/THcAerogel.cxx @@ -221,6 +221,8 @@ Int_t THcAerogel::ReadDatabase( const TDatime& date ) prefix[0]=tolower(GetApparatus()->GetName()[0]); prefix[1]='\0'; + CreateMissReportParms(Form("%saero",prefix)); + fNRegions = 1; // Default if not set in parameter file DBRequest listextra[]={ diff --git a/src/THcCherenkov.cxx b/src/THcCherenkov.cxx index 82eed26..8486c08 100644 --- a/src/THcCherenkov.cxx +++ b/src/THcCherenkov.cxx @@ -183,6 +183,8 @@ Int_t THcCherenkov::ReadDatabase( const TDatime& date ) string prefix = string(GetApparatus()->GetName()).substr(0, 1) + GetName(); std::transform(prefix.begin(), prefix.end(), prefix.begin(), ::tolower); + CreateMissReportParms(prefix.c_str()); + fNRegions = 4; // Defualt if not set in paramter file DBRequest list_1[] = { diff --git a/src/THcDC.cxx b/src/THcDC.cxx index b4b7d91..624475a 100644 --- a/src/THcDC.cxx +++ b/src/THcDC.cxx @@ -212,6 +212,8 @@ THaAnalysisObject::EStatus THcDC::Init( const TDatime& date ) InitHitList(fDetMap, "THcRawDCHit", fDetMap->GetTotNumChan()+1, fTDC_RefTimeCut, 0); + CreateMissReportParms(Form("%sdc",fPrefix)); + EStatus status; // This triggers call of ReadDatabase and DefineVariables if( (status = THaTrackingDetector::Init( date )) ) diff --git a/src/THcHitList.cxx b/src/THcHitList.cxx index 3489065..55d645f 100644 --- a/src/THcHitList.cxx +++ b/src/THcHitList.cxx @@ -13,6 +13,8 @@ #include "THcConfigEvtHandler.h" #include "THaGlobals.h" +#include "THcGlobals.h" +#include "THcParmList.h" #include "TList.h" using namespace std; @@ -395,6 +397,19 @@ Int_t THcHitList::DecodeToHitList( const THaEvData& evdata, Bool_t suppresswarni fNADCRef_miss += (adcref_miss ? 1 : 0); return fNRawHits; // Does anything care what is returned } +void THcHitList::CreateMissReportParms(const char *prefix) +{ + /** + +\brief Create parameters to hold missing reference time statistics + +Parameters created are ${prefix}_tdcref_miss and ${prefix}_adcref_miss + + */ + cout << "Defining " << Form("%s_tdcref_miss", prefix) << " and " << Form("%s_adcref_miss", prefix) << endl; + gHcParms->Define(Form("%s_tdcref_miss", prefix), "Missing TDC reference times", fNTDCRef_miss); + gHcParms->Define(Form("%s_adcref_miss", prefix), "Missing ADC reference times", fNADCRef_miss); +} void THcHitList::MissReport(const char *name) { cout << "Missing Ref times:" << setw(20) << name << setw(10) << fNTDCRef_miss << setw(10) << fNADCRef_miss << endl; diff --git a/src/THcHitList.h b/src/THcHitList.h index 4b378ce..ba907c5 100644 --- a/src/THcHitList.h +++ b/src/THcHitList.h @@ -35,6 +35,7 @@ public: Int_t tdcref_cut=0, Int_t adcref_cut=0); TClonesArray* GetHitList() const {return fRawHitList; } + void CreateMissReportParms(const char *prefix); void MissReport(const char *name); UInt_t fNRawHits; diff --git a/src/THcHodoscope.cxx b/src/THcHodoscope.cxx index 3f5e9f9..18ec9f6 100644 --- a/src/THcHodoscope.cxx +++ b/src/THcHodoscope.cxx @@ -238,6 +238,8 @@ Int_t THcHodoscope::ReadDatabase( const TDatime& date ) // Int_t plen=strlen(parname); // cout << " readdatabse hodo fnplanes = " << fNPlanes << endl; + CreateMissReportParms(Form("%sscin",prefix)); + fBetaNoTrk = 0.; fBetaNoTrkChiSq = 0.; diff --git a/src/THcShower.cxx b/src/THcShower.cxx index a0ebc2e..00c5f92 100644 --- a/src/THcShower.cxx +++ b/src/THcShower.cxx @@ -212,6 +212,8 @@ Int_t THcShower::ReadDatabase( const TDatime& date ) prefix[0]=tolower(GetApparatus()->GetName()[0]); prefix[1]='\0'; + CreateMissReportParms(Form("%scal",prefix)); + fNegCols = fNLayers; // If not defined assume tube on each end // for every layer { diff --git a/src/THcTrigDet.cxx b/src/THcTrigDet.cxx index 507afcc..f00f6a2 100644 --- a/src/THcTrigDet.cxx +++ b/src/THcTrigDet.cxx @@ -181,6 +181,7 @@ THaAnalysisObject::EStatus THcTrigDet::Init(const TDatime& date) { // Initialize hitlist part of the class. // printf(" Init trig det hitlist\n"); InitHitList(fDetMap, "THcTrigRawHit", 100); + CreateMissReportParms(fKwPrefix.c_str()); fPresentP = 0; THaVar* vpresent = gHaVars->Find(Form("%s.present",fSpectName.Data())); -- GitLab