void qqtest() { TCanvas *canvas = new TCanvas("canvas", "qqtest", 0, 0, 600, 800); canvas->Divide(1, 2); TFile *file = new TFile("qqdat.root"); TTree *tree = (TTree*)file->Get("h3"); canvas->cd(1); tree->Draw("Decg*TMath::RadToDeg()>>hist(40,30,70)", "1/cos(Decg)"); TF1 *fcn = new TF1("fcn", &fcn_xpsr, -90, 90, 1); fcn->SetParameter(0, 800); hist->Fit(fcn); canvas->cd(2); TGraphQQ *graph = new TGraphQQ(tree->GetSelectedRows(), tree->GetV1(), fcn); graph->Draw("al"); } Double_t fcn_xpsr(Double_t *x, Double_t *params) { static Double_t lat = TMath::DegToRad()*49.0994; static Double_t maxze = TMath::DegToRad()*18.0; Double_t dec = x[0]*TMath::DegToRad(); Double_t xi = (cos(maxze)-sin(lat)*sin(dec))/(cos(lat)*cos(dec)); Double_t alpha_m; if (xi > 1) alpha_m = 0; else if (xi < -1) alpha_m = TMath::Pi(); else alpha_m = TMath::ACos(xi); return params[0]*(cos(lat)*cos(dec)*sin(alpha_m)+alpha_m*sin(lat)*sin(dec)); }