#include "waveform.h" #include "TSystem.h" #include "TROOT.h" #include "TFile.h" #include "TTree.h" #include "TH1D.h" #include #include "TCanvas.h" #include "TClassTable.h" #include #include "hit.h" #include "event.h" #include "TPad.h" #include #include #include "TGraph.h" #include #include #include #include #include "readLeCroyBinary.h" #include "TSystem.h" #include "TMultiGraph.h" #include "TClonesArray.h" #include "TVirtualFitter.h" #include "TFitResult.h" #include "TFitResultPtr.h" void readTree(char* nameFile){ TFile *file = new TFile(nameFile); TTree *tree = (TTree*)file->Get("tree"); TFitResult *fitRes; TFitResultPtr *fitResult = 0; TBranch *BfitResult = tree->GetBranch("FitResultPtr"); BfitResult->SetAddress(&fitResult); TMultiGraph *MultiGOverlap = new TMultiGraph(); TBranch *BMultiGOverlap = tree->GetBranch("MultiGraphOverlap"); BMultiGOverlap->SetAddress(&MultiGOverlap); TCanvas *c1 = new TCanvas("c1", "Overlap: graph and functions", 900, 700); TH1F *hr = c1->DrawFrame(120, -0.001, 120 + 400, 0.02);//(-40ns, 0V), (240ns, 0.02V), 0.02V for 1pe=0.0145V. Here we set the axes limits values. hr->SetXTitle("time[ns]"); hr->SetYTitle("Amplitude[V]"); c1->cd(); TGraph *GOverlap = new TGraph(); TList *GList; TIter *GIter; Long64_t nentries = tree->GetEntries(); for(Long64_t i = 0; i < nentries; i++){ BfitResult->GetEntry(i); BMultiGOverlap->GetEntry(i); GList = (TList*)MultiGOverlap->GetListOfGraphs(); GIter = new TIter(GList); GIter->Reset(); while((GOverlap = (TGraph*)GIter->Next()) != NULL){ GOverlap->SetMarkerStyle(20); GOverlap->SetMarkerSize(1); GOverlap->SetMarkerColor(1); GOverlap->Draw("P"); } if(fitResult != NULL){ fitRes = fitResult->Get(); fitRes->Print("V"); } } }