diff --git a/SConstruct b/SConstruct index b5a7758873abd2c922ea1152814b3a89ef4458a7..5e33af1ecb3aaeb23aa8041380a1d919d6577e17 100644 --- a/SConstruct +++ b/SConstruct @@ -7,6 +7,7 @@ import sys import platform import commands import SCons +import subprocess def rootcint(target,source,env): """Executes the ROOT dictionary generator over a list of headers.""" @@ -67,7 +68,7 @@ if evio_libdir is None or evio_incdir is None: print "EVIO_INCDIR = %s" % evio_incdir print "Using local installation ... " evio_local = baseenv.subst('$HA_DIR')+'/evio' - evio_version = '4.4.5' + evio_version = '4.4.6' uname = os.uname(); platform = uname[0]; machine = uname[4]; @@ -76,15 +77,35 @@ if evio_libdir is None or evio_incdir is None: evio_local_lib = "%s/evio-%s/%s/lib" % (evio_local,evio_version,evio_name) evio_local_inc = "%s/evio-%s/%s/include" % (evio_local,evio_version,evio_name) evio_tarfile = "%s/evio-%s.tgz" % (evio_local,evio_version) - if not os.path.isdir(evio_local_lib): - if not os.path.exists(evio_tarfile): - evio_command_scons = "cd %s; wget --no-check-certificate https://coda.jlab.org/drupal/system/files/coda/evio/evio-4.4/evio-%s.tgz; tar xvfz evio-%s.tgz; cd evio-%s/ ; scons install --prefix=." % (evio_local,evio_version,evio_version,evio_version) + + ####### Check to see if scons -c has been called ######### + + if baseenv.GetOption('clean'): + subprocess.call(['echo', '!!!!!!!!!!!!!! EVIO Cleaning Process !!!!!!!!!!!! ']) + if not os.path.isdir(evio_local_lib): + if not os.path.exists(evio_tarfile): + evio_command_scons = "rm libevio*.*; cd %s; wget --no-check-certificate https://coda.jlab.org/drupal/system/files/evio-%s.tgz; tar xvfz evio-%s.tgz; cd evio-%s/ ; scons install -c --prefix=." % (evio_local,evio_version,evio_version,evio_version) + else: + evio_command_scons = "rm libevio*.*; cd %s; tar xvfz evio-%s.tgz; cd evio-%s/ ; scons install -c --prefix=." % (evio_local,evio_version,evio_version) else: - evio_command_scons = "cd %s; tar xvfz evio-%s.tgz; cd evio-%s/ ; scons install --prefix=." % (evio_local,evio_version,evio_version) + evio_command_scons = "rm libevio*.*; cd %s; cd evio-%s/ ; scons install -c --prefix=." % (evio_local,evio_version) + print "evio_command_scons = %s" % evio_command_scons + os.system(evio_command_scons) else: + if not os.path.isdir(evio_local_lib): + if not os.path.exists(evio_tarfile): + evio_command_scons = "cd %s; wget --no-check-certificate https://coda.jlab.org/drupal/system/files/evio-%s.tgz; tar xvfz evio-%s.tgz; cd evio-%s/ ; scons install --prefix=." % (evio_local,evio_version,evio_version,evio_version) + else: + evio_command_scons = "cd %s; tar xvfz evio-%s.tgz; cd evio-%s/ ; scons install --prefix=." % (evio_local,evio_version,evio_version) + else: evio_command_scons = "cd %s; cd evio-%s/ ; scons install --prefix=." % (evio_local,evio_version) - - os.system(evio_command_scons) + print "evio_command_scons = %s" % evio_command_scons + os.system(evio_command_scons) + evio_local_lib_files = "%s/*.*" % (evio_local_lib) + evio_command_libcopy = "cp %s %s" % (evio_local_lib_files,baseenv.subst('$HA_DIR')) + print "evio_command_libcopy = %s" % evio_command_libcopy + os.system(evio_command_libcopy) + baseenv.Append(EVIO_LIB = evio_local_lib) baseenv.Append(EVIO_INC = evio_local_inc) else: diff --git a/examples/output.def b/examples/output.def index 570af14fe1beebdeb36e348c753e02bfa14d08d6..26e3551bdcc7a062e5e530ca559646d85b2b7ba2 100644 --- a/examples/output.def +++ b/examples/output.def @@ -129,18 +129,18 @@ TH1F hcaladc_B13n 'HMS Cal ADC B13n - PED' H.cal.2ta.aneg_p[12] 150 50 500 # Can we use variables for the constants. In CTP we used hdc_nwire(i) # -TH1F hdc1x1_wm 'HDC 1X1 Wiremap' H.dc.1x1.tdchits 113 0.5 113.5 -TH1F hdc1y1_wm 'HDC 1Y1 Wiremap' H.dc.1y1.tdchits 52 0.5 52.5 -TH1F hdc1u1_wm 'HDC 1U1 Wiremap' H.dc.1u1.tdchits 107 0.5 107.5 -TH1F hdc1v1_wm 'HDC 1V1 Wiremap' H.dc.1v1.tdchits 107 0.5 107.5 -TH1F hdc1y2_wm 'HDC 1Y2 Wiremap' H.dc.1y2.tdchits 52 0.5 52.5 -TH1F hdc1x2_wm 'HDC 1X2 Wiremap' H.dc.1x2.tdchits 113 0.5 113.5 -TH1F hdc2x1_wm 'HDC 2X1 Wiremap' H.dc.2x1.tdchits 113 0.5 113.5 -TH1F hdc2y1_wm 'HDC 2Y1 Wiremap' H.dc.2y1.tdchits 52 0.5 52.5 -TH1F hdc2u1_wm 'HDC 2U1 Wiremap' H.dc.2u1.tdchits 107 0.5 107.5 -TH1F hdc2v1_wm 'HDC 2V1 Wiremap' H.dc.2v1.tdchits 107 0.5 107.5 -TH1F hdc2y2_wm 'HDC 2Y2 Wiremap' H.dc.2y2.tdchits 52 0.5 52.5 -TH1F hdc2x2_wm 'HDC 2X2 Wiremap' H.dc.2x2.tdchits 113 0.5 113.5 +TH1F hdc1x1_wm 'HDC 1X1 Wiremap' H.dc.1x1.wirenum 113 0.5 113.5 +TH1F hdc1y1_wm 'HDC 1Y1 Wiremap' H.dc.1y1.wirenum 52 0.5 52.5 +TH1F hdc1u1_wm 'HDC 1U1 Wiremap' H.dc.1u1.wirenum 107 0.5 107.5 +TH1F hdc1v1_wm 'HDC 1V1 Wiremap' H.dc.1v1.wirenum 107 0.5 107.5 +TH1F hdc1y2_wm 'HDC 1Y2 Wiremap' H.dc.1y2.wirenum 52 0.5 52.5 +TH1F hdc1x2_wm 'HDC 1X2 Wiremap' H.dc.1x2.wirenum 113 0.5 113.5 +TH1F hdc2x1_wm 'HDC 2X1 Wiremap' H.dc.2x1.wirenum 113 0.5 113.5 +TH1F hdc2y1_wm 'HDC 2Y1 Wiremap' H.dc.2y1.wirenum 52 0.5 52.5 +TH1F hdc2u1_wm 'HDC 2U1 Wiremap' H.dc.2u1.wirenum 107 0.5 107.5 +TH1F hdc2v1_wm 'HDC 2V1 Wiremap' H.dc.2v1.wirenum 107 0.5 107.5 +TH1F hdc2y2_wm 'HDC 2Y2 Wiremap' H.dc.2y2.wirenum 52 0.5 52.5 +TH1F hdc2x2_wm 'HDC 2X2 Wiremap' H.dc.2x2.wirenum 113 0.5 113.5 # Drift Time and Drift Distance Spectra TH1F hdc1x1_dt 'HDC 1X1 Drift Time' H.dc.1x1.time 200 -100 300 @@ -211,18 +211,18 @@ TH1F snegadc3 'SOS s2x- ADC hits' S.hod.2x.negadcpad 16 0.5 16.5 TH1F sposadc4 'SOS s2y+ ADC hits' S.hod.2y.posadcpad 9 0.5 9.5 TH1F snegadc4 'SOS s2y- ADC hits' S.hod.2y.negadcpad 9 0.5 9.5 -TH1F sdc1u1_wm 'SDC 1U1 Wiremap' S.dc.1u1.tdchits 48 0.5 48.5 -TH1F sdc1u2_wm 'SDC 1U2 Wiremap' S.dc.1u2.tdchits 48 0.5 48.5 -TH1F sdc1x1_wm 'SDC 1X1 Wiremap' S.dc.1x1.tdchits 64 0.5 64.5 -TH1F sdc1x2_wm 'SDC 1X2 Wiremap' S.dc.1x2.tdchits 64 0.5 64.5 -TH1F sdc1v1_wm 'SDC 1V1 Wiremap' S.dc.1v1.tdchits 48 0.5 48.5 -TH1F sdc1v2_wm 'SDC 1V2 Wiremap' S.dc.1v2.tdchits 48 0.5 48.5 -TH1F sdc2u1_wm 'SDC 2U1 Wiremap' S.dc.2u1.tdchits 48 0.5 48.5 -TH1F sdc2u2_wm 'SDC 2U2 Wiremap' S.dc.2u2.tdchits 48 0.5 48.5 -TH1F sdc2x1_wm 'SDC 2X1 Wiremap' S.dc.2x1.tdchits 64 0.5 64.5 -TH1F sdc2x2_wm 'SDC 2X2 Wiremap' S.dc.2x2.tdchits 64 0.5 64.5 -TH1F sdc2v1_wm 'SDC 2V1 Wiremap' S.dc.2v1.tdchits 48 0.5 48.5 -TH1F sdc2v2_wm 'SDC 2V2 Wiremap' S.dc.2v2.tdchits 48 0.5 48.5 +TH1F sdc1u1_wm 'SDC 1U1 Wiremap' S.dc.1u1.wirenum 48 0.5 48.5 +TH1F sdc1u2_wm 'SDC 1U2 Wiremap' S.dc.1u2.wirenum 48 0.5 48.5 +TH1F sdc1x1_wm 'SDC 1X1 Wiremap' S.dc.1x1.wirenum 64 0.5 64.5 +TH1F sdc1x2_wm 'SDC 1X2 Wiremap' S.dc.1x2.wirenum 64 0.5 64.5 +TH1F sdc1v1_wm 'SDC 1V1 Wiremap' S.dc.1v1.wirenum 48 0.5 48.5 +TH1F sdc1v2_wm 'SDC 1V2 Wiremap' S.dc.1v2.wirenum 48 0.5 48.5 +TH1F sdc2u1_wm 'SDC 2U1 Wiremap' S.dc.2u1.wirenum 48 0.5 48.5 +TH1F sdc2u2_wm 'SDC 2U2 Wiremap' S.dc.2u2.wirenum 48 0.5 48.5 +TH1F sdc2x1_wm 'SDC 2X1 Wiremap' S.dc.2x1.wirenum 64 0.5 64.5 +TH1F sdc2x2_wm 'SDC 2X2 Wiremap' S.dc.2x2.wirenum 64 0.5 64.5 +TH1F sdc2v1_wm 'SDC 2V1 Wiremap' S.dc.2v1.wirenum 48 0.5 48.5 +TH1F sdc2v2_wm 'SDC 2V2 Wiremap' S.dc.2v2.wirenum 48 0.5 48.5 TH1F sdc1u1_dd 'SDC 1U1 Drift Distance' S.dc.1u1.dist 300 -0.1 0.6 TH1F sdc1u2_dd 'SDC 1U2 Drift Distance' S.dc.1u2.dist 300 -0.1 0.6 diff --git a/linux32.py b/linux32.py index 8d664b85aa6ca7be3e829106088219cee4be5ec6..283b5607f53516afb3f3f06c9e2913f0f5645a59 100644 --- a/linux32.py +++ b/linux32.py @@ -23,7 +23,9 @@ def config(env,args): if int(checkheaders): env.Append(CHECKHEADERS= '1') - env.Append(CXXFLAGS = '-m32 -Wall -Woverloaded-virtual') + env.Append(CXXFLAGS = '-m32') + env.Append(CXXFLAGS = '-Wall') + env.Append(CXXFLAGS = '-Woverloaded-virtual') env.Append(CPPDEFINES = '-DLINUXVERS') cxxversion = env.subst('$CXXVERSION') diff --git a/linux64.py b/linux64.py index 2a2e1234681e8f222889fc1b4dbf659d7d6b4125..79703f6f1d1747f08782a2ebd5ade12d42017665 100644 --- a/linux64.py +++ b/linux64.py @@ -23,7 +23,8 @@ def config(env,args): if int(checkheaders): env.Append(CHECKHEADERS= '1') - env.Append(CXXFLAGS = '-Wall -Woverloaded-virtual') + env.Append(CXXFLAGS = '-Wall') + env.Append(CXXFLAGS = '-Woverloaded-virtual') env.Append(CPPDEFINES = '-DLINUXVERS') cxxversion = env.subst('$CXXVERSION') diff --git a/podd b/podd index 265db6e763bf2069aa39d16ce0051328e3e7793e..16d47683831f9d08d68bcbfc515b10533489c523 160000 --- a/podd +++ b/podd @@ -1 +1 @@ -Subproject commit 265db6e763bf2069aa39d16ce0051328e3e7793e +Subproject commit 16d47683831f9d08d68bcbfc515b10533489c523 diff --git a/src/THcDriftChamberPlane.cxx b/src/THcDriftChamberPlane.cxx index 50d246bff36677ae451f27045d6d77c89afe6199..02e3cbe05299ae2e49ed5c22861c1e4256ef07c7 100644 --- a/src/THcDriftChamberPlane.cxx +++ b/src/THcDriftChamberPlane.cxx @@ -239,7 +239,7 @@ Int_t THcDriftChamberPlane::DefineVariables( EMode mode ) // Register variables in global list RVarDef vars[] = { - {"tdchits", "List of TDC hits", + {"wirenum", "List of TDC wire number", "fHits.THcDCHit.GetWireNum()"}, {"rawtdc", "Raw TDC Values", "fHits.THcDCHit.GetRawTime()"}, diff --git a/src/THcHodoscope.cxx b/src/THcHodoscope.cxx index 185e09710c2de8ad50cebe9bdf28207db8e21bac..b7ce40020394e147b0209ca05c401c21d64ddbb7 100644 --- a/src/THcHodoscope.cxx +++ b/src/THcHodoscope.cxx @@ -617,7 +617,6 @@ Int_t THcHodoscope::Decode( const THaEvData& evdata ) // as per the Engine h_strip_scin.f nexthit = fPlanes[ip]->ProcessHits(fRawHitList,nexthit); } - EstimateFocalPlaneTime(); if (fdebugprintscinraw == 1) { @@ -686,20 +685,15 @@ void THcHodoscope::EstimateFocalPlaneTime( void ) maxhit = timehist[i]; } } - ihit = 0; Double_t fpTimeSum = 0.0; fNfptimes=0; Int_t Ngood_hits_plane=0; Double_t Plane_fptime_sum=0.0; - // fNoTrkPlaneInfo.clear(); - // fNoTrkHitInfo.clear(); Bool_t goodplanetime[fNPlanes]; Bool_t twogoodtimes[nscinhits]; for(Int_t ip=0;ip<fNPlanes;ip++) { - // fNoTrkPlaneInfo.push_back(NoTrkPlaneInfo()); - // fNoTrkPlaneInfo[ip].goodplanetime = kFALSE; goodplanetime[ip] = kFALSE; Int_t nphits=fPlanes[ip]->GetNScinHits(); TClonesArray* hodoHits = fPlanes[ip]->GetHits(); @@ -707,18 +701,14 @@ void THcHodoscope::EstimateFocalPlaneTime( void ) Plane_fptime_sum=0.0; for(Int_t i=0;i<nphits;i++) { THcHodoHit *hit = (THcHodoHit*)hodoHits->At(i); - // fNoTrkHitInfo.push_back(NoTrkHitInfo()); - // fNoTrkHitInfo[ihit].goodtwotimes = kFALSE; - // fNoTrkHitInfo[ihit].goodscintime = kFALSE; twogoodtimes[ihit] = kFALSE; + if(hit->GetHasCorrectedTimes()) { Double_t tmin = 0.5*binmax; - Double_t postime=hit->GetPosCorrectedTime(); - Double_t negtime=hit->GetNegCorrectedTime(); + Double_t postime=hit->GetPosTOFCorrectedTime(); + Double_t negtime=hit->GetNegTOFCorrectedTime(); if ((postime>tmin) && (postime<tmin+fTofTolerance) && (negtime>tmin) && (negtime<tmin+fTofTolerance)) { hit->SetTwoGoodTimes(kTRUE); - // fNoTrkHitInfo[ihit].goodtwotimes = kTRUE; - // fNoTrkHitInfo[ihit].goodscintime = kTRUE; twogoodtimes[ihit] = kTRUE; // Both tubes fired Int_t index=hit->GetPaddleNumber()-1; @@ -732,15 +722,15 @@ void THcHodoscope::EstimateFocalPlaneTime( void ) fpTimeSum += fptime; fNfptimes++; goodplanetime[ip] = kTRUE; - //fNoTrkPlaneInfo[ip].goodplanetime = kTRUE; } } else { hit->SetTwoGoodTimes(kFALSE); } - fPlanes[ip]->SetFpTime(Plane_fptime_sum/float(Ngood_hits_plane)); - fPlanes[ip]->SetNGoodHits(Ngood_hits_plane); + } } ihit++; + fPlanes[ip]->SetFpTime(Plane_fptime_sum/float(Ngood_hits_plane)); + fPlanes[ip]->SetNGoodHits(Ngood_hits_plane); } if(fNfptimes>0) { @@ -751,9 +741,6 @@ void THcHodoscope::EstimateFocalPlaneTime( void ) fGoodStartTime=kFALSE; } - - // if ( ( fNoTrkPlaneInfo[0].goodplanetime || fNoTrkPlaneInfo[1].goodplanetime ) && - // ( fNoTrkPlaneInfo[2].goodplanetime || fNoTrkPlaneInfo[3].goodplanetime ) ){ if((goodplanetime[0]||goodplanetime[1]) &&(goodplanetime[2]||goodplanetime[3])) { @@ -771,7 +758,6 @@ void THcHodoscope::EstimateFocalPlaneTime( void ) for(Int_t i=0;i<nphits;i++) { Int_t index=((THcHodoHit*)hodoHits->At(i))->GetPaddleNumber()-1; - // if ( fNoTrkHitInfo[ihhit].goodscintime ) { if(twogoodtimes[ihhit]){ Double_t sigma = 0.5 * ( TMath::Sqrt( TMath::Power( fHodoPosSigma[GetScinIndex(ip,index)],2) + @@ -809,7 +795,6 @@ void THcHodoscope::EstimateFocalPlaneTime( void ) for(Int_t i=0;i<nphits;i++) { Int_t index=((THcHodoHit*)hodoHits->At(i))->GetPaddleNumber()-1; - // if ( fNoTrkHitInfo[ihhit].goodscintime ) { if(twogoodtimes[ihhit]) { Double_t zPosition = fPlanes[ip]->GetZpos() + (index%2)*fPlanes[ip]->GetDzpos();