Changeset 5313 for trunk/MagicSoft/Mars
- Timestamp:
- 10/25/04 17:11:26 (20 years ago)
- Location:
- trunk/MagicSoft/Mars/mtemp/mmpi
- Files:
-
- 1 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/MagicSoft/Mars/mtemp/mmpi/MSkyPlot.cc
r4830 r5313 115 115 #include "MSkyPlot.h" 116 116 117 #include <vector> 117 118 #include <TF1.h> 118 119 #include <TH2.h> … … 190 191 fHistOn.SetYTitle("y [\\circ]"); 191 192 193 fHistSignifGaus.SetName("SignifDistrib"); 194 fHistSignifGaus.SetTitle("Distribution of the significances from the sky plot"); 195 fHistSignifGaus.SetXTitle("significance"); 196 fHistSignifGaus.SetYTitle("counts"); 197 192 198 // set some values for the sky plot geometry: 193 199 fMinXGrid =-1.; // [deg] … … 274 280 fDistLo[7] = 0.0; 275 281 } 282 283 fAlphaHName = "alphaplot.root"; 284 fSkyHName = "skyplot.root"; 276 285 } 277 286 278 287 void MSkyPlot::ReadCuts(const TString parSCinit="OptSCParametersONOFFThetaRange0_1570mRad.root") 279 288 { 289 290 cout << " parameters read from file: " << parSCinit << endl; 280 291 //-------------------------------- 281 292 // create container for the supercut parameters … … 390 401 fRepDrive = (MReportDrive*)plist->FindObject(AddSerialNumber("MReportDrive")); 391 402 if (!fRepDrive) 392 *fLog << warn << "MReportDrive not found... nosky map." << endl;403 *fLog << warn << "MReportDrive not found... could be problem for sky map." << endl; 393 404 394 405 … … 397 408 *fLog << warn << "MSrcPosCam not found... no sky map." << endl; 398 409 410 /* 399 411 fPntPosCam = (MSrcPosCam*)plist->FindObject(AddSerialNumber("MPntPosCam")); 400 412 if (!fPntPosCam) 401 413 *fLog << warn << "MPntPosCam not found... no sky map." << endl; 414 */ 402 415 403 416 fPointPos = (MPointingPos*)plist->FindObject(AddSerialNumber("MPointingPos")); … … 407 420 fTime = (MTime*)plist->FindObject(AddSerialNumber("MTime")); 408 421 if (!fTime) 409 *fLog << warn << "MTime not found... nosky map." << endl;422 *fLog << warn << "MTime not found... could be problem for sky map." << endl; 410 423 411 424 fObservatory = (MObservatory*)plist->FindObject(AddSerialNumber("MObservatory")); … … 443 456 fNumalphahist = (int) (fNumStepsX * fNumStepsY + 0.5); 444 457 445 fHistSignif.SetName("SPSignif2ndOrder");446 fHistSignif.SetTitle("Sky Plot of significance (2nd order fit)");458 // fHistSignif.SetName("SPSignif2ndOrder"); 459 // fHistSignif.SetTitle("Sky Plot of significance (2nd order fit)"); 447 460 fHistSignif.SetBins(fNumStepsX, fMinXGrid-0.5*fBinStepGrid, fMaxXGrid+0.5*fBinStepGrid, 448 461 fNumStepsY, fMinYGrid-0.5*fBinStepGrid, fMaxYGrid+0.5*fBinStepGrid); 449 fHistSignif.SetDirectory(NULL);462 // fHistSignif.SetDirectory(NULL); 450 463 fHistSignif.SetFillStyle(4000); 451 464 fHistSignif.UseCurrentStyle(); 452 465 453 fHistNexcess.SetName("SPNex2ndOrder");454 fHistNexcess.SetTitle("Sky Plot of Number of excess events (2nd order fit)");466 // fHistNexcess.SetName("SPNex2ndOrder"); 467 // fHistNexcess.SetTitle("Sky Plot of Number of excess events (2nd order fit)"); 455 468 fHistNexcess.SetBins(fNumStepsX, fMinXGrid-0.5*fBinStepGrid, fMaxXGrid+0.5*fBinStepGrid, 456 469 fNumStepsY, fMinYGrid-0.5*fBinStepGrid, fMaxYGrid+0.5*fBinStepGrid); 457 fHistNexcess.SetDirectory(NULL);470 // fHistNexcess.SetDirectory(NULL); 458 471 fHistNexcess.SetFillStyle(4000); 459 472 fHistNexcess.UseCurrentStyle(); 460 473 461 fHistOn.SetName("SPOnCounted");462 fHistOn.SetTitle("Sky Plot of ON events (counted)");474 // fHistOn.SetName("SPOnCounted"); 475 // fHistOn.SetTitle("Sky Plot of ON events (counted)"); 463 476 fHistOn.SetBins(fNumStepsX, fMinXGrid-0.5*fBinStepGrid, fMaxXGrid+0.5*fBinStepGrid, 464 477 fNumStepsY, fMinYGrid-0.5*fBinStepGrid, fMaxYGrid+0.5*fBinStepGrid); 465 fHistOn.SetDirectory(NULL);478 // fHistOn.SetDirectory(NULL); 466 479 fHistOn.SetFillStyle(4000); 467 480 fHistOn.UseCurrentStyle(); 468 481 482 //fHistSignifGaus.SetName("SignifDistrib"); 483 fHistSignifGaus.SetTitle("Distribution of the significances from the sky plot"); 484 fHistSignifGaus.SetBins(100, -10., 10.); 469 485 470 486 // prepare alpha plots 471 487 // temp histogram for an alpha plot 472 TH1 I *temp = new TH1I("alphaplot","alphaplot",fNumBinsAlpha,fAlphaLeftEdge,fAlphaRightEdge);488 TH1D *temp = new TH1D("alphaplot","alphaplot",fNumBinsAlpha,fAlphaLeftEdge,fAlphaRightEdge); 473 489 temp->SetDirectory(NULL); 474 490 fHistAlphaBinWidth = temp->GetBinWidth(1); … … 499 515 if (fSetCenter==kTRUE) 500 516 { 501 fRa0 = fRepDrive->GetRa(); // [h] 502 fDec0 = fRepDrive->GetDec(); // [deg] 517 if (fRepDrive) 518 { 519 fRa0 = fRepDrive->GetRa(); // [h] 520 fDec0 = fRepDrive->GetDec(); // [deg] 521 if (fRa0 < 0. || fRa0 > 24. || fDec0 < -90. || fDec0 > 90. || (fRa0==0 && fDec0==0)) return kTRUE; // temp!, should be changed 522 } 523 else 524 { 525 fRa0 = fPointPos->GetRa(); 526 fDec0 = fPointPos->GetDec(); 527 } 528 *fLog << inf << "Ra (center) = " << fRa0 << ", Dec = " << fDec0 << endl; 503 529 fSetCenter=kFALSE; 504 530 } … … 518 544 Double_t rho = 0; 519 545 if (fTime && fObservatory && fPointPos) 520 {546 { 521 547 rho = fPointPos->RotationAngle(*fObservatory, *fTime); 522 *fLog << inf << " rho = " << rho << ", Zd = " << fPointPos->GetZd() << 523 ", Az = " << fPointPos->GetAz() << ", Ra = " << fPointPos->GetRa() << ", Dec = " << fPointPos->GetDec() << endl; 524 } 525 //if (fPointPos) 526 // rho = fPointPos->RotationAngle(*fObservatory); 548 //*fLog << inf << " rho = " << rho*180./TMath::Pi() << ", Zd = " << fPointPos->GetZd() << 549 // ", Az = " << fPointPos->GetAz() << ", Ra = " << fPointPos->GetRa() << ", Dec = " << fPointPos->GetDec() << endl; 550 551 // => coord. system: xtilde, ytilde with center in RA_0, DEC_0 552 553 // Get Rot. Angle: 554 cosgam = TMath::Cos(rho); 555 singam = TMath::Sin(rho); 556 // Get x_0, y_0 for RA_0,DEC_0 of the current event 557 } 558 else 559 { 560 // rho = fPointPos->RotationAngle(*fObservatory); 561 Double_t theta, phi, sing, cosg; 562 theta = fPointPos->GetZd()*TMath::Pi()/180.; 563 phi = fPointPos->GetAz()*TMath::Pi()/180.; 564 // printf("theta: %5.3f, phi: %5.3f\n", theta*180./4.1415, phi*180./4.1415); 565 fObservatory->RotationAngle(theta, phi, sing, cosg); 566 cosgam = cosg; 567 singam = sing; 568 } 569 // if (fPointPos) 570 // rho = fPointPos->RotationAngle(*fObservatory); 571 527 572 /* 528 573 //TEMP … … 556 601 */ 557 602 558 // => coord. system: xtilde, ytilde with center in RA_0, DEC_0 559 560 // Get Rot. Angle: 561 cosgam = TMath::Cos(rho); 562 singam = TMath::Sin(rho); 563 // Get x_0, y_0 for RA_0,DEC_0 of the current event 564 x_0 = fPntPosCam->GetX()*fMm2Deg; 565 y_0 = fPntPosCam->GetY()*fMm2Deg; 603 /* 604 x_0 = fPntPosCam->GetX()*fMm2Deg; 605 y_0 = fPntPosCam->GetY()*fMm2Deg; 606 */ 607 x_0 = 0.; 608 y_0 = 0.; 566 609 567 610 Int_t index = 0; // index for alpha histograms … … 598 641 lgsize = logsize-log3000; 599 642 lgsize2 = lgsize*lgsize; 600 dist2 = (distpar-fDistOffset)*(distpar-fDistOffset);643 dist2 = distpar*distpar - fDistOffset*fDistOffset; 601 644 602 645 if ( (fHillas->GetLength()*fMm2Deg) < CalcLimit(fLengthUp, lgsize, lgsize2, dist2) && … … 609 652 { 610 653 // gamma candidates! 654 //*fLog << "Length : " << fHillas->GetLength()*fMm2Deg << ", Width : " << fHillas->GetWidth()*fMm2Deg << endl; 655 //*fLog << "distpar: " << distpar << ", Size : " << fHillas->GetSize() << endl; 611 656 fHistAlpha[index].Fill(alphapar); 612 index++;613 657 } 658 index++; 614 659 } 615 660 } … … 628 673 const Int_t onbinsalpha = TMath::Nint(fAlphaONMax/fHistAlphaBinWidth); 629 674 675 // fit with gaus 676 fHistSignifGaus.Fit("gaus"); 677 630 678 // fit function for the background 631 679 TF1 * fitbgpar = new TF1("fbgpar", "[0]*x*x + [1]", fAlphaBgLow, fAlphaBgUp); … … 635 683 numdegfreed = (fAlphaBgUp - fAlphaBgLow) / fHistAlphaBinWidth - 2.; 636 684 637 vector <TH1 I>::iterator alpha_iterator;685 vector <TH1D>::iterator alpha_iterator; 638 686 int index2 = 0; // index of the TH2F histograms 639 687 … … 643 691 // find the bin in the 2dim histogram 644 692 nrow = index2/fHistOn.GetNbinsX() + 1; // row of the histogram (y) 645 ncolumn = TMath::Nint(fmod(index2,fHistOn.GetNbinsX()))+1; // column of the histogram (x) 693 ncolumn = index2%fHistOn.GetNbinsX()+1; // column of the histogram (x) 694 //ncolumn = TMath::Nint(fmod(index2,fHistOn.GetNbinsX()))+1; // column of the histogram (x) 646 695 647 696 // number of ON events below fAlphaONMax … … 659 708 660 709 // estimate Noff from the fit: 661 Noff_fit = (1./3. * (fitbgpar->GetParameter(0)) * pow(fAlphaONMax,3.) +710 Noff_fit = (1./3. * (fitbgpar->GetParameter(0)) * TMath::Power(fAlphaONMax,3.) + 662 711 (fitbgpar->GetParameter(1)) * fAlphaONMax) / fHistAlphaBinWidth; 663 712 … … 671 720 672 721 fHistSignif.SetBinContent(ncolumn, nrow, Sign); // fill in the fHistSignif 722 fHistSignifGaus.Fill(Sign); 673 723 674 724 alpha_iterator++; … … 677 727 678 728 //temp 729 /* 679 730 Double_t decl, hang; 680 731 MStarCamTrans mstarc(*fGeomCam, *fObservatory); … … 683 734 *fLog << warn << "MDrive, RA, DEC = " << fRepDrive->GetRa() << ", " << fRepDrive->GetDec() << endl; 684 735 *fLog << warn << "MStarCamTrans, H angle , DEC = " << hang << ", " << decl << endl; 736 */ 685 737 //endtemp 686 738 739 687 740 // save alpha plots: 688 if(kSaveAlphaPlots==kTRUE) SaveAlphaPlots(); 741 // TString stri1 = "alphaplots.root"; 742 if(kSaveAlphaPlots==kTRUE) SaveAlphaPlots(fAlphaHName); 689 743 690 744 // save sky plots: 691 if(kSaveSkyPlots==kTRUE) SaveSkyPlots(); 745 // TString stri2 = "skyplots.root"; 746 if(kSaveSkyPlots==kTRUE) SaveSkyPlots(fSkyHName); 692 747 693 748 fHistAlpha.clear(); … … 721 776 722 777 723 void MSkyPlot::SaveSkyPlots( const TString skyplotfilename="skyplots.root")778 void MSkyPlot::SaveSkyPlots(TString skyplotfilename) 724 779 { 725 780 TFile rootfile(skyplotfilename, "RECREATE", … … 728 783 fHistNexcess.Write(); 729 784 fHistOn.Write(); 785 fHistSignif.Write(); 730 786 731 787 // from Wolfgang: … … 733 789 // Dec-Hour lines 734 790 Double_t rho, sinrho, cosrho; 735 // if (fTime && fObservatory && fPointPos) 791 Double_t theta, phi, sing, cosg; 792 // do I need it? 793 if (fTime && fObservatory && fPointPos) 794 { 736 795 rho = fPointPos->RotationAngle(*fObservatory, *fTime); 737 sinrho=TMath::Sin(rho);738 cosrho=TMath::Cos(rho);739 740 Double_t theta, phi, sing, cosg; 741 theta = fPointPos->GetZd()*TMath::Pi()/180.;742 phi = fPointPos->GetAz()*TMath::Pi()/180.;796 sinrho=TMath::Sin(rho); 797 cosrho=TMath::Cos(rho); 798 } 799 800 theta = fPointPos->GetZd()*TMath::Pi()/180.; 801 phi = fPointPos->GetAz()*TMath::Pi()/180.; 743 802 // printf("theta: %5.3f, phi: %5.3f\n", theta*180./4.1415, phi*180./4.1415); 744 fObservatory->RotationAngle(theta, phi, sing, cosg);803 fObservatory->RotationAngle(theta, phi, sing, cosg); 745 804 746 805 *fLog << "1: sinrho, cosrho = " << sinrho << ", " << cosrho << endl; 747 806 *fLog << "2: sinrho, cosrho = " << sing << ", " << cosg << endl; 807 sinrho=sing; 808 cosrho=cosg; 748 809 749 810 Double_t fDistCam = fGeomCam->GetCameraDist() * 1000.0; // [mm] … … 756 817 Double_t declin, hangle; // [deg], [h] 757 818 MStarCamTrans mstarc(*fGeomCam, *fObservatory); 758 mstarc.LocToCel(fRepDrive->GetNominalZd(),fRepDrive->GetNominalAz(),declin, hangle); 759 760 TGraph *graph1; 819 if (fRepDrive) mstarc.LocToCel(fRepDrive->GetNominalZd(),fRepDrive->GetNominalAz(),declin, hangle); 820 else mstarc.LocToCel(theta*180./TMath::Pi(),phi*180./TMath::Pi(),declin, hangle); // NOT GOOD! 821 822 // std::vector <TGraph> graphvec; 761 823 TLatex *pix; 762 824 … … 776 838 // direction for the center of the camera 777 839 Double_t dec0 = declin; 778 Double_t h0 = hangle*360./24.; 840 Double_t h0 = hangle*360./24.; //deg 841 Double_t RaHOffset = fRepDrive->GetRa() - h0; 779 842 //trans.LocToCel(theta0, phi0, dec0, h0); 780 843 844 gStyle->SetOptFit(0); 845 gStyle->SetOptStat(0); 846 gStyle->SetPalette(1); 781 847 TCanvas *c1 = new TCanvas("SPlotsRaDecLines","SPlotsRaDecLines", 400, 0, 700, 600); 848 c1->Divide(2,2); 782 849 c1->cd(1); 850 fHistSignif.Draw("colz"); 851 c1->cd(2); 852 fHistNexcess.Draw("colz"); 853 c1->cd(3); 783 854 fHistOn.Draw("colz"); 855 c1->cd(4); 856 gPad->SetLogy(); 857 fHistSignifGaus.Draw(); 784 858 785 859 //----- lines for fixed dec ------------------------------------ … … 796 870 dh = 360.0/((Double_t)(Nh-1)); 797 871 798 872 // start to copy 799 873 for (Int_t j=0; j<Ndec; j++) 800 874 { … … 810 884 Double_t xh[Nh]; 811 885 Double_t yh[Nh]; 812 813 814 886 815 887 for (Int_t j=0; j<Ndec; j++) … … 839 911 840 912 // c1->cd(2); 841 graph1 = new TGraph(Nh,xh,yh); 842 graph1->SetLineColor(j+1); 913 TGraph * graph1 = new TGraph(Nh,xh,yh); 914 //graph1->SetLineColor(j+1); 915 graph1->SetLineColor(36); 843 916 graph1->SetLineStyle(1); 844 graph1->SetMarkerColor(j+1); 917 graph1->SetLineWidth(1); 918 //graph1->SetMarkerColor(j+1); 919 graph1->SetMarkerColor(1); 845 920 graph1->SetMarkerSize(.2); 846 921 graph1->SetMarkerStyle(20); 847 graph1->Draw("PL"); 922 923 c1->cd(1); 924 graph1->Draw("L"); 925 c1->cd(2); 926 graph1->Draw("L"); 927 c1->cd(3); 928 graph1->Draw("L"); 848 929 //delete graph1; 930 // graphvec.push_back(*graph1); 931 // graphvec[j].Draw("L"); 849 932 850 933 sprintf(tit,"Dec = %6.2f", dec[j]); … … 852 935 ytxt = ylo + (yup-ylo)*0.80 - ((Double_t)j) *(yup-ylo)/20.0; 853 936 pix = new TLatex(xtxt, ytxt, tit); 854 pix->SetTextColor( j+1);937 pix->SetTextColor(36); 855 938 pix->SetTextSize(.03); 856 pix->Draw("");939 //pix->Draw(""); 857 940 //delete pix; 858 941 859 942 } 860 943 //stop copy 861 944 //----- lines for fixed hour angle ------------------------------------ 862 945 … … 872 955 dh1 = 360.0/((Double_t)Nh1); 873 956 874 957 // start copy 875 958 for (Int_t j=0; j<Ndec1; j++) 876 959 { … … 915 998 916 999 // c1->cd(2); 917 graph1 = new TGraph(count,xd,yd); 918 graph1->SetLineColor(k+1); 919 graph1->SetLineStyle(2); 920 graph1->SetMarkerColor(k+1); 1000 TGraph * graph1 = new TGraph(count,xd,yd); 1001 //graph1->SetLineColor(k+1); 1002 graph1->SetLineColor(36); 1003 graph1->SetLineWidth(2); 1004 graph1->SetLineStyle(1); 1005 //graph1->SetMarkerColor(k+1); 1006 graph1->SetMarkerColor(1); 921 1007 graph1->SetMarkerSize(.2); 922 1008 graph1->SetMarkerStyle(20); 923 graph1->Draw("PL"); 924 //delete graph1; 925 926 sprintf(tit,"H = %6.2f", h1[k]); 1009 c1->cd(1); 1010 graph1->Draw("L"); 1011 c1->cd(2); 1012 graph1->Draw("L"); 1013 c1->cd(3); 1014 graph1->Draw("L"); 1015 1016 sprintf(tit,"RA = %6.2f", fRa0 + (h0 - h1[k])); 927 1017 Double_t xtxt = xlo + (xup-xlo)*0.75; 928 1018 Double_t ytxt = ylo + (yup-ylo)*0.80 - ((Double_t)k) *(yup-ylo)/20.0; 929 1019 pix = new TLatex(xtxt, ytxt, tit); 930 pix->SetTextColor( k+1);1020 pix->SetTextColor(36); 931 1021 pix->SetTextSize(.03); 932 pix->Draw("");1022 //pix->Draw(""); 933 1023 //delete pix; 934 1024 … … 936 1026 937 1027 // c1->cd(2); 938 sprintf(tit,"Dec0 = %6.2f H0 = %6.2f", dec0, h0);939 xtxt = xlo + (xup-xlo)*0.05 ;940 ytxt = ylo + (yup-ylo)*0. 92;1028 sprintf(tit,"Dec0 = %6.2f [deg] Ra0 = %6.2f [h]", dec0, fRa0); 1029 xtxt = xlo + (xup-xlo)*0.05 + 0.80; 1030 ytxt = ylo + (yup-ylo)*0.75; 941 1031 pix = new TLatex(xtxt, ytxt, tit); 942 1032 pix->SetTextColor(1); 943 pix->SetTextSize(.06); 1033 pix->SetTextSize(.05); 1034 c1->cd(1); 1035 pix->Draw(""); 1036 c1->cd(2); 1037 pix->Draw(""); 1038 c1->cd(3); 944 1039 pix->Draw(""); 945 1040 //delete pix; 946 1041 947 sprintf(tit," [deg] [deg]");948 xtxt = xlo + (xup-xlo)*0.05;949 ytxt = ylo + (yup-ylo)*0.86;950 pix = new TLatex(xtxt, ytxt, tit);951 pix->SetTextColor(1);952 pix->SetTextSize(.06);953 pix->Draw("");954 955 1042 c1->Write(); 1043 // we suppose that the {skyplotfilename} ends with .root 1044 Int_t sizeofout = skyplotfilename.Sizeof(); 1045 TString outps = skyplotfilename.Remove(sizeofout-5,5) + "ps"; 1046 c1->Print(outps); // temporary!!!!! 956 1047 957 1048 TCanvas *c2 = new TCanvas("SkyPlotsWithRaDecLines","SkyPlotsWithRaDecLines", 0, 0, 300, 600); … … 967 1058 delete c1; 968 1059 delete c2; 969 delete graph1;970 1060 delete pix; 1061 1062 971 1063 } 972 1064 973 void MSkyPlot::SaveAlphaPlots(const TString alphaplotfilename ="alphaplots.root")1065 void MSkyPlot::SaveAlphaPlots(const TString alphaplotfilename) 974 1066 { 975 1067 TFile rootfile(alphaplotfilename, "RECREATE", 976 1068 "all the alpha plots"); 977 1069 978 vector <TH1 I>::iterator alpha_iterator;1070 vector <TH1D>::iterator alpha_iterator; 979 1071 int index = 0; // index of the TH2F histograms 980 1072 Char_t strtitle[100]; … … 989 1081 990 1082 nrow = index/fHistOn.GetNbinsX() + 1; // row of the histogram (y) 991 ncolumn = TMath::Nint(fmod(index,fHistOn.GetNbinsX()))+1; // column of the histogram (x) 1083 //ncolumn = TMath::Nint(fmod(index,fHistOn.GetNbinsX()))+1; // column of the histogram (x) 1084 ncolumn = index%fHistOn.GetNbinsX()+1; // column of the histogram (x) 992 1085 xpos = fMinXGrid + fBinStepGrid*(ncolumn-1); 993 1086 ypos = fMinYGrid + fBinStepGrid*(nrow-1); -
trunk/MagicSoft/Mars/mtemp/mmpi/MSkyPlot.h
r4830 r5313 17 17 18 18 class TH2D; 19 class TH1 I;19 class TH1D; 20 20 21 21 class MParList; … … 59 59 // Float_t fMaxLD; // Maximum distance in percent of dist 60 60 61 vector <TH1I> fHistAlpha; // vector of histograms for alpha61 std::vector <TH1D> fHistAlpha; // vector of histograms for alpha 62 62 Int_t fNumalphahist; // number of histograms for alpha 63 63 Int_t fNumBinsAlpha; … … 74 74 TH2D fHistNexcess; // sky plot of number of excess events vs. x and y 75 75 TH2D fHistOn; // sky plot of events below fAlphaONMax vs. x and y 76 TH1D fHistSignifGaus; // distribution of significance 76 77 Bool_t fSetCenter; // used to set the center of these histograms once 77 78 Double_t fRa0; … … 85 86 Float_t fMaxYGrid; // [deg] , lower edge of the skyplot 86 87 Float_t fBinStepGrid; // [deg] , grid size 87 Float_t fNumStepsX; // number of bins in x88 Float_t fNumStepsY; // number of bins in y88 Int_t fNumStepsX; // number of bins in x 89 Int_t fNumStepsY; // number of bins in y 89 90 90 91 … … 101 102 Double_t fRa; 102 103 Double_t fDec; 104 105 TString fAlphaHName; // name for histogram with alpha plots 106 TString fSkyHName; // name for histogram with sky plots 103 107 104 108 Int_t DistancetoPrimitive(Int_t px, Int_t py); … … 118 122 void SetMinDist(Float_t dist) { fMinDist = dist; } // Absolute minimum distance 119 123 void SetMaxDist(Float_t dist) { fMaxDist = dist; } // Absolute maximum distance 124 void SetSizeMin(Float_t size) { fSizeMin = size; } // Absolute minimum Size 125 void SetSizeMax(Float_t size) { fSizeMax = size; } // Absolute maximum Size 120 126 // void SetMinLD(Float_t ratio) { fMinLD = ratio; } // Minimum ratio between length/dist 121 127 // void SetMaxLD(Float_t ratio) { fMaxLD = ratio; } // Maximum ratio between length/dist … … 123 129 void SetSkyPlot(Float_t xmin, Float_t xmax, Float_t ymin, Float_t ymax, Float_t step); 124 130 Double_t CalcLimit(Double_t *a, Double_t ls, Double_t ls2, Double_t dd2); 125 void SaveSkyPlots(const TString skyplotfilename="skyplots.root"); 126 void SaveAlphaPlots(const TString alphaplotfilename="alphaplots.root"); 131 //void SaveSkyPlots(const TString skyplotfilename="skyplots.root"); 132 133 void SetOutputAlphaName(TString outname1) { fAlphaHName = outname1; } 134 void SaveSkyPlots(TString stri); 135 136 137 //void SaveAlphaPlots(const TString alphaplotfilename="alphaplots.root"); 138 void SetOutputSkyName(TString outname2) { fSkyHName = outname2; } 139 void SaveAlphaPlots(const TString stri2); 127 140 128 141 void SetAlphaCut(Float_t alpha); 129 142 143 //std::vector <TH1D>::iterator GetAlphaPlots() { std::vector <TH1D>::iterator iter; return iter = fHistAlpha.begin() ; } 144 std::vector <TH1D> GetAlphaPlots() { return fHistAlpha ; } 145 130 146 void Draw(Option_t *option=""); 131 147
Note:
See TracChangeset
for help on using the changeset viewer.