本文整理汇总了C++中TGraph::GetName方法的典型用法代码示例。如果您正苦于以下问题:C++ TGraph::GetName方法的具体用法?C++ TGraph::GetName怎么用?C++ TGraph::GetName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TGraph
的用法示例。
在下文中一共展示了TGraph::GetName方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Begin
void TTSelector::Begin(TTree *){
TString option = GetOption();
TObjArray *strobj = option.Tokenize(" ");
gTrigger = ((TObjString*)strobj->At(0))->GetString().Atoi();
gMode = ((TObjString*)strobj->At(1))->GetString().Atoi();
CreateMap();
TString filedir=ginFile;
filedir.Remove(filedir.Last('.')-4);
fFile = new TFile(goutFile,"RECREATE");
fTree = new TTree("M","Tree for GSI Prt Analysis");
fEvent = new TPrtEvent();
fTree->Branch("TPrtEvent", "TPrtEvent", &fEvent, 64000, 2);
TFile f(gcFile);
TIter nextkey(f.GetListOfKeys());
TKey *key;
while ((key = (TKey*)nextkey())) {
TGraph *gr = (TGraph*)key->ReadObj();
TString name = gr->GetName();
Int_t channel = name.Atoi();
gGr[channel]= new TGraph(*gr);
}
f.Close();
if(gMode == 1){
TFile f2(gtFile);
TIter nextkey2(f2.GetListOfKeys());
TKey *key2;
while ((key2 = (TKey*)nextkey2())) {
TGraph *gr = (TGraph*)key2->ReadObj();
TString name = gr->GetName();
Int_t channel = name.Atoi();
gGrDiff[channel]= new TGraph(*gr);
}
f2.Close();
}
std::cout<<"Initialization successful"<<std::endl;
}
示例2: ContourGraph
TGraph* ContourGraph( TH2F* hist,double xmin=16, double xmax=90) {
//temporary canvas
TCanvas* MOO = new TCanvas( TString::Format("dummy_canvas_%s", hist->GetName()), "A scan of m_{0} versus m_{12}", 0, 0, 650,640);
MOO->cd();
TGraph* gr0 = new TGraph();
TH2F* h = (TH2F*)hist->Clone();
TGraph* gr = (TGraph*)gr0->Clone(TString::Format("gr_%s", h->GetName()));
cout << "==> Will dumb histogram: " << h->GetName() << " into a graph" <<endl;
h->SetContour( 1 );
//h->GetXaxis()->SetRangeUser(250,1200);
h->GetXaxis()->SetRangeUser(xmin, xmax);
//h->GetYaxis()->SetRangeUser(2,50);
double pval = CombinationGlob::cl_percent[1];
std::cout << pval << std::endl;
double signif = TMath::NormQuantile(1-pval);
h->SetContourLevel( 0, signif );
h->Draw("CONT LIST");
h->SetDirectory(0);
gPad->Update();
TObjArray *contours = (TObjArray*) gROOT->GetListOfSpecials()->FindObject("contours");
Int_t ncontours = contours->GetSize();
cout << "Found " << ncontours << " contours " << endl;
TList *list = (TList*)contours->At(0);
contours->Print("v");
if(!list) return NULL;
gr = (TGraph*)list->First();
if(!gr) return NULL;
gr->SetName(TString::Format("gr_%s", hist->GetName()));
//gr->SetName(hist->GetName());
int N = gr->GetN();
double x0, y0;
for(int j=0; j<N; j++) {
gr->GetPoint(j,x0,y0);
cout << j << " : " << x0 << " : "<<y0 << endl;
}
// // gr->SetMarkerSize(2.0);
//gr->Draw("ALP");
delete MOO;
cout << "Generated graph " << gr << " with name " << gr->GetName() << endl;
return gr;
}
示例3: 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;
}
//.........这里部分代码省略.........
示例4: CheckTime
//______________________________________________________________________________
void CheckTime(const Char_t* loc)
{
// Check time.
Char_t t[256];
// number of runs
Int_t nRuns = gFiles->GetSize();
// create arrays
const Int_t nCh = 352;
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/tagger_time.root", "RECREATE");
// create directories
for (Int_t i = 0; i < nCh; i++)
{
sprintf(t, "%03d", i);
fROOTout->mkdir(t);
}
TF1* func = new TF1("func", "gaus(0)+pol1(3)", -1000 , 1000);
// 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();
TH2* h2 = (TH2*) f->Get("CaLib_Tagger_Time");
// loop over channels
for (Int_t j = 0; j < nCh; j++)
{
// load histogram
sprintf(t, "%03d", j);
fROOTout->cd(t);
sprintf(t, "%d_%d", i, j);
TH1* h = h2->ProjectionX(t, j+1, j+1);
h->Rebin(2);
sprintf(t, "Run_%d", runNumber);
TCanvas* c = new TCanvas(t, t);
TLine* tline = 0;
// check entries
if (h->GetEntries())
{
// fit gaussian to peak
Double_t maxPos = h->GetXaxis()->GetBinCenter(h->GetMaximumBin());
func->SetParameters(1, maxPos, 0.5, 1, 0.1);
func->SetRange(maxPos - 2, maxPos + 2);
func->SetParLimits(0, 0, 1000);
for (Int_t k = 0; k < 10; k++)
if (!h->Fit(func, "RBQ")) break;
// save position in file and memory
maxPos = func->GetParameter(1);
pedPos[j][i] = maxPos;
h->GetXaxis()->SetRangeUser(maxPos - 10, maxPos + 10);
h->Draw();
tline = new TLine(maxPos, 0, maxPos, 10000);
tline->SetLineColor(kRed);
tline->SetLineWidth(2);
tline->Draw();
}
else
{
h->Draw();
}
c->Write(c->GetName(), TObject::kOverwrite);
delete h;
delete c;
if (tline) delete tline;
}
delete h2;
}
// create pedestal evolution graphs
fROOTout->cd();
//.........这里部分代码省略.........
示例5: addcanvases
void addcanvases(){
fSavePath = "data/perfLL";
const Int_t narr = 20;
gStyle->SetOptStat(0);
gStyle->SetOptTitle(0);
TFile *f1 = TFile::Open("c_l3.root");
TIter next1(f1->GetListOfKeys());
TKey *key1;
Int_t it1 = 0;
TCanvas *carr1[narr];
while((key1 = (TKey*)next1())) {
TClass *cl = gROOT->GetClass(key1->GetClassName());
if (!cl->InheritsFrom("TCanvas")) continue;
carr1[it1] = (TCanvas*)key1->ReadObj();
it1++;
}
TFile *f2 = TFile::Open("c_l0.root");
TIter next2(f2->GetListOfKeys());
TKey *key2;
Int_t it2 = 0;
TCanvas *carr2[narr];
while ((key2 = (TKey*)next2())) {
TClass *cl = gROOT->GetClass(key2->GetClassName());
if (!cl->InheritsFrom("TCanvas")) continue;
carr2[it2] = (TCanvas*)key2->ReadObj();
it2++;
}
TLegend *leg = new TLegend(0.2,0.7,0.5,0.9);
leg->SetFillColor(0);
leg->SetFillStyle(0);
leg->SetBorderSize(0);
for(Int_t i=0; i<it2; i++){
carr1[i]->Draw();
//leg->AddEntry( carr1[i],"3x3 full coverage","l");
//leg->Draw();
canvasAdd(carr1[i]);
TIter next(carr2[i]->GetListOfPrimitives());
TObject *obj;
while((obj = next())){
// if(obj->InheritsFrom("TH1F")){
// TH1F *h = (TH1F*)obj;
// std::cout<<"name "<< h->GetName() <<std::endl;
// h->SetLineStyle(7);
// h->SetLineWidth(2);
// h->Draw("same");
// }
if(obj->InheritsFrom("TGraph")){
TGraph *h = (TGraph*)obj;
std::cout<<"name "<< h->GetName() <<std::endl;
h->SetLineColor(32);
h->SetMarkerColor(2);
// h->SetLineWidth(2);
h->Draw("same PL");
// leg->AddEntry(h,"6.5x6.5 MCP PMTs coverage","lp");
// leg->Draw();
}
}
}
std::cout<<"save all " <<std::endl;
canvasSave(0,1);
}
示例6: main
//.........这里部分代码省略.........
currentRun->FillFromContainer(contFile, areaMap);
double TotRate = 0;
double TotArea = 0;
int totAmount = 0;
if (currentRun->isFilled() == false){
cout << "Not filled: " << currentRun->getID() << endl;
}
if (currentRun->isFilled() == true){
map<string,ExRoll* > barrelMap;
if (zone == "Barrel")
barrelMap = currentRun->GetBarrel();
else if (zone == "EndCapPlus")
barrelMap = currentRun->GetEndCapPlus();
else if (zone == "EndCapMinus")
barrelMap = currentRun->GetEndCapMinus();
for (map<string,ExRoll* >::const_iterator it = barrelMap.begin(); it != barrelMap.end(); it++){
if (RollID != "-9")
if (it->second->getRollID().c_str() != RollID) continue;
if (Sector != -9)
if (it->second->getSector() != Sector) continue;
if (WheelDiskNo != -9)
if (it->second->getWheel_Disk_Number() != WheelDiskNo) continue;
//When we will decide to plot partition by partition
if (optionalID != "-9"){
// cout << optionalID << endl;
// cout << it->second->getOptionalRollID() << endl;
if ( it->second->getOptionalRollID().compare(optionalID) ) continue;
}
emptyStrip += it->second->getEmptyStrip();
// if ( it->second->getOptionalRollID().compare("B") ) continue;
// cout << "SEC " << it->second->getSector() << endl;
/* cout << "OPT: " << it->second-> getOptionalRollID() << endl;
cout << "RAW: " << it->second->getRawIDofClone(1) << endl;*/
// cout << "PASS: " << it->second->getFullOnlineRollID() << endl;
/* TotRate += it->second->CalculateRateFromTH1(corrected);
string th1path = it->second->getTH1Path();
TH1F* histo = (TH1F*)(contFile->Get(th1path.c_str()));*/
NoiseAnalyzer nAnalyzer;
TotRate += nAnalyzer.HealCloneByClone(it->second);
// cout << "VALUE: " << nAnalyzer.HealCloneByClone(it->second) << endl;
double rollArea = it->second->getRollArea();
TotArea += rollArea;
}
//Free RAM
for (map<string,ExRoll* >::const_iterator it = barrelMap.begin(); it != barrelMap.end(); it++){
delete it->second;
}
double NormalizedRate = TotRate / TotArea;
// cout << NormalizedRate << endl;
string zone = argv[1];
string RollID = argv[4];
int Sector = atoi(argv[3]);
int WheelDiskNo = atoi(argv[2]);
if (TotRate != 0 && TotArea != 0 && currentRun->getDelivered() != 0 && currentRun->isFilled()){
// currentRun->PrintStatistics();
cout << currentRun->getID() <<
"\t" << currentRun->getLumiSection() << "\t" << currentRun->getDelivered()
<< "\t" << currentRun->getLumi() <<
"\t" << TotRate << "\t" << TotArea << "\t" << NormalizedRate/2 << endl;
// plot->SetBinContent(plot->FindBin(currentRun->getLumi()), NormalizedRate);
cout << "POINT: " << k << " " << currentRun->getLumi()<< " " << NormalizedRate / 2 << endl;;
plot->SetPoint(k , currentRun->getLumi(), NormalizedRate / 2);
plotRun->SetPoint(k, currentRun->getID(), NormalizedRate / 2);
k++;
}
}
delete currentRun;
contFile->Close();
contFile->Delete();
}
plot->SetDrawOption("P");
f->WriteObject(plotRun, plotRun->GetName());
f->WriteObject(plot, plot->GetName());
return 0;
}