Skip to content
Snippets Groups Projects
Commit e7337cda authored by Murchhana Roy's avatar Murchhana Roy
Browse files

Started a git repository. Added all files till date.

parents
Branches
Tags
No related merge requests found
Showing
with 1713 additions and 0 deletions
#include <fstream>
#include <iostream>
#include <sstream>
#include <string>
#include <vector>
#include <cstring>
#include <functional>
#include <numeric>
#include "TROOT.h"
#include "TNtuple.h"
#include "TFile.h"
#include "TROOT.h"
#include "TCanvas.h"
#include "TGraphErrors.h"
#include "TGraph.h"
#include "TF1.h"
#include "TPad.h"
#include "TH1F.h"
#include "TLegend.h"
using namespace std;
vector<vector<string> > read_file(string path_to_file)
{
std::ifstream in(path_to_file);
std::vector<vector<string> > p;
std::vector<vector<string> > p0;
if (in) {
std::string line;
while (std::getline(in, line)) {
p.push_back(std::vector<string>());
// Break down the row into column values
std::stringstream ss(line);
string value;
//while (ss >> value)
while(std::getline(ss,value,',')){
p.back().push_back(value);
}
}
}
return p;
}
//Reading charge asymmetry values and return an 2D array. first colum has run number and second column has average of BCM1 and BCM2 charge asymmetry
vector<vector<double> > GetChargeAsym(string asym_list)
{
std::vector<vector<string> >Aq_info;
Aq_info=read_file(asym_list);
double run[Aq_info.size()];
double BCM1[Aq_info.size()];
double BCM2[Aq_info.size()];
for (int i=1; i < Aq_info.size(); i++){
run[i]=stod(Aq_info[i][0]);
BCM1[i]=stod(Aq_info[i][1]);
BCM2[i]=stod(Aq_info[i][2]);
}
vector<vector<double> >Asym_q(Aq_info.size(),vector<double>(2));
for (int i=0;i<Aq_info.size();i++){
Asym_q[i][0]=run[i];
if((BCM1[i]+BCM2[i])==0){
Asym_q[i][1]=1*pow(10,(-6));
}
else{
Asym_q[i][1]=((BCM1[i]+BCM2[i])/2.0)*pow(10,(-6));
}
}
return Asym_q;
}
//Getting xb/w from each run xb/w binned.
vector<double> Getbin(string Asym_counter)
{
std::vector<vector<string> > v;
v=read_file(Asym_counter);
int n=5; //no. of xb bins reduced by n numbers.
int size=v.size()/n; //new size of all arrays
//Creating three columns for bins (xb/w)(all string)
vector<double> bin(size);
int k=0;
for (int i=0; i < v.size(); i=i+5){
bin[k]=stod(v[i][0]);
k+=1;
}
return bin;
}
vector<vector<double> >GetAtot_stat_M1(vector<string> sv,int sign)
{
int len=sv.size();
int wcut=1;
//Read charge asymmetry, Pb,Pt from input file for each run
double A_q;
double Pb=0.85;
double Pt=0.55;
double dPb_Pb=0.03;
double dPt_Pt=0.04;
vector<vector<double> >Aq_vector = GetChargeAsym("/home/cdaq/murchhana/A1N_2020/charge_asym_list_HMS.csv");
int run_num[Aq_vector.size()];
double Aq[Aq_vector.size()];
for(int i=0;i<Aq_vector.size();i++){
run_num[i]=Aq_vector[i][0];
Aq[i]=Aq_vector[i][1];
}
string st1="/home/cdaq/polhe3/production/hallc_replay/MON_OUTPUT/ASYM_COUNTER/xb_HMS_";
string st2;
if(wcut==1){
st2="_asym_wcut.dat";
}
else{
st2="_asym.dat";
}
string filename0;
filename0=st1+sv[0]+st2;
std::vector<vector<string> > s;
s=read_file(filename0);
int n=5; //no. of xb bins reduced by n numbers
int size=s.size()/n; //new size of all arrays
std::vector<double> A_count(size);
std::vector<double>A_phys(size);
std::vector<double>A_num(size);
std::vector<double>A_w(size);
std::vector<double>Atot_num(size);
std::vector<double>Atot_w(size);
std::vector<double>Atot_stat(size);
std::vector<double>dAtot_stat(size);
std::vector<double>dA_count(size);
std::vector<double>dA_phys(size);
std::vector<vector<double> > Astat_result(size,vector<double>(2));
for(int i=0 ; i < size; i++){
Atot_num[i]=0;
Atot_w[i]=0;
Atot_stat[i]=0;
}
for (int j=0; j< len; j++){
string filename;
filename=st1+sv[j]+st2;
std::vector<vector<string> > v;
v=read_file(filename);
if(v.size()==110){
//Creating three columns for xb, Np and Nm
std::vector<double>xb(size);
std::vector<double>Np(size);
std::vector<double>Nm(size);
/* for (int i=0; i < v.size(); i++){
xb[i]=stod(v[i][0]);
Np[i]=stod(v[i][1]);
Nm[i]=stod(v[i][2]);
}
*/
int k=0;
for (int i=0; i < v.size(); i=i+n){
xb[k]=stod(v[i][0]);
Np[k]=stod((v[i][1]+v[i+1][1]+v[i+2][1]+v[i+3][1]+v[i+4][1]));
Nm[k]=stod((v[i][2]+v[i+1][2]+v[i+2][2]+v[i+3][2]+v[i+4][2]));
k+=1;
}
//creating an array that contains counting asymmetry
for (int i=0; i < xb.size(); i++){
if((Nm[i]>=0)&&(Nm[i]<=5000)){
if(Np[i]-Nm[i]==0){
A_count[i]=0;
}
else{
A_count[i]=((Np[i]-Nm[i])/(Np[i]+Nm[i]));
}
}
}
for(int i=0;i<Aq_vector.size();i++){
if(stod(sv[j])==run_num[i]){
A_q=Aq[i];
}
}
for(int i=0; i< xb.size() ; i++){
if((Nm[i]>=0)&&(Nm[i]<=20000)){
if(Np[i]+Nm[i]==0){
Atot_num[i]+=0;
Atot_w[i]+=0;
}
else{
dA_count[i]=1/sqrt(Np[i]+Nm[i]);
A_phys[i]=sign*((A_count[i]-A_q)/(Pb*Pt));
dA_phys[i]=fabs(A_phys[i])*sqrt(pow((dA_count[i]/(A_count[i]-A_q)),2)+pow(dPb_Pb,2)+pow(dPt_Pt,2));
A_num[i]=A_phys[i]/pow(dA_phys[i],2);
A_w[i]=1/pow(dA_phys[i],2);
Atot_num[i]+=A_num[i];
Atot_w[i]+=A_w[i];
}
}
}
}
for (int i=0;i<Atot_stat.size();i++){
if((Atot_num[i]==0) && (Atot_w[i]==0)){
Atot_stat[i]=0;
dAtot_stat[i]=0;
}
else{
Atot_stat[i]=Atot_num[i]/Atot_w[i];
dAtot_stat[i]=sqrt(1/Atot_w[i]);
}
}
for (int i=0;i<Atot_stat.size();i++){
Astat_result[i][0]=Atot_stat[i];
Astat_result[i][1]=dAtot_stat[i];
}
}
return Astat_result;
}
void A1N_anal_method1()
{
//Read run list for HMS.
//const char* run_list="/home/cdaq/murchhana/A1N_2020/hms_run_list.csv";
string run_list="/home/cdaq/murchhana/A1N_2020/hms_run_list.csv";
std::vector<vector<string> > run_v;
run_v=read_file(run_list);
//Creating three columns for Run type,run number,Bphi,Pb, Pt, A_Q,IHWP (all string)
std::vector<string>run_type(run_v.size());
std::vector<string>run_number(run_v.size());
std::vector<string>IHWP(run_v.size());
for (int i=0; i <run_v.size(); i++){
run_type[i]=run_v[i][0];
run_number[i]=run_v[i][4];
IHWP[i]=run_v[i][8];
}
//different cases of run (longitudinal production, trnasverse production,bad run or not production)
char run='l';
int j=0;
vector<string> lm_IN_run_number;
vector<string> lm_OUT_run_number;
for (int i=0; i <run_v.size(); i++){
if(run_type[i]=="lm"){
if(IHWP[i]=="OUT"){
lm_OUT_run_number.push_back(run_number[i]);
}
else if (IHWP[i]=="IN"){
lm_IN_run_number.push_back(run_number[i]);
}
}
else if (run_type[i]=="tp"){
j=0;
}
}
//Method 1:
//Plotting IN and OUT separately
string Asym_count="/home/cdaq/polhe3/production/hallc_replay/MON_OUTPUT/ASYM_COUNTER/xb_HMS_2769_asym.dat";
std::vector<double>xb;
xb=Getbin(Asym_count);
std::vector<vector<double> >Astat_IN;
std::vector<vector<double> >Astat_OUT;
double Atot_phys_IN[xb.size()];
double Atot_phys_OUT[xb.size()];
double dAtot_phys_IN[xb.size()];
double dAtot_phys_OUT[xb.size()];
double Acomb_M1[xb.size()];
double dAcomb_M1[xb.size()];
Astat_IN=GetAtot_stat_M1(lm_IN_run_number,1);
Astat_OUT=GetAtot_stat_M1(lm_OUT_run_number,-1);
for(int i=0;i<xb.size();i++){
Atot_phys_IN[i]=Astat_IN[i][0];
Atot_phys_OUT[i]=Astat_OUT[i][0];
dAtot_phys_IN[i]=Astat_IN[i][1];
dAtot_phys_OUT[i]=Astat_OUT[i][1];
}
// statistically combine Astat_IN and Astas_OUT
for(int i=0;i<xb.size();i++){
if(((Atot_phys_IN[i]+Atot_phys_OUT[i])==0) &&((dAtot_phys_IN[i]+dAtot_phys_OUT[i])==0)){
Acomb_M1[i]=0;
dAcomb_M1[i]=0;
}
else{
Acomb_M1[i]=((Atot_phys_IN[i]/pow(dAtot_phys_IN[i],2))+(Atot_phys_OUT[i]/pow(dAtot_phys_OUT[i],2)))/((1/pow(dAtot_phys_IN[i],2))+(1/pow(dAtot_phys_OUT[i],2)));
dAcomb_M1[i]=sqrt(1/((1/pow(dAtot_phys_IN[i],2))+(1/pow(dAtot_phys_OUT[i],2))));
}
}
/* ofstream outFile;
outFile.open("Result_HMS_wcut_Aphy-fN2_xb_bin_width_0.05_M1.csv");
outFile << "xb"<<"\t"<<"Astat_IN"<<"\t"<<"dAstat_IN"<<"\t"<<"Astat_OUT"<<"\t"<<"dAstat_OUT"<<'\t'<<"A_comb"<<'\t'<<"dA_comb"<<endl;
for(int i=0;i<xb.size();i++){
outFile << xb[i]<<"\t"<<Atot_phys_IN[i]<<"\t"<<dAtot_phys_IN[i]<<"\t"<<Atot_phys_OUT[i]<<"\t"<<dAtot_phys_OUT[i]<<'\t'<<Acomb_M1[i]<<'\t'<<Acomb_M1[i]<<endl;
}*/
int n_bin=xb.size();
auto c1 = new TCanvas("c1","Aphys*fN2 plot (IN and OUT) xb binned - Method 1");
c1->Divide(1,2);
auto gr1 = new TGraphErrors(n_bin,&xb[0],Atot_phys_IN,0,dAtot_phys_IN);
auto gr2 = new TGraphErrors(n_bin,&xb[0],Atot_phys_OUT,0,dAtot_phys_OUT);
c1->cd(1);
gr1->SetTitle("Astat_IN and Astat_OUT vs. xb (Method 1)");
gr1->SetMarkerColor(kBlue);
gr1->SetMarkerStyle(20);
gr1->SetMarkerSize(0.5);
gr1->GetXaxis()->SetTitle("xb");
gr1->GetYaxis()->SetTitle("Atot_phys_IN*fN2");
gr1->GetXaxis()->SetLimits(0.52,0.87);
gr1->GetYaxis()->SetRangeUser(-0.5,0.5);
gr1->Draw("AP");
// gr2->SetTitle("A_phys vs. xb");
gr2->SetMarkerColor(kRed);
gr2->SetMarkerStyle(20);
gr2->SetMarkerSize(0.5);
gr2->GetXaxis()->SetTitle("xb");
gr2->GetYaxis()->SetTitle("Atot_phys_IN*fN2");
gr2->GetXaxis()->SetLimits(0.54,0.87);
gr2->GetYaxis()->SetRangeUser(-0.5,0.5);
gr2->Draw("P");
c1->Modified();
c1->Update();
auto legend = new TLegend(0.1,0.7,0.48,0.9);
legend->AddEntry(gr1,"IHWP IN","ep");
legend->AddEntry(gr2,"IHWP OUT (sign corrected)","ep");
legend->Draw();
c1->Modified();
c1->Update();
// auto c2 = new TCanvas("c1","Asymmetry plot M1 (combined) xb binned");
auto gr3 = new TGraphErrors(n_bin,&xb[0],Acomb_M1,0,dAcomb_M1); //Plotting IN and out combined.
c1->cd(2);
gr3->SetTitle("combined Asymetry vs. xb (Method 1)");
gr3->SetMarkerColor(kBlue);
gr3->SetMarkerStyle(20);
gr3->SetMarkerSize(0.5);
gr3->GetXaxis()->SetTitle("xb");
gr3->GetYaxis()->SetTitle("combined Asym*fN2");
gr3->GetXaxis()->SetLimits(0.52,0.87);
gr3->GetYaxis()->SetRangeUser(-0.5,0.5);
gr3->Draw("AP");
c1->Modified();
c1->Update();
c1->SaveAs("Plot_HMS_wcut_Aphy-fN2_xb_bin_width_0.05_M1.pdf");
return 0;
}
/*
switch(run){
case 'l':
cout<<"3He target polarization direction longitudinal"<<endl;
break;
case 't':
cout<<"3He target polarization direction transverse"<<endl;
break;
case 'b':
cout<<"junk"<<endl;
break;
default:
cout<<"it is not a production run"<<endl;
}
*/
#include <fstream>
#include <iostream>
#include <sstream>
#include <string>
#include <vector>
#include <cstring>
#include "TROOT.h"
#include "TNtuple.h"
#include "TFile.h"
#include "TROOT.h"
#include "TCanvas.h"
#include "TGraphErrors.h"
#include "TGraph.h"
#include "TF1.h"
#include "TPad.h"
#include "TH1F.h"
#include "TLegend.h"
using namespace std;
vector<vector<string> > read_file(string path_to_file)
{
std::ifstream in(path_to_file);
std::vector<vector<string> > p;
std::vector<vector<string> > p0;
if (in) {
std::string line;
while (std::getline(in, line)) {
p.push_back(std::vector<string>());
// Break down the row into column values
std::stringstream ss(line);
string value;
//while (ss >> value)
while(std::getline(ss,value,',')){
p.back().push_back(value);
}
}
}
return p;
}
//Reading charge asymmetry values and return an 2D array. first colum has run number and second column has average of BCM1 and BCM2 charge asymmetry
vector<vector<double> > GetChargeAsym(string asym_list)
{
std::vector<vector<string> >Aq_info;
Aq_info=read_file(asym_list);
double run[Aq_info.size()];
double BCM1[Aq_info.size()];
double BCM2[Aq_info.size()];
for (int i=1; i < Aq_info.size(); i++){
run[i]=stod(Aq_info[i][0]);
BCM1[i]=stod(Aq_info[i][1]);
BCM2[i]=stod(Aq_info[i][2]);
}
vector<vector<double> >Asym_q(Aq_info.size(),vector<double>(2));
for (int i=0;i<Aq_info.size();i++){
Asym_q[i][0]=run[i];
if((BCM1[i]+BCM2[i])==0){
Asym_q[i][1]=1*pow(10,(-6));
}
else{
Asym_q[i][1]=((BCM1[i]+BCM2[i])/2.0)*pow(10,(-6));
}
}
return Asym_q;
}
//Getting xb,Np tot,Nm tot from addinf all runs xb/w binned.
vector<vector<double> > GetAllruns(vector<string> sv)
{
double A_q;
double Pb=0.85;
double Pt=0.55;
int wcut=0;
int len=sv.size();
string st1="/home/cdaq/polhe3/production/hallc_replay/MON_OUTPUT/ASYM_COUNTER/xb_HMS_";
string st2;
if(wcut==1){
st2="_asym_wcut.dat";
}
else{
st2="_asym.dat";
}
string filename0;
filename0=st1+sv[0]+st2;
std::vector<vector<string> > s;
s=read_file(filename0);
int n=5; //no. of xb bins reduced by n numbers
int size=s.size()/n; //new size of all arrays
vector<vector<double> >Aq_vector = GetChargeAsym("/home/cdaq/murchhana/A1N_2020/charge_asym_list_HMS.csv");
int run_num[Aq_vector.size()];
double Aq[Aq_vector.size()];
for(int i=0;i<Aq_vector.size();i++){
run_num[i]=Aq_vector[i][0];
Aq[i]=Aq_vector[i][1];
}
std::vector<double> Np_tot(size);
std::vector<double> Nm_tot(size);
std::vector<double> bin(size);
vector<double>Aq_num(size);
vector<double>PbPt_num(size);
vector<double>Aq_num_tot(size);
vector<double>PbPt_num_tot(size);
vector<double>N_tot(size);
for (int i=0; i < size; i++){
Np_tot[i]=0;
Nm_tot[i]=0;
// N_tot[i]=0;
// Aq_num_tot[i]=0;
// PbPt_num_tot[i]=0;
}
for (int j=0; j< len; j++){
string filename;
filename=st1+sv[j]+st2;
std::vector<vector<string> > v;
v=read_file(filename);
if (v.size()==100){
for(int k=0;k<Aq_vector.size();k++){
if(stod(sv[j])==run_num[k]){
A_q=Aq[k];
}
}
vector<double> Np(size);
vector<double> Nm(size);
/* for (int i=0; i < v.size(); i++){
Np[i]=stod(v[i][1]);
Nm[i]=stod(v[i][1]);
bin[i]=stod(v[i][0]);
Aq_num[i]=(Np[i]+Nm[i])*A_q;
PbPt_num[i]=(Np[i]+Nm[i])*Pb*Pt;
Aq_num_tot[i]+=Aq_num[i];
PbPt_num_tot[i]+=PbPt_num[i];
N_tot[i]+=(Np[i]+Nm[i]);
} */
int k=0;
for (int i=0; i < v.size(); i=i+5){
Np[k]=stod((v[i][1]+v[i+1][1]+v[i+2][1]+v[i+3][1]+v[i+4][1]));
Nm[k]=stod((v[i][2]+v[i+1][2]+v[i+2][2]+v[i+3][2]+v[i+4][2]));
bin[k]=stod(v[i][0]);
k+=1;
}
for (int i=0 ; i < bin.size();i++){ // we will only choose count>0 and less than a certain value. this will eliminate files with bad counts.
if ((Np[i]>=0)&&(Np[i]<=5000)){
Np_tot[i]+=Np[i];
}
if((Nm[i]>=0)&&(Nm[i]<=5000)){
Nm_tot[i]+=Nm[i];
}
/*if(Np[i]+Nm[i]==0){
Aq_num_tot[i]+=0;
PbPt_num_tot[i]+=0;
N_tot[i]+=0;
}
else{*/
Aq_num[i]=(Np[i]+Nm[i])*A_q;
PbPt_num[i]=(Np[i]+Nm[i])*Pb*Pt;
Aq_num_tot[i]+=Aq_num[i];
// cout<<Aq_num_tot[i]<<endl;;
PbPt_num_tot[i]+=PbPt_num[i];
N_tot[i]+=(Np[i]+Nm[i]);
//}
}
}
}
vector<vector<double> >all_runs(size,vector<double>(6));
for(int i=0;i<size;i++){
all_runs[i][0]=bin[i];
all_runs[i][1]=Np_tot[i];
all_runs[i][2]=Nm_tot[i];
all_runs[i][3]=N_tot[i];
all_runs[i][4]=Aq_num_tot[i];
all_runs[i][5]=PbPt_num_tot[i];
cout<< all_runs[i][1]<<","<< all_runs[i][2]<<","<< all_runs[i][3]<<","<<all_runs[i][4]<<endl;
}
return all_runs;
}
/*
vector<double> GetAq_Avg(vector<string> s)
{
int wcut=0;
int len=sv.size();
string st1="/home/cdaq/polhe3/production/hallc_replay/MON_OUTPUT/ASYM_COUNTER/xb_HMS_";
string st2;
if(wcut==1){
st2="_asym_wcut.dat";
}
else{
st2="_asym.dat";
}
string filename0; //Initializing Nm_tot as an array containing zeros. Later we will open every file and add counts to it to get total Nm.
filename0=st1+sv[0]+st2;
std::vector<vector<string> > s;
s=read_file(filename0);
int n=5; //no. of xb bins reduced by n numbers
int size=s.size()/n; //new size of all arrays
vector<vector<double> >Aq_vector = GetChargeAsym("/home/cdaq/murchhana/A1N_2020/charge_asym_list_HMS.csv");
int run_num[Aq_vector.size()];
double Aq[Aq_vector.size()];
for(int i=0;i<Aq_vector.size();i++){
run_num[i]=Aq_vector[i][0];
Aq[i]=Aq_vector[i][1];
}
for (int j=0; j< len; j++){ //looping over all reqired files.
string filename;
filename=st1+sv[j]+st2;
std::vector<vector<string> > v;
v=read_file(filename);
if(v.size()==100){
for(int k=0;i<Aq_vector.size();k++){
if(stod(sv[j])==run_num[k]){
A_q=Aq[k];
}
}
for(int i=0;i<size ;i++){
Aq_num[i]=(Np_tot[i]+Nm_tot[i])*A_q;
}
}
}
}*/
/*
vector<vector<double> >GetAtot_stat_M2(vector<string> sv,int sign)
{
int wcut=0;
//Read charge asymmetry, Pb,Pt from input file for each run
double A_q;
double Pb=0.85;
double Pt=0.55;
double dPb_Pb=0.03;
double dPt_Pt=0.04;
Np_tot=GetNp_tot(sv);
Nm_tot=GetNm_tot(sv);
int n=5; //no. of xb bins reduced by n numbers
int size=Np_tot.size()/n; //new size of all arrays
vector<int>Np_tot(size);
vector<int>Nm_tot(size);
vector<double> A_count(size);
vector<double>dA_count(size);
vector<double>Aq_num(size);
vector<double>PbPt_num(size);
vector<double>Aq_num_tot(size);
vector<double>PbPt_num_tot(size);
vector<double>N_tot(size);
vector<double>Aq_avg(size);
vector<double>PbPt_avg(size);
vector<double>Aphys(size);
vector<double>dAphys(size);
vector<vector<double> >Aphys_result(size,vector<double>(2));
for(int i=0;i<size;i++){
if(Np_tot[i]-Nm_tot[i]==0){
A_count[i]=0;
}
else{
A_count[i]=(Np_tot[i]-Nm_tot[i])/(Np_tot[i]+Nm_tot[i]);
}
Aq_num[i]=(Np_tot[i]+Nm_tot[i])*Aq[i];
PbPt_num[i]=(Np_tot[i]+Nm_tot[i])*Pb*Pt;
Aq_num_tot[i]+=Aq_num[i];
PbPt_num_tot[i]+=PbPt_num[i];
N_tot[i]+=(Np_tot[i]+Nm_tot[i]);
}
for(int i=0;i<size;i++){
if(N_tot[i]==0){
Aq_avg[i]=0;
PbPt_avg[i]=0;
Aphys[i]=0;
}
else{
Aq_avg[i]=Aq_num_tot[i]/N_tot[i];
PbPt_avg[i]=PbPt_num_tot[i]/N_tot[i];
Aphys[i]=(A_count[i]-Aq_avg[i])/PbPt_avg[i];
}
if((Np_tot[i]+Nm_tot[i])==0){
dA_count[i]=0;
dAphys[i]=0;
}
else{
dA_count[i]=1/sqrt(Np_tot[i]+Nm_tot[i]);
dAphys[i]=fabs(Aphys[i])*sqrt(pow((dA_count[i]/(A_count[i]-Aq_avg[i])),2)+pow(dPb_Pb,2)+pow(dPt_Pt,2));
}
}
for (int i=0;i<Aphys.size();i++){
Aphys_result[i][0]=Aphys[i];
Aphys_result[i][1]=dAphys[i];
// cout<<Atot_stat[i]<<","<<dAtot_stat[i]<<endl;
}
return Aphys_result;
}
*/
/*
vector<int>Np_tot_IN;
vector<int>Np_tot_OUT;
vector<int>Nm_tot_IN;
vector<int>Nm_tot_OUT;
Np_tot_IN=GetNp_tot(lm_IN_run_number);
Np_tot_OUT=GetNp_tot(lm_OUT_run_number);
Nm_tot_IN=GetNm_tot(lm_IN_run_number);
Nm_tot_OUT=GetNm_tot(lm_OUT_run_number);
for(int i=0;i<Np_tot_IN.size();i++){
Acount_IN[i]=(Np_tot_IN[i]-Nm_tot_IN[i])/(Np_tot_IN[i]+Nm_tot_IN[i]);
Aq_num_In[i]=((Np_tot_IN[i]-Nm_tot_IN[i])/(Np_tot_IN[i]+Nm_tot_IN[i]))*Aq[i];
PbPt_num_In[i]=((Np_tot_IN[i]-Nm_tot_IN[i])/(Np_tot_IN[i]+Nm_tot_IN[i]))*Pb*Pt;
Aq_num_tot_IN[i]+=Aq_num_IN[i];
PbPt_num_tot_IN[i]+=PbPt_num_IN[i];
N_tot_IN[i]+=(Np_tot_IN[i]+Nm_tot_IN[i]);
Acount_OUT[i]=(Np_tot_OUT[i]-Nm_tot_OUT[i])/(Np_tot_OUT[i]+Nm_tot_OUT[i]);
Aq_num_OUT[i]=((Np_tot_OUT[i]-Nm_tot_OUT[i])/(Np_tot_OUT[i]+Nm_tot_OUT[i]))*Aq[i];
PbPt_num_OUT[i]=((Np_tot_OUT[i]-Nm_tot_OUT[i])/(Np_tot_OUT[i]+ Nm_tot_OUT[i])*Pb*Pt;
Aq_num_tot_OUT[i]+=Aq_num_OUT[i];
PbPt_num_tot_OUT[i]+=PbPt_num_OUT[i];
N_tot_OUT[i]+=(Np_tot_OUT[i]+Nm_tot_OUT[i]);
}
for(int i=0;i<Np_tot_IN.size();i++){
Aq_avg_IN[i]=Aq_num_tot_IN[i]/N_tot_IN[i];
PbPt_avg_IN[i]=PbPt_num_tot_IN[i]/N_tot_IN[i];
Aphys_IN[i]=(Acount_IN[i]-Aq_avg_IN[i])/PbPt_avg_IN[i];
Aq_avg_OUT[i]=Aq_num_tot_OUT[i]/N_tot_OUT[i];
Pb_Pt_avg_OUT[i]=PbPt_num_tot_OUT[i]/N_tot_OUT[i];
Aphys_OUT[i]=(Acount_OUT[i]-Aq_avg_OUT[i])/PbPt_avg_OUT[i];
*/
void A1N_anal_method2()
{
//Read run list for HMS.
//const char* run_list="/home/cdaq/murchhana/A1N_2020/hms_run_list.csv";
string run_list="/home/cdaq/murchhana/A1N_2020/hms_run_list.csv";
std::vector<vector<string> > run_v;
run_v=read_file(run_list);
//Creating three columns for Run type,run number,Bphi,Pb, Pt, A_Q,IHWP (all string)
std::vector<string>run_type(run_v.size());
std::vector<string>run_number(run_v.size());
std::vector<string>IHWP(run_v.size());
for (int i=0; i <run_v.size(); i++){
run_type[i]=run_v[i][0];
run_number[i]=run_v[i][4];
IHWP[i]=run_v[i][8];
}
//different cases of run (longitudinal production, trnasverse production,bad run or not production)
char run='l';
int j=0;
vector<string> lm_IN_run_number;
vector<string> lm_OUT_run_number;
for (int i=0; i <run_v.size(); i++){
if(run_type[i]=="lm"){
if(IHWP[i]=="OUT"){
lm_OUT_run_number.push_back(run_number[i]);
}
else if (IHWP[i]=="IN"){
lm_IN_run_number.push_back(run_number[i]);
}
}
else if (run_type[i]=="tp"){
j=0;
}
}
//Method 2:
vector<vector<double> > result;
result= GetAllruns(lm_OUT_run_number);
switch(run){
case 'l':
cout<<"3He target polarization direction longitudinal"<<endl;
break;
case 't':
cout<<"3He target polarization direction transverse"<<endl;
break;
case 'b':
cout<<"junk"<<endl;
break;
default:
cout<<"it is not a production run"<<endl;
}
return 0;
}
//std::ifstream in("/home/cdaq/polhe3/production/hallc_replay/MON_OUTPUT/ASYM_COUNTER/xb_HMS_2769_asym.dat");
// std::vector<std::vector<string> > v;
// if (in) {
// std::string line;
// while (std::getline(in, line)) {
// v.push_back(std::vector<string>());
// Break down the row into column values
// std::stringstream ss(line);
// string value;
//while (ss >> value)
// while(std::getline(ss,value,',')){
// v.back().push_back(value);
// }
// }
// }
//printing the vector v
//for (int i = 0; i <run_v.size(); i++) {
// for (int j = 0; j <run_v[i].size(); j++)
// std::cout <<run_v[i][j] << ' ';
// std::cout<<"\n"<<endl;
// }
File added
File added
xb,Astat_IN,dAstat_IN,Astat_OUT,dAstat_OUT,A_comb,dA_comb
0.105,0,0,0,0,-nan,-nan
0.115,0,0,0,0,-nan,-nan
0.125,0,0,0,0,-nan,-nan
0.135,0,0,0,0,-nan,-nan
0.145,0,0,0,0,-nan,-nan
0.155,0,0,0,0,-nan,-nan
0.165,0,0,0,0,-nan,-nan
0.175,0,0,0,0,-nan,-nan
0.185,0,0,0,0,-nan,-nan
0.195,0,0,0,0,-nan,-nan
0.205,0,0,0,0,-nan,-nan
0.215,0,0,0,0,-nan,-nan
0.225,0,0,0,0,-nan,-nan
0.235,0,0,0,0,-nan,-nan
0.245,0,0,0,0,-nan,-nan
0.255,0,0,0,0,-nan,-nan
0.265,0,0,0,0,-nan,-nan
0.275,0,0,0,0,-nan,-nan
0.285,0,0,0,0,-nan,-nan
0.295,0,0,0,0,-nan,-nan
0.305,0,0,0,0,-nan,-nan
0.315,0,0,0,0,-nan,-nan
0.325,0,0,0,0,-nan,-nan
0.335,0,0,0,0,-nan,-nan
0.345,0,0,0,0,-nan,-nan
0.355,0,0,0,0,-nan,-nan
0.365,0,0,0,0,-nan,-nan
0.375,0,0,0,0,-nan,-nan
0.385,0,0,0,0,-nan,-nan
0.395,0,0,0,0,-nan,-nan
0.405,0,0,0,0,-nan,-nan
0.415,0,0,0,0,-nan,-nan
0.425,0,0,0,0,-nan,-nan
0.435,-0.112462,0.245718,-0.759947,0.27885,-0.395473,-0.395473
0.445,-0.0319715,0.0632866,0.0101529,0.0697075,-0.0129383,-0.0129383
0.455,-0.0698058,0.0380027,0.00597185,0.0402117,-0.0340554,-0.0340554
0.465,-0.000246914,0.0280194,-0.0368052,0.0289967,-0.0178996,-0.0178996
0.475,-5.12186E-05,0.0223434,-0.0324799,0.0230633,-0.0157515,-0.0157515
0.485,-0.00611881,0.0177489,0.00324308,0.0186474,-0.00166883,-0.00166883
0.495,-0.0159935,0.0142125,-0.0103463,0.0150106,-0.013324,-0.013324
0.505,-0.0181953,0.014389,0.006768,0.0150096,-0.00624031,-0.00624031
0.515,0.0329966,0.0149119,-0.00405168,0.0158105,0.0155551,0.0155551
0.525,0.00612533,0.0158358,-0.00808532,0.0166767,-0.000612702,-0.000612702
0.535,0.00666856,0.0168021,0.00997957,0.0177509,0.00823322,0.00823322
0.545,-0.00193449,0.0172961,-0.0302185,0.0182293,-0.015334,-0.015334
0.555,-0.0278792,0.0177427,-0.0245161,0.0184942,-0.0262674,-0.0262674
0.565,0.00851111,0.0181301,0.0149106,0.0190417,0.011554,0.011554
0.575,0.0142967,0.0182437,0.000521148,0.0190632,0.00771135,0.00771135
0.585,-0.0226616,0.0179264,-0.0157556,0.0185857,-0.0193333,-0.0193333
0.595,0.0273571,0.0172574,0.0253238,0.0180088,0.0263837,0.0263837
0.605,-0.0139931,0.0167463,-0.00463264,0.0172196,-0.00944325,-0.00944325
0.615,-0.0195302,0.0163565,0.0163976,0.0166268,-0.00186074,-0.00186074
0.625,0.0219115,0.0159364,0.00745471,0.0162925,0.0148428,0.0148428
0.635,-0.0159931,0.015491,-0.0019856,0.0155182,-0.00900164,-0.00900164
0.645,0.0313949,0.0146926,0.00132461,0.0145888,0.0162532,0.0162532
0.655,0.0257503,0.0136654,0.0176372,0.01377,0.0217247,0.0217247
0.665,0.00368853,0.0143309,-0.0566225,0.0143051,-0.0265212,-0.0265212
0.675,-0.00460821,0.0149475,-0.00987814,0.0151635,-0.00720538,-0.00720538
0.685,-0.00549513,0.0160914,0.00779684,0.0163534,0.00104351,0.00104351
0.695,0.00393281,0.0174306,-0.0236559,0.0175078,-0.00980057,-0.00980057
0.705,0.0384185,0.0186001,0.0186507,0.0188387,0.0286605,0.0286605
0.715,-0.0102701,0.0195981,-0.0303775,0.0197809,-0.0202305,-0.0202305
0.725,-0.00590422,0.0203803,-0.00676413,0.0205227,-0.00633118,-0.00633118
0.735,-0.00580895,0.0215851,0.0215122,0.021936,0.00763133,0.00763133
0.745,-0.0406447,0.0227461,-0.00304996,0.0229734,-0.0220343,-0.0220343
0.755,-0.0084561,0.0240304,0.0326158,0.024121,0.0120025,0.0120025
0.765,0.00656993,0.0251165,-0.00772759,0.0253578,-0.000510459,-0.000510459
0.775,-0.00167132,0.0265558,-0.0066945,0.0274114,-0.00410329,-0.00410329
0.785,-0.0460627,0.0285426,0.0307224,0.0287295,-0.00792068,-0.00792068
0.795,0.0378566,0.031605,-0.0288545,0.0316002,0.00449593,0.00449593
0.805,-0.065059,0.0341786,0.0174696,0.0343782,-0.024035,-0.024035
0.815,-0.0110064,0.0372493,-0.0227073,0.0373869,-0.0168353,-0.0168353
0.825,-0.0128835,0.0415597,0.0219484,0.0411549,0.00470288,0.00470288
0.835,-0.0440397,0.0449034,-0.00951371,0.046445,-0.0273592,-0.0273592
0.845,-0.111884,0.0499865,-0.0544662,0.0503658,-0.0833919,-0.0833919
0.855,-0.07383,0.0570576,-0.019513,0.0567834,-0.0465407,-0.0465407
0.865,0.00328766,0.0643373,-0.0484344,0.0659103,-0.0219488,-0.0219488
0.875,0.0536705,0.0723764,-0.131886,0.0725429,-0.0388945,-0.0388945
0.885,0.0694026,0.0863035,-0.0506922,0.0827539,0.00683474,0.00683474
0.895,0.0284294,0.0940187,-0.025402,0.0954041,0.00190743,0.00190743
0.905,-0.169022,0.110157,-0.0826268,0.108847,-0.125307,-0.125307
0.915,0.0542637,0.120465,0.00618611,0.11802,0.029732,0.029732
0.925,0.0887986,0.13768,0.183037,0.140009,0.135127,0.135127
0.935,0.294488,0.165691,-0.167253,0.160568,0.0563695,0.0563695
0.945,0.177764,0.195502,0.18154,0.173158,0.17988,0.17988
0.955,0.181306,0.220853,-0.251555,0.190053,-0.0673891,-0.0673891
0.965,0.631336,0.22832,-0.172394,0.229733,0.231951,0.231951
0.975,-1.09771,0.352166,0.164477,0.296944,-0.360013,-0.360013
0.985,0.125084,0.367273,0.377489,0.367246,0.251295,0.251295
0.995,0.713012,0.713903,-0.584606,0.645896,-0.000532282,-0.000532282
1.005,-2.13905,2.14171,2.13905,2.14171,-1.9847E-06,-1.9847E-06
1.015,0,0,0,0,-nan,-nan
1.025,0,0,0,0,-nan,-nan
1.035,0,0,0,0,-nan,-nan
1.045,0,0,0,0,-nan,-nan
1.055,0,0,0,0,-nan,-nan
1.065,0,0,0,0,-nan,-nan
1.075,0,0,0,0,-nan,-nan
1.085,0,0,0,0,-nan,-nan
1.095,0,0,0,0,-nan,-nan
xb Astat_IN dAstat_IN Astat_OUT dAstat_OUT A_comb dA_comb
0.105 0 0 0 0 -nan -nan
0.155 0 0 0 0 -nan -nan
0.205 0 0 0 0 -nan -nan
0.255 0 0 0 0 -nan -nan
0.305 0 0 0 0 -nan -nan
0.355 0 0 0 0 -nan -nan
0.405 0 0 0 0 -nan -nan
0.455 -0.0698058 0.0380027 0.00597185 0.0402117 -0.0340554 -0.0340554
0.505 -0.0181953 0.014389 0.006768 0.0150096 -0.00624031 -0.00624031
0.555 -0.0278792 0.0177427 -0.0245161 0.0184942 -0.0262674 -0.0262674
0.605 -0.0139931 0.0167463 -0.00463264 0.0172196 -0.00944325 -0.00944325
0.655 0.0257503 0.0136654 0.0176372 0.01377 0.0217247 0.0217247
0.705 0.0384185 0.0186001 0.0186507 0.0188387 0.0286605 0.0286605
0.755 -0.0084561 0.0240304 0.0326158 0.024121 0.0120025 0.0120025
0.805 -0.065059 0.0341786 0.0174696 0.0343782 -0.024035 -0.024035
0.855 -0.07383 0.0570576 -0.019513 0.0567834 -0.0465407 -0.0465407
0.905 -0.169022 0.110157 -0.0826268 0.108847 -0.125307 -0.125307
0.955 0.181306 0.220853 -0.251555 0.190053 -0.0673891 -0.0673891
1.005 -2.13905 2.14171 2.13905 2.14171 -1.9847e-06 -1.9847e-06
1.055 0 0 0 0 -nan -nan
xb Astat_IN dAstat_IN Astat_OUT dAstat_OUT A_comb dA_comb
0.105 0 0 0 0 0 0
0.155 0 0 0 0 0 0
0.205 0 0 0 0 0 0
0.255 0 0 0 0 0 0
0.305 0 0 0 0 0 0
0.355 0 0 0 0 0 0
0.405 0 0 0 0 0 0
0.455 0 0 0 0 0 0
0.505 0 0 0 0 0 0
0.555 -0.0698058 0.0380027 0.00597185 0.0402117 -0.0340554 -0.0340554
0.605 -0.0181953 0.014389 0.006768 0.0150096 -0.00624031 -0.00624031
0.655 -0.0278792 0.0177427 -0.0245161 0.0184942 -0.0262674 -0.0262674
0.705 -0.0137257 0.0167422 -0.00336444 0.0171624 -0.00867349 -0.00867349
0.755 0.0254751 0.0136613 0.0184468 0.0137092 0.0219732 0.0219732
0.805 0.0383954 0.0185945 0.0209137 0.0187426 0.0297239 0.0297239
0.855 -0.0226907 0.0291572 0.0663015 0.0294068 0.0214262 0.0214262
0.905 0 0 0 0 0 0
0.955 0 0 0 0 0 0
1.005 0 0 0 0 0 0
1.055 0 0 0 0 0 0
Run,BCM1,BCM2,BCM4A,BCM4B,BCM4C
2682,23.2,24.94,23.75,2.96,38.66
2683,106.58,107.37,100.69,103.77,101.37
2684,0,0,355.02,527.03,1487.34
2685,-2.21,3.6,14.53,-9.17,8.29
2686,-107.41,-184.55,-82.88,-21.23,-286.97
2687,-21.05,-21.7,-19.32,-15.13,-21.08
2688,-30.63,-32.79,-30.54,-32.81,-28.84
2689,22.02,21.26,18.75,15.84,27.35
2690,10.77,13.11,12.39,4.1,21.52
2691,-167.54,-181.43,-112.03,-81.97,-164.55
2692,-22.55,-24.77,-25.02,-27.8,-22.06
2693,1646.67,1763.59,284.29,-8.18,1113.19
2694,176.57,147.32,48.41,16.88,125.72
2695,57.97,77.05,77.54,70.48,61.99
2696,-0.89,-1.52,-1.27,-1.3,0.68
2697,-4.41,-5.58,-5.95,-7.04,-7.22
2698,-49.9,-52.91,-36.42,-61.07,-42.13
2699,19.96,17.91,16.42,16.43,31.35
2700,37.02,39.11,35.19,18.06,30.92
2701,-13.85,-13.88,-14.6,-15.1,-7.36
2702,3.24,-6.05,-9.6,-7.42,9.62
2703,20.22,17.71,19.89,-6.09,13.42
2704,-26.13,-27.7,-28.52,-24.44,-28.3
2705,-66.22,-66.43,-65.73,-60.31,-68.39
2706,-415.81,-423.32,-402.79,-395.18,-454.54
2707,0.54,0.35,0.95,4.18,-3.47
2708,10.47,8.12,9.81,13.36,1.82
2709,-12.24,-13.71,-12.39,-11.35,-16.62
2710,-0.39,-4.33,-8.94,-7.18,-3.15
2711,-0.56,-1.33,0.12,2.21,2.46
2712,0.95,1.41,2.15,1.97,0.4
2713,8.34,7.65,7.61,4.91,5.22
2714,-11.65,-12.48,-12.25,-14.16,-8.42
2715,29.13,26.74,30.21,31.6,28.55
2716,-3.7,-1.8,-2.8,-2.59,-1.76
2717,-2.6,-2.96,-1.87,-3.25,-1.22
2718,0.36,-0.37,0.55,-0.04,3.9
2719,4.49,4.33,3.23,1.52,7.58
2720,3.63,3.08,3.8,3.81,4.08
2721,-14.83,-15.98,-15.92,-19.38,-8.66
2722,4.7,3.69,3.69,2.52,4.45
2723,0.67,1.14,-0.89,0.14,4.13
2724,4.62,5.97,5.79,4.5,4.98
2725,2.06,1.93,2.68,2.9,4.55
2726,5.72,5.73,5.25,5.63,2.37
2727,4.92,5.75,3.97,4.73,2.94
2728,-9.96,-9.23,-9.19,-10.22,-14.39
2729,-93.31,-89.47,-91.92,-93.67,-104.9
2730,-6.72,-6.69,-5.89,-6.87,-1.76
2731,3.84,3.67,4.38,5.7,2.23
2732,-9.11,-9.02,-7.61,-6.51,-11.35
2733,-2.05,-4.17,-1.89,3.12,-0.36
2734,8.98,8.57,8.97,6.24,7.21
2735,-10.59,-10.26,-12.86,-7.03,-7.39
2736,-0.36,-1.16,-1.4,-0.25,-3.13
2737,-4.36,-3.81,-3.82,-1.52,-3.25
2738,-21.66,-21.13,-18.82,-14.19,-19.52
2739,-4.64,-4.87,-4.56,-4.82,-7.59
2740,-2.55,-2.73,-4.07,-2.61,-3.72
2741,4.07,3.17,3.88,4.1,5.87
2742,-1,-0.77,0.17,-0.85,-1.18
2744,-2.06,-0.93,-1.2,-0.48,-1.69
2745,-14,-12.82,-11.99,-10.84,-12.93
2746,291.39,290.06,293.68,301.08,280.92
2747,-0.19,-0.49,-0.64,1.99,-2.94
2748,-1.94,-0.57,-1.51,-2.29,-1.79
2749,4.26,4.24,4.04,4.39,7.22
2750,12.2,11.54,12.08,8.49,11.94
2751,31.48,32.79,19.45,18.07,26.32
2752,59.46,62.63,56.97,53.17,60.04
2753,-62.4,-60.68,-51.35,-68.17,-66.39
2754,2.41,1.88,0.96,3.78,3.65
2755,15.1,15.07,14.32,14.68,15.73
2756,0,0,235.53,-13.66,91.94
2757,-2.86,-4.66,-4.59,-4.2,-5.24
2758,-4.32,-3.9,-4.77,-4.2,-4.73
2759,6.37,6.6,6.32,6.18,5.63
2760,-7.59,-6.96,-8.52,-9.3,-8.2
2761,9.45,9.59,9.91,10.05,10.24
2762,0,0,117.76,83.82,357.93
2763,-31.96,-40.61,-32.44,-47.02,-28.13
2764,-0.66,-0.66,-0.87,-0.17,-1.54
2765,-0.26,-0.94,-1.18,-1.24,0.02
2766,0,0,-297.39,257.35,-764.27
2767,-4.42,-4.69,-4.95,-3.77,-2.94
2768,-65.98,-74,-60.13,-40,-86.07
2769,-3.27,-1.53,-2.01,-0.59,-1.05
2770,1.62,1.17,0.2,0.49,-0.77
2771,-4.56,-4.28,-4.73,-4.55,-6.54
2772,0.47,0.28,1.02,-0.34,-1.48
2773,-4.38,-3.31,-3.58,-4.74,0.32
2774,0.76,0.71,0.16,5.39,2.69
2775,-5.4,-4.65,-5.75,-2.61,-5.45
2776,-3.4,-5.01,-4.54,-1.64,-0.55
2777,0.55,0.5,0.07,0.64,-0.7
2778,-8.76,-7.78,-8.85,-10.7,-9
2779,-0.34,-0.73,-1.19,0.56,-6.12
2780,-6.55,-6.42,-6.79,-8.85,-7.28
2781,-5.51,-6.27,-6.06,-6.46,-5.64
2782,-1.66,0.14,0.48,-1.26,-0.69
2783,-2.66,-2.52,-2.19,-3.14,-2.44
2784,-7.57,-6.86,-7.48,-7.41,-6.11
2785,9.11,9,7.44,9.38,8.81
2786,-6.32,-4.93,-6.13,-2.31,-1.99
2787,-1.58,-1.1,-1.08,0.62,-2.12
2788,-1.52,-2.72,-2.45,-0.69,-3.04
2789,-7.83,-7.63,-7.97,-10.19,-7.88
2790,-0.68,-1.33,-1.37,-1.68,-2.96
2791,-11.73,-14.14,-12.45,-28.48,-17.93
2792,-3.38,-2.43,-2.97,0.7,0.97
2793,1.44,1.24,2.05,1.28,0.25
2794,37.95,36.65,31.8,42.35,25.65
2795,-32.58,-32.64,-32.88,-33.62,-31.25
2796,-1.35,-0.53,-2.18,0.12,-0.06
2797,32.12,30.4,29.04,26.23,31.3
2798,4.93,5.6,4.69,2.19,5.75
2799,3.57,3.11,3.47,3.32,4.74
2800,28.1,29.63,26.68,30.48,34.48
2802,11.41,12.26,10.66,12.91,9.51
2803,-37.94,-36.62,-34.14,-35.55,-39.23
2804,45.94,37.65,43.63,42.82,47.55
2805,-13.38,-12.52,-13.36,-11.56,-10.65
2806,-8.33,-7.97,-8.76,-7.38,-10.39
2807,-5.12,-3.95,-5,-5.86,-3.66
2808,-46.29,-44.25,-47.58,-43.72,-52.13
2809,-6.33,-6.71,-5.76,-6.69,-3.9
2810,9.84,10.58,9.73,10.11,10.1
2811,6.21,4.73,5.97,5.94,7.73
2812,-1.75,-2.82,-2.41,-3.84,-1.76
2813,10.71,12.61,10.54,12.21,14.63
2814,-14.6,-20.27,-10.59,-10.84,-24.91
2815,11.26,13.54,6.04,-3.12,-3.2
2816,1.54,1.54,1.95,1.18,2.82
2817,-3.19,-1.74,-1.37,-3.85,-3.39
2818,-2.9,-3.51,-2.59,-4.15,-2.26
2819,558.28,498.49,315.67,266.3,502.21
2820,-1.94,-2.25,-2.65,-1.43,-3.28
2821,-3.23,-3.72,-3.06,-2.54,-3.04
2822,10.46,10.32,10.47,8.61,10.1
2823,2.49,2.44,2.79,2.69,2.67
2824,-6.06,-6.14,-6.61,-6.35,-6.16
2825,5.67,3.76,3.2,2.1,3.78
2826,5.59,7.11,5.14,5.44,5.85
2827,9.54,9.02,8.99,11.61,8.75
2828,-2.82,-4.05,-3.46,-2.41,-1.75
2829,0.99,0.55,-0.77,1.2,-0.46
2830,-21.82,-23.71,-22.13,-20.49,-22.86
2831,-4.71,-4.92,-3.69,-3.8,-3.74
2832,3.08,2.87,2.38,2.9,5.39
2833,6.84,7.4,7.9,4.17,4.83
2834,3.33,2.94,2.7,3.31,0.12
2835,-7.39,-9.07,-7.04,-5.02,-4.03
2836,1.89,1.68,0.32,2.65,1.82
2837,-7.14,-8.8,-7.39,-9.79,-7.53
2838,3.27,4.59,4.27,2.74,6.95
2839,1.11,0.48,1.17,0.79,-1.35
2840,-2.37,-2.6,-2.22,-2.17,-2.11
2841,-3.79,-4.7,-3.97,-3.65,-2.81
2842,-4.34,-6.07,-5.2,-6.62,-11.39
2843,-8.55,-9.34,-6.73,-8.38,-8.33
2844,-7.97,-8.39,-7.73,-5.89,-10.23
2845,5.74,7.32,6.54,-1.25,0.03
2846,2.58,2.08,2.1,1.41,6.15
2847,-0.64,-0.91,0.17,-0.1,-2.1
2848,0.38,1.01,1.92,-0.7,4.24
2849,-7.33,-7.37,-6.93,-8.82,-9.46
2850,8.46,9.14,8.95,8.39,7.6
2851,2.95,4.27,3.98,1.99,3.53
2852,0,0,15.53,-30.83,-64.08
2853,-2.32,-2.35,-2.49,0.48,1.84
2854,11.47,7.13,6.19,12.21,8.15
2855,-185.13,-128.56,-125.41,-128.24,-147.93
2856,-81.27,-84.05,-85.95,-67.96,-71.01
2857,-49.88,-122.6,-66.22,88.93,51.34
2858,0.18,0.86,1.93,1.45,2.97
2859,-5.38,-6.29,-6.05,-5.62,-4.58
2860,3.27,3.45,3.72,3.62,3.34
2861,1.84,0.15,-0.68,-0.33,-1.35
2862,88.03,84.75,75.69,70.75,85.51
2863,17.35,18.01,18.1,20.37,19.06
2864,5.09,5.15,5.42,0.7,4.42
2865,-189.93,-190.28,-187.61,-187.55,-194.36
2866,3.78,2.48,3.44,4.29,-1.7
2867,-7.74,-9.47,-8.87,-11.64,-8.43
2868,-4.6,-4.78,-4.78,-4.42,-4.42
2869,-21.93,-23.23,-24.83,-23.45,-25.07
2870,-49.85,-47.69,-40.35,-16.93,-33.11
2871,-14.96,-13.3,-13.67,-11.15,-14.62
2872,3.9,3.35,3.89,1.89,4.75
2873,4.98,6.09,5.75,4.75,3.91
2874,-1.2,-1.78,-2.58,-3.32,-3.21
2875,5.5,6.53,6.31,8.61,5.9
2876,3.38,3.1,3.82,2.78,0.9
2877,12.01,10.93,10.04,15.69,11.83
2878,-15.05,-16,-15.49,-14.73,-18.34
2879,-56.31,-57.24,-55.97,-55.67,-56.78
2880,0.35,0.41,0.33,0.06,0.69
2881,0.51,1.01,-0.01,-0.11,1.02
2882,-2.22,-2.55,-3.41,0.95,-3.71
2883,3.5,2.48,3.17,1.12,3.3
2884,5.85,4.05,4.94,5.22,3.99
2885,-11.55,-11.26,-10.01,-12.55,-10.37
2886,6.15,6.71,5.49,8.26,0.71
2887,-0.33,-0.61,-0.5,1.06,1.78
2888,-8.49,-12.32,-11.98,-14.15,-7.44
2889,1.1,1.07,1.27,-0.04,2.65
2890,14.44,13.64,13.67,11.97,13.04
2891,2.04,2.18,1.72,3.56,3.84
2892,6.21,5.47,4.35,5.94,5.88
2893,-7.05,-5.41,-6.14,-3.26,-9.56
2894,3.2,4.11,3.92,3.69,4.05
2895,7.95,8.47,8.61,8.71,8
2896,-3.31,-3.63,-3.55,-5.94,-6.76
2897,9.66,8.82,8.78,4.76,9.04
2898,-1.74,-2.24,-2.21,-2.54,-6.32
2899,-9.75,-9.43,-8.16,-10.54,-6.38
2900,-5.05,-5.6,-7.05,-5.81,-5.71
2901,5.52,5.01,6.02,4.91,0.4
2902,11,9.83,8.87,7.48,11.2
2903,5.82,6.87,5.35,5.02,5.77
2904,-4.34,-4.77,-3.94,-4.94,-3.19
2905,2.34,0.92,0.42,1.89,2.88
2906,15.09,14.04,13.22,17.14,19.5
2907,23.89,24.24,23.38,22.91,19.54
2908,-0.91,-0.45,-0.77,0.92,-2.69
2909,-7.37,-7.34,-6.73,-8.7,-8.48
2910,2.63,1.94,1.79,2.98,1.68
2911,-5.78,-4.47,-4.75,-5.32,-2.93
2913,-2.99,-4.73,-4.95,-2.53,-3.77
2914,-3.78,-3.57,-5.41,-3.57,-5.05
2915,3.25,4.11,3.37,4.31,1.24
2916,7.95,6.85,7.32,8.78,8.19
2917,13.02,11.88,10.84,9.69,2.8
2918,0.51,1.21,1.68,0,-2.94
2919,1.88,0.7,1.41,0.21,0.77
2920,-8.21,-9.13,-6.52,-5.72,-7.18
2921,-5.05,-5.98,-6.51,-7.17,-6.04
2922,-1.95,-1.3,0.48,-1.13,2.44
2923,2.54,3.54,3.3,2.05,1.62
2924,-9.22,-8.43,-9.73,-9.52,-11.66
2925,-0.95,-0.82,-1.44,-1.39,-1.35
2926,-3.62,-3.69,-3.59,-2.04,-1.17
2927,3.88,2.76,4.52,2.78,3.06
2928,-2.25,-2.71,-3.01,-3.29,-1.3
2929,-11.42,-10.93,-11.47,-11.77,-9.72
2930,-2.7,-2.83,-0.47,-4.37,0.04
2931,0.39,0.12,0.23,-1.43,-4.85
2932,-6.63,-6.15,-5.14,-7.84,-4.71
2933,13.69,11.87,10.56,12.93,10.2
2934,44.97,61.25,43.13,46.5,49.81
2935,-8.56,-9.35,-8.91,-7.74,-12.47
2936,-4.89,-5.36,-4.34,-5.22,-8.46
2937,-6.77,-5.91,-5.02,-4.07,-9.25
2938,-8.91,-9.77,-8.95,-10.05,-6.61
2939,-0.28,-0.82,-1.43,-1.48,2.08
2940,-7.76,-8.44,-8.12,-9.31,1.12
2941,3.62,4.25,6.54,7.06,5.92
2942,-3.29,-2.39,-3.44,-1.38,-0.4
2943,1.26,2.5,2.41,3.47,4.6
2944,2.47,3.46,2.46,4.67,4.09
2945,8.81,7.74,7.74,5.66,10.87
2946,-5.34,-5.46,-6.19,-5.79,-6.32
2947,3.16,2.03,2.98,6.95,4.05
2948,-5.04,-6.23,-4.21,-6.93,-3.68
2949,1.56,2.05,1.21,1.84,2.34
2950,6.7,5.92,7.1,10.46,11.92
2951,6.12,5.13,4.84,3.37,4.43
2952,231.6,230.5,226.36,222.25,228.6
2953,1.76,2.51,1.51,-0.18,1.69
2954,-11.32,-11.52,-8.53,-8.71,-8.79
2955,-3.96,-3.06,-3.06,-5.07,-5.88
2956,3.69,4.02,3.64,5.67,0.83
2957,4.46,5.68,5.9,7.66,5.29
2958,27.59,29.15,27.43,27.1,23.91
2959,177.49,177.9,178.32,179.9,180.79
2960,-14.94,-14.88,-13.92,-17.89,-14.03
2961,5.91,7.07,6.32,6.5,10.5
2962,-0.19,-3.32,-3.27,-6.48,-1.55
2963,-11.72,-12.3,-11,-11.6,-7.59
2964,5.72,8.35,1.77,0.21,9.28
2965,-66.82,-63.9,-61.01,-43.41,-48.46
2966,-2.17,-3.43,-2.82,-1.22,1.56
2967,0.68,-0.11,0.21,2.03,-1.5
2968,5.83,4.53,7.39,7.02,8.19
2969,-3.96,-4.24,-3.04,-2.61,-2.81
2970,25.62,24.48,25.06,29.57,27.72
2971,1126.92,1125.97,859.88,804.73,1018.59
2972,-2.92,-2.03,-0.37,-0.72,-4.28
2973,-3.26,-3.28,-3.31,-2.17,-7.31
2974,4.56,5.29,3.74,2.31,2.85
2975,1.47,1.73,0.83,2.77,-1.25
2976,1.73,2.96,3.02,-2.5,0.98
2977,1.6,1.76,0.36,0.99,8.13
2978,9.1,9.33,10.67,13.37,16.36
2979,0.32,-0.43,-0.99,-1.23,1.57
2980,4.09,3.88,3.69,5.39,3.74
2981,5.16,5.01,4.08,4.97,5.54
2982,4.35,4.96,4.82,5.57,4.42
2983,-2.77,-3.83,-3.8,-2.7,-3.18
2984,0.5,-0.04,0.7,1.3,-2.13
2985,-2.88,-2.43,-2.38,-2.19,-2.53
2986,-21.15,-23.08,-21.87,-23.61,-23.39
2987,-1.39,0.3,-0.16,-3.02,-5.99
2988,21.73,27.51,19.39,22.79,38.53
2989,-4.56,-5.97,-4.81,-4.65,-3.66
2990,-8.19,-8.12,-7.48,-4.66,-10.21
2991,-2.38,-3.35,-3.27,-4.33,-1.68
2992,-4.02,-3.39,-3.27,-8.14,0.12
2993,-22.25,-22.1,-23.29,-19.26,-19.72
2994,10.27,9.8,9.53,12.28,11.68
2995,3.14,3.81,1.74,4.56,6.48
2996,8.48,9.96,8.19,7.58,7.3
2997,-9.98,-10.17,-10.47,-12.2,-12.54
2998,-10.14,-9.9,-10.86,-9.55,-8.84
2999,0,0,0,0,0
3000,3.51,2.9,4.25,4.9,5.12
3001,4.11,1.62,0.73,2.34,8.26
3002,15.52,16.57,14.02,13.95,14.38
3003,-4.48,-3.65,-4.36,-4.88,-5.51
3004,-17.78,-17.65,-16.53,-17.44,-20.07
3005,-15.48,-16.49,-16.3,-15.69,-12.08
3006,4.01,2.97,3.49,4.58,5.46
3007,3.81,2.08,2.55,1.83,1.05
3008,-4.63,-1.99,0.24,2.45,-10.01
3009,28.53,25.82,22.06,29.49,29.14
3010,12.64,12.84,11.41,7.97,15.27
3011,2.28,2.08,0.7,2.34,4.63
3012,8.95,8.71,8.79,7.68,10.68
3013,-36.02,-34.14,-31.43,-29.11,-41.06
3015,7.74,7.52,5.32,4.8,9.45
3016,-6.89,-6.87,-5.98,-12.1,-3.41
3017,-19.92,-18.94,-15.22,-8.62,-22.22
3018,-1.97,-4.06,-2.66,-2.41,-4.32
3019,5.27,3.94,3.7,3.42,6.61
3020,-14.75,-14.1,-12.52,-14.38,-15.03
3021,0,0,-148,-140.73,-719.78
3022,62.85,56.36,41.71,43.25,57.51
3023,-15.98,-15.73,-16.19,-13.92,-15.87
3024,-6.62,-6.09,-6.82,-4.3,-10.35
3025,0,0,-23.9,50.74,1009.88
3026,8.31,7.84,7.13,8.79,5.84
3027,-11.25,-12.16,-10.5,-9.24,-8
3028,-16.4,-16.12,-14.41,-15.72,-14.73
3029,1.25,1.25,0.34,-0.39,3.51
3030,-5.26,-6.14,-4.36,-4.48,-4.97
3031,-8.28,-9.13,-7.6,-7.71,-7.4
3032,2.18,0.7,0.28,0.4,-0.5
3033,-5.47,-4.19,-4.4,-4.26,-4.28
3034,14.53,14.45,14.52,14.51,15.12
3035,1.69,1.09,1.54,-0.55,3.11
3036,0.34,1.04,1.72,1.54,1.42
3037,4.35,3.39,2.36,5.21,1.1
3038,-4.21,-4.68,-5.59,-9.25,-9.08
3039,48.44,47.85,48.51,47.99,50.29
3040,-2.11,-2.56,-2.15,-4.44,-1.15
3041,-3.52,-2.14,-2.54,-3.27,-5.94
3042,-4.06,-4.91,-4.82,-4.35,-10.99
3043,0.11,0.09,0.56,3.24,-0.58
3044,-1.69,-1.93,-4.76,1.45,-6.04
3045,-1.7,-2.03,-1.7,-3.86,-1.38
3046,-5.45,-5.81,-6.87,-7.18,-4.5
3047,-24.68,-23.18,-23.52,-23.73,-22.59
3048,16.51,14.37,14.48,8.8,17.05
3049,-25.55,-27.09,-20.86,-19.04,-35.87
3050,-38.98,-39.8,-37.21,-36.7,-47.49
3051,6.2,4.69,5.19,7.13,2.72
3052,29.69,31.03,29.54,27.32,42.64
3053,6.48,5.01,3.81,5.19,6.37
3054,5.94,6.2,5.2,6.61,8.4
3055,6.69,5.71,5.81,7.87,5.14
3056,-4.15,-5.58,-3.47,-5.52,-8.87
3057,-6.2,-7.4,-7.02,-9.12,-9.01
3058,20.67,21.56,20.44,22.91,18.74
3059,52.01,52.94,50.55,57.26,51.46
3060,2.77,2.38,5.54,-4.16,15.15
3061,-43.69,-100.27,-41.23,9.46,-97.85
3062,-0.29,-1.46,0.88,-3.22,4.21
3063,0,0,19.48,34.65,37.11
3064,83203.8,0,70.78,185.57,1721.25
3065,-54.81,-49.73,-79.06,-98.92,-68.55
3066,-6.8,-7.52,-8.88,-9.44,-11.33
3067,13.9,15.04,14.57,15.15,12.33
3068,1.81,3.23,2.55,1.69,3.35
3069,-17.57,-18.6,-22.7,-15.96,-17.41
3070,15.63,17.25,15.08,13.35,16.35
3071,15.35,14.6,15,8.4,24.65
3072,23.34,22.51,23.54,23.46,23.15
3073,-59.33,-60.84,-60.55,-70.35,-68.3
3074,62.62,58.43,59.09,54.62,64.01
3075,0.69,1.01,2.07,2.97,-0.74
3076,-21.96,-28.2,-30.82,-27.05,-18.61
3077,-17.48,-17.17,-16.32,-15.66,-13.86
3078,1.47,0.53,0.65,-0.61,-0.66
3079,2.41,3.81,3.99,6.86,2.52
3080,68.76,72.15,55.32,50.96,122.51
3081,-11.35,-5.75,-9.71,-27.76,-13.85
3082,-266.55,-300.35,-200.49,-134.91,-275.68
3083,7,3.4,3.97,10.8,18.49
3084,21.87,21.05,19.03,18.83,20.01
3085,2.35,3.05,2.32,-2.59,6.58
3086,-14.98,-14.06,-9.7,-16.22,-22.16
3087,23.57,21,18.77,26.32,27.4
3088,-9.14,-9.07,-6.38,-2.4,-9.46
3089,6.85,5.85,6.61,3.98,10.93
3090,-2.86,-5.96,-3.18,0.01,-0.76
3091,-13.86,-15.84,-5.79,-5.46,-5.21
3092,-28.06,-27.59,-32.12,-47.92,-2.56
3093,-33.72,-34.67,-35.02,-33.5,-35.37
3094,-6.62,-6.67,-5.68,-6.64,-5.28
3095,4.77,4.47,5.24,5.88,3.07
3096,-0.96,1.11,1.68,0.39,3.95
3097,22.66,23.1,19.76,20.77,27.55
3098,0.15,-0.19,0.17,1.88,7.65
3099,-2.38,-2.13,-2.05,-2.61,-6.88
3100,-0.86,-0.77,-2.38,-0.19,-5.67
3101,3.13,4.19,1.22,0.85,5.72
3102,-50.25,-47.01,-60.32,-55.95,-53.92
3103,2.03,-0.8,-0.17,-2.19,-0.11
3104,17.91,16.76,17.22,16.79,20.54
3105,13.52,14.25,13.06,15.11,15.08
3106,-6.63,-15.28,-16.07,-13.43,-11.19
3107,-1.6,-4.59,-2.92,-3.09,1.49
3108,-6.29,-3.78,-3.55,-2.06,-4.12
3109,-2.56,-1.7,-3.36,-2.29,-3.51
3110,-11.66,-10.59,-11.6,-10.46,-10.59
3111,2.49,2.07,1.82,1.14,1.25
3112,5.66,5.72,4.26,4.22,5.28
3113,16.15,15.17,14.99,15.11,14.63
3114,-2.54,-2.78,-2.5,-2.89,-3.67
3115,33.99,34.54,32.52,27.07,35.61
3116,-0.65,0.54,0.35,3.43,4.65
3117,8.19,5.93,6.95,1.89,10.33
3118,13.37,11.98,10.91,11.08,16.57
3119,2.33,1.64,3,-0.04,4.34
3120,23.66,23.27,20.61,17.32,21.46
3121,0,0,-46.6,40.75,-836.44
3122,2.97,3.86,5.26,7.84,6.32
3123,-26.12,-22.96,-24.37,-22.19,-30.93
3124,-5.88,-6.82,-7.15,-8.27,-8.21
3125,-5.94,-5.05,-4.48,-4.81,-1.03
3126,-8.16,-8.8,-9.62,-9.63,-10.21
3127,55.19,10.28,36.89,34.14,-13.42
3128,-4.09,-5.22,-4.74,-7.12,-4.89
3129,-1.97,-2.98,-2.51,-5.04,-8.44
3130,-7.35,-7.48,-7.33,-5.73,-8.67
3131,3.48,4.29,4.44,5.17,1.35
3132,-2.12,-2.47,-1.3,-1.72,-3.46
3133,-10.21,-10.96,-10.82,-10.36,-8.61
3134,-2,-1.04,-1.51,-4.93,-0.87
3135,-0.54,-1.09,-0.96,-0.66,4.93
3136,-0.89,-0.97,-3.17,-2.95,-1.89
3137,128.09,142.82,107.56,127.38,60.46
3138,-4.07,-1.47,-2.67,-4.92,-8.8
3139,-0.46,-0.51,-1.55,-4.28,-5.38
3140,-13.21,-14.14,-12.9,-12.22,-15.05
3141,-0.85,-1.37,0.56,-1.89,-1.72
3142,-3.7,-3.97,-3.41,-1.86,-6.81
3143,2.78,4.2,2.14,2.55,4.82
3144,-3.41,-1.71,-1.61,-2.13,-7
3145,-2.91,-2.18,-3.02,-4.95,-3.91
3146,-3.43,-3.57,-2.02,-3.37,-8.23
3147,-10.87,-9.29,-9.01,-8.72,-12.88
3148,-2,-1.09,-0.29,1.07,2.84
3149,-5.07,-4.6,-5.14,-7.44,-3.13
3150,-1.26,0.04,-0.86,0.41,5.28
3151,1.64,1.1,-0.37,1,2.06
3152,-39.34,-38.63,-35.53,-34.62,-34
3153,4.22,4.03,3.62,3.38,4.67
3154,-6.88,-6.46,-6.17,-2.97,-2.63
3155,1.57,1.52,3.11,1.11,7.65
3156,-0.96,-1.66,-0.53,0.21,-4.14
3157,-3.32,-2.91,-4.45,-2.35,-3.56
3158,-3.34,-2.82,-3.51,-4.26,-4.54
3159,-9.42,-3.47,-6.85,-14.71,-22.63
3160,-12.97,-14.58,-13.67,-10.92,-9.26
3161,-1.84,-0.75,-1.23,-3.22,-8.04
3162,-2.37,-3.02,-2.23,-2.89,-11.25
3163,-1.25,-0.15,-1.65,-0.49,-0.24
3164,-21.01,-19.53,-20.33,-17.85,-22.24
3165,-16.21,-16.67,-18.57,-20.36,-27.29
3166,9.01,8.32,9.59,8.97,11.92
3167,-5.39,-7.45,-6.41,-9.75,-10.27
3168,0.6,2.58,2.9,1.2,1.78
3169,-9.25,-8.92,-5.33,-1.73,-10.2
3170,1.21,1.11,3.49,3.53,4.03
3171,-5.75,-6.51,-6.49,-5.87,-12.48
3172,15.45,15.13,14.97,15.8,19.34
3173,-22.76,-24.57,-22.51,-20.1,-16.81
3174,-20.5,-20.86,-19.04,-21.2,-16.3
3175,-30.06,-30.64,-24.63,-29.58,-22.25
3176,-7.82,-7.34,-9.71,-7.81,-8.23
3177,16,15.9,14.05,14.88,13.48
3178,8.71,8.45,7.66,10.93,8.59
3179,-2.8,-2.48,-2.02,-1.13,0.61
3180,-7.85,-6.02,-5.54,-9.31,-3.78
3181,2.54,3.95,3.26,3.42,0.72
3182,5.04,3.88,4.26,5.04,3.63
3183,9.34,7.8,8.24,6.62,7.2
3184,-1.63,-2.35,-3.43,-2.73,-4.38
3185,0,0,21.37,102.77,-811.79
3186,2.11,2.32,2.4,1.81,6.29
3187,-0.96,0.37,0.44,1.32,-2.62
3188,-5.91,-6.2,-6.54,-7.02,-4.58
3189,-5.71,-5.1,-5.04,-6.61,2.78
3190,-15.07,-14.19,-16.45,-19.38,-16.6
3191,-11.18,-12.35,-10.46,-12.25,-12.64
3192,2.3,2.9,1.69,3.59,3.28
3193,-3.5,-4.61,-5.9,-3.35,1
3194,-9.62,-9.69,-9.62,-11.29,-12.59
3195,2.73,2.89,2.93,3.3,5.46
3196,-8.54,-9.04,-9.2,-8.25,-8.8
3197,8.29,8.43,8.8,10.84,9.55
3198,-0.84,-1.33,-0.79,0.2,-1.88
3199,13.59,13.77,13.29,17.41,21.45
3200,0.68,0.37,0.06,3.66,1.5
3201,-3.96,-4.23,-3.92,-4.99,-4.88
3202,1.33,0.97,3.42,13.97,10.24
3203,0.51,-1.66,-0.92,1.09,0.03
3204,14.12,12.16,12.87,13.46,16.4
3205,0.51,0.82,0.11,1.61,-4.2
3206,-28.06,-27.68,-26.41,-23.84,-20.2
3207,-37.06,-41.33,-37.07,-31.19,-27.64
3208,-7.9,-9.39,-7.4,-11.01,-9.43
3209,-17.7,-16.32,-16.48,-15.34,-18.55
3210,4.62,3.73,3.45,5.5,-3.22
3211,23.55,24.69,21.57,19.53,16.08
3212,1.05,0.21,-0.32,0.57,0.86
3213,8.09,6.19,8.52,7.75,7.66
3214,9.28,10.44,9.52,13.21,6.53
3215,0.78,-0.17,0.27,1.38,0.2
3216,-3.7,-4.24,-4.55,-1.75,-8.43
3217,4.32,4.16,5.17,6.8,3.72
3218,0,0,0,0,0
3219,0,0,0,0,0
3220,0,0,0,0,0
3221,0,0,0,0,0
3222,2.68,2.55,2.26,0.18,4.81
3223,-2.3,-2.05,-3.48,-2.82,-4.8
3224,-8.03,-7.77,-7.91,-4.52,-5.26
3225,-1.63,-0.62,-1.21,-5.64,-0.81
3226,6.74,6.39,6.61,5.73,9.31
3227,7.58,7.94,7.41,7.39,10.51
3228,5.78,7.52,6.6,5.26,4.05
3229,-19.9,-20.52,-18.89,-18.54,-24.63
3230,7.22,7.9,8.47,9.26,9.55
3231,-9.6,-9.69,-8.46,-8.04,-11.67
3232,0.13,0.65,-0.8,-1.2,0.63
3233,115.05,119.41,111.57,105.6,115.44
3234,11.54,12.62,11.15,5.38,13.86
3235,-1.95,-1.82,-3.71,-3.32,-0.05
3236,-6.17,-6.5,-6.21,-5.26,-3.08
3237,8.2,8.14,8.22,5.6,5.08
3238,-2.38,-2.37,-1.72,-1.88,-1.52
3239,4.66,2.88,3.12,4.78,1.51
3240,-2.11,-3.06,-5.24,-5.56,-5.49
3241,16.87,17.09,16.95,13.08,13.04
3242,-3.9,-3.81,-3.68,-6.85,-5.01
3243,-0.76,-1.42,-1.39,1.14,-3.58
3244,5.36,6.36,6.67,4.69,6.53
3245,3.59,3.47,1.92,2.73,3.94
3246,10.79,10.19,10.42,9.78,12.75
3247,-2.2,0.32,-0.84,-0.85,-2.23
3248,0,0,-3.66,3.47,63.36
3249,-0.61,-1.22,-1.4,-0.01,-1.36
3250,3.58,3.64,3.96,0.59,5.59
3251,1.51,-0.4,-0.39,0.5,-0.57
3252,8.75,8.39,9.04,10.78,10.23
3253,-1.11,-0.56,0.14,1.47,-1.76
3254,-8.27,-5.8,-7.34,-6.61,-4.45
3255,-25.77,-24.06,-24.21,-21.7,-58.76
3256,-6.4,-6.51,-5.44,-5.66,-8.84
3257,-7.68,-6.36,-7.04,-2.77,-4.02
3258,3.24,2.93,3.58,2.86,0.87
3259,8.32,9,9.69,7.06,10.23
3260,0.85,0.83,1.15,0.35,-0.45
3261,-9.12,-8.39,-8.01,-2.85,-5.22
3262,-6.52,-5.84,-4.96,-8.99,-6.99
3263,-0.65,0.3,1.14,1.82,-1.62
3264,6.47,5.37,5.97,8.59,3.89
3265,-3.31,-4.65,-3.66,-2.98,-4.38
3266,7.41,8.37,6.1,9.71,7.59
3267,-4.03,-4.64,-4.74,-4.81,-4.6
Source diff could not be displayed: it is too large. Options to address this: view the blob.
#include <iostream>
#include <iomanip>
#include <fstream>
using namespace std;
void make_charge_asym_list(){
// string froot;
TString froot;
ifstream file;
ofstream outFile;
string word,word1,word2,word3,word4,word5,word6,word7, filename;
string run, BCM1,BCM2,BCM4A,BCM4B,BCM4C;
outFile.open("charge_asym_list.csv");
outFile << "Run"<<"\t"<<"BCM1"<<"\t"<<"BCM2"<<"\t"<<"BCM4A"<<"\t"<<"BCM4B"<<'\t'<<"BCM4C"<<endl;
for(Int_t i=2682;i<3268; i++){
froot = Form("/net/cdaq/cdaql1data/cdaq/polhe3/REPORT_OUTPUT/default/hms_replay_production_default_0%d_-1.report",i);
cout << froot << endl;
file.open(froot);
// cout <<" Is the File open?"<< file.is_open()<<endl;
if(file.is_open()==1){
// cout<<froot<<endl;
// extracting words from the file
while (file >> word)
{
if (word=="Run"){
file >> word1; //get #
if(word1=="#"){
file >> word2; //get colon
file >> run; //get value
}
}
if (word=="BCM1:"){ //is the next word current
file >> word3; //get gated charge value
file >> BCM1; //get BCM1 aym value
}
//file >> word6;//get BCM2:
if (word=="BCM2:"){ //is the next word current
file >> word4; //get gated charge value
file >> BCM2; //get BCM1 aym value
}
if (word=="BCM4A:"){ //is the next word current
file >> word5; //get gated charge value
file >> BCM4A; //get BCM1 aym value
}
if (word=="BCM4B:"){ //is the next word current
file >> word6; //get gated charge value
file >> BCM4B; //get BCM1 aym value
}
if (word=="BCM4C:"){ //is the next word current
file >> word7; //get gated charge value
file >> BCM4C; //get BCM1 aym value
}
}
// displaying content
// cout <<"Run"<<"\t"<<"BCM1"<<"\t"<<"BCM2"<<endl;
// cout << run<<"\t"<<BCM1<<"\t"<<BCM2<<endl;
outFile<<run<<"\t"<<BCM1<<"\t"<<BCM2<<"\t"<<BCM4A<<"\t"<<BCM4B<<'\t'<<BCM4C<<endl;
file.close();
}
}
outFile.close();
return 0;
}
Source diff could not be displayed: it is too large. Options to address this: view the blob.
File added
File added
File added
File added
File added
File added
File added
File added
File added
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment