Commit cdd6d9f8 authored by Muzalevsky I.A's avatar Muzalevsky I.A

script for filling tree of class objects with data from all 4 channels added

parent 0c360be5
//#include <iostream>
//#include <fstream>
//
//#include "TFile.h"
//#include "TTree.h"
//
//#include "../dataClasses/RawEvent.h"
void read() { void read() {
//Double_t N[5]; // массив для чисел () //Double_t N[5]; // массив для чисел ()
//ifstream myfile; //ifstream myfile;
//Double_t string_to_double( const std::string& s );
const Int_t par1 = 5; //const Int_t par1 = 5;
const Double_t par2 = 5.34; //const Double_t par2 = 5.34;
// .... // ....
// .... // ....
gSystem->Load("../libData.so"); gSystem->Load("../libData.so");
asdasd();
Double_t A[1000]; Double_t A[1000];
Double_t T[1000]; Double_t T[1000];
Int_t i,j,n; Int_t i,j,n,p,Nchannel;
TString line;
Double_t amp,time;
TFile *f1 = new TFile("exp2.root","RECREATE"); TFile *f1 = new TFile("exp2.root","RECREATE");
TTree *tree = new TTree("tree","signal"); TTree *tree = new TTree("tree","signal");
tree->Branch("A",A,"A[1000]/D"); tree->Branch("A",A,"A[1000]/D");
tree->Branch("T",T,"T[1000]/D"); tree->Branch("T",T,"T[1000]/D");
RawEvent *event = new RawEvent();
tree->Bronch("rawEvent", "RawEvent", &event);
RawEvent *event1 = new RawEvent();
tree->Bronch("rawEvent1", "RawEvent", &event1);
RawEvent *event2 = new RawEvent();
tree->Bronch("rawEvent2", "RawEvent", &event2);
RawEvent *event3 = new RawEvent();
tree->Bronch("rawEvent3", "RawEvent", &event3);
RawEvent *event4 = new RawEvent();
tree->Bronch("rawEvent4", "RawEvent", &event4);
RawEvent **Nevent;
Nevent = new RawEvent *[4];
Nevent[0] = event1;
Nevent[1] = event2;
Nevent[2] = event3;
Nevent[3] = event4;
/////////
ifstream myfile; // открываю файл с названиями файлов с данными
ifstream myfile1;
myfile.open("../data/rawDataTektronix/infiles.dat");
if (myfile.is_open()) {
TString fileName;
while (!myfile.eof()) {p++;
//std::vector<Double_t> *A = new std::vector<Double_t>(); fileName.ReadLine(myfile);
//tree->Branch("mybranch","vector<Double_t>",A); if ( fileName.IsNull() ) break;
ifstream myfile1; if ( fileName.EqualTo("ch1") ) {Nchannel = 1; }
myfile1.open("../data/rawDataTektronix/ch12016.12.07-02.11.54.dat"); if ( fileName.EqualTo("ch2") ) {Nchannel = 2; }
if ( fileName.EqualTo("ch3") ) {Nchannel = 3; }
if ( fileName.EqualTo("ch4") ) {Nchannel = 4; }
if (!myfile1.is_open()) { cout<<fileName.Data()<<" "<< p << " nchannel = "<<Nchannel<<endl;
Error("read.c", "Some error when opening file"); if ( fileName.BeginsWith("ch") || fileName.BeginsWith("//") ) continue; //есть строки ch1,2
return;
}
Double_t amp = 0; myfile1.open( fileName.Data() );
Double_t time = 0; if (myfile1.is_open()) {
//cout<<" I found data! number "<<endl;
amp=time=0;
//rewrite using while-loop while (!myfile1.eof()) {
for(i = 0; i<100000; i++){ line.ReadLine(myfile1);
n=i/1000; // if ((i==1002)||(i==900)||(i==2002)||(i==8002)) {cout<<i<<" "<<n<<endl;} n=i/1000; // if ((i==1002)||(i==900)||(i==2002)||(i==8002)) {cout<<i<<" "<<n<<endl;}
myfile1 >> amp;
time = 5e-013+ (i-1000*n)*1e-010; time = 5e-013+ (i-1000*n)*1e-010;
sscanf(line.Data(), "%lf", &amp);
A[i-1000*n] = amp; A[i-1000*n] = amp;
T[i-1000*n] = time; T[i-1000*n] = time;
event->SetAmp(amp, i-1000*n); Nevent[Nchannel-1]->SetAmp(amp, i-1000*n);
event->SetTime(time, i-1000*n); Nevent[Nchannel-1]->SetTime(time, i-1000*n);
if(i-1000*n ==999) { if(i-1000*n ==999) {
tree->Fill(); tree->Fill();
...@@ -65,46 +80,44 @@ void read() { ...@@ -65,46 +80,44 @@ void read() {
T[j]=0; T[j]=0;
A[j]=0; A[j]=0;
} }
Nevent[Nchannel-1]->Reset();
event->Reset();
} }
i++;
} }
myfile1.close();
ifstream myfile2;
myfile2.open("ch12016.12.07-08.48.05.dat");
for(i = 0; i<100000; i++){
n=i/1000; // if ((i==1002)||(i==900)||(i==2002)||(i==8002)) {cout<<i<<" "<<n<<endl;}
myfile2 >> A[i-1000*n];
T[i-1000*n]=5e-013+ (i-1000*n)*1e-010;
if(i-1000*n ==999){
tree->Fill();
for(j=0;j<1000;j++){
T[j]=0;A[j]=0;
} }
else {
cout<<" asdasdasd "<<endl;
Error("read.cpp", "Some error when opening file %s", fileName.Data());
return;
} }
myfile1.close();
} }
myfile2.close(); myfile.close();
}
else {Error("read.cpp", "Some error when opening file","infiles.dat");return;}
ifstream myfile3; ////////////////
myfile3.open("ch12016.12.07-10.03.01.dat");
for(i = 0; i<29000; i++){
n=i/1000;// if ((i==1002)||(i==900)||(i==2002)||(i==8002)) {cout<<i<<" "<<n<<endl;}
myfile3 >> A[i-1000*n];
T[i-1000*n]=5e-013+ (i-1000*n)*1e-010;
if(i-1000*n ==999) {
tree->Fill();
for(j=0;j<1000;j++){ TString name;
T[j]=0;A[j]=0; name.Form("../data/rawDataTektronix/ch%d2016.12.07-02.11.54.dat",1);
} ////////////
}
ifstream myfile1;
myfile1.open(name.Data());
if (!myfile1.is_open()) {
Error("read.c", "Some error when opening file");
return;
} }
myfile3.close();
i=0;
myfile1.close();
tree->Write(); tree->Write();
f1->Close(); f1->Close();
} }
Double_t asdasd() {
cout << "Function called!!!!!!!!!!!" << endl;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment