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

classes AEvent modified

parent 50da89cb
...@@ -6,7 +6,7 @@ void IntegralCFD(){ ...@@ -6,7 +6,7 @@ void IntegralCFD(){
Int_t j,i,nentry,NumM,imax,imin; Int_t j,i,nentry,NumM,imax,imin;
Double_t A1[1000],A2[1000],A3[1000],A4[1000]; /// амплитуды с сырых данных (отрицательные) Double_t A1[1000],A2[1000],A3[1000],A4[1000]; /// амплитуды с сырых данных (отрицательные)
Double_t T[1000]; Double_t T[1000];
Double_t Am[1000]; // амплитуды с перевёрнутых пиков Double_t Am[1000],Ahist[1000]; // амплитуды с перевёрнутых пиков,.... амплитуда в гистограмме
Double_t Tim[1000]; Double_t Tim[1000];
Double_t Acfd[1000]; Double_t Acfd[1000];
Double_t sum,zeroLEVEL1,zeroLEVEL2,tm,t1_15,m,m1_15,t2_15,m2_15,tL_15,mL_15,Integrall,LinPar,ChiSquare,t1_90,t2_90,minCFD,maxCFD,zCFD,Tcfd,deltaZero; Double_t sum,zeroLEVEL1,zeroLEVEL2,tm,t1_15,m,m1_15,t2_15,m2_15,tL_15,mL_15,Integrall,LinPar,ChiSquare,t1_90,t2_90,minCFD,maxCFD,zCFD,Tcfd,deltaZero;
...@@ -66,6 +66,7 @@ void IntegralCFD(){ ...@@ -66,6 +66,7 @@ void IntegralCFD(){
///////// заполнение дерева ///////// заполнение дерева
TCanvas *c1 = new TCanvas("c","zero line"); TCanvas *c1 = new TCanvas("c","zero line");
j=0; j=0;
TH1F *hA = new TH1F("hA","full amlitude",1000,5e-04,100+5e-04); // гистограмма для заполнения данными из триггерного канала
for(j=0;j<tree1->GetEntries();j++) // j - номер события , i - внутри! for(j=0;j<tree1->GetEntries();j++) // j - номер события , i - внутри!
{ {
tree1->GetEntry(j); tree1->GetEntry(j);
...@@ -89,21 +90,22 @@ void IntegralCFD(){ ...@@ -89,21 +90,22 @@ void IntegralCFD(){
if(Acfd[i]<minCFD) {minCFD = Acfd[i];imin=i;} if(Acfd[i]<minCFD) {minCFD = Acfd[i];imin=i;}
} }
/*TGraph *gr3 = new TGraph(1000,Tim,Acfd);
gr3->Draw("Al*");
c1->Update();
cout<<endl<<imin<<" "<<imax<<endl; */
NumM = (tm - 5e-04)*(10); // номер точки (0,1000) с максимальной амплитудой сигнала NumM = (tm - 5e-04)*(10); // номер точки (0,1000) с максимальной амплитудой сигнала
Integrall=0; Integrall=0;
for(i=0;i<1000;i++) // нахожу интеграл, c границами for(i=0;i<1000;i++) // нахожу интеграл, c границами
{ {
if( (Tim[i]>(tm-3)) && (Tim[i]<(tm+17)) ) {Integrall = Integrall + Am[i];} if( (Tim[i]>(tm-3)) && (Tim[i]<(tm+17)) ) {Integrall = Integrall + Am[i];}
} }
//cout<<endl<<"integral= "<<Integrall<<endl;
////////////////// //////////////////
TGraph *gr1 = new TGraph(1000,Tim,Am); // поиск нуля TGraph *gr1 = new TGraph(1000,Tim,Am); // поиск нуля
gr1->Draw("Al*");
//hA = hA + (gr1->GetHistogram());
//hA->Add(gr1->GetHistogram());
//hA = gr1->GetHistogram();
//hA->Draw();
//c1->Update();
//gr1->Draw("Al*");
gr1->Fit("fit1","R","goff"); gr1->Fit("fit1","R","goff");
zeroLEVEL1 = fit1->GetParameter(0); zeroLEVEL1 = fit1->GetParameter(0);
c1->Update(); c1->Update();
...@@ -144,6 +146,9 @@ void IntegralCFD(){ ...@@ -144,6 +146,9 @@ void IntegralCFD(){
theTree->Fill(); theTree->Fill();
} }
c1->cd();
hA->Draw();
c1->Update();
////////// //////////
theTree->Write(); theTree->Write();
f1->Close(); f1->Close();
......
void read1() { void read1(Int_t input=0) {
cout<<input<<endl;
//void read1() {
gSystem->Load("../libData.so"); gSystem->Load("../libData.so");
Double_t A1[1000],A2[1000],A3[1000],A4[1000]; Double_t A1[1000],A2[1000],A3[1000],A4[1000];
...@@ -55,7 +57,7 @@ void read1() { ...@@ -55,7 +57,7 @@ void read1() {
for(i=0;;i++){ for(i=0;;i++){
fileName.ReadLine(myfile); fileName.ReadLine(myfile);
NameLines[i] = fileName; NameLines[i] = fileName;
if ( fileName.IsNull() ) break; if ( fileName.IsNull() ) {break;}
} }
myfile.close(); myfile.close();
......
...@@ -168,7 +168,16 @@ void AEvent::SetCFD() { ...@@ -168,7 +168,16 @@ void AEvent::SetCFD() {
} }
} }
return; }
Double_t AEvent::GetfCFD() {
return fCFD;
}
Double_t AEvent::GetOnefTime(Int_t i) {
return fTime[i];
}
Double_t AEvent::GetOnefAmpPos(Int_t i) {
return fAmpPos[i];
} }
...@@ -54,7 +54,9 @@ public: ...@@ -54,7 +54,9 @@ public:
AEvent(const Int_t npoints); AEvent(const Int_t npoints);
virtual ~AEvent(); virtual ~AEvent();
ClassDef(AEvent,1); ClassDef(AEvent,1);
Double_t GetfCFD();
Double_t GetOnefTime(Int_t i);
Double_t GetOnefAmpPos(Int_t i);
void SetRawDataFile(const char* inprawfile, const char* treename); void SetRawDataFile(const char* inprawfile, const char* treename);
void ProcessEvent(); void ProcessEvent();
// void Integral() // void Integral()
......
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