diff --git a/CALIBRATION/bcm_current_calib/README b/CALIBRATION/bcm_current_calib/README new file mode 100644 index 0000000000000000000000000000000000000000..4fa7b58896c514b90ee143ff15005b57c4dd497f --- /dev/null +++ b/CALIBRATION/bcm_current_calib/README @@ -0,0 +1,19 @@ +This script runs over a scaler tree (TSH) and save bcm current values +for BCM1, BCM2, (BCM4a, BCM4b, BCM17) as well as the event number +for each scaler event. + +How to make a parameter file for the average BCM current information + +- Use ROOT version 6.08 to use R__LOAD_LIBRARY +- Do this once to make shared libraries (or after modifying the marco) +> root -b +root [0] .L ScalerCalib.C+ + +To run a script: +> roob -b +root [0] .x run.C("/path/Scaler root output file"); + +It prints out + # of scaler read, + average bcm current values for each bcm + corresponding event number for each scaler event diff --git a/CALIBRATION/bcm_current_calib/ScalerCalib.C b/CALIBRATION/bcm_current_calib/ScalerCalib.C new file mode 100644 index 0000000000000000000000000000000000000000..b28bb9ed0597a875d31d3d7f9c63eb6d3ff15467 --- /dev/null +++ b/CALIBRATION/bcm_current_calib/ScalerCalib.C @@ -0,0 +1,203 @@ +#include <TFile.h> +#include <TTree.h> + +#include "ScalerCalib.h" + +using namespace std; + +ofstream outfile; + +//_________________________________ + +ScalerCalib::ScalerCalib(string name) : + fName(name), fPrintFlag(DEFAULT) +{ + + filename = "dummyname"; + +} + +//_________________________________ + +ScalerCalib::~ScalerCalib() +{ + +} + +//_________________________________ + +int ScalerCalib::Run() +{ + + FillContainer(); + + if(evnum.size() < 1) + { + cout << "ERROR: empty container! Check the input file" << endl; + return -1; + } + + int pos = filename.find("scalers_"); + runstr = (filename.substr(pos+8)).substr(0,4); + + ofilename = "bcmcurrent_" + runstr + ".param"; + outfile.open(ofilename.c_str()); + + outfile << "num_scal_reads = " << evnum.size(); + outfile << "\n" << "\n"; + outfile << "scal_read_bcm1_current = "; + PrintContainer(bcm1); + + outfile << "\n" << "\n"; + outfile << "scal_read_bcm2_current = "; + PrintContainer(bcm2); + + if(fPrintFlag == ALL) + { + outfile << "\n" << "\n"; + outfile << "scal_read_bcm4a_current = "; + PrintContainer(bcm4a); + + outfile << "\n" << "\n"; + outfile << "scal_read_bcm4b_current = "; + PrintContainer(bcm4b); + + outfile << "\n" << "\n"; + outfile << "scal_read_bcm17_current = "; + PrintContainer(bcm17); + } + + outfile << "\n" << "\n"; + outfile << "scal_read_event = "; + PrintContainer(evnum); + + // outfile.close(); + + return 0; + +} + +//_________________________________ + +int ScalerCalib::PrintContainer(ScalerContainer sc) +{ + + if(sc.size() < 1) + if(evnum.size() < 1) + { + cout << "ERROR: empty container!" << endl; + return -1; + } + + for(SCIterator i = sc.begin(); i != sc.end()-1; ++i) + { + outfile << *i << ", "; + } + + outfile << sc.back(); + + /* + stringstream sstr; + string result; + + std::copy(sc.begin(), sc.end()-1, ofstream_iterator<double>(sstr, ", ")); + sstr << sc.end(); + + result = sstr.str(); + outfile << result; + + result = ""; + sstr.str(""); + sstr.clear(); + */ + + return 0; +} + +//_________________________________ + + +int ScalerCalib::FillContainer() +{ + + ClearContainers(); + + TFile* file = new TFile(filename.c_str()); + if(!file->IsOpen()) + { + cout << "ERROR: " << filename.c_str() << " is not open!" << endl; + return -1; + } + + if(! file->GetListOfKeys()->Contains("TSH") ) + { + cout << "ERROR: Couldn't find the Scaler Tree" << endl; + return -1; + } + + TTree* T = (TTree*)file->Get("TSH"); + + double evnumber; + double bcm1_current; + double bcm2_current; + double bcm4a_current; + double bcm4b_current; + double bcm17_current; + + string bname[5]; + string sarray[5] = {".BCM1.scalerCurrent", + ".BCM2.scalerCurrent", + ".BCM4A.scalerCurrent", + ".BCM4B.scalerCurrent", + ".BCM17.scalerCurrent"}; + + for(int i=0; i<5; i++) + { + bname[i] = ""; + bname[i] += fName; + bname[i] += sarray[i]; + } + + T->SetBranchAddress("evNumber", &evnumber); + T->SetBranchAddress(bname[0].c_str(), &bcm1_current); + T->SetBranchAddress(bname[1].c_str(), &bcm2_current); + T->SetBranchAddress(bname[2].c_str(), &bcm4a_current); + T->SetBranchAddress(bname[3].c_str(), &bcm4b_current); + T->SetBranchAddress(bname[4].c_str(), &bcm17_current); + + Long64_t nentries = T->GetEntries(); + for(Long64_t ientry=0; ientry<nentries; ientry++) + { + T->GetEntry(ientry); + + if(evnumber < 0) continue; + + evnum.push_back(evnumber); + bcm1.push_back(bcm1_current); + bcm2.push_back(bcm2_current); + bcm4a.push_back(bcm4a_current); + bcm4b.push_back(bcm4b_current); + bcm17.push_back(bcm17_current); + + } + + file->Close(); + + return 0; +} + +//_________________________________ + +void ScalerCalib::ClearContainers() +{ + + evnum.clear(); + bcm1.clear(); + bcm2.clear(); + bcm4a.clear(); + bcm4b.clear(); + bcm17.clear(); + +} + +ClassImp(ScalerCalib) diff --git a/CALIBRATION/bcm_current_calib/ScalerCalib.h b/CALIBRATION/bcm_current_calib/ScalerCalib.h new file mode 100644 index 0000000000000000000000000000000000000000..438dbba1cf76318107c5589abf38d15ecb8b3a29 --- /dev/null +++ b/CALIBRATION/bcm_current_calib/ScalerCalib.h @@ -0,0 +1,53 @@ +#ifndef __SCLAERCALIB_H__ +#define __SCLAERCALIB_H__ + +#include <iostream> +#include <fstream> +#include <string> + +#include <vector> + +using namespace std; + +enum PrintOption {DEFAULT, ALL}; + +typedef vector<double> ScalerContainer; +typedef ScalerContainer::iterator SCIterator; + +class ScalerCalib { + + public: + + ScalerCalib(string name); + virtual ~ScalerCalib(); + + void SetInputFile(string fin){ filename = fin; } + void SetPrintFlag(int p_opt){ fPrintFlag = p_opt; } + int Run(); + + private: + + string fName; + int fPrintFlag; + + string runstr; // used to form a output file name + string filename; + string ofilename; + + void ClearContainers(); + int FillContainer(); + int PrintContainer(ScalerContainer sc); + + + ScalerContainer evnum; + ScalerContainer bcm1; + ScalerContainer bcm2; + ScalerContainer bcm4a; + ScalerContainer bcm4b; + ScalerContainer bcm17; + + ClassDef(ScalerCalib,0) + +}; + +#endif /*__SCLAERCALIB_H__*/ diff --git a/CALIBRATION/bcm_current_calib/run.C b/CALIBRATION/bcm_current_calib/run.C new file mode 100644 index 0000000000000000000000000000000000000000..56b580e2af65a49846feaba2c6ce13830032c8be --- /dev/null +++ b/CALIBRATION/bcm_current_calib/run.C @@ -0,0 +1,15 @@ +R__LOAD_LIBRARY(ScalerCalib_C) + +void run(string fin="fin.root") +{ + + //H: HMS, P: SHMS + ScalerCalib scalib("H"); + scalib.SetInputFile(fin); + scalib.SetPrintFlag(1); //0: bcm1 and bcm2 only, 1: all + scalib.Run(); + +} + + + diff --git a/DEF-files/COIN/PRODUCTION/KIN/coin_hElec_pProt_kin_histos.def b/DEF-files/COIN/PRODUCTION/KIN/coin_hElec_pProt_kin_histos.def index 132ec766f3d252cac56292dd14b245f18124625d..402fd86880271ac47575002015949cd639e1b1e2 100644 --- a/DEF-files/COIN/PRODUCTION/KIN/coin_hElec_pProt_kin_histos.def +++ b/DEF-files/COIN/PRODUCTION/KIN/coin_hElec_pProt_kin_histos.def @@ -2,43 +2,35 @@ ############################ # MISSING MASS ############################ -TH1F pkin_mmiss 'SHMS M_{miss} (ccleantrack); M_{miss} (GeV); Count / 0.005 GeV' P.kin.secondary.Mmiss 800 -2 2 ccleantrack -TH1F pkin_mmiss_coincut 'SHMS M_{miss} (coincut); M_{miss} (GeV); Count / 0.005 GeV' P.kin.secondary.Mmiss 800 -2 2 coincut -TH1F pkin_mmiss_coincut_ep 'SHMS M_{miss} (coincut_ep); M_{miss} (GeV); Count / 0.005 GeV' P.kin.secondary.Mmiss 800 -2 2 coincut_ep -TH1F pkin_mmiss_tightcut 'SHMS M_{miss} (tight_coin); M_{miss} (GeV); Count / 0.005 GeV' P.kin.secondary.Mmiss 800 -2 2 tight_coin&&select_e_cut&&betacut_proton -TH1F pkin_mmiss_ran_coincut 'SHMS M_{miss} (ran_coincut); M_{miss} (GeV); Count / 0.005 GeV' P.kin.secondary.Mmiss 800 -2 2 ran_coincut&&select_e_cut&&betacut_proton +# Plot m_miss squared because I don't trust the square root +formula mmiss P.kin.secondary.emiss_nuc*P.kin.secondary.emiss_nuc-P.kin.secondary.pmiss*P.kin.secondary.pmiss +TH1F pkin_mmiss 'SHMS M^{2}_{miss} (ccleantrack); M^{2}_{miss} (GeV); Count / 0.01 GeV' mmiss 400 -2 2 ccleantrack +TH1F pkin_mmiss_coincut 'SHMS M^{2}_{miss} (coincut); M^{2}_{miss} (GeV); Count / 0.01 GeV' mmiss 400 -2 2 coincut +TH1F pkin_mmiss_coincut_ep 'SHMS M^{2}_{miss} (coincut_ep); M^{2}_{miss} (GeV); Count / 0.01 GeV' mmiss 400 -2 2 coincut_ep +TH1F pkin_mmiss_tightcut 'SHMS M^{2}_{miss} (tight_coin); M^{2}_{miss} (GeV); Count / 0.01 GeV' mmiss 400 -2 2 tight_coin&&select_e_cut&&betacut_proton +TH1F pkin_mmiss_ran_coincut 'SHMS M^{2}_{miss} (ran_coincut); M^{2}_{miss} (GeV); Count / 0.01 GeV' mmiss 400 -2 2 ran_coincut&&select_e_cut&&betacut_proton ############################ # MISSING MOMENTUM ############################ -TH1F pkin_pmiss 'SHMS p_{miss} Magnitude (ccleantrack); p_{miss} (GeV); Count / 0.005 GeV;' P.kin.secondary.pmiss 800 -2 2 ccleantrack -TH1F pkin_pmiss_coincut 'SHMS p_{miss} Magnitude (coincut); p_{miss} (GeV); Count / 0.005 GeV;' P.kin.secondary.pmiss 800 -2 2 coincut -TH1F pkin_pmiss_pid 'SHMS p_{miss} Magnitude (coincut_ep); p_{miss} (GeV); Count / 0.005 GeV;' P.kin.secondary.pmiss 800 -2 2 coincut_ep -TH1F pkin_pmiss_x 'SHMS p_{miss,x} (coincut_ep); p_{miss,x} (GeV); Count / 0.005 GeV;' P.kin.secondary.pmiss_x 800 -2 2 coincut_ep -TH1F pkin_pmiss_y 'SHMS p_{miss,y} (coincut_ep); p_{miss,y} (GeV); Count / 0.005 GeV;' P.kin.secondary.pmiss_y 800 -2 2 coincut_ep -TH1F pkin_pmiss_z 'SHMS p_{miss,z} (coincut_ep); p_{miss,z} (GeV); Count / 0.005 GeV;' P.kin.secondary.pmiss_z 800 -2 2 coincut_ep -TH1F pkin_pmiss_par 'SHMS p_{miss,par} (coincut_ep); p_{miss,par} (GeV); Count / 0.005 GeV;' P.kin.secondary.pmiss_z 800 -2 2 coincut_ep -TH1F pkin_pmiss_perp 'SHMS p_{miss,perp} (coincut_ep); p_{miss,perp} (GeV); Count / 0.005 GeV;' P.kin.secondary.pmiss_perp 800 -2 2 coincut_ep -TH1F pkin_pmiss_oop 'SHMS p_{miss,oop} (coincut_ep); p_{miss,oop} (GeV); Count / 0.005 GeV;' P.kin.secondary.pmiss_y 800 -2 2 coincut_ep - -TH1F pkin_pmiss_nuc 'SHMS p_{miss,nuc} (ccleantrack); p_{miss} (GeV); Count / 0.005 GeV;' P.kin.secondary.pmiss_nuc 800 -2 2 ccleantrack -TH1F pkin_pmiss_nuc_coincut 'SHMS p_{miss,nuc} (coincut); p_{miss} (GeV); Count / 0.005 GeV;' P.kin.secondary.pmiss_nuc 800 -2 2 coincut -TH1F pkin_pmiss_nuc_pid 'SHMS p_{miss,nuc} (coincut_ep); p_{miss} (GeV); Count / 0.005 GeV;' P.kin.secondary.pmiss_nuc 800 -2 2 coincut_ep -TH1F pkin_pmiss_nuc_x 'SHMS p_{miss,nuc,x} (coincut_ep); p_{miss,x} (GeV); Count / 0.005 GeV;' P.kin.secondary.pmiss_nuc_x 800 -2 2 coincut_ep -TH1F pkin_pmiss_nuc_y 'SHMS p_{miss,nuc,y} (coincut_ep); p_{miss,y} (GeV); Count / 0.005 GeV;' P.kin.secondary.pmiss_nuc_y 800 -2 2 coincut_ep -TH1F pkin_pmiss_nuc_z 'SHMS p_{miss,nuc,z} (coincut_ep); p_{miss,z} (GeV); Count / 0.005 GeV;' P.kin.secondary.pmiss_nuc_z 800 -2 2 coincut_ep +TH1F pkin_pmiss 'SHMS p_{miss} Magnitude (ccleantrack); p_{miss} (GeV); Count / 0.02 GeV;' P.kin.secondary.pmiss 200 -2 2 ccleantrack +TH1F pkin_pmiss_coincut 'SHMS p_{miss} Magnitude (coincut); p_{miss} (GeV); Count / 0.02 GeV;' P.kin.secondary.pmiss 200 -2 2 coincut +TH1F pkin_pmiss_pid 'SHMS p_{miss} Magnitude (coincut_ep); p_{miss} (GeV); Count / 0.02 GeV;' P.kin.secondary.pmiss 200 -2 2 coincut_ep +TH1F pkin_pmiss_x 'SHMS p_{miss,x} (coincut_ep); p_{miss,x} (GeV); Count / 0.02 GeV;' P.kin.secondary.pmiss_x 200 -2 2 coincut_ep +TH1F pkin_pmiss_y 'SHMS p_{miss,y} (coincut_ep); p_{miss,y} (GeV); Count / 0.02 GeV;' P.kin.secondary.pmiss_y 200 -2 2 coincut_ep +TH1F pkin_pmiss_z 'SHMS p_{miss,z} (coincut_ep); p_{miss,z} (GeV); Count / 0.02 GeV;' P.kin.secondary.pmiss_z 200 -2 2 coincut_ep ############################ # MISSING ENERGY ############################ -TH1F pkin_Emiss 'SHMS E_{miss} (ccleantrack); E_{miss} (GeV); Count / 0.005 GeV;' P.kin.secondary.emiss 400 -1 1 ccleantrack -TH1F pkin_Emiss_coincut 'SHMS E_{miss} (coincut); E_{miss} (GeV); Count / 0.005 GeV;' P.kin.secondary.emiss 400 -1 1 coincut -TH1F pkin_Emiss_pid 'SHMS E_{miss} (coincut_ep); E_{miss} (GeV); Count / 0.005 GeV;' P.kin.secondary.emiss 400 -1 1 coincut_ep +TH1F pkin_Emiss 'SHMS E_{miss} (ccleantrack); E_{miss} (GeV); Count / 0.01 GeV;' P.kin.secondary.emiss_nuc 400 -1 3 ccleantrack +TH1F pkin_Emiss_coincut 'SHMS E_{miss} (coincut); E_{miss} (GeV); Count / 0.01 GeV;' P.kin.secondary.emiss_nuc 400 -1 3 coincut +TH1F pkin_Emiss_pid 'SHMS E_{miss} (coincut_ep); E_{miss} (GeV); Count / 0.01 GeV;' P.kin.secondary.emiss_nuc 400 -1 3 coincut_ep ############################ # KINEMATICS ############################ -TH1F hkin_Q2 'HMS Q^{2}; Q^{2} (GeV); Count / 0.005 GeV;' H.kin.primary.Q2 2000 0 10 ccleantrack -TH1F hkin_W2 'HMS W^{2}; W^{2} (GeV); Count / 0.005 GeV;' H.kin.primary.W2 2000 0 10 ccleantrack +TH1F hkin_Q2 'HMS Q^{2}; Q^{2} (GeV); Count / 0.01 GeV;' H.kin.primary.Q2 1500 0 15 ccleantrack +TH1F hkin_W2 'HMS W^{2}; W^{2} (GeV); Count / 0.01 GeV;' H.kin.primary.W2 1500 0 15 ccleantrack diff --git a/DEF-files/COIN/PRODUCTION/KIN/coin_pElec_hProt_kin_histos.def b/DEF-files/COIN/PRODUCTION/KIN/coin_pElec_hProt_kin_histos.def index 58f02214ffb85e4b8927f269400cebbec715bd32..e48e0b57c26c13c76bd7069eb3480b0a01cea272 100644 --- a/DEF-files/COIN/PRODUCTION/KIN/coin_pElec_hProt_kin_histos.def +++ b/DEF-files/COIN/PRODUCTION/KIN/coin_pElec_hProt_kin_histos.def @@ -2,43 +2,35 @@ ############################ # MISSING MASS ############################ -TH1F hkin_mmiss 'HMS M_{miss} (ccleantrack); M_{miss} (GeV); Count / 0.005 GeV' H.kin.secondary.Mmiss 800 -2 2 ccleantrack -TH1F hkin_mmiss_coincut 'HMS M_{miss} (coincut); M_{miss} (GeV); Count / 0.005 GeV' H.kin.secondary.Mmiss 800 -2 2 coincut -TH1F hkin_mmiss_coincut_ep 'HMS M_{miss} (coincut_ep); M_{miss} (GeV); Count / 0.005 GeV' H.kin.secondary.Mmiss 800 -2 2 coincut_ep -TH1F hkin_mmiss_tightcut 'HMS M_{miss} (tight_coin); M_{miss} (GeV); Count / 0.005 GeV' H.kin.secondary.Mmiss 800 -2 2 tight_coin&&select_e_cut&&betacut_proton -TH1F hkin_mmiss_ran_coincut 'HMS M_{miss} (ran_coincut); M_{miss} (GeV); Count / 0.005 GeV' H.kin.secondary.Mmiss 800 -2 2 ran_coincut&&select_e_cut&&betacut_proton +# Plot m_miss squared because I don't trust the square root +formula mmiss H.kin.secondary.emiss_nuc*H.kin.secondary.emiss_nuc-H.kin.secondary.pmiss*H.kin.secondary.pmiss +TH1F hkin_mmiss 'HMS M^{2}_{miss} (ccleantrack); M^{2}_{miss} (GeV); Count / 0.01 GeV' mmiss 400 -2 2 ccleantrack +TH1F hkin_mmiss_coincut 'HMS M^{2}_{miss} (coincut); M^{2}_{miss} (GeV); Count / 0.01 GeV' mmiss 400 -2 2 coincut +TH1F hkin_mmiss_coincut_ep 'HMS M^{2}_{miss} (coincut_ep); M^{2}_{miss} (GeV); Count / 0.01 GeV' mmiss 400 -2 2 coincut_ep +TH1F hkin_mmiss_tightcut 'HMS M^{2}_{miss} (tight_coin); M^{2}_{miss} (GeV); Count / 0.01 GeV' mmiss 400 -2 2 tight_coin&&select_e_cut&&betacut_proton +TH1F hkin_mmiss_ran_coincut 'HMS M^{2}_{miss} (ran_coincut); M^{2}_{miss} (GeV); Count / 0.01 GeV' mmiss 400 -2 2 ran_coincut&&select_e_cut&&betacut_proton ############################ # MISSING MOMENTUM ############################ -TH1F hkin_pmiss 'HMS p_{miss} Magnitude (ccleantrack); p_{miss} (GeV); Count / 0.005 GeV;' H.kin.secondary.pmiss 800 -2 2 ccleantrack -TH1F hkin_pmiss_coincut 'HMS p_{miss} Magnitude (coincut); p_{miss} (GeV); Count / 0.005 GeV;' H.kin.secondary.pmiss 800 -2 2 coincut -TH1F hkin_pmiss_pid 'HMS p_{miss} Magnitude (coincut_ep); p_{miss} (GeV); Count / 0.005 GeV;' H.kin.secondary.pmiss 800 -2 2 coincut_ep -TH1F hkin_pmiss_x 'HMS p_{miss,x} (coincut_ep); p_{miss,x} (GeV); Count / 0.005 GeV;' H.kin.secondary.pmiss_x 800 -2 2 coincut_ep -TH1F hkin_pmiss_y 'HMS p_{miss,y} (coincut_ep); p_{miss,y} (GeV); Count / 0.005 GeV;' H.kin.secondary.pmiss_y 800 -2 2 coincut_ep -TH1F hkin_pmiss_z 'HMS p_{miss,z} (coincut_ep); p_{miss,z} (GeV); Count / 0.005 GeV;' H.kin.secondary.pmiss_z 800 -2 2 coincut_ep -TH1F hkin_pmiss_par 'HMS p_{miss,par} (coincut_ep); p_{miss,par} (GeV); Count / 0.005 GeV;' H.kin.secondary.pmiss_z 800 -2 2 coincut_ep -TH1F hkin_pmiss_perp 'HMS p_{miss,perp} (coincut_ep); p_{miss,perp} (GeV); Count / 0.005 GeV;' H.kin.secondary.pmiss_perp 800 -2 2 coincut_ep -TH1F hkin_pmiss_oop 'HMS p_{miss,oop} (coincut_ep); p_{miss,oop} (GeV); Count / 0.005 GeV;' H.kin.secondary.pmiss_y 800 -2 2 coincut_ep - -TH1F hkin_pmiss_nuc 'HMS p_{miss,nuc} (ccleantrack); p_{miss} (GeV); Count / 0.005 GeV;' H.kin.secondary.pmiss_nuc 800 -2 2 ccleantrack -TH1F hkin_pmiss_nuc_coincut 'HMS p_{miss,nuc} (coincut); p_{miss} (GeV); Count / 0.005 GeV;' H.kin.secondary.pmiss_nuc 800 -2 2 coincut -TH1F hkin_pmiss_nuc_pid 'HMS p_{miss,nuc} (coincut_ep); p_{miss} (GeV); Count / 0.005 GeV;' H.kin.secondary.pmiss_nuc 800 -2 2 coincut_ep -TH1F hkin_pmiss_nuc_x 'HMS p_{miss,nuc,x} (coincut_ep); p_{miss,x} (GeV); Count / 0.005 GeV;' H.kin.secondary.pmiss_nuc_x 800 -2 2 coincut_ep -TH1F hkin_pmiss_nuc_y 'HMS p_{miss,nuc,y} (coincut_ep); p_{miss,y} (GeV); Count / 0.005 GeV;' H.kin.secondary.pmiss_nuc_y 800 -2 2 coincut_ep -TH1F hkin_pmiss_nuc_z 'HMS p_{miss,nuc,z} (coincut_ep); p_{miss,z} (GeV); Count / 0.005 GeV;' H.kin.secondary.pmiss_nuc_z 800 -2 2 coincut_ep +TH1F hkin_pmiss 'HMS p_{miss} Magnitude (ccleantrack); p_{miss} (GeV); Count / 0.02 GeV;' H.kin.secondary.pmiss 200 -2 2 ccleantrack +TH1F hkin_pmiss_coincut 'HMS p_{miss} Magnitude (coincut); p_{miss} (GeV); Count / 0.02 GeV;' H.kin.secondary.pmiss 200 -2 2 coincut +TH1F hkin_pmiss_pid 'HMS p_{miss} Magnitude (coincut_ep); p_{miss} (GeV); Count / 0.02 GeV;' H.kin.secondary.pmiss 200 -2 2 coincut_ep +TH1F hkin_pmiss_x 'HMS p_{miss,x} (coincut_ep); p_{miss,x} (GeV); Count / 0.02 GeV;' H.kin.secondary.pmiss_x 200 -2 2 coincut_ep +TH1F hkin_pmiss_y 'HMS p_{miss,y} (coincut_ep); p_{miss,y} (GeV); Count / 0.02 GeV;' H.kin.secondary.pmiss_y 200 -2 2 coincut_ep +TH1F hkin_pmiss_z 'HMS p_{miss,z} (coincut_ep); p_{miss,z} (GeV); Count / 0.02 GeV;' H.kin.secondary.pmiss_z 200 -2 2 coincut_ep ############################ # MISSING ENERGY ############################ -TH1F hkin_Emiss 'HMS E_{miss} (ccleantrack); E_{miss} (GeV); Count / 0.005 GeV;' H.kin.secondary.emiss 400 -1 1 ccleantrack -TH1F hkin_Emiss_coincut 'HMS E_{miss} (coincut); E_{miss} (GeV); Count / 0.005 GeV;' H.kin.secondary.emiss 400 -1 1 coincut -TH1F hkin_Emiss_pid 'HMS E_{miss} (coincut_ep); E_{miss} (GeV); Count / 0.005 GeV;' H.kin.secondary.emiss 400 -1 1 coincut_ep +TH1F hkin_Emiss 'HMS E_{miss} (ccleantrack); E_{miss} (GeV); Count / 0.01 GeV;' H.kin.secondary.emiss_nuc 400 -1 3 ccleantrack +TH1F hkin_Emiss_coincut 'HMS E_{miss} (coincut); E_{miss} (GeV); Count / 0.01 GeV;' H.kin.secondary.emiss_nuc 400 -1 3 coincut +TH1F hkin_Emiss_pid 'HMS E_{miss} (coincut_ep); E_{miss} (GeV); Count / 0.01 GeV;' H.kin.secondary.emiss_nuc 400 -1 3 coincut_ep ############################ # KINEMATICS ############################ -TH1F pkin_Q2 'SHMS Q^{2}; Q^{2} (GeV); Count / 0.005 GeV;' P.kin.primary.Q2 2000 0 10 ccleantrack -TH1F pkin_W2 'SHMS W^{2}; W^{2} (GeV); Count / 0.005 GeV;' P.kin.primary.W2 2000 0 10 ccleantrack +TH1F pkin_Q2 'SHMS Q^{2}; Q^{2} (GeV); Count / 0.01 GeV;' P.kin.primary.Q2 1500 0 15 ccleantrack +TH1F pkin_W2 'SHMS W^{2}; W^{2} (GeV); Count / 0.01 GeV;' P.kin.primary.W2 1500 0 15 ccleantrack diff --git a/DEF-files/COIN/PRODUCTION/TRIG/coin_trig_histos.def b/DEF-files/COIN/PRODUCTION/TRIG/coin_trig_histos.def index 1dcf29f20d6a1900cb6f46ab95a1a2bdaa604d32..aa2ad4e93e0f27730220dfffb1201a2064df9885 100644 --- a/DEF-files/COIN/PRODUCTION/TRIG/coin_trig_histos.def +++ b/DEF-files/COIN/PRODUCTION/TRIG/coin_trig_histos.def @@ -35,3 +35,19 @@ TH1F p_ptrig_tdc 'pTRIG1_ROC2' T.coin.pTRIG1_ROC2_tdcTimeRaw*0.1 1600 -800 800 TH1F p_htrig_tdc 'pTRIG1_ROC2' T.coin.hTRIG1_ROC2_tdcTimeRaw*0.1 1600 -800 800 TH1F h_ctrig_tdc 'pTRIG1_ROC1-pTRIG4_ROC1' T.coin.pTRIG1_ROC1_tdcTimeRaw*0.1-T.coin.pTRIG4_ROC1_tdcTimeRaw 1600 -800 800 TH1F p_ctrig_tdc 'pTRIG1_ROC2-pTRIG4_ROC2' T.coin.pTRIG1_ROC2_tdcTimeRaw*0.1-T.coin.pTRIG4_ROC2_tdcTimeRaw 1600 -800 800 + +##################################### +# TRIGGER RATE vs. 1 MHz Clock Time +##################################### + +TH2D ptrig1rate_vs_time 'SHMS Trig1 Rate vs. Time; 1 MHz Clock Time (s); pTRIG1 Rate (Hz)' P.1Mhz.scalerTime P.pTRIG1.scalerRate 350 0 7000 500 0 200000 +TH2D ptrig2rate_vs_time 'SHMS Trig2 Rate vs. Time; 1 MHz Clock Time (s); pTRIG2 Rate (Hz)' P.1Mhz.scalerTime P.pTRIG2.scalerRate 350 0 7000 500 0 200000 +TH2D ptrig3rate_vs_time 'SHMS Trig3 Rate vs. Time; 1 MHz Clock Time (s); pTRIG3 Rate (Hz)' P.1Mhz.scalerTime P.pTRIG3.scalerRate 350 0 7000 500 0 200000 +TH2D ptrig4rate_vs_time 'SHMS Trig4 Rate vs. Time; 1 MHz Clock Time (s); pTRIG4 Rate (Hz)' P.1Mhz.scalerTime P.pTRIG4.scalerRate 350 0 7000 500 0 200000 +TH2D ptrig6rate_vs_time 'SHMS Trig6 Rate vs. Time; 1 MHz Clock Time (s); pTRIG6 Rate (Hz)' P.1Mhz.scalerTime P.pTRIG6.scalerRate 350 0 7000 500 0 200000 + +TH2D htrig1rate_vs_time 'HMS Trig1 Rate vs. Time; 1 MHz Clock Time (s); hTRIG1 Rate (Hz)' H.1Mhz.scalerTime H.hTRIG1.scalerRate 350 0 7000 500 0 200000 +TH2D htrig2rate_vs_time 'HMS Trig2 Rate vs. Time; 1 MHz Clock Time (s); hTRIG2 Rate (Hz)' H.1Mhz.scalerTime H.hTRIG2.scalerRate 350 0 7000 500 0 200000 +TH2D htrig3rate_vs_time 'HMS Trig3 Rate vs. Time; 1 MHz Clock Time (s); hTRIG3 Rate (Hz)' H.1Mhz.scalerTime H.hTRIG3.scalerRate 350 0 7000 500 0 200000 +TH2D htrig4rate_vs_time 'HMS Trig4 Rate vs. Time; 1 MHz Clock Time (s); hTRIG4 Rate (Hz)' H.1Mhz.scalerTime H.hTRIG4.scalerRate 350 0 7000 500 0 200000 +TH2D htrig6rate_vs_time 'HMS Trig6 Rate vs. Time; 1 MHz Clock Time (s); hTRIG6 Rate (Hz)' H.1Mhz.scalerTime H.hTRIG6.scalerRate 350 0 7000 500 0 200000 diff --git a/DEF-files/COIN/PRODUCTION/coin_production_ep_cuts.def b/DEF-files/COIN/PRODUCTION/coin_production_ep_cuts.def index 099b70e3a00c966cbd563461ba091d2a7f892b74..f4600201b58d8e87e6682ef43190109dd52c6e9c 100644 --- a/DEF-files/COIN/PRODUCTION/coin_production_ep_cuts.def +++ b/DEF-files/COIN/PRODUCTION/coin_production_ep_cuts.def @@ -21,19 +21,22 @@ goodctime ALL_events #LOOSE CUT AROUND COINTIME PEAK (3 beam buck tightctime ALL_events #TIGHT CUT AROUND COINTIME PEAK (1 beam buckets) ranctime ALL_events #CUT AWAY FROM COINTIME PEAK (4 beam buckets) -Decode_master ALL_events +ALL_COIN_NO_EDTM T.coin.hEDTM_tdcTime==0.0&&T.coin.pEDTM_tdcTime==0.0&&ALL_events + + +Decode_master ALL_COIN_NO_EDTM Block: CoarseTracking -CoarseTracking_master ALL_events +CoarseTracking_master ALL_COIN_NO_EDTM Block: CoarseReconstruct -CoarseReconstruct_master ALL_events +CoarseReconstruct_master ALL_COIN_NO_EDTM Block: Tracking -Tracking_master ALL_events +Tracking_master ALL_COIN_NO_EDTM Block: Reconstruct -Reconstruct_master ALL_events +Reconstruct_master ALL_COIN_NO_EDTM hcleantrack H.gtr.index > -1 pcleantrack P.gtr.index > -1 diff --git a/DEF-files/COIN/PRODUCTION/coin_production_hElec_pProt_cuts.def b/DEF-files/COIN/PRODUCTION/coin_production_hElec_pProt_cuts.def index 93a6e0c045cfef593fed333152cc7bcb4433e081..523ba2884c3eb865ba4b4143cbe52ba9de7bdbb1 100644 --- a/DEF-files/COIN/PRODUCTION/coin_production_hElec_pProt_cuts.def +++ b/DEF-files/COIN/PRODUCTION/coin_production_hElec_pProt_cuts.def @@ -57,19 +57,21 @@ pcut_good_S1_time T.coin.p1T_tdcTime > 241 && T.coin.p1T_tdcTime < 243 pcut_good_S2X_time T.coin.p2X_tdcTime > 180 && T.coin.p2X_tdcTime < 220 pcut_good_S1_S2X_time pcut_good_S1_time && pcut_good_S2X_time -Decode_master ALL_events +ALL_COIN_NO_EDTM T.coin.hEDTM_tdcTime==0.0&&T.coin.pEDTM_tdcTime==0.0&&ALL_events + +Decode_master ALL_COIN_NO_EDTM Block: CoarseTracking -CoarseTracking_master ALL_events +CoarseTracking_master ALL_COIN_NO_EDTM Block: CoarseReconstruct -CoarseReconstruct_master ALL_events +CoarseReconstruct_master ALL_COIN_NO_EDTM Block: Tracking -Tracking_master ALL_events +Tracking_master ALL_COIN_NO_EDTM Block: Reconstruct -Reconstruct_master ALL_events +Reconstruct_master ALL_COIN_NO_EDTM hcleantrack H.gtr.index > -1 pcleantrack P.gtr.index > -1 diff --git a/DEF-files/COIN/PRODUCTION/coin_production_pElec_hProt_cuts.def b/DEF-files/COIN/PRODUCTION/coin_production_pElec_hProt_cuts.def index ab2006c5a40dbb310dac3809efdf861a8354a862..edc4cc3d35e646805a06225fd3d422002ae5d72b 100644 --- a/DEF-files/COIN/PRODUCTION/coin_production_pElec_hProt_cuts.def +++ b/DEF-files/COIN/PRODUCTION/coin_production_pElec_hProt_cuts.def @@ -57,19 +57,22 @@ pcut_good_S1_time T.coin.p1T_tdcTime > 241 && T.coin.p1T_tdcTime < 243 pcut_good_S2X_time T.coin.p2X_tdcTime > 180 && T.coin.p2X_tdcTime < 220 pcut_good_S1_S2X_time pcut_good_S1_time && pcut_good_S2X_time -Decode_master ALL_events +ALL_COIN_NO_EDTM T.coin.hEDTM_tdcTime==0.0&&T.coin.pEDTM_tdcTime==0.0&&ALL_events + + +Decode_master ALL_COIN_NO_EDTM Block: CoarseTracking -CoarseTracking_master ALL_events +CoarseTracking_master ALL_COIN_NO_EDTM Block: CoarseReconstruct -CoarseReconstruct_master ALL_events +CoarseReconstruct_master ALL_COIN_NO_EDTM Block: Tracking -Tracking_master ALL_events +Tracking_master ALL_COIN_NO_EDTM Block: Reconstruct -Reconstruct_master ALL_events +Reconstruct_master ALL_COIN_NO_EDTM hcleantrack H.gtr.index > -1 pcleantrack P.gtr.index > -1 diff --git a/DEF-files/HMS/PRODUCTION/TRIG/htrig_histos.def b/DEF-files/HMS/PRODUCTION/TRIG/htrig_histos.def index 0f475000966724b025620c42b509850910b7a321..8fe3567ddb376a7d548714b7e41d8256fed2b856 100644 --- a/DEF-files/HMS/PRODUCTION/TRIG/htrig_histos.def +++ b/DEF-files/HMS/PRODUCTION/TRIG/htrig_histos.def @@ -36,4 +36,14 @@ TH2F htrig_ch1y_ch1x 'HMS Hodo Trig; 1X Trig (ns); 1Y Trig (ns)' T.hms.h1X_tdcTi TH1F htrig_hdc_ref1 'HMS DC Reference Time 1; TDC Time (ns); Counts / 1 ns;' T.hms.hDCREF1_tdcTime 2000 0 2000 TH1F htrig_hdc_ref2 'HMS DC Reference Time 2; TDC Time (ns); Counts / 1 ns;' T.hms.hDCREF2_tdcTime 2000 0 2000 TH1F htrig_hdc_ref3 'HMS DC Reference Time 3; TDC Time (ns); Counts / 1 ns;' T.hms.hDCREF3_tdcTime 2000 0 2000 -TH1F htrig_hdc_ref4 'HMS DC Reference Time 4; TDC Time (ns); Counts / 1 ns;' T.hms.hDCREF4_tdcTime 2000 0 2000 \ No newline at end of file +TH1F htrig_hdc_ref4 'HMS DC Reference Time 4; TDC Time (ns); Counts / 1 ns;' T.hms.hDCREF4_tdcTime 2000 0 2000 + +#-------------------------------------- +# HMS Trigger Rate vs. 1MHz Clock Time +#-------------------------------------- + +TH2D htrig1rate_vs_time 'HMS Trig1 Rate vs. Time; 1 MHz Clock Time (s); hTRIG1 Rate (Hz)' H.1Mhz.scalerTime H.hTRIG1.scalerRate 350 0 7000 500 0 200000 +TH2D htrig2rate_vs_time 'HMS Trig2 Rate vs. Time; 1 MHz Clock Time (s); hTRIG2 Rate (Hz)' H.1Mhz.scalerTime H.hTRIG2.scalerRate 350 0 7000 500 0 200000 +TH2D htrig3rate_vs_time 'HMS Trig3 Rate vs. Time; 1 MHz Clock Time (s); hTRIG3 Rate (Hz)' H.1Mhz.scalerTime H.hTRIG3.scalerRate 350 0 7000 500 0 200000 +TH2D htrig4rate_vs_time 'HMS Trig4 Rate vs. Time; 1 MHz Clock Time (s); hTRIG4 Rate (Hz)' H.1Mhz.scalerTime H.hTRIG4.scalerRate 350 0 7000 500 0 200000 +TH2D htrig6rate_vs_time 'HMS Trig6 Rate vs. Time; 1 MHz Clock Time (s); hTRIG6 Rate (Hz)' H.1Mhz.scalerTime H.hTRIG6.scalerRate 350 0 7000 500 0 200000 diff --git a/DEF-files/HMS/PRODUCTION/hstackana_production_cuts.def b/DEF-files/HMS/PRODUCTION/hstackana_production_cuts.def index 4153aea8f484fd15d052afca02de06e93aec8d6b..44c9aa05fc2288ceca2200bc50eb30f955b6ebf9 100644 --- a/DEF-files/HMS/PRODUCTION/hstackana_production_cuts.def +++ b/DEF-files/HMS/PRODUCTION/hstackana_production_cuts.def @@ -20,13 +20,14 @@ Block: Decode hcut_TRIG1 T.hms.hTRIG1_tdcTimeRaw > 0 hcut_TRIG2 T.hms.hTRIG2_tdcTimeRaw > 0 hcut_TRIG3 T.hms.hTRIG3_tdcTimeRaw > 0 -HMS_Pretrig hcut_TRIG1 || hcut_TRIG2 || hcut_TRIG3 +HMS_Pretrig hcut_TRIG1 || hcut_TRIG2 || hcut_TRIG3 -hms_trigs HMS_event +hms_trigs HMS_event hcut_edtm_accepted T.hms.hEDTM_tdcTime != 0.0 hcut_physics_accepted T.hms.hEDTM_tdcTime == 0.0 +ALL_HMS_NO_EDTM ALL_HMS_events && hcut_physics_accepted -Decode_master ALL_HMS_events +Decode_master ALL_HMS_NO_EDTM Block: CoarseTracking CoarseTracking_master ALL_HMS_events @@ -121,13 +122,13 @@ hTest1 hmsHitsPlanes && (!hSpacePoints) hTest2 hSpacePoints && (!hStubLT) Block: CoarseReconstruct -CoarseReconstruct_master ALL_HMS_events +CoarseReconstruct_master ALL_HMS_NO_EDTM Block: Tracking -Tracking_master ALL_HMS_events +Tracking_master ALL_HMS_NO_EDTM Block: Reconstruct -Reconstruct_master ALL_HMS_events +Reconstruct_master ALL_HMS_NO_EDTM hcut_cer_pmt1_elec H.cer.npe[0]>.5 hcut_cer_pmt2_elec H.cer.npe[0]>.5 hcut_cer_elec H.cer.npeSum>.5 @@ -208,4 +209,4 @@ HMS_hcer_track_fired_tot H.cer.totNumTracksFired>0 Block: Physics -Physics_master ALL_HMS_events +Physics_master ALL_HMS_NO_EDTM diff --git a/DEF-files/SHMS/PRODUCTION/TRIG/ptrig_histos.def b/DEF-files/SHMS/PRODUCTION/TRIG/ptrig_histos.def index 15c04bb1f6e90717f6516976136f9b43859ed51c..0e14c39b62ae5631cdcf31de6a0bf99c94c2e9ce 100644 --- a/DEF-files/SHMS/PRODUCTION/TRIG/ptrig_histos.def +++ b/DEF-files/SHMS/PRODUCTION/TRIG/ptrig_histos.def @@ -52,4 +52,15 @@ TH1F ptrig_pT1_tdc_mult 'SHMS pT1 TDC Multiplicity (Slot 20, Channel 15); TDC Mu TH1F ptrig_pT2_tdc_mult 'SHMS pT2 TDC Multiplicity (Slot 19, Channel 31); TDC Multiplicity; Counts / 1' T.shms.pT2_tdcMultiplicity 11 0 11 TH1F ptrig_pT3_tdc_mult 'SHMS pT3 TDC Multiplicity (Slot 19, Channel 38); TDC Multiplicity; Counts / 1' T.shms.pT3_tdcMultiplicity 11 0 11 -TH1F ptrig_pFADC_TREF_ROC2_ptime_mult 'SHMS pFADC_TREF_ROC2 ADC Multiplicity; ADC Multiplicity; Counts / 1' T.shms.pFADC_TREF_ROC2_adcMultiplicity 11 0 11 \ No newline at end of file +TH1F ptrig_pFADC_TREF_ROC2_ptime_mult 'SHMS pFADC_TREF_ROC2 ADC Multiplicity; ADC Multiplicity; Counts / 1' T.shms.pFADC_TREF_ROC2_adcMultiplicity 11 0 11 + +#---------------------------------------- +# SHMS Trigger Rate vs. 1 Mhz Clock Time +#---------------------------------------- + +TH2D ptrig1rate_vs_time 'SHMS Trig1 Rate vs. Time; 1 MHz Clock Time (s); pTRIG1 Rate (Hz)' P.1Mhz.scalerTime P.pTRIG1.scalerRate 350 0 7000 500 0 200000 +TH2D ptrig2rate_vs_time 'SHMS Trig2 Rate vs. Time; 1 MHz Clock Time (s); pTRIG2 Rate (Hz)' P.1Mhz.scalerTime P.pTRIG2.scalerRate 350 0 7000 500 0 200000 +TH2D ptrig3rate_vs_time 'SHMS Trig3 Rate vs. Time; 1 MHz Clock Time (s); pTRIG3 Rate (Hz)' P.1Mhz.scalerTime P.pTRIG3.scalerRate 350 0 7000 500 0 200000 +TH2D ptrig4rate_vs_time 'SHMS Trig4 Rate vs. Time; 1 MHz Clock Time (s); pTRIG4 Rate (Hz)' P.1Mhz.scalerTime P.pTRIG4.scalerRate 350 0 7000 500 0 200000 +TH2D ptrig6rate_vs_time 'SHMS Trig6 Rate vs. Time; 1 MHz Clock Time (s); pTRIG6 Rate (Hz)' P.1Mhz.scalerTime P.pTRIG6.scalerRate 350 0 7000 500 0 200000 + diff --git a/DEF-files/SHMS/PRODUCTION/pstackana_production_cuts.def b/DEF-files/SHMS/PRODUCTION/pstackana_production_cuts.def index f66a5a4cab051b2e4e21aa7cdca6ed67f1fba948..828356bb09d3f7e52614aac1b7d19e475f12a804 100644 --- a/DEF-files/SHMS/PRODUCTION/pstackana_production_cuts.def +++ b/DEF-files/SHMS/PRODUCTION/pstackana_production_cuts.def @@ -29,10 +29,13 @@ pcut_good_S1_time T.shms.p1T_tdcTime > 241 && T.shms.p1T_tdcTime < 243 pcut_good_S2X_time T.shms.p2X_tdcTime > 180 && T.shms.p2X_tdcTime < 220 pcut_good_S1_S2X_time pcut_good_S1_time && pcut_good_S2X_time -Decode_master ALL_events +ALL_SHMS_NO_EDTM ALL_events && pcut_physics_accepted + + +Decode_master ALL_SHMS_NO_EDTM Block: CoarseTracking -CoarseTracking_master ALL_events +CoarseTracking_master ALL_SHMS_NO_EDTM # Add cuts to stricter times and apply them to drift distances pcut_time_cut1 P.dc.1u1.time > 0 && P.dc.1u1.time < 250 @@ -148,13 +151,13 @@ pTest1 shmsHitsPlanes && (!pSpacePoints) pTest2 pSpacePoints && (!pStubLT) Block: CoarseReconstruct -CoarseReconstruct_master ALL_events +CoarseReconstruct_master ALL_SHMS_NO_EDTM Block: Tracking -Tracking_master ALL_events +Tracking_master ALL_SHMS_NO_EDTM Block: Reconstruct -Reconstruct_master ALL_events +Reconstruct_master ALL_SHMS_NO_EDTM pcut_cer_ng_elec P.ngcer.npeSum > 0.5 pcut_cer_ng_pi P.ngcer.npeSum <= 0.5 @@ -276,4 +279,4 @@ SHMS_aero_track_matched_tot P.aero.totNumTracksMatched>0 SHMS_aero_track_fired_tot P.aero.totNumTracksFired>0 Block: Physics -Physics_master ALL_events +Physics_master ALL_SHMS_NO_EDTM diff --git a/onlineGUI/CONFIG/COIN/PRODUCTION/coin_production.cfg b/onlineGUI/CONFIG/COIN/PRODUCTION/coin_production.cfg index dc6672762ec01558cd608655dc84934d2db2ac3e..56be7cf05a3fc2f4bc916d0bfd499af8449fcb4a 100644 --- a/onlineGUI/CONFIG/COIN/PRODUCTION/coin_production.cfg +++ b/onlineGUI/CONFIG/COIN/PRODUCTION/coin_production.cfg @@ -30,38 +30,52 @@ p_htrig_tdc h_ctrig_tdc p_ctrig_tdc -newpage 2 1 +newpage 3 1 title Target Variables -hgtrz_vs_pgtrz hgtry_vs_pgtry +hgtryp_vs_pgtryp +hgtrxp_vs_pgtrxp newpage 3 2 title Missing Mass -hkin_mmiss -hkin_mmiss_coincut -hkin_mmiss_coincut_ep -hkin_mmiss_tightcut -hkin_mmiss_ran_coincut +pkin_mmiss +pkin_mmiss_coincut +pkin_mmiss_coincut_ep +pkin_mmiss_tightcut +pkin_mmiss_ran_coincut -newpage 3 3 +newpage 3 2 title Missing Momentum -hkin_pmiss -hkin_pmiss_coincut -hkin_pmiss_pid -hkin_pmiss_x -hkin_pmiss_y -hkin_pmiss_z -hkin_pmiss_par -hkin_pmiss_perp -hkin_pmiss_oop +pkin_pmiss +pkin_pmiss_coincut +pkin_pmiss_pid +pkin_pmiss_x +pkin_pmiss_y +pkin_pmiss_z newpage 3 1 title Missing Energy -hkin_Emiss -hkin_Emiss_coincut -hkin_Emiss_pid +pkin_Emiss +pkin_Emiss_coincut +pkin_Emiss_pid newpage 2 1 title Kinematics -pkin_Q2 -pkin_W2 +hkin_Q2 +hkin_W2 + +newpage 3 2 logxy +title HMS Trigger Rates +htrig1rate_vs_time -nostat +htrig2rate_vs_time -nostat +htrig3rate_vs_time -nostat +htrig4rate_vs_time -nostat +htrig6rate_vs_time -nostat + +newpage 3 2 logxy +title SHMS Trigger Rates +ptrig1rate_vs_time -nostat +ptrig2rate_vs_time -nostat +ptrig3rate_vs_time -nostat +ptrig4rate_vs_time -nostat +ptrig6rate_vs_time -nostat diff --git a/onlineGUI/CONFIG/HMS/PRODUCTION/hms_coin_production.cfg b/onlineGUI/CONFIG/HMS/PRODUCTION/hms_coin_production.cfg index 73dd00bb65994f4ab9e20f991e4611c14bba6052..aec54a8a548004a56a943e3a7f9080637dafd8d3 100644 --- a/onlineGUI/CONFIG/HMS/PRODUCTION/hms_coin_production.cfg +++ b/onlineGUI/CONFIG/HMS/PRODUCTION/hms_coin_production.cfg @@ -183,6 +183,14 @@ hdc_trk_mom_pi -nostat hcal_xtrack_vs_etrack_pi -nostat hcal_ytrack_vs_etrack_pi -nostat +newpage 3 2 logxy +title HMS Trigger Rates +htrig1rate_vs_time -nostat +htrig2rate_vs_time -nostat +htrig3rate_vs_time -nostat +htrig4rate_vs_time -nostat +htrig6rate_vs_time -nostat + newpage 2 2 title HMS EPICS hac_bcm_average -nostat diff --git a/onlineGUI/CONFIG/HMS/PRODUCTION/hms_production.cfg b/onlineGUI/CONFIG/HMS/PRODUCTION/hms_production.cfg index 14e383222203b7aeeac4869dccd4d1ab9cbcb6de..9fb7cf13eeb3ed3831729b47b0b24d425a184e00 100644 --- a/onlineGUI/CONFIG/HMS/PRODUCTION/hms_production.cfg +++ b/onlineGUI/CONFIG/HMS/PRODUCTION/hms_production.cfg @@ -183,7 +183,16 @@ hdc_trk_mom_pi -nostat hcal_xtrack_vs_etrack_pi -nostat hcal_ytrack_vs_etrack_pi -nostat -newpage 2 2 +newpage 3 2 logxy +title HMS Trigger Rates +htrig1rate_vs_time -nostat +htrig2rate_vs_time -nostat +htrig3rate_vs_time -nostat +htrig4rate_vs_time -nostat +htrig6rate_vs_time -nostat + + +newpage 2 2 title HMS EPICS hac_bcm_average -nostat ibcm1 -nostat diff --git a/onlineGUI/CONFIG/SHMS/PRODUCTION/shms_coin_production.cfg b/onlineGUI/CONFIG/SHMS/PRODUCTION/shms_coin_production.cfg index f1755d57ff55428f6337511741f731a26c661572..b0ef2754d062f2c4944e0eeaf124dbe309adb04f 100644 --- a/onlineGUI/CONFIG/SHMS/PRODUCTION/shms_coin_production.cfg +++ b/onlineGUI/CONFIG/SHMS/PRODUCTION/shms_coin_production.cfg @@ -208,6 +208,14 @@ pdc_trk_mom_pi -nostat pcal_xtrack_vs_etrack_pi -nostat pcal_ytrack_vs_etrack_pi -nostat +newpage 3 2 logxy +title SHMS Trigger Rates +ptrig1rate_vs_time -nostat +ptrig2rate_vs_time -nostat +ptrig3rate_vs_time -nostat +ptrig4rate_vs_time -nostat +ptrig6rate_vs_time -nostat + newpage 2 2 title EPICS hac_bcm_average -nostat diff --git a/onlineGUI/CONFIG/SHMS/PRODUCTION/shms_production.cfg b/onlineGUI/CONFIG/SHMS/PRODUCTION/shms_production.cfg index cb843c699db8a59ae481c759dd897217415c5ff0..a7afe536270c74d3e479475bc50d389791a93cc1 100644 --- a/onlineGUI/CONFIG/SHMS/PRODUCTION/shms_production.cfg +++ b/onlineGUI/CONFIG/SHMS/PRODUCTION/shms_production.cfg @@ -208,6 +208,14 @@ pdc_trk_mom_pi -nostat pcal_xtrack_vs_etrack_pi -nostat pcal_ytrack_vs_etrack_pi -nostat +newpage 3 2 logxy +title SHMS Trigger Rates +ptrig1rate_vs_time -nostat +ptrig2rate_vs_time -nostat +ptrig3rate_vs_time -nostat +ptrig4rate_vs_time -nostat +ptrig6rate_vs_time -nostat + newpage 2 2 title EPICS hac_bcm_average -nostat diff --git a/onlineGUI/onlineGUI_v1.2.1/online.C b/onlineGUI/onlineGUI_v1.2.1/online.C index 99341a0a0776865af7aa0a849e99fb23222141b7..4c21c0ef358df4fea95171064ef00bbbbbb8d986 100755 --- a/onlineGUI/onlineGUI_v1.2.1/online.C +++ b/onlineGUI/onlineGUI_v1.2.1/online.C @@ -446,6 +446,18 @@ vector <TString> OnlineConfig::GetCutIdent() { return out; } +Bool_t OnlineConfig::IsLogxy(UInt_t page) { + // Check if last word on line is "logxy" + + UInt_t page_index = pageInfo[page].first; + Int_t word_index = sConfFile[page_index].size()-1; + if (word_index <= 0) return kFALSE; + TString option = sConfFile[page_index][word_index]; + if(option == "logxy") return kTRUE; + return kFALSE; + +} + Bool_t OnlineConfig::IsLogx(UInt_t page) { // Check if last word on line is "logx" @@ -496,9 +508,10 @@ pair <UInt_t, UInt_t> OnlineConfig::GetPageDim(UInt_t page) UInt_t size1 = 2; - if (IsLogx(page)) size1 = 3; // last word is "logy" + if (IsLogx(page)) size1 = 3; // last word is "logx" if (IsLogy(page)) size1 = 3; // last word is "logy" - if (IsLogz(page)) size1 = 3; // last word is "logy" + if (IsLogz(page)) size1 = 3; // last word is "logz" + if (IsLogxy(page)) size1 = 3; // last word is "logxy" // If the dimensions are defined, return them. if(sConfFile[page_index].size()>size1-1) { @@ -987,16 +1000,23 @@ void OnlineGUI::DoDraw() gStyle->SetOptStat(1110); gStyle->SetStatFontSize(0.1); #endif - if (fConfig->IsLogx(current_page)) { + if (fConfig->IsLogxy(current_page)) { gStyle->SetOptLogx(1); - } else { - gStyle->SetOptLogx(0); - } - if (fConfig->IsLogy(current_page)) { gStyle->SetOptLogy(1); } else { - gStyle->SetOptLogy(0); + if (fConfig->IsLogx(current_page)) { + gStyle->SetOptLogx(1); + } else { + gStyle->SetOptLogx(0); + } + + if (fConfig->IsLogy(current_page)) { + gStyle->SetOptLogy(1); + } else { + gStyle->SetOptLogy(0); + } } + if (fConfig->IsLogz(current_page)) { gStyle->SetOptLogz(1); } else { diff --git a/onlineGUI/onlineGUI_v1.2.1/online.h b/onlineGUI/onlineGUI_v1.2.1/online.h index 6e6e10e220f806dc7db08995040dd1e31c12359a..44ea36d8ff1193066bb92e82189075dff298d479 100755 --- a/onlineGUI/onlineGUI_v1.2.1/online.h +++ b/onlineGUI/onlineGUI_v1.2.1/online.h @@ -101,6 +101,7 @@ public: // Page utilites UInt_t GetPageCount() { return pageInfo.size(); }; pair <UInt_t,UInt_t> GetPageDim(UInt_t); + Bool_t IsLogxy(UInt_t page); Bool_t IsLogx(UInt_t page); Bool_t IsLogy(UInt_t page); Bool_t IsLogz(UInt_t page);