本文整理汇总了C++中TH2I::SetBinContent方法的典型用法代码示例。如果您正苦于以下问题:C++ TH2I::SetBinContent方法的具体用法?C++ TH2I::SetBinContent怎么用?C++ TH2I::SetBinContent使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TH2I
的用法示例。
在下文中一共展示了TH2I::SetBinContent方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: TPTiming
void TPTiming ()
{
TAxis * ax = TPMatchEmul2D->GetZaxis() ;
ax->SetRangeUser(-1,6) ;
TCanvas* canv = new TCanvas("canv", "canv") ;
canv->SetLogz(0) ;
gStyle->SetOptStat(10) ;
int color[10]= {1,10,3,4,5,6,7,8,9,2} ;
gStyle->SetPalette(7, color) ;
TPMatchEmul2D->GetXaxis()->SetTitle("Phi index");
TPMatchEmul2D->GetYaxis()->SetTitle("Eta index");
TPMatchEmul2D->Draw("colz") ;
TH2I * label = new TH2I("label", "",72, 1, 73, 38, -19, 19) ;
label->SetMarkerSize(0.6);
label->SetBit(kCanDelete);
for (int x=3 ; x<73 ; x+=4) {
for (int y=21; y<=37; y++) {
int towernb = 4*(y-21)+1 ;
label->SetBinContent(x-1, y, towernb) ; //EB+
label->SetBinContent(x, 40-y, towernb) ; //EB-
}
}
label->Draw("same text") ;
TLatex txt;
txt.SetTextSize(0.02);
TLine line;
line.SetLineColor(1) ;
line.SetLineStyle(1) ;
line.SetLineWidth(1) ;
TAxis* xAxis = TPMatchEmul2D->GetXaxis();
TAxis* yAxis = TPMatchEmul2D->GetYaxis();
// draw SM borders and numbers
float sm ;
for (int i=0; i<36 ; i++ ) {
if (i<18) {
sm = 4*i+3 ;
line.DrawLine(sm, 1, sm, 18) ;
txt.SetTextAlign(32);
txt.DrawText(sm-1+0.3, -17.7, Form("-%d",i+1));
}
else {
sm = 4*(i-18)+3 ;
line.DrawLine(sm, 0, sm, -17) ;
txt.SetTextAlign(12);
txt.DrawText(sm-2+0.3, 18.5, Form("+%d",i-17));
}
}
line.DrawLine(1, 0, 73, 0) ;
line.DrawLine(1, -17, 73, -17) ;
line.DrawLine(1, 1, 73, 1) ;
line.DrawLine(1, 18, 73, 18) ;
}
示例2: CCDimage14
void CCDimage14(int firstrun, int lastrun)
{
gStyle->SetPalette(1,0);
gSystem->Load("libMaxCam");
gSystem->Load("libWaveformTools.so");
std::stringstream sstm;
TH2F * sum = 0;
TH2I * count = 0;
TH2F * p=0;
sum = new TH2F("alpha_sum","alpha_sum",256,0,1024,256,0,1024);
count = new TH2I("alpha_count","alpha_count",256,0,1024,256,0,1024);
const int c = 0;
gROOT->cd();
int runnum;
int setnum;
if (firstrun>=889 && lastrun<=954) {setnum=0;}
else if (firstrun>=955 && lastrun<=3868) {setnum=1;}
else if (firstrun>=3876 && lastrun<=5789) {setnum=2;}
else if (firstrun>=5792) {setnum=3;}
else
{
gApplication->Terminate();
exit;}
for (int x = firstrun; x <= lastrun; x++){
runnum=x;
string origfile = "/net/nudsk0001/d00/scratch/dctpc_tmp/bigdctpc_data/BigDCTPC_run_";
string skimfile = "/net/nudsk0001/d00/scratch/dctpc_tmp/bigdctpc_skim/BigDCTPC_run_";
// string origfile = "/net/hisrv0001/home/spitzj/myOutput_";
// string skimfile = "/net/hisrv0001/home/spitzj//myOutput_";
string skimend = "skim.root";
string origend = ".root";
string origfilename;
string skimfilename;
sstm.str("");
if (x<10000){ origfile+="0"; skimfile+="0"; }
if (x<1000){ origfile+="0"; skimfile+="0"; }
if (x<100){ origfile+="0"; skimfile+="0"; }
if (x<10){ origfile+="0"; skimfile+="0"; }
sstm << origfile << x << origend;
origfilename = sstm.str();
sstm.str("");
sstm << skimfile << x << skimend;
skimfilename = sstm.str();
cout << origfilename << endl;
ifstream ifile(origfilename.c_str());
ifstream ifile2(skimfilename.c_str());
if(!ifile)
continue;
if(!ifile2)
continue;
DmtpcSkimDataset d;
d.openRootFile(skimfilename.c_str());
d.loadDmtpcEvent(true,origfilename.c_str());
for (int i = 0; i < d.nevents(); i ++){
if(i%100==0){
cout<<"Event: "<<i<<endl;
}
//cout<<"here"<<endl
d.getEvent(i);
//cout<<"here2"<<endl;
for (int t =0 ; t < d.event()->ntracks(c); t++)
{
if(d.event()->maxpixel(0,t)>150){continue;}
if(d.event()->spark(0)){continue;}
p = (TH2F*)d.event()->cluster(c)->getImage();
vector<int> clust = d.event()->cluster(c)->getCluster(t);
for (vector<int>::iterator it = clust.begin(); it!=clust.end(); it++)
{
sum->SetBinContent(*it, sum->GetArray()[*it] + p->GetArray()[*it]);
count->SetBinContent(*it, count->GetArray()[*it] + 1);
}
}
}
}
TH2F * normalized = (TH2F*) sum->Clone("normalized");
normalized->SetName("normalized");
normalized->Divide(count);
normalized->SetStats(0);
normalized->Draw("COLZ");
c1->Print(Form("CCDimage14_set_%d_runs_%d_%d.pdf",setnum,firstrun,lastrun));
TFile *f=new TFile(Form("CCDimage14_set_%d_runs_%d_%d.root",setnum,firstrun,lastrun),"RECREATE");
normalized->Write();
f->Close();
gApplication->Terminate();
}
示例3: MonitorThread
//.........这里部分代码省略.........
TH1I freq(tmp.str().c_str(),tmp.str().c_str(),200,200,399);
// std::cout<<"d2"<<std::endl;
//std::cout<<"d9"<<std::endl;
///// Calculate sum for event dispkay and fill freq plots /////////
for(int k=0;k<carddata->buffersize;k++){
//std::cout<<"d10"<<std::endl;
// std::cout<<"i="<<i<<" j="<<j<<std::endl;
//std::cout<<"d2.5 "<<(i*4)+j<<" feqplot.size = "<<freqplots.size()<<std::endl;
if(carddata->Data[(j*carddata->buffersize)+k]>pedpars[carddata->CardID].at(j).at(0)+(pedpars[carddata->CardID].at(j).at(1)*5))sum+=carddata->Data[(j*carddata->buffersize)+k];
freq.Fill(carddata->Data[(j*carddata->buffersize)+k]);
//temporal.SetBinContent(k,carddata->Data[(j*carddata->buffersize)+k]);
}
freqplots.push_back(freq);
//////// find pedistall fill ped temporals//////////
freq.Fit("gaus");
TF1 *gaus = freq.GetFunction("gaus");
pedpars[carddata->CardID].at(j).at(0)=(gaus->GetParameter(1));
pedpars[carddata->CardID].at(j).at(1)=(gaus->GetParameter(2));
gaus->SetLineColor(j+1);
//std::cout<<"d11"<<std::endl;
for(int bin=99;bin>0;bin--){
PedTime[carddata->CardID].at(j).SetBinContent(bin,PedTime[carddata->CardID].at(j).GetBinContent(bin-1));
PedRMSTime[carddata->CardID].at(j).SetBinContent(bin,PedRMSTime[carddata->CardID].at(j).GetBinContent(bin-1));
}
PedTime[carddata->CardID].at(j).SetBinContent(0, pedpars[carddata->CardID].at(j).at(0));
PedRMSTime[carddata->CardID].at(j).SetBinContent(0, pedpars[carddata->CardID].at(j).at(1));
//////// fill temporal plot/////////
for(int k=0;k<carddata->buffersize/4;k++){
//std::cout<<"d12"<<std::endl;
//std::cout<<"j*4 = "<<j*4<<std::endl;
//std::cout<<"(i*BufferSize)+(j*4) = "<<(i*BufferSize)+(j*4)<<std::endl;
//std::cout<<"i*BufferSize)+(j*4)+(BufferSize/2) = "<<(i*BufferSize)+(j*4)+(BufferSize/2)<<std::endl;
//std::cout<<"(i*BufferSize)+(j*4)+(BufferSize/2)+1 = "<<(i*BufferSize)+(j*4)+(BufferSize/2)+1<<std::endl;
int offset=pedpars[carddata->CardID].at(j).at(0);
double conversion=2.415/pow(2.0, 12.0);
temporal.SetBinContent(k*4,(carddata->Data[(j*carddata->buffersize)+(k*2)]-offset)*conversion);
temporal.SetBinContent((k*4)+1,(carddata->Data[(j*carddata->buffersize)+(k*2)+1]-offset)*conversion);
temporal.SetBinContent((k*4)+2,(carddata->Data[(j*carddata->buffersize)+(k*2)+(carddata->buffersize/2)]-offset)*conversion);
temporal.SetBinContent((k*4)+3,(carddata->Data[(j*carddata->buffersize)+(k*2)+(carddata->buffersize/2)+1]-offset)*conversion);
}
//std::cout<<"d13"<<std::endl;
//std::cout<<"d3"<<std::endl;
temporalplots.push_back(temporal);
////// find x,y,z fill event display /////////
int x=-10;
int z=-10;