本文整理汇总了C++中TProfile::SetYTitle方法的典型用法代码示例。如果您正苦于以下问题:C++ TProfile::SetYTitle方法的具体用法?C++ TProfile::SetYTitle怎么用?C++ TProfile::SetYTitle使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TProfile
的用法示例。
在下文中一共展示了TProfile::SetYTitle方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: drawPtEta
void drawPtEta(char *inf){
TFile a(inf);
a.cd("ana");
TProfile *h = new TProfile("h","",100,-3,3);
TCanvas *c = new TCanvas("c","",400,400);
hi->Draw("(pt):eta>>h","evtType!=92&&evtType!=93&&(abs(eta)<2.4&&chg!=0&&abs(pdg)!=11&&abs(pdg)!=13)","prof",10000);
double nevt = hi->GetEntries("evtType!=92&&evtType!=93");
h->Sumw2();
//h->Scale(2./nevt);
h->SetXTitle("#eta");
h->SetYTitle("Average P_{T}");
h->Draw();
c->SaveAs(Form("%s-PtEta-2.4.gif",inf));
c->SaveAs(Form("%s-PtEta-2.4.C",inf));
}
示例2: fitBjetJES
//.........这里部分代码省略.........
}
}
if(ppPbPb){
for(int i=0;i<tB->GetEntries();i++){
tB->GetEntry(i);
if(fabs(jtetaB)<2 && binB>=cbinlo && binB<cbinhi && abs(refparton_flavorForBB)==5)
hB->Fill(refptB,jtptB/refptB,weightB);
}
for(int i=0;i<tC->GetEntries();i++){
tC->GetEntry(i);
if(fabs(jtetaC)<2 && binC>=cbinlo && binC<cbinhi && abs(refparton_flavorForBC)==4)
hC->Fill(refptC,jtptC/refptC,weightC);
}
}
hL->SetMinimum(0.);
hL->SetLineColor(kBlue);
hB->SetLineColor(kRed);
hC->SetLineColor(kGreen);
hL->SetMarkerColor(kBlue);
hB->SetMarkerColor(kRed);
hC->SetMarkerColor(kGreen);
//hL->SetMarkerStyle(4);
//hB->SetMarkerStyle(4);
//hC->SetMarkerStyle(4);
hL->SetXTitle("genJet p_{T} (GeV/c)");
hL->SetYTitle("<reco p_{T} / gen p_{T} >");
hL->GetXaxis()->SetRangeUser(50.,199.999);
hL->GetYaxis()->SetRangeUser(0.5,1.05);
TCanvas *c1=new TCanvas("c1","c1",800,600);
c1->SetGridx(1);
c1->SetGridy(1);
hL->Draw("e1");
hB->Draw("e1,same");
hC->Draw("e1,same");
TLegend *leg=new TLegend(0.4,0.15,0.9,0.45);
leg->SetBorderSize(0);
leg->SetFillStyle(0);
if(ppPbPb&&cbinlo==0&&cbinhi==40)leg->SetHeader("Pythia+Hydjet, 0-100%");
leg->AddEntry(hL,"Inclusive jets","pl");
leg->AddEntry(hC,"c-jets","pl");
leg->AddEntry(hB,"b-jets","pl");
leg->Draw();
TCanvas *c2=new TCanvas("c2","c2",1);
/*
TH1F *hL2 = (TH1F*)hL->Clone("hL2");
TH1F *hB2 = (TH1F*)hB->Clone("hB2");
hL2->Add(hB2,-1);
hL2->Draw();
*/
TH1F *hcorr = new TH1F("hcorr","hcorr",250,50,300);
hcorr->Sumw2();
示例3: calibrateEM
void calibrateEM()
{
// FIXME: There are two possibilities to execute the script:
// i) root run_hadron_g4.C
// root[] .L calibrateEM.C
// root[] calibrateEM()
// or ii) Include the basics from run_hadron_g4.C here and
// execute simply:
// root calibrateEM.C
// Load basic libraries
// Load basic libraries
gROOT->LoadMacro("/opt/geant4_vmc.2.15a/examples/macro/basiclibs.C");
basiclibs();
// Load Geant4 libraries
gROOT->LoadMacro("/opt/geant4_vmc.2.15a/examples/macro/g4libs.C");
g4libs();
// Load the tutorial application library
gSystem->Load("libTutorialApplication");
// MC application
TutorialApplication* app
= new TutorialApplication("TutorialApplication",
"Tutorial Application for HEP Lecture @EKP");
// configure Geant4
gROOT->LoadMacro("g4Config.C");
Config();
// instantiate graphical user interface for tutorial application
new TutorialMainFrame(app);
//FIXME: Load "CountChargedinScint.C"
gROOT->ProcessLine(".L CountChargedinScint.C");
//FIXME: Initialize the geometry
app->InitMC("geometry/calor(1,0.2)");
//FIXME: Set the primary particle to photon
app->SetPrimaryPDG(22);
// Profile histogram - will show us the mean numbers of counts in bins of the energy.
// The given binning refers to the energy, the other binning will be inferred automatically.
TProfile* hcounts = new TProfile("hcounts","Counts per particle energy",
10,0,10);
hcounts->SetXTitle("energy [GeV]");
hcounts->SetYTitle("mean number of counts");
// FIXME loop over different particle momenta, and for each momentum simulate several events (e.g. 10)
for(Int_t i = 0 ; i < 10 ; ++i) {
for(Int_t k = 0 ; k < 10; k ++) {
//FIXME: Set the momentum of the primary particle to p
Double_t p = i;
app->SetPrimaryMomentum(p);
//FIXME: Run the simulation
app->RunMC();
//FIXME: Fill both the momentum and the output from CountChargedinScint
// into the profile histogram hcounts
Double_t x = CountChargedinScint();
hcounts->Fill(p,x);
}
}
TCanvas* c = new TCanvas();
c->cd();
hcounts->Draw();
TF1 *fitter = new TF1("fitf","[0]*x", 0,10);
fitter->SetParameter(0,1.0);
fitter->SetParNames("calibration factor");
//FIXME: Fit the histogram to get the calibration factor
hcounts->Fit("fitf");
}
示例4: balanceMetVsAj
void balanceMetVsAj(TString infname = "dj_HCPR-J50U-hiGoodMergedTracks_OfficialSelv2_Final0_120_50.root",TCut myCut = "cent<30", char *title = "",bool drawLegend = false)
{
TFile *inf = new TFile(infname);
TTree *t = (TTree*)inf->Get("ntjt");
const int nBin = 3;
double bins[nBin+1] = {0.5,4,8,1000};
double colors[nBin] = {kOrange-8,kBlue-3,kRed};
// Selection cut
TCut evtCut = "nljet>100&&abs(nljetacorr)<2&&aljet>50&&abs(aljetacorr)<2&&jdphi>2./3*TMath::Pi()&&!maskEvt";
cout << "Sel evt: " << t->GetEntries(evtCut&&myCut) << endl;
TProfile *p[nBin];
for (int i=0;i<nBin;i++)
{
p[i] = new TProfile(Form("p%d",i),"",5,0.0001,0.49999);
t->Project(Form("p%d",i),Form("-1*metxMerged%d:Aj",i), "1"*(evtCut&&myCut));
p[i]->SetLineColor(colors[i]);
p[i]->SetMarkerColor(colors[i]);
}
TProfile *pall = new TProfile("pall","",5,0.0001,0.49999);
pall->SetXTitle("A_{J}");
pall->SetYTitle("<#slash{p}_{T}^{#parallel}> (GeV/c)");
pall->GetXaxis()->CenterTitle();
pall->GetYaxis()->CenterTitle();
pall->SetNdivisions(505);
t->Project("pall","-1*metx:Aj", "1"*(evtCut&&myCut));
pall->SetAxisRange(-50,50,"Y");
pall->SetMarkerSize(1);
pall->Draw("E");
for (int i=0;i<nBin;++i) {
p[i]->SetLineWidth(3);
p[i]->Draw("e hist same");
}
pall->Draw("E same");
// Legend
TLegend *leg = new TLegend(0.10,0.68,0.70,0.96);
leg->SetFillStyle(0);
leg->SetBorderSize(0);
leg->SetTextFont(63);
leg->SetTextSize(16);
leg->AddEntry(pall,Form("> %.1f GeV/c",bins[0]),"pl");
for (int i=0;i<nBin;++i) {
if (i!=nBin-1){
leg->AddEntry(p[i],Form("%.1f - %.1f GeV/c",bins[i],bins[i+1]),"l");
} else {
leg->AddEntry(p[i],Form("> %.1f GeV/c",bins[i]),"l");
}
}
if (drawLegend) leg->Draw();
TLine * l0 = new TLine(0,0,0.5,0);
l0->SetLineStyle(2);
l0->Draw();
TText *titleText = new TText(0.3,30,title);
titleText->Draw();
}
示例5: makePlot
void makePlot(char* canv)
{
t->SetBranchAddress("LM_PX1", &intree.LM_PX1);
t->SetBranchAddress("LM_PX2", &intree.LM_PX2);
t->SetBranchAddress("LM_PY1", &intree.LM_PY1);
t->SetBranchAddress("LM_PY2", &intree.LM_PY2);
t->SetBranchAddress("LM_P2_Integral", &intree.LM_P2_Integral);
t->SetBranchAddress("time", &intree.timeline);
t->Print();
if(entries<=0)
entries = t->GetEntries();
char title[100]=0;
sprintf(title,"%s runs 1100-1107",canv);
TProfile *prof = new TProfile(title,title,24,0,entries);
TProfile *prof1 = new TProfile(title,title,24,0,entries);
TProfile *prof2 = new TProfile(title,title,24,0,entries);
/**************************************
* read entries
**************************************
*/
Double_t *ratio = new Double_t[entries];
Double_t *parmean = new Double_t[entries];
Double_t *p1 = new Double_t[entries];
Double_t *p2 = new Double_t[entries];
for (int j = 0; j < entries; ++j){
gSystem->Sleep (sleep);
t->GetEntry(j);
ratio[j] = intree.LM_PY1/intree.LM_PY2;
p1[j] = intree.LM_PY1;
p2[j] = intree.LM_PY2;
//cout<<"entry "<<j<<" peak2 "<<intree.LM_PY2<<endl;
}
Double_t mean = TMath::Mean(entries,ratio);
Double_t mean1 = TMath::Mean(entries,p1);
Double_t mean2 = TMath::Mean(entries,p2);
for (int j = 0; j < entries; ++j){
prof->Fill(j,(ratio[j]/mean-1)*100);
prof1->Fill(j,(p1[j]/mean1-1)*100);
prof2->Fill(j,(p2[j]/mean2-1)*100);
}
TCanvas *c1 = new TCanvas(canv,"frascatirun",900,700);
c1->cd();
char axisXname[100];
sprintf(axisXname,"Time (Entries) (total: %i)",entries);
prof->SetXTitle(axisXname);
prof->SetYTitle("Variation (%)");
prof->SetMaximum(1);
prof->SetMinimum(-1);
prof->SetMarkerColor(4);
prof->SetMarkerSize(1);
prof->SetMarkerStyle(8);
prof->SetStats(kFALSE);
prof->Draw();
prof1->SetMarkerColor(5);
prof1->SetMarkerSize(1);
prof1->SetMarkerStyle(6);
prof1->Draw("same");
prof2->SetMarkerColor(1);
prof2->SetMarkerSize(1);
prof2->SetMarkerStyle(7);
prof2->Draw("same");
/* TLegend leg = new TLegend(0.1,0.7,0.48,0.9);
leg->SetHeader("The Legend Title");
leg->AddEntry(h1,"Histogram filled with random numbers","f");
leg->AddEntry("f1","Function abs(#frac{sin(x)}{x})","l");
leg->AddEntry("gr","Graph with error bars","lep");
leg->Draw("same");
*/
}
示例6: plotMETVsJetPhi
void plotMETVsJetPhi(int num=-1)
{
char *title="";
if (num!=-1) {
title = Form("%d",num);
}
TFile *inf = new TFile("nt_dj_mix100_Gen.root");
TTree *tGen = (TTree*) inf->FindObjectAny("ntjt");
tGen->SetName("gen");
TFile *inf2 = new TFile("nt_dj_mix100.root");
TTree *tReco = (TTree*) inf2->FindObjectAny("ntjt");
tReco->SetName("reco");
TFile *inf3 = new TFile("nt_dj_HyUQ80v4_djcalo_genp_100_50.root");
TTree *tGen2 = (TTree*) inf3->FindObjectAny("ntjt");
tGen2->SetName("gen2");
TFile *inf4 = new TFile("dj_HyUQ80v4_djcalo_genp_100_50.root");
TTree *tDj = (TTree*) inf4->FindObjectAny("djTree");
tDj->SetName("dj");
TFile *inf5 = new TFile("nt_dj_data100_cor.root");
TTree *tRecoData = (TTree*) inf5->FindObjectAny("ntjt");
tRecoData->SetName("data");
TFile *inf6 = new TFile("dj_HCPR-J50U-hiGoodMergedTracks_OfficialSelv2_Final0_djcalo_100_50.root");
TTree *tDjData = (TTree*) inf6->FindObjectAny("djTree");
tDjData->SetName("djdata");
tGen->AddFriend(tReco);
tGen->AddFriend(tGen2);
tGen->AddFriend(tDj);
tRecoData->AddFriend(tDjData);
setupAlias(tGen);
setupAlias(tReco);
const int nBin = 10;
double delta = 0.0; //shift
// double Bins[nBin+1] = {0,1,2,2.2,2.4,2.6,2.8,3,PI};
// double BinsMC[nBin+1] = {0+delta,1+delta,2+delta,2.2+delta,2.4+delta,2.6+delta,2.8+delta,3+delta,PI+delta};
double Bins[nBin+1];
double BinsMC[nBin+1];
for (int i=0;i<nBin+1;i++)
{
Bins[i]=-PI+2*PI/(double)nBin*i;
BinsMC[i]=-PI+2*PI/(double)nBin*i+delta;
cout <<Bins[i]<<endl;
}
const int nPtBin = 6;
double ptBins[nPtBin+1] = {0.5,1.0,1.5,4,8,20,1000};
TCanvas *c = new TCanvas("c","",600,600);
TProfile *p = new TProfile("p","",nBin,BinsMC);
TProfile *p2 = new TProfile("p2","",nBin,BinsMC);
TProfile *p3 = new TProfile("p3","",nBin,BinsMC);
TProfile *p4 = new TProfile("p4","",nBin,Bins);
TCut evtCut = "nljet>120&&abs(nljetacorr)<1.6&&aljet>50&&abs(aljetacorr)<1.6&&!maskEvt&¢<30&&abs(jdphi)>2./3.*3.14159";
tGen->Draw(Form("-gen.metOutOfConex%s:nljphi+0.0>>p",title),"weight"*evtCut);
tGen->Draw(Form("-gen2.metOutOfConex%s:nljphi+0.0>>p2",title),"weight"*evtCut);
tGen->Draw(Form("-reco.metOutOfConex%s:nljphi+0.0>>p3",title),"weight"*evtCut);
tRecoData->Draw(Form("-metOutOfConex%s:nljphi>>p4",title),"1"*evtCut);
p->SetMarkerStyle(24);
p2->SetMarkerStyle(25);
p3->SetMarkerStyle(26);
p4->SetMarkerStyle(20);
p->SetAxisRange(-80,120,"Y");
p->Draw();
p2->SetMarkerColor(2);
p2->SetLineColor(2);
p3->SetMarkerColor(4);
p3->SetLineColor(4);
p2->Draw("same");
p3->Draw("same");
p4->Draw("same");
TLine *l = new TLine(Bins[0],0,PI,0);
l->Draw();
p->SetXTitle("#phi_{Leading Jet}");
p->SetYTitle("<#slash{p}_{T}^{#parallel}> (GeV/c)");
// ====================
TLegend *leg = new TLegend(0.45,0.68,0.92,0.9);
leg->SetFillStyle(0);
leg->SetBorderSize(0);
leg->SetTextFont(63);
leg->SetTextSize(16);
leg->AddEntry("p","Jets with |#eta|<1.6","");
if (num!=-1) {
leg->AddEntry("p",Form("Tracks with %.1f<p_{T}<%.1f GeV/c",ptBins[num],ptBins[num+1]),"");
} else {
leg->AddEntry("p",Form("Tracks with %.1f<p_{T}<%.1f GeV/c",ptBins[0],ptBins[nPtBin]),"");
}
leg->AddEntry("p","#slash{p}_{T}^{#parallel} PYTHIA+HYDJET GEN Signal","pl");
leg->AddEntry("p2","#slash{p}_{T}^{#parallel} PYTHIA+HYDJET GEN S+B","pl");
leg->AddEntry("p3","#slash{p}_{T}^{#parallel} PYTHIA+HYDJET RECO","pl");
leg->AddEntry("p4","#slash{p}_{T}^{#parallel} Data RECO","pl");
leg->Draw();
//.........这里部分代码省略.........
示例7: Loop
//This macro is used to study (and calibrate) the radial dependence of the light signal. Tracks that originate at the center of the TPC are brighter than those on the side and this needs to be accounted for in energy reconstruction.
void DCTPCTree::Loop()
{
TStopwatch timer;
gROOT->SetStyle("Plain");
gStyle->SetEndErrorSize(3);
gStyle->SetPalette(1,0);
gStyle->SetLineWidth(2);
gStyle->SetHistLineWidth(2);
gStyle->SetOptStat(kFALSE);
gStyle->SetOptFit(kTRUE);
TH1::AddDirectory(false);
TFile *outtree = new TFile("$BigDCTPC_calibration_input");
TTree *dctreepc = (TTree*)outtree->Get("dctpc_eventinfo");
DCTPCTree aStep(dctreepc);
TH2D *hist_radialE=new TH2D("","",30,0,600,30,0,2.);
TH2D *hist_energy=new TH2D("E", "E", 100, 0, 1000, 100, 0, 1000);
TH2D *hist_energy2=new TH2D("E", "E", 100, 0, 1000, 100, 0, 1000);
double recalibmesh = 1.;
double recalibCCD = 1.;
double recalibanode = 1.;
double rstart=0.;
double rend=0.;
Long64_t nentries = dctreepc->GetEntries();
cout << "Number of Entries: " << nentries << endl;
for (int event = 0; event<nentries; event++)
{
aStep.GetEntry(event);
if(event%10000==0)
cout<<((double)event/(double)nentries)*100.<<"%"<<endl;
double rr=(pow(aStep.Track_x_pix,2)+pow(aStep.Track_y_pix,2))*pow(MMPERPIXEL/10.,2);
//these cuts are meant to isolate short, fully contained tracks not originating from the rings. We want short tracks so that the radial position is well defined.
if (
aStep.Edge==0 &&
aStep.Ntrig <=2 &&
TMath::Abs((aStep.Etrig_kev-aStep.Etrack_kev)/(aStep.Etrig_kev+aStep.Etrack_kev))<0.4 &&
TMath::Abs((aStep.Etrig_kev-aStep.Emesh_kev)/(aStep.Etrig_kev+aStep.Emesh_kev))<0.1 &&
aStep.Track_range_pix<80.
)
{
hist_radialE->Fill(rr,(aStep.Etrack_kev)/(aStep.Etrig_kev));
hist_energy->Fill(aStep.Etrack_kev,aStep.Etrig_kev);
hist_energy2->Fill(aStep.Etrig_kev,aStep.Emesh_kev);
}
}
new TCanvas;
hist_radialE->SetXTitle("radius (pixels)");
hist_radialE->SetYTitle("E_{CCD}/E_{anode}");
hist_radialE->Draw("COLZ");
TProfile *prof = hist_radialE->ProfileX();
new TCanvas;
prof->SetYTitle("E_{CCD}/E_{anode}");
prof->Draw();
//perform a simple fit that can be used for calibrating energy as a function fo radius
TF1 *f1 = new TF1("f1","[0]/([1] +x)^[2]",0,440);
prof->Fit("f1","R");
cout<<"Param 0: "<<f1->GetParameter(0)<<endl;
cout<<"Param 1: "<<f1->GetParameter(1)<<endl;
cout<<"Param 2: "<<f1->GetParameter(2)<<endl;
//6.23665/pow(141.035+r,0.360402);
TF1 *f2 = new TF1("f2","7.56874/(146.405+x)^0.388667",0,440);
f2->Draw("SAME");
new TCanvas;
hist_energy->Draw("COLZ");
new TCanvas;
hist_energy2->Draw("COLZ");
}