diff --git a/.clang-format b/.clang-format index 80b570ad469789f4b331d2aedcb92659e240b162..0326621c924c5a5ed5b0b225618753a09e67a74f 100644 --- a/.clang-format +++ b/.clang-format @@ -95,5 +95,6 @@ SpacesInSquareBrackets: false Standard: Cpp11 TabWidth: 8 UseTab: Never +ConstructorInitializerAllOnOneLineOrOnePerLine: true ... diff --git a/.containers/Dockerfile.in b/.containers/Dockerfile.in index 06567d32b0985cde7c1d20a331ba75bda4ab6522..d7c6eacd2a247127b8137bff4ba08bab9ad180ee 100644 --- a/.containers/Dockerfile.in +++ b/.containers/Dockerfile.in @@ -3,20 +3,21 @@ FROM eicweb.phy.anl.gov:4567/containers/image_recipes/root_spack:@CONTAINER_TAG@ LABEL maintainer "Sylvester Joosten <sjoosten@anl.gov>" RUN cd /tmp \ + && export CLICOLOR_FORCE=1 \ && git clone https://eicweb.phy.anl.gov/jlab/hallc/analyzer_software/hallac_evio.git \ && mkdir hallac_evio/build && cd hallac_evio/build \ && cmake ../. && make -j20 && make install \ && cd /tmp && rm -rf hallac_evio \ && git clone https://eicweb.phy.anl.gov/jlab/hallc/analyzer_software/analyzer.git \ && mkdir analyzer/build && cd analyzer/build && git pull && git checkout v1.8.3 \ - && cmake ../. && make -j20 VERBOSE=1 && make install \ + && cmake ../. && make -j20 && make -j4 install \ && cd /tmp && rm -rf analyzer ## 2 layers so we can isolate hcana from the rest of the stack RUN cd /tmp \ - && git clone https://eicweb.phy.anl.gov/jlab/hallc/analyzer_software/hcana.git \ + && export CLICOLOR_FORCE=1 \ + && git clone -b @HCANA_BRANCH@ https://eicweb.phy.anl.gov/jlab/hallc/analyzer_software/hcana.git \ && mkdir hcana/build && cd hcana/build \ - && git pull \ - && cmake ../. && make -j20 VERBOSE=1 && make install \ - && cd /tmp && rm -rf hcana + && cmake ../. && make -j20 && make -j4 install \ + && cd /tmp && rm -rf hcana diff --git a/.containers/docker/Makefile b/.containers/docker/Makefile deleted file mode 100644 index 9e94fa8d988907fbc7e569fde0270b6717810549..0000000000000000000000000000000000000000 --- a/.containers/docker/Makefile +++ /dev/null @@ -1,208 +0,0 @@ -# import config. -# You can change the default config with `make cnf="config_special.env" build` -cnf ?= config.env -include $(cnf) -# exports variables in config.env as environment variables -export $(shell sed 's/=.*//' $(cnf)) - - -# import deploy config -# You can change the default deploy config with `make cnf="deploy_special.env" release` -dpl ?= deploy.env -include $(dpl) -export $(shell sed 's/=.*//' $(dpl)) - -# grep the version from the mix file -VERSION=$(shell bash version.sh) - -# help will output the help for each task -# thanks to https://marmelab.com/blog/2016/02/29/auto-documented-makefile.html -.PHONY: help - -help: ## This help. - @awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST) - -.DEFAULT_GOAL := help - -# ========================================================================== -# -build: ## build the image - docker build -t $(APP_NAME) . - -build-nc: ## Build the container without caching (from scratch) - docker build --no-cache -t $(APP_NAME) . - -build-alt: ## build the container for various machine architectures (broadwell, haswell, knl) - @echo 'building for architecture: $(ALT_NAME)' - docker build -t $(APP_NAME)_$(ALT_NAME) -f Dockerfile.$(ALT_NAME) . - -build-alt-nc: ## build the container for various machine architectures (broadwell, haswell, knl) - @echo 'build-alt-nc: building for architecture: $(ALT_NAME)' - docker build --no-cache -t $(APP_NAME)_$(ALT_NAME) -f Dockerfile.$(ALT_NAME) . - -# ========================================================================== -# -run: ## Run container on port configured in `config.env` - docker run -i -t --rm --env-file=./config.env -p=$(PORT):$(PORT) --name="$(APP_NAME)" $(REPO)/$(APP_NAME):$(TAG_VERSION) - -up: build run ## Run container on port configured in `config.env` (Alias to run) - -stop: ## Stop and remove a running container - docker stop $(APP_NAME); docker rm $(APP_NAME) - -# ========================================================================== -# Docker tagging -tag: tag-latest #tag-version ## Generate container tags for the `{version}` ans `latest` tags - -tag-latest: ## Generate container `{version}` tag - @echo 'create tag latest' - #docker tag $(APP_NAME) $(REPO)/$(APP_NAME):latest - #docker tag $(APP_NAME) $(GL_GROUP)/$(APP_NAME):latest - #docker tag $(APP_NAME) $(GL_REG_GROUP)/$(APP_NAME):latest - #docker tag $(APP_NAME) $(REG_NAME)/$(REPO)/$(APP_NAME):latest - #docker tag $(APP_NAME) $(REG_NAME)/$(GL_REG_GROUP)/$(APP_NAME):latest - #docker tag $(APP_NAME) $(REPO)/$(APP_NAME):$(VERSION) - #docker tag $(APP_NAME) $(GL_GROUP)/$(APP_NAME):$(VERSION) - -tag-version: ## Generate container `latest` tag - @echo 'create tag $(VERSION)' - docker tag $(REPO)/$(APP_NAME):$(VERSION) $(REG_NAME)/$(REPO)/$(APP_NAME):$(VERSION) - -tag-alt: tag-alt-latest # tag-alt-version ## Generate container tags for the `{version}` ans `latest` tags - -tag-alt-latest: ## Generate container `{version}` tag - @echo 'create tag latest' - #docker tag $(APP_NAME)_$(ALT_NAME) $(REPO)/$(APP_NAME)_$(ALT_NAME):latest - #docker tag $(APP_NAME)_$(ALT_NAME) $(REG_NAME)/$(REPO)/$(APP_NAME)_$(ALT_NAME):latest - #docker tag $(APP_NAME)_$(ALT_NAME) $(REPO)/$(APP_NAME)_$(ALT_NAME):latest - #docker tag $(APP_NAME)_$(ALT_NAME) $(GL_GROUP)/$(APP_NAME)_$(ALT_NAME):latest - #docker tag $(APP_NAME)_$(ALT_NAME) $(GL_REG_GROUP)/$(APP_NAME)_$(ALT_NAME):latest - #docker tag $(APP_NAME)_$(ALT_NAME) $(REG_NAME)/$(REPO)/$(APP_NAME)_$(ALT_NAME):latest - #docker tag $(APP_NAME)_$(ALT_NAME) $(REG_NAME)/$(GL_REG_GROUP)/$(APP_NAME)_$(ALT_NAME):latest - -tag-alt-version: ## Generate container `{version}` tag - @echo 'create tag latest' - docker tag $(APP_NAME)_$(ALT_NAME) $(REG_NAME)/$(REPO)/$(APP_NAME)_$(ALT_NAME):$(VERSION) - -# ========================================================================== -# -login: ## Auto login to AWS-ECR unsing aws-cli - docker login $(REG_NAME) -u $(REG_USER) -p $(REG_TOKEN) - -release: build-nc publish ## Make a release by building and publishing the `{version}` ans `latest` tagged containers to ECR - -publish: publish-latest #publish-version ## Publish the `{version}` ans `latest` tagged containers to ECR - -push: login ## push after login @echo 'push latest to $(REG_NAME)/$(REPO)/$(APP_NAME):latest' - docker tag $(APP_NAME):latest $(REG_NAME)/$(GL_REG_GROUP)/$(APP_NAME):latest - docker push $(REG_HOST)/$(GL_REG_GROUP)/$(APP_NAME):latest - -publish-latest: ## Publish the `latest` taged container to ECR - @echo 'publish latest to $(REG_NAME)/$(GL_REG_GROUP)/$(APP_NAME)' - docker tag $(APP_NAME):latest $(REG_NAME)/$(GL_REG_GROUP)/$(APP_NAME):latest - docker push $(REG_NAME)/$(GL_REG_GROUP)/$(APP_NAME):latest - docker rmi $(REG_NAME)/$(GL_REG_GROUP)/$(APP_NAME):latest - -publish-version: tag-version ## Publish the `{version}` taged container to ECR - @echo 'publish $(VERSION) to $(REPO)' - docker push $(REG_NAME)/$(GL_REG_GROUP)/$(APP_NAME):$(VERSION) - -# ========================================================================== -# -release-alt: build-alt publish-alt ## Make a release by building and publishing the `{version}` ans `latest` tagged containers to ECR - -publish-alt: login publish-alt-latest #publish-alt-version ## Publish the `{version}` ans `latest` tagged containers to ECR - -push-alt: login tag-alt-latest ## push after login - #docker push $(REG_NAME)/$(REPO)/$(APP_NAME)_$(ALT_NAME):latest - docker push $(REG_NAME)/$(GL_REG_GROUP)/$(APP_NAME)_$(ALT_NAME):latest - -publish-alt-latest: #tag-alt-latest ## Publish the `latest` taged container to ECR - #docker push $(REG_NAME)/$(REPO)/$(APP_NAME)_$(ALT_NAME):latest - docker tag $(APP_NAME)_$(ALT_NAME):latest $(REG_NAME)/$(GL_REG_GROUP)/$(APP_NAME)_$(ALT_NAME):latest - docker push $(REG_NAME)/$(GL_REG_GROUP)/$(APP_NAME)_$(ALT_NAME):latest - docker rmi $(REG_NAME)/$(GL_REG_GROUP)/$(APP_NAME)_$(ALT_NAME):latest - -publish-alt-version: tag-alt-version ## Publish the `latest` taged container to ECR - #docker push $(REG_NAME)/$(REPO)/$(APP_NAME)_$(ALT_NAME):$(VERSION) - docker push $(REG_NAME)/$(GL_REG_GROUP)/$(APP_NAME)_$(ALT_NAME):$(VERSION) - -# ========================================================================== -# - -login-dockerhub: ## login to hub.docker.com - @echo 'docker hub login :' - docker login - -push-dockerhub: build #publish-version ## Publish the `{version}` ans `latest` tagged containers to ECR - @echo '$(DH_ORG)/$(APP_NAME):$(TAG_VERSION)' - docker push $(DH_ORG)/$(APP_NAME):latest - #docker push $(DH_ORG)/$(APP_NAME):$(VERSION) - -publish-dockerhub: build tag #publish-version ## Publish the `{version}` ans `latest` tagged containers to ECR - @echo '$(DH_ORG)/$(APP_NAME):$(TAG_VERSION)' - docker push $(DH_ORG)/$(APP_NAME):latest - #docker push $(DH_ORG)/$(APP_NAME):$(VERSION) - -# ========================================================================== -# -clean-tags: - docker rmi $(REPO)/$(APP_NAME):latest || true - docker rmi $(GL_GROUP)/$(APP_NAME):latest || true - docker rmi $(GL_REG_GROUP)/$(APP_NAME):latest || true - docker rmi $(REG_NAME)/$(REPO)/$(APP_NAME):latest || true - docker rmi $(REG_NAME)/$(GL_REG_GROUP)/$(APP_NAME):latest || true - docker rmi $(REPO)/$(APP_NAME)_$(ALT_NAME):latest || true - docker rmi $(GL_GROUP)/$(APP_NAME)_$(ALT_NAME):latest || true - docker rmi $(GL_REG_GROUP)/$(APP_NAME)_$(ALT_NAME):latest || true - docker rmi $(REG_NAME)/$(REPO)/$(APP_NAME)_$(ALT_NAME):latest || true - docker rmi $(REG_NAME)/$(GL_REG_GROUP)/$(APP_NAME)_$(ALT_NAME):latest || true - -clean: - docker rmi $(REPO_NAME)/$(APP_NAME) || true - docker rmi $(REPO_NAME)/$(APP_NAME):$(TAG_VERSION) || true - docker rmi $(REPO_NAME)/$(APP_NAME):$(VERSION) || true - docker rmi $(REPO)/$(APP_NAME) || true - docker rmi $(REPO)/$(APP_NAME):$(TAG_VERSION) || true - docker rmi $(REPO)/$(APP_NAME):$(VERSION) || true - docker rmi $(REG_NAME)/$(REPO)/$(APP_NAME):latest || true - docker rmi $(REG_NAME)/$(REPO)/$(APP_NAME):$(TAG_VERSION) || true - docker rmi $(REG_NAME)/$(REPO)/$(APP_NAME) || true - docker rmi $(DH_ORG)/$(APP_NAME) || true - docker rmi $(DH_ORG)/$(APP_NAME):$(TAG_VERSION) || true - docker rmi $(DH_ORG)/$(APP_NAME):$(VERSION) || true - docker rmi $(GL_REG_NAME)/$(GL_REG_GROUP)/$(APP_NAME):latest || true - docker rmi $(GL_REG_NAME)/$(GL_REG_GROUP)/$(APP_NAME):$(VERSION) || true - docker rmi $(GL_REG_NAME)/$(GL_REG_GROUP)/$(APP_NAME) || true - docker rmi $(GL_REG_NAME)/$(GL_REG_GROUP)/$(APP_NAME)_$(ALT_NAME):latest || true - docker rmi $(GL_REG_NAME)/$(GL_REG_GROUP)/$(APP_NAME)_$(ALT_NAME):$(VERSION) || true - docker rmi $(GL_REG_NAME)/$(GL_REG_GROUP)/$(APP_NAME)_$(ALT_NAME) || true - docker rmi $(GL_REG_GROUP)/$(APP_NAME) || true - docker rmi $(GL_REG_GROUP)/$(APP_NAME):$(VERSION) || true - docker rmi $(GL_REG_GROUP)/$(APP_NAME)_$(ALT_NAME) || true - docker rmi $(GL_REG_GROUP)/$(APP_NAME)_$(ALT_NAME):$(VERSION) || true - docker rmi $(GL_REG_NAME)/$(REG_USER)/$(APP_NAME) || true - docker rmi $(GL_REG_NAME)/$(REG_USER)/$(APP_NAME):$(VERSION) || true - #docker rmi $(APP_NAME) || true - -version: ## Output the current version - @echo $(VERSION) - -# ========================================================================== -# -info: ## Output the current version - @echo 'VERSION = $(VERSION) ' - @echo 'REG_USER = $(REG_USER) ' - @echo 'REG_NAME = $(REG_NAME) ' - @echo 'ALT_NAME = $(ALT_NAME) ' - @echo 'APP_NAME = $(APP_NAME) ' - @echo 'REPO_NAME = $(REPO_NAME) ' - @echo 'DH_ORG = $(DH_ORG) ' - @echo 'GL_GROUP = $(GL_GROUP) ' - @echo 'GL_REG_GROUP = $(GL_REG_GROUP)' - @echo 'GL_REG_NAME = $(GL_REG_NAME) ' - @echo 'REPO = $(REPO) ' - @echo 'TAG_VERSION = $(TAG_VERSION) ' - -ls: ## list all docker images - docker images diff --git a/.gitignore b/.gitignore index fc73207f3317605a0fe800ba377eb6d81b65ecc0..3bbd3ea165610c6ec7fb3b0b5393235b3ae50171 100644 --- a/.gitignore +++ b/.gitignore @@ -60,6 +60,7 @@ examples/cache work build* build/ +BUILD/ *.swp *.swo diff --git a/.gitlabci/configure.sh b/.gitlabci/configure.sh index c59d8a41a734e19c5ba32cc1217f12e281e5a56a..17d03176be86a7b7a9a78f76e71cff723352fd90 100755 --- a/.gitlabci/configure.sh +++ b/.gitlabci/configure.sh @@ -14,6 +14,8 @@ HCANA_BRANCH="master" if [ -n "${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME}" ] ; then HCANA_BRANCH=$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME +elif [ "x$CI_COMMIT_TAG" != "x" ]; then + HCANA_BRANCH=$CI_COMMIT_TAG fi echo "Configuring CI file: ${TEMPLATE_FILE}" diff --git a/src/THcHelicity.h b/src/THcHelicity.h index 0856055b0ba0e2a0604075dd8fd6ce2504fbb822..0546937017719c48e25ae5de150b898f8d492554 100644 --- a/src/THcHelicity.h +++ b/src/THcHelicity.h @@ -9,9 +9,10 @@ // //////////////////////////////////////////////////////////////////////// +#include "hcana/Logger.h" + #include "THaHelicityDet.h" #include "THcHelicityReader.h" -#include "hcana/Logger.h" class TH1F; class THcHelicityScaler; diff --git a/src/THcHelicityScaler.cxx b/src/THcHelicityScaler.cxx index 8b6ff54ec2003422908f742b0d20fcdf9c35c47a..0c4c13fa3e85450c6b1921a67b1a4e736fae0dbc 100644 --- a/src/THcHelicityScaler.cxx +++ b/src/THcHelicityScaler.cxx @@ -20,6 +20,7 @@ #include <cstdio> #include <cstdlib> #include <cstring> +#include <iomanip> #include <iostream> #include <iterator> #include <map> @@ -29,14 +30,14 @@ #include "TNamed.h" #include "TROOT.h" #include "TString.h" -#include "fmt/core.h" +//#include "fmt/core.h" #include "nlohmann/json.hpp" -//#include "THaEvtTypeHandler.h" #include "GenScaler.h" #include "Scaler3801.h" #include "THaCodaData.h" #include "THaEvData.h" +#include "THaEvtTypeHandler.h" #include "THaGlobals.h" #include "THcGlobals.h" #include "THcHelicity.h" @@ -60,11 +61,26 @@ static const UInt_t MAXCHAN = 32; static const UInt_t defaultDT = 4; THcHelicityScaler::THcHelicityScaler(const char* name, const char* description) - : hcana::ConfigLogging<THaEvtTypeHandler>(name, description), fBankID(9801), - fUseFirstEvent(kTRUE), fDelayedType(-1), fBCM_Gain(0), fBCM_Offset(0), fBCM_SatOffset(0), - fBCM_SatQuadratic(0), fBCM_delta_charge(0), evcount(0), evcountR(0.0), ifound(0), - fNormIdx(-1), fNormSlot(-1), dvars(0), dvarsFirst(0), fScalerTree(0), fOnlyBanks(kFALSE), - fClockChan(-1), fLastClock(0) { + : hcana::ConfigLogging<THaEvtTypeHandler>(name, description), + fBankID(9801), + fUseFirstEvent(kTRUE), + fDelayedType(-1), + fBCM_Gain(0), + fBCM_Offset(0), + fBCM_SatOffset(0), + fBCM_SatQuadratic(0), + fBCM_delta_charge(0), + evcount(0), + evcountR(0.0), + ifound(0), + fNormIdx(-1), + fNormSlot(-1), + dvars(0), + dvarsFirst(0), + fScalerTree(0), + fOnlyBanks(kFALSE), + fClockChan(-1), + fLastClock(0) { fRocSet.clear(); fModuleSet.clear(); @@ -217,7 +233,7 @@ Int_t THcHelicityScaler::End(THaRunBase* runbase) { } j_helicity[fBCM_Name[i]] = {{"charge", fChargeSum[i]}, {"charge_asymmetry", fChargeAsymmetry[i]}, - {"charge_asymmetry_error", fChargeAsymmetryError}}; + {"charge_asymmetry_error", fChargeAsymmetryError[i]}}; // printf("%6s %12.2f %12.8f %12.2f %12.8f %12.8f\n",fBCM_Name[i].c_str(),fCharge[i], // fChargeAsymmetry[i],fChargeSum[i],asy,asyerr); @@ -1312,10 +1328,10 @@ void THcHelicityScaler::MakeParms() { // no bcm cut required gHcParms->Define(Form("g%s_hscaler_plus[%d]", fName.Data(), fNScalerChannels), - "Plus Helcity Scalers", *(fHScalers[0])); + "Plus Helcity Scalers", fHScalers[0].front()); gHcParms->Define(Form("g%s_hscaler_minus[%d]", fName.Data(), fNScalerChannels), - "Minus Helcity Scalers", *(fHScalers[1])); + "Minus Helcity Scalers", fHScalers[1].front()); // gHcParms->Define(Form("g%s_hscaler_sum[%d]",fName.Data(),fNScalerChannels), // "Helcity Scalers Sum",*fScalerSums); @@ -1340,22 +1356,22 @@ void THcHelicityScaler::MakeParms() { // bcm cut gHcParms->Define(Form("g%s_hscaler_sum[%d]", fName.Data(), fNScalerChannels), - "Helcity Scalers Sum", *fScalSum); + "Helcity Scalers Sum", fScalSum[0]); gHcParms->Define(Form("g%s_hscaler_asy[%d]", fName.Data(), fNScalerChannels), - "Helicity Scaler Asymmetry[%d]", *fScalAsymmetry); + "Helicity Scaler Asymmetry[%d]", fScalAsymmetry[0]); gHcParms->Define(Form("g%s_hscaler_asyerr[%d]", fName.Data(), fNScalerChannels), - "Helicity Scaler Asymmetry Error[%d]", *fScalAsymmetryError); + "Helicity Scaler Asymmetry Error[%d]", fScalAsymmetryError[0]); gHcParms->Define(Form("g%s_hscaler_charge[%d]", fName.Data(), fNumBCMs), "Helicity Gated Charge", - *fChargeSum); + fChargeSum[0]); gHcParms->Define(Form("g%s_hscaler_charge_asy[%d]", fName.Data(), fNumBCMs), - "Helicity Gated Charge Asymmetry", *fChargeAsymmetry); + "Helicity Gated Charge Asymmetry", fChargeAsymmetry[0]); gHcParms->Define(Form("g%s_hscaler_charge_asyerr[%d]", fName.Data(), fNumBCMs), - "Helicity Gated Charge Asymmetry Error", *fChargeAsymmetryError); + "Helicity Gated Charge Asymmetry Error", fChargeAsymmetryError[0]); gHcParms->Define(Form("g%s_hscaler_time", fName.Data()), "Helicity Gated Time (sec)", fTimeSum); @@ -1424,8 +1440,9 @@ size_t THcHelicityScaler::FindNoCase(const string& sdata, const string& skey) { return sdatalc.find(skeylc, 0); }; -void WriteJson(const std::string& path) { - std::ofstream ofile{fmt::format("{}/hel_scalers_{}.json", path, j_helicity["run_number"]}; +void THcHelicityScaler::WriteJson(const std::string& path) const { + std::ofstream ofile{ + fmt::format("{}/hel_scalers_{}.json", path, j_helicity["run_number"].get<int>())}; ofile << std::setw(4) << j_helicity << "\n"; } diff --git a/src/THcHelicityScaler.h b/src/THcHelicityScaler.h index 461c2ce5fa2b4f34bd3e37b2d36047c23f3c9128..008c6fb561e2bdff0093813d46471ed617496bbe 100644 --- a/src/THcHelicityScaler.h +++ b/src/THcHelicityScaler.h @@ -8,15 +8,17 @@ // ///////////////////////////////////////////////////////////////////// -#include "Decoder.h" #include "THaEvtTypeHandler.h" -#include "THaRunBase.h" #include "THcScalerEvtHandler.h" + +#include "Decoder.h" +#include "THaRunBase.h" #include "TString.h" #include "TTree.h" #include "hcana/Logger.h" #include <algorithm> #include <cstring> +#include <nlohmann/json.hpp> #include <set> #include <string> #include <vector> @@ -54,7 +56,7 @@ public: Double_t GetMinusCharge(const std::string& name); // utility function to write out json helicity file - void WriteJson(const std::string& path); + void WriteJson(const std::string& path) const; private: //------------C.Y. Sep 20, 2020 :: Added Utility Function Prototypes---------------- @@ -87,7 +89,7 @@ private: std::vector<Double_t> fHScalers[2]; Int_t fGateCount[2]; std::vector<Double_t> fScalerSums, fAsymmetry, fAsymmetryError; - std::vector<Double_t> fCharge, fChargeAsymmetry; + std::vector<Double_t> fCharge; Double_t fTime; Double_t fTimePlus; Double_t fTimeMinus; @@ -166,7 +168,7 @@ private: //-------------------------------------------------------- // json file with helicity info - json j_helicity; + nlohmann::json j_helicity; THcHelicityScaler(const THcHelicityScaler& fh); THcHelicityScaler& operator=(const THcHelicityScaler& fh); diff --git a/src/THcScalerEvtHandler.cxx b/src/THcScalerEvtHandler.cxx index 19a4a6dd4ee2f31d77aed31a381690e428caa499..63799c3b2a8fee22f7f565c6ab4403ffa749613c 100644 --- a/src/THcScalerEvtHandler.cxx +++ b/src/THcScalerEvtHandler.cxx @@ -75,11 +75,28 @@ static const UInt_t MAXCHAN = 32; static const UInt_t defaultDT = 4; THcScalerEvtHandler::THcScalerEvtHandler(const char* name, const char* description) - : hcana::ConfigLogging<THaEvtTypeHandler>(name, description), fBCM_Gain(0), fBCM_Offset(0), - fBCM_SatOffset(0), fBCM_SatQuadratic(0), fBCM_delta_charge(0), evcount(0), evcountR(0.0), - ifound(0), fNormIdx(-1), fNormSlot(-1), dvars(0), dvars_prev_read(0), dvarsFirst(0), - fScalerTree(0), fUseFirstEvent(kTRUE), fOnlySyncEvents(kFALSE), fOnlyBanks(kFALSE), - fDelayedType(-1), fClockChan(-1), fLastClock(0), fClockOverflows(0) { + : hcana::ConfigLogging<THaEvtTypeHandler>(name, description), + fBCM_Gain(0), + fBCM_Offset(0), + fBCM_SatOffset(0), + fBCM_SatQuadratic(0), + fBCM_delta_charge(0), + evcount(0), + evcountR(0.0), + ifound(0), + fNormIdx(-1), + fNormSlot(-1), + dvars(0), + dvars_prev_read(0), + dvarsFirst(0), + fScalerTree(0), + fUseFirstEvent(kTRUE), + fOnlySyncEvents(kFALSE), + fOnlyBanks(kFALSE), + fDelayedType(-1), + fClockChan(-1), + fLastClock(0), + fClockOverflows(0) { fRocSet.clear(); fModuleSet.clear(); scal_prev_read.clear(); @@ -442,8 +459,8 @@ Int_t THcScalerEvtHandler::AnalyzeBuffer(UInt_t* rdata, Bool_t onlysync) { } } // printf("1st event %i index %i fBCMname %s scalerloc %s offset %f gain %f - //computed %f\n",evcount, bcm_ind, - //fBCM_Name[bcm_ind],scalerloc[ivar]->name.Data(),fBCM_Offset[bcm_ind],fBCM_Gain[bcm_ind],dvars[ivar]); + // computed %f\n",evcount, bcm_ind, + // fBCM_Name[bcm_ind],scalerloc[ivar]->name.Data(),fBCM_Offset[bcm_ind],fBCM_Gain[bcm_ind],dvars[ivar]); } if (fDebugFile) @@ -506,7 +523,6 @@ Int_t THcScalerEvtHandler::AnalyzeBuffer(UInt_t* rdata, Bool_t onlysync) { } else { cout << "THcScalerEvtHandler:: ERROR:: incorrect index " << ivar << " " << idx << " " << ichan << endl; ->>>>>>> c420edd53c56a5a9d8db08d317c7f15c82de6d17 } } else { // evcount != 0 if (fDebugFile)