From 285ceede90936738a077f0e904a68771efac0f60 Mon Sep 17 00:00:00 2001 From: Buddhini Waidyawansa <buddhini@jlab.org> Date: Mon, 5 May 2014 12:38:11 -0400 Subject: [PATCH] Renamed the raster variables in the hcana to match what is being used in the ENIGNE. Added the raw raster ADC values to the histos and trees. Modified the ranges and binning of the histogram definitions in output_bpw_.def accordingly. --- examples/output_bpw.def | 10 ++++++---- src/THcRaster.cxx | 42 ++++++++++++++++++----------------------- src/THcRaster.h | 10 ++++++---- 3 files changed, 30 insertions(+), 32 deletions(-) diff --git a/examples/output_bpw.def b/examples/output_bpw.def index ff1e985..0fc6248 100644 --- a/examples/output_bpw.def +++ b/examples/output_bpw.def @@ -175,7 +175,9 @@ TH1F hs2yfptime 'HODO s2y fptime' H.hod.2y.fptime 80 0 80 H.hod.hgoodstarttime TH1F starttime 'HODO start time' H.hod.starttime 80 0 80 H.hod.hgoodstarttime # Beam related ADC channels. eg. raster -TH1F rstrx_i 'Raster X Current' RB.raster.xcurrent 4000 -2000 2000 -TH1F rstry_i 'Raster Y Current' RB.raster.ycurrent 4000 -2000 2000 -TH1F rstrx_p 'Raster X Position' RB.raster.xpos 40 -20 20 -TH1F rstry_p 'Raster Y Position' RB.raster.ypos 40 -20 20 +TH1F frx_raw_adc 'Raster X Raw ADC' RB.raster.frx_raw_adc 1200 3200 4400 +TH1F fry_raw_adc 'Raster Y Raw ADC' RB.raster.fry_raw_adc 1200 3200 4400 +TH1F frx_adc 'Raster X ADC' RB.raster.frx_adc 1000 -500 500 +TH1F fry_adc 'Raster Y ADC' RB.raster.fry_adc 1000 -500 500 +TH1F frx 'Raster X Position' RB.raster.frx 100 -0.5 0.5 +TH1F fry 'Raster Y Position' RB.raster.fry 100 -0.5 0.5 diff --git a/src/THcRaster.cxx b/src/THcRaster.cxx index de128f3..5e85551 100644 --- a/src/THcRaster.cxx +++ b/src/THcRaster.cxx @@ -40,6 +40,8 @@ THcRaster::THcRaster( const char* name, const char* description, fAnalyzePedestals = 0; fNPedestalEvents = 0; + fRawXADC = 0; + fRawYADC = 0; fXADC = 0; fYADC = 0; fXpos = 0; @@ -58,29 +60,19 @@ THcRaster::THcRaster( const char* name, const char* description, //_____________________________________________________________________________ THcRaster::~THcRaster() { - // delete [] fPedADC; - // delete [] fAvgPedADC; - + delete [] fPedADC; + delete [] fAvgPedADC; } - -//____________________________________________________________________________// _ -// void THcRaster::InitializeReconstruction() -// { - -// } - - + //_____________________________________________________________________________ Int_t THcRaster::ReadDatabase( const TDatime& date ) { // Read parameters such as calibration factor, of this detector from the database. - // static const char* const here = "THcRaster::ReadDatabase"; - - // InitializeReconstruction(); + cout << "THcRaster::ReadDatabase()" << endl; char prefix[2]; @@ -121,10 +113,12 @@ Int_t THcRaster::DefineVariables( EMode mode ) // Register variables in global list RVarDef vars[] = { - {"xcurrent", "Raster X current", "fXADC"}, - {"ycurrent", "Raster Y current", "fYADC"}, - {"xpos", "Raster X position", "fXpos"}, - {"ypos", "Raster Y position", "fYpos"}, + {"frx_raw_adc", "Raster X raw ADC", "fRawXADC"}, + {"fry_raw_adc", "Raster Y raw ADC", "fRawYADC"}, + {"frx_adc", "Raster X ADC", "fXADC"}, + {"fry_adc", "Raster Y ADC", "fYADC"}, + {"frx", "Raster X position", "fXpos"}, + {"fry", "Raster Y position", "fYpos"}, { 0 } }; @@ -258,13 +252,13 @@ Int_t THcRaster::Decode( const THaEvData& evdata ) THcRasterRawHit* hit = (THcRasterRawHit *) fRawHitList->At(ihit); if(hit->fADC_xsig>0) { - fRawADC[0] = hit->fADC_xsig; - // std::cout<<" Raw X = "<<fRawADC[0]<<std::endl; + fRawXADC = hit->fADC_xsig; + //std::cout<<" Raw X ADC = "<<fRawXADC<<std::endl; } if(hit->fADC_ysig>0) { - fRawADC[1] = hit->fADC_ysig; - // std::cout<<" Raw Y ADC = "<<fRawADC[1]<<std::endl; + fRawYADC = hit->fADC_ysig; + //std::cout<<" Raw Y ADC = "<<fRawYADC<<std::endl; } ihit++; } @@ -290,8 +284,8 @@ Int_t THcRaster::Process( ){ */ // calculate the raster currents - fXADC = fRawADC[0]-fAvgPedADC[0]; - fYADC = fRawADC[1]-fAvgPedADC[1]; + fXADC = fRawXADC-fAvgPedADC[0]; + fYADC = fRawYADC-fAvgPedADC[1]; //std::cout<<" Raw X ADC = "<<fXADC<<" Raw Y ADC = "<<fYADC<<std::endl; /* diff --git a/src/THcRaster.h b/src/THcRaster.h index 3117648..29d3f08 100644 --- a/src/THcRaster.h +++ b/src/THcRaster.h @@ -40,14 +40,16 @@ class THcRaster : public THaBeamDet, public THcHitList { Int_t ReadDatabase( const TDatime& date ); Int_t DefineVariables( EMode mode ); - Double_t fgpbeam; // + Double_t fgpbeam; //beam momentum - Double_t fXADC; // X current - Double_t fYADC; // Y current + Double_t fRawXADC; // X raw ADC + Double_t fRawYADC; // Y raw ADC + Double_t fXADC; // X ADC + Double_t fYADC; // Y ADC Double_t fXpos; // X position Double_t fYpos; // Y position - Double_t fRawADC[2]; // raw ADC values + Double_t fPedADC[2]; // ADC poedestals Double_t fAvgPedADC[2]; // Avergage ADC poedestals -- GitLab