本文整理汇总了C++中TGraph类的典型用法代码示例。如果您正苦于以下问题:C++ TGraph类的具体用法?C++ TGraph怎么用?C++ TGraph使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了TGraph类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: fitcomparingcuts_LM_optimized_DD1_sigregonly
//.........这里部分代码省略.........
0,
0,
0,
0,
0,
0,
0,
0};
Double_t pull_Hist_curvetot_fehy3001[24] = {
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1};
TGraphAsymmErrors *grae = new TGraphAsymmErrors(24,pull_Hist_curvetot_fx3001,pull_Hist_curvetot_fy3001,pull_Hist_curvetot_felx3001,pull_Hist_curvetot_fehx3001,pull_Hist_curvetot_fely3001,pull_Hist_curvetot_fehy3001);
grae->SetName("pull_Hist_curvetot");
grae->SetTitle("Pull of Histogram of data_plot__R_M and Projection of totalPdf");
grae->SetFillColor(1);
grae->SetLineWidth(2);
grae->SetMarkerStyle(8);
TH1F *Graph_pull_Hist_curvetot3001 = new TH1F("Graph_pull_Hist_curvetot3001","Pull of Histogram of data_plot__R_M and Projection of totalPdf",100,1107.72,1124.28);
Graph_pull_Hist_curvetot3001->SetMinimum(-4.890109);
Graph_pull_Hist_curvetot3001->SetMaximum(4.120863);
Graph_pull_Hist_curvetot3001->SetDirectory(0);
Graph_pull_Hist_curvetot3001->SetStats(0);
Graph_pull_Hist_curvetot3001->SetLineWidth(2);
Graph_pull_Hist_curvetot3001->SetMarkerStyle(20);
Graph_pull_Hist_curvetot3001->GetXaxis()->SetNdivisions(505);
Graph_pull_Hist_curvetot3001->GetXaxis()->SetLabelFont(132);
Graph_pull_Hist_curvetot3001->GetXaxis()->SetLabelOffset(0.01);
Graph_pull_Hist_curvetot3001->GetXaxis()->SetLabelSize(0.06);
Graph_pull_Hist_curvetot3001->GetXaxis()->SetTitleSize(0.072);
Graph_pull_Hist_curvetot3001->GetXaxis()->SetTitleOffset(0.95);
Graph_pull_Hist_curvetot3001->GetXaxis()->SetTitleFont(132);
Graph_pull_Hist_curvetot3001->GetYaxis()->SetLabelFont(132);
Graph_pull_Hist_curvetot3001->GetYaxis()->SetLabelOffset(0.01);
Graph_pull_Hist_curvetot3001->GetYaxis()->SetLabelSize(0.06);
Graph_pull_Hist_curvetot3001->GetYaxis()->SetTitleSize(0.072);
Graph_pull_Hist_curvetot3001->GetYaxis()->SetTitleOffset(0.95);
Graph_pull_Hist_curvetot3001->GetYaxis()->SetTitleFont(132);
Graph_pull_Hist_curvetot3001->GetZaxis()->SetLabelFont(132);
Graph_pull_Hist_curvetot3001->GetZaxis()->SetLabelSize(0.06);
Graph_pull_Hist_curvetot3001->GetZaxis()->SetTitleSize(0.072);
Graph_pull_Hist_curvetot3001->GetZaxis()->SetTitleOffset(1.2);
Graph_pull_Hist_curvetot3001->GetZaxis()->SetTitleFont(132);
grae->SetHistogram(Graph_pull_Hist_curvetot3001);
示例2: blueBand
//____________________________________________________________________________________
// Plot blue band (SM Higgs curve)
void blueBand( )
{
double zerror = 4;
double xmin = 76;
int npoints = 31;
double x[] = { 10.000000, 11.392849, 12.979700, 14.787576, 16.847262, 19.193831, 21.867241,
24.913018, 28.383024, 32.336350, 36.840315, 41.971614, 47.817625, 54.477897,
62.065844, 70.710678, 76, 80.559606, 91.780341, 104.563955, 119.128133, 135.720881,
154.624747, 176.161637, 200.698289, 228.652526, 260.500365, 296.784127,
338.121669, 385.216905, 438.871795, 500.000000 };
double y[] = { 20.929260, 18.757168, 16.647426, 14.611732, 12.661571, 10.808107, 9.062193,
7.434501, 5.935701, 4.576664, 3.368675, 2.323612, 1.454084, 0.776111,
0.300018, 0.042673, 0.0001, 0.020469, 0.251087, 0.750519, 1.538231, 2.633789,
4.056692, 5.826546, 7.962673, 10.483595, 13.406320, 16.745357, 20.511276,
24.717583, 29.345917, 34.380810 };
TGraph* smGraph = new TGraph( npoints, x, y );
if ( npoints > MAXPOINTS ) {
std::cerr << "FATAL: npoints = " << npoints << " is greater than MAXPOINTS" << std::endl;
exit(-1);
}
double x1[2*MAXPOINTS], y1[2*MAXPOINTS];
double x2[MAXPOINTS], y2[MAXPOINTS];
// Find mH at minimum
int i1=0; // iterator for upper curve
int i2=0; // iterator for lower curve
double x0,y0;
double step = 5;
smGraph->GetPoint( 0, x0, y0 );
for ( int i=0; i<100; ++i )
{
double ix = x0+i*step;
double iy = smGraph->Eval( ix, 0, "S" );
double error = TMath::Log( ix/12. )*3.;
if ( ix<=xmin-error ) {
x1[i1] = ix+error; y1[i1]=iy; ++i1;
x2[i2] = ix-error; y2[i2]=iy; ++i2;
}
else if ( ix>=xmin+error) {
x1[i1] = ix-error; y1[i1]=iy; ++i1;
x2[i2] = ix+error; y2[i2]=iy; ++i2;
} else {//if ( iy>0. ) {
x2[i2] = (ix<=xmin)?ix-error:ix+error;
y2[i2]=iy;
++i2;
}
}
// Merge arrays
for ( int i=0; i<i2; ++i ) {
x1[i+i1] = x2[i2-i-1];
y1[i+i1] = y2[i2-i-1];
}
if ( doBands ) {
TGraph* blueBand = new TGraph( i1+i2, x1, y1 );
blueBand->SetFillColor(7);
blueBand->SetLineColor(7);
blueBand->Draw("LF");
blueBand->Draw("C");
} else {
smGraph->SetLineWidth(5);
}
smGraph->SetLineColor(4);
smGraph->Draw("C");
double chi2limit = smGraph->Eval( LEPLIMIT, 0, "S" );
std::cout << "Value at limit (" << LEPLIMIT << "): " << chi2limit << std::endl;
TGraph* lowband = new TGraph( i2, x2, y2 );
std::cout << "Value of (low) blueband at limit: " << lowband->Eval( LEPLIMIT, 0, "S" )
<< std::endl;
}
示例3: time
TCanvas *timeonaxis()
{
//Author:
time_t script_time;
script_time = time(0);
script_time = 3600*(int)(script_time/3600);
// The time offset is the one that will be used by all graphs.
// If one changes it, it will be changed even on the graphs already defined
gStyle->SetTimeOffset(script_time);
TCanvas *ct = new TCanvas("ct","Time on axis",10,10,700,900);
ct->Divide(1,3);
ct->SetFillColor(28);
int i;
//======= Build a signal : noisy damped sine ======
// Time interval : 30 minutes
gStyle->SetTitleH(0.08);
float noise;
TH1F *ht = new TH1F("ht","Love at first sight",3000,0.,2000.);
for (i=1;i<3000;i++) {
noise = gRandom->Gaus(0,120);
if (i>700) {
noise += 1000*sin((i-700)*6.28/30)*exp((double)(700-i)/300);
}
ht->SetBinContent(i,noise);
}
ct->cd(1);
gPad->SetFillColor(41);
gPad->SetFrameFillColor(33);
ht->SetLineColor(2);
ht->GetXaxis()->SetLabelSize(0.05);
ht->Draw();
// Sets time on the X axis
// The time used is the one set as time offset added to the value
// of the axis. This is converted into day/month/year hour:min:sec and
// a reasonable tick interval value is chosen.
ht->GetXaxis()->SetTimeDisplay(1);
//======= Build a simple graph beginning at a different time ======
// Time interval : 5 seconds
float x[100], t[100];
for (i=0;i<100;i++) {
x[i] = sin(i*4*3.1415926/50)*exp(-(double)i/20);
t[i] = 6000+(double)i/20;
}
TGraph *gt = new TGraph(100,t,x);
gt->SetTitle("Politics");
ct->cd(2);
gPad->SetFillColor(41);
gPad->SetFrameFillColor(33);
gt->SetFillColor(19);
gt->SetLineColor(5);
gt->SetLineWidth(2);
gt->Draw("AL");
gt->GetXaxis()->SetLabelSize(0.05);
// Sets time on the X axis
gt->GetXaxis()->SetTimeDisplay(1);
gPad->Modified();
//======= Build a second simple graph for a very long time interval ======
// Time interval : a few years
float x2[10], t2[10];
for (i=0;i<10;i++) {
x2[i] = gRandom->Gaus(500,100)*i;
t2[i] = i*365*86400;
}
TGraph *gt2 = new TGraph(10,t2,x2);
gt2->SetTitle("Number of monkeys on the moon");
ct->cd(3);
gPad->SetFillColor(41);
gPad->SetFrameFillColor(33);
gt2->SetFillColor(19);
gt2->SetMarkerColor(4);
gt2->SetMarkerStyle(29);
gt2->SetMarkerSize(1.3);
gt2->Draw("AP");
gt2->GetXaxis()->SetLabelSize(0.05);
// Sets time on the X axis
gt2->GetXaxis()->SetTimeDisplay(1);
//
// One can choose a different time format than the one chosen by default
// The time format is the same as the one of the C strftime() function
// It's a string containing the following formats :
// for date :
// %a abbreviated weekday name
// %b abbreviated month name
// %d day of the month (01-31)
// %m month (01-12)
// %y year without century
// %Y year with century
//
// for time :
//.........这里部分代码省略.........
示例4: plotMSSM
//.........这里部分代码省略.........
hggA->GetZaxis()->SetTitleOffset(100);
//hggA->Smooth();
gPad->SetLogy(kFALSE);
hggA->DrawCopy("zcont1");
tl.DrawLatex(0.15,0.97,goodName);
tl.SetTextAlign(11);
tl.DrawLatex(0.2,0.9,goodType);
TCanvas* ctmp=new TCanvas(cname,goodName,600,600);
hggA->GetYaxis()->SetRangeUser(0.1,10.);
hggA->DrawCopy("zcont1");
tl.DrawLatex(0.83,0.97,goodName);
tl.SetTextAlign(11);
tl.DrawLatex(0.2,0.9,goodType);
pCan(ctmp,cname+"_Lin");
// TH1F* test=new TH1F("test","ggA cross section vs tan#beta; tan#beta",27,bin_tb);
// ch->Project("test","tb",what);
// test->Draw();
TCanvas* c2=new TCanvas(cname+"Obs",goodName,800,800);
gPad->UseCurrentStyle();
gPad->Update();
hggA->GetXaxis()->SetTitleOffset(1.1);
hggA->GetYaxis()->SetTitleOffset(1.1);
hggA->DrawCopy("cont list");
gPad->Update();
//return;
// Get Contours
TObjArray *conts = (TObjArray*)gROOT->GetListOfSpecials()->FindObject("contours");
TList* contLevel = NULL;
TGraph* curv = NULL;
TGraph* gc = NULL;
Int_t nGraphs = 0;
Int_t TotalConts = 0;
if (conts == NULL){
printf("*** No Contours Were Extracted!\n");
TotalConts = 0;
return;
} else {
TotalConts = conts->GetSize();
}
printf("TotalConts = %d\n", TotalConts);
for(i = 0; i < TotalConts; i++){
contLevel = (TList*)conts->At(i);
printf("Contour %d has %d Graphs\n", i, contLevel->GetSize());
nGraphs += contLevel->GetSize();
}
nGraphs = 0;
TH2F *hr = new TH2F("hr", ";m_{A};tan#beta", 2, 225, 600, 2, 0.1, 100);
hr->GetXaxis()->SetTitleOffset(1.1);
hr->GetXaxis()->SetRangeUser(200,650);
hr->GetYaxis()->SetTitleOffset(1.2);
hr->GetYaxis()->SetNdivisions(110,kFALSE);
hr->GetXaxis()->SetNdivisions(20205,kFALSE);
hr->Draw();
Double_t x0, y0, z0;
示例5: main
int main (int argc, char* argv[] )
{
cout << endl << "Really, REALLY stupid plotter for producing comparative plots between Edinburgh fit outputs." << endl;
cout << endl << "USAGE: merge_plot Output_1.root Output_2.root \"Title 1\" \"Title 2\" " << endl;
gStyle->SetCanvasColor(0);
gStyle->SetFillColor(0);
gROOT->SetStyle("Plain");
if( argc != 5) exit(-1);
TCanvas* c3 = new TCanvas("throw2","throw");
TFile* input_1 = new TFile( argv[1], "READ" );
gDirectory->ls();
TH2D* hist_1 = (TH2D*)gDirectory->Get("pllhist");//"Graph2D");//pllhist");//Graph2D_from_nllhist");
TGraph2D* graph_1 = (TGraph2D*)gDirectory->Get("pllhist");//"Graph2D");//pllhist");//Graph2D_from_nllhist");
graph_1->Draw();
c3->Update();
TFile* input_2 = new TFile( argv[2], "READ" );
gDirectory->ls();
TH2D* hist_2 = (TH2D*)gDirectory->Get("pllhist");//"fcnew");//pllhist");//lr_data");
TGraph2D* graph_2 = (TGraph2D*)gDirectory->Get("pllhist");//"fcnew");//pllhist");//lr_data");
graph_2->Draw();
hist_2->Draw();
c3->Update();
TString Plot_Title_1( argv[3] );
TString Plot_Title_2( argv[4] );
TCanvas* c1 = new TCanvas("Output_Plot","Output_Plot",1680,1050);
double pllconts[3] = {1.15,2.305,3.0};//,4.61};
//double pll2[3] = {2.3,4.61,6};//,9.62};
//double pll2[3] = {0.68,0.9,0.95};
double confs[3] = {68.0,90.0,95.0};//,99.0};
TList* contLevel = NULL;
TGraph* curv = NULL;
TGraph* gc = NULL;
//gStyle->SetCanvasColor(0);
//gStyle->SetPalette(1);
//gROOT->SetStyle("Plain");
//gROOT->ForceStyle();
// gStyle->SetFrameBorderMode(0);
// gStyle->SetCanvasBorderMode(0);
// gStyle->SetPadBorderMode(0);
// gStyle->SetPadColor(0);
// gStyle->SetCanvasColor(0);
// gStyle->SetStatColor(0);
// gStyle->SetTitleFillColor(0);
// gStyle->SetFillColor(0);
// gStyle->SetFrameFillColor(0);
//gStyle->SetFillStyle(0);
//gROOT->ForceStyle();
hist_1->SetContour(3,pllconts);
hist_1->SetLineWidth(1);
c1->cd();
hist_1->Draw("cont2");
// hist_1->GetXaxis()->SetRangeUser(-3.1,2);
hist_1->SetContour(3,pllconts);
// c1->cd();
hist_1->Draw("cont2");
// StyleTH2D(hist_2);
// c3->cd();
hist_2->Draw();
// hist_2->GetXaxis()->SetRangeUser(-3.1,2);
// hist_2->Draw();
hist_1->Draw("cont2");
// hist_2->Draw("SAME");//cont2");
hist_2->SetContour(3,pllconts);//pll2);//pllconts);//pll2);
hist_2->SetLineColor(2);
hist_2->SetLineWidth(1);
// c3->cd();
c1->Update();
// hist_2->Draw("SAMEcont2");
// hist_2->GetXaxis()->SetRangeUser(-3.1,1);
// hist_2->SetContour(3,pll2);//pllconts);//pll2);
// c1->cd();
// hist_2->Draw("SAMEcont2");
// c1->Update();
TCanvas* c2 = new TCanvas( "Throw","Throw" );
hist_1->Draw("CONT LIST");
c2->Update();
//addLHCbLabel("NLL Scan")->Draw();
TObjArray *contObjArr = (TObjArray*)gROOT->GetListOfSpecials()->FindObject("contours");
int TotalConts = contObjArr->GetSize();
c1->cd();
TLegend *leg = new TLegend(0.65,0.7,1.1,0.9);
leg->SetHeader( Plot_Title_1 );
leg->SetBorderSize(0);
leg->SetFillStyle(0);
for(int i = 0; i < TotalConts; i++){
TString confname = "";
double cl = confs[i];
confname +=cl;
confname += "% C.L.";
contLevel = (TList*)contObjArr->At(i);
for(int j =0; j<contLevel->GetSize(); j++){
curv = (TGraph*)contLevel->At(j);
gc = (TGraph*)curv->Clone();
if( i!=3 ) gc->SetLineColor(Color_t(i+2));
else gc->SetLineColor(Color_t(i+3));
//.........这里部分代码省略.........
示例6: monplots
//.........这里部分代码省略.........
hped[j]=new TH1F(nped, tped, 100, 0, 100);
}
Double_t sumene[48]={0}, sqsumene[48]={0}, sumped[48]={0}, sqsumped[48]={0};
Double_t chan[48]={0}, meanene[48]={0}, rmsene[48]={0}, meanped[48]={0}, rmsped[48]={0};
vector<Int_t> bad;
for(Int_t i=0;i<nevt;i++){
t->GetEntry(i);
for(j=0;j<48;j++){
sumene[j] += efit[j];
sqsumene[j] += efit[j]**2;
sumped[j] += pedfit[j];
sqsumped[j] += pedfit[j]**2;
}
}
cout<<minmean<<"\t\t"<<maxenerms<<"\t\t"<<maxpedrms<<endl;
for(j=0;j<48;j++){
chan[j]=j;
if(j !=31 && j!=32 && j!=43){
meanene[j]=(Double_t) sumene[j]/nevt;
rmsene[j]= sqrt((Double_t) sqsumene[j]/nevt-meanene[j]**2);
meanped[j]=(Double_t) sumped[j]/nevt;
rmsped[j]= sqrt((Double_t) sqsumped[j]/nevt-meanped[j]**2);
cout<<j<<"\t\t"<<meanene[j]<<"\t\t"<<rmsene[j]<<"\t\t"<<rmsped[j]<<"\t\t"<<meanped[j]<<" "<<endl;
///Please, do not modify the next 2 lines you ll get crazy plots!!!
////////////////////////////////////////////////////////////////
if ((minmean > meanene[j]) || ( rmsene[j] > maxenerms) || ( rmsped[j] > maxpedrms))
bad.push_back(j);
/////////Lines below must change in order this code to work in the WIS interface
////////Refer to monocis.cpp for more info/////////////
/////// End of modifications///////////////////////////
TLine *lmean = new TLine(0, minmean, 50, minmean);
lmean->SetLineColor(2);
TLine *lenerms = new TLine(0, maxenerms, 50, maxenerms);
lenerms->SetLineColor(2);
TLine *lpedrms = new TLine(0, maxpedrms, 50, maxpedrms);
lpedrms->SetLineColor(2);
TGraph *genemean = new TGraph(48, chan, meanene);
genemean->SetMarkerStyle(21);
genemean->SetTitle("Mean Energy");
genemean->GetXaxis()->SetTitle("Channel");
TGraph *generms = new TGraph(48, chan, rmsene);
generms->SetMarkerStyle(21);
generms->SetTitle("RMS Energy");
generms->GetXaxis()->SetTitle("Channel");
TGraph *gpedmean = new TGraph(48, chan, meanped);
gpedmean->SetMarkerStyle(21);
gpedmean->SetTitle("Mean Pedestal");
gpedmean->GetXaxis()->SetTitle("Channel");
TGraph *gpedrms = new TGraph(48, chan, rmsped);
gpedrms->SetMarkerStyle(21);
gpedrms->SetTitle("RMS Pedestal");
gpedrms->GetXaxis()->SetTitle("Channel");
}
}
TCanvas *c1 = new TCanvas("c1", "MonoCis", 700, 500);
c1->Divide(2,2);
c1->cd(1);
genemean->Draw("AP");
lmean->Draw();
c1->cd(2);
generms->Draw("AP");
lenerms->Draw();
c1->cd(3);
gpedmean->Draw("AP");
c1->cd(4);
gpedrms->Draw("AP");
lpedrms->Draw();
cout.precision(3);
cout<<"Number of bad channels is "<<bad.size()<<endl;
if(bad.size() > 0)
cout<<"Channel"<<'\t'<<"Mean energy"<<'\t'<<"RMS energy"<<'\t'<<"RMS pedestal"<<'\t'<<"Mean pedestal "<<endl;
for(i=0;i<bad.size();i++){
Int_t ch = bad.at(i);
cout<<ch<<"\t"<<meanene[i]<<"\t\t"<<rmsene[i]<<"\t\t"<<rmsped[i]<<"\t\t"<<meanped[i]<<endl;
}
TString filenameps = "r"+runno+"_"+module+"_MonoCis.ps";
TString filenamepng = "r"+runno+"_"+module+"_MonoCis.png";
c1->Print(filenameps);
c1->Print(filenamepng);
}
示例7: laserCalibration
void laserCalibration(
char* filename = "frascatirun", //input file
int filenum = 1081, //file number
int channel = 3, //trace channel
int flagChannel = 5, //laser flag channel
Double_t entriesN = 10, //number of entries for prcessing
int sleep = 10, //sleep time between 2 processed entries, helpful for viewing traces
bool gui = true //enable or disable trace visualization
)
{
caen_5742 caen;
Int_t nbins = 1024;
Double_t entries = entriesN;
Int_t bin;
TCanvas *c1 = new TCanvas("c1","frascatirun",900,700);
c1->Divide(1,2);
c1->cd(1);
TGraph* g = new TGraph();
TH1F* lmPeaks = new TH1F("lm","Peaks Ratio", 1000, 0, 5000);
TH1F* d = new TH1F("d","",nbins,0,nbins);
TH1F* back = new TH1F("Back","",nbins,0,nbins);
// input file
char fname[100]=0;
sprintf(fname,"%s_0%i.root",filename,filenum);
TFile* infile = new TFile(fname);
TTree *t = (TTree*) infile->Get("t");
t->SetBranchAddress("caen_5742", &caen.system_clock);
t->Print();
if(entriesN<=0)
entries = t->GetEntries();
//out file
char foutname[100]=0;
int lm=0;
if (channel ==3)lm=1;
if (channel ==4)lm=2;
sprintf(foutname,"./calibration/LM%i_out_0%i.root",lm,filenum);
outfile = new TFile(foutname,"RECREATE");
outTree = new TTree("LM","frascatirun output");
calibTree = new TTree("LM_cal","frascatirun output");
outTree->Branch("LM_PX1",&fPositionX1,"PX1/D");
outTree->Branch("LM_PX2",&fPositionX2,"PX2/D");
outTree->Branch("LM_PY1",&fPositionY1,"PY1/D");
outTree->Branch("LM_PY2",&fPositionY2,"PY2/D");
//outTree->Branch("baseline",baseline,"baseline[1024]/F");
outTree->Branch("time",&timeline,"time/D");
outTree->Branch("LM_P2_Integral",&integralP2,"IP2/D");
calibTree->Branch("LM_P2_Integral_mean",&integralP2_mean,"IP2_mean/D");
calibTree->Branch("LM_P2_Integral_mean_error",&integralP2_mean_error,"IP2_mean_error/D");
calibTree->Branch("LM_P2_Integral_sigma",&integralP2_sigma,"IP2_sigma/D");
calibTree->Branch("LM_P2_Integral_sigma_error",&integralP2_sigma_error,"IP2_sigma_error/D");
/**************************************
* read entries
**************************************
*/
for (int j = 0; j < entries; ++j){
gSystem->Sleep (sleep);
t->GetEntry(j);
//TRIGGER SELECTION
if(caen.trace[flagChannel][400]>1000 && caen.trace[flagChannel][800]<3000){
timeline = caen.system_clock;
/**************************************
* Peaks estimation
**************************************
*/
for (int i = 0; i < nbins; ++i){
g->SetPoint(i, i, caen.trace[channel][i]);
}
Double_t y_max = TMath::MaxElement(g->GetN(),g->GetY());
Float_t * source = new Float_t[nbins];
Float_t * dest = new Float_t[nbins];
for (int i = 0; i < nbins; ++i){
source[i]=y_max-caen.trace[channel][i];
g->SetPoint(i, i, source[i]);
}
//Use TSpectrum to find the peak candidates
TSpectrum *s = new TSpectrum();
Int_t nfound = s->SearchHighRes(source, dest, nbins, 3, 2, kTRUE, 2, kFALSE, 5);
/**************************************
* Background estimation
**************************************
*/
Int_t ssize = nbins;
Int_t numberIterations = 20;
Int_t direction = s->kBackIncreasingWindow;
Int_t filterOrder = s->kBackOrder2;
bool smoothing = kFALSE;
//.........这里部分代码省略.........
示例8: fitWMLL3testbkg
//.........这里部分代码省略.........
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1};
TGraphAsymmErrors *grae = new TGraphAsymmErrors(35,pull_Hist_curvetot_fx3001,pull_Hist_curvetot_fy3001,pull_Hist_curvetot_felx3001,pull_Hist_curvetot_fehx3001,pull_Hist_curvetot_fely3001,pull_Hist_curvetot_fehy3001);
grae->SetName("pull_Hist_curvetot");
grae->SetTitle("Pull of Histogram of data_plot__R_WM and Projection of totalPdf");
grae->SetFillColor(1);
grae->SetLineWidth(2);
grae->SetMarkerStyle(8);
TH1F *Graph_pull_Hist_curvetot3001 = new TH1F("Graph_pull_Hist_curvetot3001","Pull of Histogram of data_plot__R_WM and Projection of totalPdf",100,308.4,471.6);
Graph_pull_Hist_curvetot3001->SetMinimum(-6.061422);
Graph_pull_Hist_curvetot3001->SetMaximum(4.083108);
Graph_pull_Hist_curvetot3001->SetDirectory(0);
Graph_pull_Hist_curvetot3001->SetStats(0);
Graph_pull_Hist_curvetot3001->SetLineWidth(2);
Graph_pull_Hist_curvetot3001->SetMarkerStyle(20);
Graph_pull_Hist_curvetot3001->GetXaxis()->SetNdivisions(505);
Graph_pull_Hist_curvetot3001->GetXaxis()->SetLabelFont(132);
Graph_pull_Hist_curvetot3001->GetXaxis()->SetLabelOffset(0.01);
Graph_pull_Hist_curvetot3001->GetXaxis()->SetLabelSize(0.06);
Graph_pull_Hist_curvetot3001->GetXaxis()->SetTitleSize(0.072);
Graph_pull_Hist_curvetot3001->GetXaxis()->SetTitleOffset(0.95);
Graph_pull_Hist_curvetot3001->GetXaxis()->SetTitleFont(132);
Graph_pull_Hist_curvetot3001->GetYaxis()->SetLabelFont(132);
Graph_pull_Hist_curvetot3001->GetYaxis()->SetLabelOffset(0.01);
Graph_pull_Hist_curvetot3001->GetYaxis()->SetLabelSize(0.06);
Graph_pull_Hist_curvetot3001->GetYaxis()->SetTitleSize(0.072);
Graph_pull_Hist_curvetot3001->GetYaxis()->SetTitleOffset(0.95);
Graph_pull_Hist_curvetot3001->GetYaxis()->SetTitleFont(132);
Graph_pull_Hist_curvetot3001->GetZaxis()->SetLabelFont(132);
Graph_pull_Hist_curvetot3001->GetZaxis()->SetLabelSize(0.06);
Graph_pull_Hist_curvetot3001->GetZaxis()->SetTitleSize(0.072);
Graph_pull_Hist_curvetot3001->GetZaxis()->SetTitleOffset(1.2);
Graph_pull_Hist_curvetot3001->GetZaxis()->SetTitleFont(132);
grae->SetHistogram(Graph_pull_Hist_curvetot3001);
示例9: fit1
//.........这里部分代码省略.........
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0};
TGraphAsymmErrors *grae = new TGraphAsymmErrors(83,pull_Hist_curvetot_fx3001,pull_Hist_curvetot_fy3001,pull_Hist_curvetot_felx3001,pull_Hist_curvetot_fehx3001,pull_Hist_curvetot_fely3001,pull_Hist_curvetot_fehy3001);
grae->SetName("pull_Hist_curvetot");
grae->SetTitle("Pull of Histogram of data_plot__sqrt(pow(J_psi_1S_TRUEP_E+Lambda0_TRUEP_E,2)-pow(J_psi_1S_TRUEP_X+Lambda0_TRUEP_X,2)-pow(J_psi_1S_TRUEP_Y+Lambda0_TRUEP_Y,2)-pow(J_psi_1S_TRUEP_Z+Lambda0_TRUEP_Z,2)) and Projection of totalPdf");
grae->SetFillColor(1);
grae->SetLineWidth(2);
grae->SetMarkerStyle(8);
TH1F *Graph_pull_Hist_curvetot3001 = new TH1F("Graph_pull_Hist_curvetot3001","Pull of Histogram of data_plot__sqrt(pow(J_psi_1S_TRUEP_E+Lambda0_TRUEP_E,2)-pow(J_psi_1S_TRUEP_X+Lambda0_TRUEP_X,2)-pow(J_psi_1S_TRUEP_Y+Lambda0_TRUEP_Y,2)-pow(J_psi_1S_TRUEP_Z+Lambda0_TRUEP_Z,2)) and Projection of totalPdf",100,4146,6114);
Graph_pull_Hist_curvetot3001->SetMinimum(0);
Graph_pull_Hist_curvetot3001->SetMaximum(282.8224);
Graph_pull_Hist_curvetot3001->SetDirectory(0);
Graph_pull_Hist_curvetot3001->SetStats(0);
Graph_pull_Hist_curvetot3001->SetLineWidth(2);
Graph_pull_Hist_curvetot3001->SetMarkerStyle(20);
Graph_pull_Hist_curvetot3001->GetXaxis()->SetNdivisions(505);
Graph_pull_Hist_curvetot3001->GetXaxis()->SetLabelFont(132);
Graph_pull_Hist_curvetot3001->GetXaxis()->SetLabelOffset(0.01);
Graph_pull_Hist_curvetot3001->GetXaxis()->SetLabelSize(0.06);
Graph_pull_Hist_curvetot3001->GetXaxis()->SetTitleSize(0.072);
Graph_pull_Hist_curvetot3001->GetXaxis()->SetTitleOffset(0.95);
Graph_pull_Hist_curvetot3001->GetXaxis()->SetTitleFont(132);
Graph_pull_Hist_curvetot3001->GetYaxis()->SetLabelFont(132);
Graph_pull_Hist_curvetot3001->GetYaxis()->SetLabelOffset(0.01);
Graph_pull_Hist_curvetot3001->GetYaxis()->SetLabelSize(0.06);
Graph_pull_Hist_curvetot3001->GetYaxis()->SetTitleSize(0.072);
Graph_pull_Hist_curvetot3001->GetYaxis()->SetTitleOffset(0.95);
Graph_pull_Hist_curvetot3001->GetYaxis()->SetTitleFont(132);
Graph_pull_Hist_curvetot3001->GetZaxis()->SetLabelFont(132);
Graph_pull_Hist_curvetot3001->GetZaxis()->SetLabelSize(0.06);
Graph_pull_Hist_curvetot3001->GetZaxis()->SetTitleSize(0.072);
Graph_pull_Hist_curvetot3001->GetZaxis()->SetTitleOffset(1.2);
Graph_pull_Hist_curvetot3001->GetZaxis()->SetTitleFont(132);
grae->SetHistogram(Graph_pull_Hist_curvetot3001);
示例10: fitLMC_c070116_LL1_floathypparamsfixmusigma_nobkg
//.........这里部分代码省略.........
0,
0,
0,
0,
0,
0,
0,
0,
1,
1,
1,
1,
1,
1,
1,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0};
TGraphAsymmErrors *grae = new TGraphAsymmErrors(87,pull_Hist_curvetot_fx3001,pull_Hist_curvetot_fy3001,pull_Hist_curvetot_felx3001,pull_Hist_curvetot_fehx3001,pull_Hist_curvetot_fely3001,pull_Hist_curvetot_fehy3001);
grae->SetName("pull_Hist_curvetot");
grae->SetTitle("Pull of Histogram of LMC_plot__Bs_LOKI_MASS_JpsiConstr and Projection of totalPdf");
grae->SetFillColor(1);
grae->SetLineWidth(2);
grae->SetMarkerStyle(8);
TH1F *Graph_pull_Hist_curvetot3001 = new TH1F("Graph_pull_Hist_curvetot3001","Pull of Histogram of LMC_plot__Bs_LOKI_MASS_JpsiConstr and Projection of totalPdf",100,4138,6202);
Graph_pull_Hist_curvetot3001->SetMinimum(-2.473455);
Graph_pull_Hist_curvetot3001->SetMaximum(11.86504);
Graph_pull_Hist_curvetot3001->SetDirectory(0);
Graph_pull_Hist_curvetot3001->SetStats(0);
Graph_pull_Hist_curvetot3001->SetLineWidth(2);
Graph_pull_Hist_curvetot3001->SetMarkerStyle(20);
Graph_pull_Hist_curvetot3001->GetXaxis()->SetNdivisions(505);
Graph_pull_Hist_curvetot3001->GetXaxis()->SetLabelFont(132);
Graph_pull_Hist_curvetot3001->GetXaxis()->SetLabelOffset(0.01);
Graph_pull_Hist_curvetot3001->GetXaxis()->SetLabelSize(0.06);
Graph_pull_Hist_curvetot3001->GetXaxis()->SetTitleSize(0.072);
Graph_pull_Hist_curvetot3001->GetXaxis()->SetTitleOffset(0.95);
Graph_pull_Hist_curvetot3001->GetXaxis()->SetTitleFont(132);
Graph_pull_Hist_curvetot3001->GetYaxis()->SetLabelFont(132);
Graph_pull_Hist_curvetot3001->GetYaxis()->SetLabelOffset(0.01);
Graph_pull_Hist_curvetot3001->GetYaxis()->SetLabelSize(0.06);
Graph_pull_Hist_curvetot3001->GetYaxis()->SetTitleSize(0.072);
Graph_pull_Hist_curvetot3001->GetYaxis()->SetTitleOffset(0.95);
Graph_pull_Hist_curvetot3001->GetYaxis()->SetTitleFont(132);
Graph_pull_Hist_curvetot3001->GetZaxis()->SetLabelFont(132);
Graph_pull_Hist_curvetot3001->GetZaxis()->SetLabelSize(0.06);
Graph_pull_Hist_curvetot3001->GetZaxis()->SetTitleSize(0.072);
Graph_pull_Hist_curvetot3001->GetZaxis()->SetTitleOffset(1.2);
Graph_pull_Hist_curvetot3001->GetZaxis()->SetTitleFont(132);
grae->SetHistogram(Graph_pull_Hist_curvetot3001);
示例11: bToDRawYield
//.........这里部分代码省略.........
cout<<"prompt fraction: "<<promptFraction[i-1]<<endl;
float promptMCScale = promptDYield[i-1]/integralRawYieldMCP;
float nonPromptMCScale = bToDYield[i-1]/integralRawYieldMCNP;
cout<<"promptMCScale: "<<promptMCScale<<endl;
cout<<"nonPromptMCScale: "<<nonPromptMCScale<<endl;
//restore original unsmeared histograms before saving plots
delete hD0DcaMCPSignal;
delete hD0DcaMCNPSignal;
hD0DcaMCPSignal = hD0DcaMCPSignal0;
hD0DcaMCNPSignal = hD0DcaMCNPSignal0;
hD0DcaData->Fit("fMix","E QN0");
c4->SaveAs(Form("plots/PbPb_%.0f_%.0f_fit.pdf",ptLow,ptHigh));
c1->cd();
TH1D* hD0DcaDataOverFit = (TH1D*)hD0DcaData->Clone("hD0DcaDataOverFit");
hD0DcaDataOverFit->Divide(fMix);
hD0DcaDataOverFit->GetYaxis()->SetTitle("data / fit");
hD0DcaDataOverFit->GetYaxis()->SetRangeUser(0,5);
hD0DcaDataOverFit->GetXaxis()->SetRangeUser(0,0.07);
setColorTitleLabel(hD0DcaDataOverFit, 1);
hD0DcaDataOverFit->Draw("e");
TF1* fLine1 = new TF1("fLine1", "1", 0,1);
fLine1->Draw("same");
hD0DcaDataOverFit->Draw("esame");
c1->SaveAs(Form("plots/dataOverFit_%.0f_%.0f_fit.pdf",ptLow,ptHigh));
delete hD0DcaMCPSignal;
delete hD0DcaMCNPSignal;
} // end for i ptbins
c1->cd();
TH1D* hStupidJie = new TH1D("hStupidJie", "", 100, 0, 100);
hStupidJie->GetYaxis()->SetRangeUser(0,1);
hStupidJie->GetXaxis()->SetTitle("p_{T} (GeV/c)");
hStupidJie->GetYaxis()->SetTitle("prompt fraction");
hStupidJie->SetStats(0);
hStupidJie->Draw();
TGraph* grFraction = new TGraph(nPtBins, pts, promptFraction);
grFraction->SetName("grPromptFraction");
grFraction->SetMarkerStyle(20);
grFraction->Draw("psame");
c1->SaveAs("promptFraction.pdf");
c1->SetLogy();
TH1D* hBtoDRawYield = new TH1D("hBtoDRawYield", ";p_{T} (GeV/c);dN/dp_{T} ((GeV/c)^{-1})", nPtBins, ptBins);
for(int i=1; i<=nPtBins; i++)
{
if(bToDYield[i-1] <= 0) continue;
hBtoDRawYield->SetBinContent(i, bToDYield[i-1]);
hBtoDRawYield->SetBinError(i, bToDYieldError[i-1]);
}
divideBinWidth(hBtoDRawYield);
setColorTitleLabel(hBtoDRawYield, 1);
c1->SetBottomMargin(0.14);
hBtoDRawYield->Draw("p");
c1->SaveAs("BtoD.pdf");
TH1D* hPromptDRawYield = new TH1D("hPromptDRawYield", ";p_{T} (GeV/c);dN/dp_{T} ((GeV/c)^{-1})", nPtBins, ptBins);
for(int i=1; i<=nPtBins; i++)
{
if(promptDYield[i-1] <= 0) continue;
hPromptDRawYield->SetBinContent(i, promptDYield[i-1]);
hPromptDRawYield->SetBinError(i, promptDYieldError[i-1]);
}
divideBinWidth(hPromptDRawYield);
setColorTitleLabel(hPromptDRawYield, 1);
c1->SetBottomMargin(0.14);
hPromptDRawYield->Draw("p");
c1->SaveAs("promptD.pdf");
TH1D* hTotalDYieldInvMassFit = new TH1D("hTotalDYieldInvMassFit", ";p_{T} (GeV/c);dN/dp_{T} ((GeV/c)^{-1})", nPtBins, ptBins);
for(int i=1; i<=nPtBins; i++)
{
if(totalYieldInvMassFit[i-1] <= 0) continue;
hTotalDYieldInvMassFit->SetBinContent(i, totalYieldInvMassFit[i-1]);
hTotalDYieldInvMassFit->SetBinError(i, totalYieldInvMassFitError[i-1]);
}
divideBinWidth(hTotalDYieldInvMassFit);
setColorTitleLabel(hTotalDYieldInvMassFit, 1);
hTotalDYieldInvMassFit->Draw("p");
c1->SaveAs("totalDInvMassFit.pdf");
TFile* fOut = new TFile("bFeedDownResult.root", "recreate");
fOut->WriteTObject(grFraction);
fOut->WriteTObject(hBtoDRawYield);
fOut->WriteTObject(hPromptDRawYield);
fOut->WriteTObject(hTotalDYieldInvMassFit);
fOut->Write();
fOut->Close();
}
示例12: CheckPulsers
//______________________________________________________________________________
void CheckPulsers(const Char_t* loc)
{
// Some old pedestal checking method.
Char_t t[256];
// number of runs
Int_t nRuns = gFiles->GetSize();
// number of channels
Int_t nCh = gReadAR->GetNelements();
// create arrays
Double_t** pedPos = new Double_t*[nCh];
Double_t* runNumbersD = new Double_t[nRuns];
for (Int_t i = 0; i < nCh; i++) pedPos[i] = new Double_t[nRuns];
// open the output files
TFile* fROOTout = new TFile("/tmp/pulser.root", "RECREATE");
// create directories
for (Int_t i = 0; i < nCh; i++)
{
sprintf(t, "%03d_%s", i, gReadAR->GetElement(i)->GetTDC());
fROOTout->mkdir(t);
}
TF1* func = new TF1("gausfunc", "gaus", 0 , 200);
// loop over runs
for (Int_t i = 0; i < nRuns; i++)
{
// get the file
TFile* f = (TFile*) gFiles->At(i);
// extract run number
Int_t runNumber;
sprintf(t, "%s/ARHistograms_CB_%%d.root", loc);
sscanf(f->GetName(), t, &runNumber);
runNumbersD[i] = (Double_t)runNumber;
printf("Processing run %d (%d/%d)\n", runNumber, i+1, nRuns);
fROOTout->cd();
// loop over TDCs
for (Int_t j = 0; j < nCh; j++)
{
// load histogram
sprintf(t, "%03d_%s", j, gReadAR->GetElement(j)->GetTDC());
fROOTout->cd(t);
sprintf(t, "ADC%s", gReadAR->GetElement(j)->GetTDC());
TH1D* h = (TH1D*) f->Get(t);
// fit gaussian to pulser
Double_t maxPos = h->GetXaxis()->GetBinCenter(h->GetMaximumBin());
func->SetParameters(1, maxPos, 0.1);
func->SetRange(maxPos - 2, maxPos + 2);
h->Fit(func, "RBQ");
maxPos = func->GetParameter(1);
// save position in file and memory
pedPos[j][i] = maxPos;
sprintf(t, "Run_%d", runNumber);
TCanvas* c = new TCanvas(t, t);
h->Draw();
TLine* tline = new TLine(maxPos, 0, maxPos, 10000);
tline->SetLineColor(kRed);
tline->SetLineWidth(2);
tline->Draw();
c->Write(c->GetName(), TObject::kOverwrite);
delete h;
delete c;
delete tline;
}
}
// create pedestal evolution graphs
fROOTout->cd();
// loop over channels
for (Int_t j = 0; j < nCh; j++)
{
printf("Creating pedestal graph for channel %d\n", j);
TGraph* g = new TGraph(nRuns, runNumbersD, pedPos[j]);
sprintf(t, "Overview_%03d_%s", j, gReadAR->GetElement(j)->GetTDC());
g->SetName(t);
g->SetTitle(t);
//g->GetYaxis()->SetRangeUser(1200, 1300);
g->Write(g->GetName(), TObject::kOverwrite);
delete g;
}
//.........这里部分代码省略.........
示例13: fitLMC_c070116_LL1_floatsigmalfixmu_nobkg
//.........这里部分代码省略.........
0,
0,
0,
0,
0,
0,
0,
0,
1,
1,
1,
1,
1,
1,
1,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0};
TGraphAsymmErrors *grae = new TGraphAsymmErrors(87,pull_Hist_curvetot_fx3001,pull_Hist_curvetot_fy3001,pull_Hist_curvetot_felx3001,pull_Hist_curvetot_fehx3001,pull_Hist_curvetot_fely3001,pull_Hist_curvetot_fehy3001);
grae->SetName("pull_Hist_curvetot");
grae->SetTitle("Pull of Histogram of LMC_plot__Bs_LOKI_MASS_JpsiConstr and Projection of totalPdf");
grae->SetFillColor(1);
grae->SetLineWidth(2);
grae->SetMarkerStyle(8);
TH1F *Graph_pull_Hist_curvetot3001 = new TH1F("Graph_pull_Hist_curvetot3001","Pull of Histogram of LMC_plot__Bs_LOKI_MASS_JpsiConstr and Projection of totalPdf",100,4138,6202);
Graph_pull_Hist_curvetot3001->SetMinimum(-2.092917);
Graph_pull_Hist_curvetot3001->SetMaximum(11.80274);
Graph_pull_Hist_curvetot3001->SetDirectory(0);
Graph_pull_Hist_curvetot3001->SetStats(0);
Graph_pull_Hist_curvetot3001->SetLineWidth(2);
Graph_pull_Hist_curvetot3001->SetMarkerStyle(20);
Graph_pull_Hist_curvetot3001->GetXaxis()->SetNdivisions(505);
Graph_pull_Hist_curvetot3001->GetXaxis()->SetLabelFont(132);
Graph_pull_Hist_curvetot3001->GetXaxis()->SetLabelOffset(0.01);
Graph_pull_Hist_curvetot3001->GetXaxis()->SetLabelSize(0.06);
Graph_pull_Hist_curvetot3001->GetXaxis()->SetTitleSize(0.072);
Graph_pull_Hist_curvetot3001->GetXaxis()->SetTitleOffset(0.95);
Graph_pull_Hist_curvetot3001->GetXaxis()->SetTitleFont(132);
Graph_pull_Hist_curvetot3001->GetYaxis()->SetLabelFont(132);
Graph_pull_Hist_curvetot3001->GetYaxis()->SetLabelOffset(0.01);
Graph_pull_Hist_curvetot3001->GetYaxis()->SetLabelSize(0.06);
Graph_pull_Hist_curvetot3001->GetYaxis()->SetTitleSize(0.072);
Graph_pull_Hist_curvetot3001->GetYaxis()->SetTitleOffset(0.95);
Graph_pull_Hist_curvetot3001->GetYaxis()->SetTitleFont(132);
Graph_pull_Hist_curvetot3001->GetZaxis()->SetLabelFont(132);
Graph_pull_Hist_curvetot3001->GetZaxis()->SetLabelSize(0.06);
Graph_pull_Hist_curvetot3001->GetZaxis()->SetTitleSize(0.072);
Graph_pull_Hist_curvetot3001->GetZaxis()->SetTitleOffset(1.2);
Graph_pull_Hist_curvetot3001->GetZaxis()->SetTitleFont(132);
grae->SetHistogram(Graph_pull_Hist_curvetot3001);
示例14: get_results
void get_results(){
gROOT->SetStyle("Plain");
printf("\n");
printf(" ---------------------------------------------------------------------------\n");
printf(" Sensitivity vs. nSig and Sigma in Fit\n");
printf(" ---------------------------------------------------------------------------\n");
printf(" nSig / SigFit--> | 0.1 | 0.2 | 0.3 | 0.4 | W. Avg (val) \n");
printf(" ---------------------------------------------------------------------------\n");
Double_t p1x, p1y;
Double_t p2x, p2y;
Double_t ix, iy;
TObjArray *a1 = new TObjArray(0);
TGraph *graph0130 = new TGraph(5);
graph0130->SetTitle("Sensitivity vs. Sig-fit");
graph0130->SetName("graph0130");
TGraph *graph1 = new TGraph(5);
graph1->SetTitle("Sensitivity vs. Sig-fit");
graph1->SetName("graph1");
TGraph *graph0196 = new TGraph(5);
graph0196->SetTitle("Sensitivity vs. Sig-fit");
graph0196->SetName("graph0196");
TCanvas *can1 = new TCanvas("can1", "varfits1", 1500, 900);
can1->Divide(5,3);
/***************************************************************************
nSig = 0.130
****************************************************************************/
// =================== nsig=0.130, tSig=0.1 Sig-fit=0.1 ==================
can1->cd(1);
gPad->SetGrid();
TFile lhns("varsig0130_1.root");
TGraph *gs130_1 = (TGraph*)lhns.Get("DilErrvsdm");
gs130_1->SetTitle("nSig=0.130, tSig=0.1, Sig-fit=0.1");
gs130_1->SetName("gs130_1");
gs130_1->GetXaxis()->SetTitle("dm");
gs130_1->GetYaxis()->SetTitle("95% CL");
lhns.Close();
gs130_1->Draw("AP*");
gs130_1->GetPoint(16, p1x, p1y);
gs130_1->GetPoint(17, p2x, p2y);
Double_t vs130_1 = (((1-p1y)/(1-p2y))*p2x - p1x)/(((1-p1y)/(1-p2y))-1);
graph0130->SetPoint(0,0.1,vs130_1);
a1.Add(gs130_1);
// =================== nsig=0.130, tSig=0.1 Sig-fit=0.2 ==================
can1->cd(2);
gPad->SetGrid();
TFile lhns("varsig0130_2.root");
TGraph *gs130_2 = (TGraph*)lhns.Get("DilErrvsdm");
gs130_2->SetTitle("nSig=0.130, tSig=0.1, Sig-fit=0.2");
gs130_2->SetName("gs130_2");
gs130_2->GetXaxis()->SetTitle("dm");
gs130_2->GetYaxis()->SetTitle("95% CL");
lhns.Close();
gs130_2->Draw("AP*");
gs130_2->GetPoint(14, p1x, p1y);
gs130_2->GetPoint(15, p2x, p2y);
Double_t vs130_2 = (((1-p1y)/(1-p2y))*p2x - p1x)/(((1-p1y)/(1-p2y))-1);
graph0130->SetPoint(1,0.2,vs130_2);
a1.Add(gs130_2);
// =================== nsig=0.130, tSig=0.1 Sig-fit=0.3 ====================
can1->cd(3);
gPad->SetGrid();
TFile lhns("varsig0130_3.root");
TGraph *gs130_3 = (TGraph*)lhns.Get("DilErrvsdm");
gs130_3->SetTitle("nSig=0.130, tSig=0.1, Sig-fit=0.3");
gs130_3->SetName("gs130_3");
gs130_3->GetXaxis()->SetTitle("dm");
gs130_3->GetYaxis()->SetTitle("95% CL");
lhns.Close();
gs130_3->Draw("AP*");
gs130_3->GetPoint(10, p1x, p1y);
gs130_3->GetPoint(11, p2x, p2y);
//.........这里部分代码省略.........
示例15: Final_av_Lambda_VarCoupling_40Percent
void Final_av_Lambda_VarCoupling_40Percent()
{
//=========Macro generated from canvas: c/c
//========= (Sat Feb 27 17:06:04 2016) by ROOT version6.04/06
TCanvas *c = new TCanvas("c", "c",0,0,800,700);
c->SetHighLightColor(2);
c->Range(-0.4813593,1.36281,3.148656,6.672724);
c->SetFillColor(0);
c->SetBorderMode(0);
c->SetBorderSize(2);
c->SetLogx();
c->SetLogy();
c->SetTickx(1);
c->SetTicky(1);
c->SetLeftMargin(0.12);
c->SetRightMargin(0.04);
c->SetTopMargin(0.07);
c->SetBottomMargin(0.12);
c->SetFrameBorderMode(0);
c->SetFrameBorderMode(0);
TMultiGraph *multigraph = new TMultiGraph();
multigraph->SetName("");
multigraph->SetTitle("");
Double_t Graph_fx1[12] = {
1,
10,
100,
400,
700,
1000,
1000,
700,
400,
100,
10,
1};
Double_t Graph_fy1[12] = {
881.525,
896.549,
871.907,
667.806,
471.744,
308.777,
382.832,
584.437,
826.374,
1079.16,
1110.85,
1092.23};
TGraph *graph = new TGraph(12,Graph_fx1,Graph_fy1);
graph->SetName("Graph");
graph->SetTitle("");
Int_t ci; // for color index setting
TColor *color; // for color definition with alpha
ci = TColor::GetColor("#ffcc00");
graph->SetFillColor(ci);
ci = TColor::GetColor("#ff6666");
graph->SetLineColor(ci);
graph->SetLineWidth(3);
TH1F *Graph_Graph1 = new TH1F("Graph_Graph1","",100,0.9,1099.9);
Graph_Graph1->SetMinimum(228.5697);
Graph_Graph1->SetMaximum(1191.057);
Graph_Graph1->SetDirectory(0);
Graph_Graph1->SetStats(0);
ci = TColor::GetColor("#000099");
Graph_Graph1->SetLineColor(ci);
Graph_Graph1->GetXaxis()->SetLabelFont(42);
Graph_Graph1->GetXaxis()->SetLabelSize(0.035);
Graph_Graph1->GetXaxis()->SetTitleSize(0.035);
Graph_Graph1->GetXaxis()->SetTitleFont(42);
Graph_Graph1->GetYaxis()->SetLabelFont(42);
Graph_Graph1->GetYaxis()->SetLabelSize(0.035);
Graph_Graph1->GetYaxis()->SetTitleSize(0.035);
Graph_Graph1->GetYaxis()->SetTitleFont(42);
Graph_Graph1->GetZaxis()->SetLabelFont(42);
Graph_Graph1->GetZaxis()->SetLabelSize(0.035);
Graph_Graph1->GetZaxis()->SetTitleSize(0.035);
Graph_Graph1->GetZaxis()->SetTitleFont(42);
graph->SetHistogram(Graph_Graph1);
multigraph->Add(graph,"");
multigraph->Draw("af");
multigraph->GetXaxis()->SetTitle("M_{#chi} (GeV)");
multigraph->GetXaxis()->SetRange(0,96);
multigraph->GetXaxis()->SetLabelFont(42);
multigraph->GetXaxis()->SetTitleSize(0.05);
multigraph->GetXaxis()->SetTitleOffset(1.1);
multigraph->GetXaxis()->SetTitleFont(42);
multigraph->GetYaxis()->SetTitle("#Lambda (GeV)");
multigraph->GetYaxis()->SetLabelFont(42);
multigraph->GetYaxis()->SetTitleSize(0.05);
multigraph->GetYaxis()->SetTitleOffset(1.05);
multigraph->GetYaxis()->SetTitleFont(42);
//.........这里部分代码省略.........