-
Norbert Herrmann authoredNorbert Herrmann authored
pl_vert_trk.C 6.91 KiB
void pl_vert_trk(Double_t dFitWidth=0.) {
// TCanvas *can = new TCanvas("can22","can22");
// can->Divide(2,2);
TCanvas* can = new TCanvas("can", "can", 50, 0, 800, 800);
can->Divide(3, 4);
gPad->SetFillColor(0);
gStyle->SetPalette(1);
gStyle->SetOptStat(kTRUE);
gROOT->cd();
gROOT->SetDirLevel(1);
TH1* h;
TH1* h1;
TH2* h2;
// if (h!=NULL) h->Delete();
can->cd(1);
gROOT->cd();
TString hname = Form("hTrklXY0_0");
h2 = (TH2*) gROOT->FindObjectAny(hname);
if (h2 != NULL) {
h2->Draw("colz");
gPad->SetLogz();
} else {
cout << hname << " not found" << endl;
}
can->cd(2);
gROOT->cd();
Double_t MeanX0=0.;
Double_t SigX0=0.;
Double_t MeanX0Err=0.;
Double_t SigX0Err=0.;
h1 = (TH1*) h2->ProjectionX();
if (h1 != NULL) {
Double_t dFMean = h1->GetMean();
Double_t dFLim = 2.0 * h1->GetRMS();
dFMean=h1->GetBinCenter( h1-> GetMaximumBin() );
if(dFitWidth > 0.) dFLim=dFitWidth;
TFitResultPtr fRes =
h1->Fit("gaus", "QS", "", dFMean - dFLim, dFMean + dFLim);
//cout << " fRes = "<< fRes <<endl;
if (-1 != fRes) {
MeanX0 = fRes->Parameter(1);
SigX0 = fRes->Parameter(2);
MeanX0Err = 0.;
MeanX0Err = fRes->ParError(1);
SigX0Err = fRes->ParError(2);
}
}
Double_t MeanY0=0.;
Double_t SigY0=0.;
Double_t MeanY0Err=0.;
Double_t SigY0Err=0.;
h1 = (TH1*) h2->ProjectionY();
if (h1 != NULL) {
Double_t dFMean = h1->GetMean();
Double_t dFLim = 2.0 * h1->GetRMS();
dFMean=h1->GetBinCenter( h1-> GetMaximumBin() );
if(dFitWidth > 0.) dFLim=dFitWidth;
TFitResultPtr fRes =
h1->Fit("gaus", "QS", "same", dFMean - dFLim, dFMean + dFLim);
h1->SetLineColor(7);
//cout << " fRes = "<< fRes <<endl;
if (-1 != fRes) {
MeanY0 = fRes->Parameter(1);
SigY0 = fRes->Parameter(2);
MeanY0Err = 0.;
MeanY0Err = fRes->ParError(1);
SigY0Err = fRes->ParError(2);
}
}
cout << Form("TrkXY0_0: MeanX %6.2f (%5.2f), SigX %6.2f (%5.2f) ",MeanX0, MeanX0Err, SigX0, SigX0Err)
<< Form(" MeanY %6.2f (%5.2f), SigY %6.2f (%5.2f) ",MeanY0, MeanY0Err, SigY0, SigY0Err) << endl;
can->cd(3);
gROOT->cd();
hname = Form("hTrklXY0_1");
h2 = (TH2*) gROOT->FindObjectAny(hname);
if (h2 != NULL) {
h2->Draw("colz");
gPad->SetLogz();
Double_t MeanX1=0.;
Double_t SigX1=0.;
Double_t MeanX1Err=0.;
Double_t SigX1Err=0.;
h1 = (TH1*) h2->ProjectionX();
if (h1 != NULL) {
Double_t dFMean = h1->GetMean();
Double_t dFLim = 2.0 * h1->GetRMS();
dFMean=h1->GetBinCenter( h1-> GetMaximumBin() );
if(dFitWidth > 0.) dFLim=dFitWidth;
TFitResultPtr fRes =
h1->Fit("gaus", "QS", "", dFMean - dFLim, dFMean + dFLim);
//cout << " fRes = "<< fRes <<endl;
if (-1 != fRes) {
MeanX1 = fRes->Parameter(1);
SigX1 = fRes->Parameter(2);
MeanX1Err = 0.;
MeanX1Err = fRes->ParError(1);
SigX1Err = fRes->ParError(2);
}
Double_t MeanY1=0.;
Double_t SigY1=0.;
Double_t MeanY1Err=0.;
Double_t SigY1Err=0.;
h1 = (TH1*) h2->ProjectionY();
if (h1 != NULL) {
Double_t dFMean = h1->GetMean();
Double_t dFLim = 2.0 * h1->GetRMS();
dFMean=h1->GetBinCenter( h1-> GetMaximumBin() );
if(dFitWidth > 0.) dFLim=dFitWidth;
TFitResultPtr fRes =
h1->Fit("gaus", "QS", "same", dFMean - dFLim, dFMean + dFLim);
h1->SetLineColor(7);
//cout << " fRes = "<< fRes <<endl;
if (-1 != fRes) {
MeanY1 = fRes->Parameter(1);
SigY1 = fRes->Parameter(2);
MeanY1Err = 0.;
MeanY1Err = fRes->ParError(1);
SigY1Err = fRes->ParError(2);
}
}
cout << Form("TrkXY0_1: MeanX %6.2f (%5.2f), SigX %6.2f (%5.2f) ",MeanX1, MeanX1Err, SigX1, SigX1Err)
<< Form(" MeanY %6.2f (%5.2f), SigY %6.2f (%5.2f) ",MeanY1, MeanY1Err, SigY1, SigY1Err) << endl;
}
} else {
cout << hname << " not found" << endl;
}
can->cd(4);
gROOT->cd();
hname = Form("hVTXNorm");
h1 = (TH1*) gROOT->FindObjectAny(hname);
if (h1 != NULL) {
h1->Draw();
gPad->SetLogy();
} else {
cout << hname << " not found" << endl;
}
can->cd(5);
gROOT->cd();
hname = Form("hVTX_XY0");
h2 = (TH2*) gROOT->FindObjectAny(hname);
if (h2 != NULL) {
h2->Draw("colz");
gPad->SetLogz();
} else {
cout << hname << " not found" << endl;
}
can->cd(10);
if (h2 != NULL) {
h2->Draw("colz");
gPad->SetLogz();
Double_t MeanX1=0.;
Double_t SigX1=0.;
Double_t MeanX1Err=0.;
Double_t SigX1Err=0.;
h1 = (TH1*) h2->ProjectionX();
if (h1 != NULL) {
Double_t dFMean = h1->GetMean();
Double_t dFLim = 2.0 * h1->GetRMS();
dFMean=h1->GetBinCenter( h1-> GetMaximumBin() );
if(dFitWidth > 0.) dFLim=dFitWidth;
TFitResultPtr fRes =
h1->Fit("gaus", "QS", "", dFMean - dFLim, dFMean + dFLim);
//cout << " fRes = "<< fRes <<endl;
if (-1 != fRes) {
MeanX1 = fRes->Parameter(1);
SigX1 = fRes->Parameter(2);
MeanX1Err = 0.;
MeanX1Err = fRes->ParError(1);
SigX1Err = fRes->ParError(2);
}
Double_t MeanY1=0.;
Double_t SigY1=0.;
Double_t MeanY1Err=0.;
Double_t SigY1Err=0.;
h1 = (TH1*) h2->ProjectionY();
if (h1 != NULL) {
Double_t dFMean = h1->GetMean();
Double_t dFLim = 2.0 * h1->GetRMS();
dFMean=h1->GetBinCenter( h1-> GetMaximumBin() );
if(dFitWidth > 0.) dFLim=dFitWidth;
TFitResultPtr fRes =
h1->Fit("gaus", "QS", "same", dFMean - dFLim, dFMean + dFLim);
h1->SetLineColor(7);
//cout << " fRes = "<< fRes <<endl;
if (-1 != fRes) {
MeanY1 = fRes->Parameter(1);
SigY1 = fRes->Parameter(2);
MeanY1Err = 0.;
MeanY1Err = fRes->ParError(1);
SigY1Err = fRes->ParError(2);
}
}
cout << Form("VTX0: MeanX %6.2f (%5.2f), SigX %6.2f (%5.2f) ",MeanX1, MeanX1Err, SigX1, SigX1Err)
<< Form(" MeanY %6.2f (%5.2f), SigY %6.2f (%5.2f) ",MeanY1, MeanY1Err, SigY1, SigY1Err) << endl;
}
}
can->cd(6);
gROOT->cd();
hname = Form("hVTX_DT0_Norm");
h2 = (TH2*) gROOT->FindObjectAny(hname);
if (h2 != NULL) {
h2->Draw("colz");
gPad->SetLogz();
} else {
cout << hname << " not found" << endl;
}
can->cd(7);
gROOT->cd();
hname = Form("hTrklT0Mul");
h2 = (TH2*) gROOT->FindObjectAny(hname);
if (h2 != NULL) {
h2->Draw("colz");
gPad->SetLogz();
} else {
cout << hname << " not found" << endl;
}
can->cd(8);
gROOT->cd();
hname = Form("hTrklDT0SmMis");
h2 = (TH2*) gROOT->FindObjectAny(hname);
if (h2 != NULL) {
h2->Draw("colz");
gPad->SetLogz();
} else {
cout << hname << " not found" << endl;
}
can->cd(9);
gROOT->cd();
hname = Form("hTrklDT0StMis2");
h2 = (TH2*) gROOT->FindObjectAny(hname);
if (h2 != NULL) {
h2->Draw("colz");
gPad->SetLogz();
} else {
cout << hname << " not found" << endl;
}
can->SaveAs(Form("pl_vtx.pdf"));
}