本文整理汇总了C++中TH1F::SetLineWidth方法的典型用法代码示例。如果您正苦于以下问题:C++ TH1F::SetLineWidth方法的具体用法?C++ TH1F::SetLineWidth怎么用?C++ TH1F::SetLineWidth使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TH1F
的用法示例。
在下文中一共展示了TH1F::SetLineWidth方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: compnclusts
void compnclusts(Int_t run)
{
TFile* f = new TFile(Form("hodtest_%d.root",run));
cout << "hcana root file " << Form("hodtest_%d.root",run) << endl;
TH1F* h = nclust;
TFile* f1 = new TFile(Form("%d_hbk.root",run));
cout << "Engine root file " << Form("%d_hbk.root",run) << endl;
TH1F* h1;
switch (run) {
case 50017 :
// h1 = h212; //A+
break;
default :
h1 = h412; //hnclusters
}
TCanvas *c1 = new TCanvas("c1", "Shower Cluster Map", 1000, 667);
gPad->SetLogy();
h1->SetFillColor(kGreen);
h1->SetLineColor(kGreen);
h1->SetFillStyle(1111);
h1->Draw();
h->SetFillColor(kBlue);
h->SetLineWidth(2);
h->SetFillStyle(0);
h->Draw("same");
TLatex l;
l.SetTextSize(0.04);
Float_t maxy = h1->GetBinContent(h1->GetMaximumBin());
Float_t xmin = h1->GetXaxis()->GetXmin();
Float_t xmax = h1->GetXaxis()->GetXmax();
Float_t xt = xmin + 0.67*(xmax-xmin);
l.SetTextColor(kGreen);
l.DrawLatex(xt,0.095*maxy,"Engine");
l.SetTextColor(kBlue);
l.DrawLatex(xt,0.045*maxy,"hcana");
// Difference between the histograms.
TCanvas *c2 = new TCanvas("c2", "Cluster differences", 1000, 667);
TH1F* dif = h->Clone();
dif->Add(h,h1,1.,-1.);
dif->SetTitle("Difference");
dif->SetFillColor(kRed);
dif->SetLineColor(kRed);
dif->SetLineWidth(1);
dif->SetFillStyle(1111);
dif->Draw();
}
示例2: Terminate
//_____________________________________________________________________________
void ProofEventProc::Terminate()
{
// The Terminate() function is the last function to be called during
// a query. It always runs on the client, it can be used to present
// the results graphically or save the results to file.
// Check ranges
CheckRanges();
if (gROOT->IsBatch()) return;
TCanvas* canvas = new TCanvas("event","event",800,10,700,780);
canvas->Divide(2,2);
TPad *pad1 = (TPad *) canvas->GetPad(1);
TPad *pad2 = (TPad *) canvas->GetPad(2);
TPad *pad3 = (TPad *) canvas->GetPad(3);
TPad *pad4 = (TPad *) canvas->GetPad(4);
// The number of tracks
pad1->cd();
pad1->SetLogy();
TH1F *hi = dynamic_cast<TH1F*>(fOutput->FindObject("pz_dist"));
if (hi) {
hi->SetFillColor(30);
hi->SetLineColor(9);
hi->SetLineWidth(2);
hi->DrawCopy();
} else { Warning("Terminate", "no pz dist found"); }
// The Pt distribution
pad2->cd();
pad2->SetLogy();
TH1F *hf = dynamic_cast<TH1F*>(fOutput->FindObject("pt_dist"));
if (hf) {
hf->SetFillColor(30);
hf->SetLineColor(9);
hf->SetLineWidth(2);
hf->DrawCopy();
} else { Warning("Terminate", "no pt dist found"); }
// The Px,Py distribution, color surface
TH2F *h2f = dynamic_cast<TH2F*>(fOutput->FindObject("px_py"));
if (h2f) {
// Color surface
pad3->cd();
h2f->DrawCopy("SURF1 ");
// Lego
pad4->cd();
h2f->DrawCopy("CONT2COL");
} else {
Warning("Terminate", "no px py found");
}
// Final update
canvas->cd();
canvas->Update();
}
示例3: makePlot
void makePlot(TTree* tcpu, TTree* tlabv, TString name, TString cut)
{
TH1F* hcpu = getHisto(tcpu, name+"cpu", cut);
TH1F* hlabv = getHisto(tlabv, name+"labv", cut);
hlabv->SetLineColor(kRed);
hlabv->SetLineWidth(2);
hcpu->SetLineWidth(2);
hcpu->Draw();
hlabv->Draw("same");
}
示例4: performClosure
void performClosure(RooRealVar *mass, RooAbsPdf *pdf, RooDataSet *data, string closurename, double wmin=110., double wmax=130., double slow=110., double shigh=130., double step=0.002) {
// plot to perform closure test
cout << "Performing closure test..." << endl;
double nbins = (wmax-wmin)/step;
TH1F *h = new TH1F("h","h",int(floor(nbins+0.5)),wmin,wmax);
if (data){
pdf->fillHistogram(h,RooArgList(*mass),data->sumEntries());
h->Scale(2*h->GetNbinsX()/double(binning_));
}
else {
pdf->fillHistogram(h,RooArgList(*mass));
}
int binLow = h->FindBin(slow);
int binHigh = h->FindBin(shigh)-1;
TH1F *copy = new TH1F("copy","c",binHigh-binLow,h->GetBinLowEdge(binLow),h->GetBinLowEdge(binHigh+1));
for (int b=0; b<copy->GetNbinsX(); b++) copy->SetBinContent(b+1,h->GetBinContent(b+1+binLow));
double areaCov = 100*h->Integral(binLow,binHigh)/h->Integral();
// style
h->SetLineColor(kBlue);
h->SetLineWidth(3);
h->SetLineStyle(7);
copy->SetLineWidth(3);
copy->SetFillColor(kGray);
TCanvas *c = new TCanvas();
if (data){
RooPlot *plot = mass->frame(Bins(binning_),Range("higgsRange"));
plot->addTH1(h,"hist");
plot->addTH1(copy,"same f");
if (data) data->plotOn(plot);
pdf->plotOn(plot,Normalization(h->Integral(),RooAbsReal::NumEvent),NormRange("higgsRange"),Range("higgsRange"),LineWidth(1),LineColor(kRed),LineStyle(kDashed));
plot->Draw();
c->Print(closurename.c_str());
}
else {
RooPlot *plot = mass->frame(Bins(binning_),Range("higgsRange"));
h->Scale(plot->getFitRangeBinW()/h->GetBinWidth(1));
copy->Scale(plot->getFitRangeBinW()/h->GetBinWidth(1));
pdf->plotOn(plot,LineColor(kRed),LineWidth(3));
plot->Draw();
h->Draw("hist same");
copy->Draw("same f");
c->Print(closurename.c_str());
}
cout << "IntH: [" << h->GetBinLowEdge(binLow) << "-" << h->GetBinLowEdge(binHigh+1) << "] Area = " << areaCov << endl;
delete c;
delete copy;
delete h;
}
示例5: dataMC
void dataMC() {
double xmin = 60.0;
double xmax = 160.0;
int nbins = 200;
TCanvas* c = new TCanvas("c", "c", 600, 600);
std::string hfile = "/home/avartak/CMS/HMuMu/CMSSW_8_0_26_patch1/src/HMuMuAnalysis/AnalysisStep/trees/GluGlu_HToMuMu_M125_13TeV_powheg_pythia8/trim.root";
std::string zfile = "/home/avartak/CMS/HMuMu/CMSSW_8_0_26_patch1/src/HMuMuAnalysis/AnalysisStep/trees/DYJetsToLL_M-50_TuneCUETP8M1_13TeV-amcatnloFXFX-pythia8/trim.root";
std::string tfile = "/home/avartak/CMS/HMuMu/CMSSW_8_0_26_patch1/src/HMuMuAnalysis/AnalysisStep/trees/TTJets_Dilept_TuneCUETP8M2T4_13TeV-amcatnloFXFX-pythia8/trim.root";
std::string dfile = "/home/avartak/CMS/HMuMu/CMSSW_8_0_26_patch1/src/HMuMuAnalysis/AnalysisStep/trees/SingleMuon/trim.root";
TFile* fileh = new TFile(hfile.c_str());
TFile* filez = new TFile(zfile.c_str());
TFile* filet = new TFile(tfile.c_str());
TFile* filed = new TFile(dfile.c_str());
TH1F* histh = new TH1F("histh", "", nbins, xmin, xmax);
TH1F* histz = new TH1F("histz", "", nbins, xmin, xmax);
TH1F* histt = new TH1F("histt", "", nbins, xmin, xmax);
TH1F* histd = new TH1F("histd", "", nbins, xmin, xmax);
TTree* treeh = (TTree*)fileh->Get("tree");
TTree* treez = (TTree*)filez->Get("tree");
TTree* treet = (TTree*)filet->Get("tree");
TTree* treed = (TTree*)filed->Get("tree");
treez->Draw("mass>>histz", "(cat > 0) * wgt");
treet->Draw("mass>>histt", "(cat > 0) * wgt");
treed->Draw("mass>>histd", "(cat > 0 && (mass < 120 || mass > 130))");
histz->SetFillColor(kCyan+1);
histt->SetFillColor(kOrange+1);
histz->SetLineWidth(2);
histt->SetLineWidth(2);
histh->SetLineWidth(2);
histz->Add(histt);
histz->Draw("HIST");
histt->Draw("HIST SAME");
histd->Draw("PE SAME");
c->RedrawAxis();
}
示例6: plotMuFromToys
void plotMuFromToys(std::string inputFile, std::string selectString="fit_status==0"){
// Some Global preferences
gROOT->SetStyle("Plain");
gSystem->Load("$CMSSW_BASE/lib/$SCRAM_ARCH/libHiggsAnalysisCombinedLimit.so");
gStyle->SetOptFit(1111);
gStyle->SetOptStat(1111);
gStyle->SetPalette(1,0);
TFile *fi_ = TFile::Open(inputFile.c_str());
TTree *tree_sb = (TTree*) fi_->Get("tree_fit_sb");
TH1F *mures = new TH1F("mures","",25,-2.,2.);
mures->SetLineColor(kBlue+3);
mures->SetMarkerStyle(kOpenCircle);
mures->SetLineWidth(2);
mures->GetXaxis()->SetTitle("#mu - 1");
mures->GetYaxis()->SetTitle(Form("no toys (%d total)",int(tree_sb->GetEntries())));
mures->GetYaxis()->SetTitleOffset(1.05);
mures->GetXaxis()->SetTitleOffset(0.9);
mures->GetYaxis()->SetTitleSize(0.05);
mures->GetXaxis()->SetTitleSize(0.05);
TCanvas *c = new TCanvas("c","",960,800);
tree_sb->Draw("mu>>mures",selectString.c_str());
mures->Fit("gaus");
mures->GetFunction("gaus")->SetLineColor(kCyan+3);
mures->Draw("pe1");
c->SaveAs("mlfit/mu_residual.pdf");
}
示例7: drawFrequency
void drawFrequency(const char* ifname="output/HUMAN.pair.output", int type=2)
{
gROOT->SetStyle("Plain");
TFile outfile(TString(TString(ifname)+".root"),"RECREATE");
int nbins = 400;
if(type == 1)nbins = 20;
TH1F* freq = new TH1F("freq","",nbins,-0.5,float(nbins)-0.5);
int bin = 1;
ifstream infile(ifname);
while(1){
TString name;
float freq1,freq2;
infile >> name >> freq1;
if(type == 2) infile >> freq2;
if(!infile.good()) break;
freq->SetBinContent(bin,freq1);
bin++;
}
infile.close();
TCanvas* c = new TCanvas("c","",800,600);
gStyle->SetOptStat(0);
freq->SetYTitle("Frequency");
freq->SetXTitle("Amino acid pair");
if(type == 1)freq->SetXTitle("Amino acid");
freq->SetLineWidth(2);
freq->SetLineColor(kBlue);
freq->Draw();
c->SaveAs(TString(TString(ifname)+".pdf"));
outfile.Close();
}
示例8: AddOverflow
TH1* AddOverflow(TH1* h) {
++overflowCounter;
TString name = h->GetName();
Int_t nx = h->GetNbinsX()+1;
Double_t bw = h->GetBinWidth(nx);
Double_t x1 = h->GetBinLowEdge(1);
Double_t x2 = h->GetBinLowEdge(nx) + bw;
// Book a new histogram having an extra bin for overflows
TH1F* htmp = new TH1F(Form(name + "_overflow_%d", overflowCounter), "", nx, x1, x2);
// Fill the new histogram including the extra bin for overflows
for (Int_t i=1; i<=nx; i++) {
htmp->Fill(htmp->GetBinCenter(i), h->GetBinContent(i));
htmp->SetBinError(i, h->GetBinError(i));
}
// Fill the underflow
htmp->Fill(x1-1, h->GetBinContent(0));
// Restore the number of entries
htmp->SetEntries(h->GetEntries());
// Cosmetics
htmp->SetLineColor(h->GetLineColor());
htmp->SetLineWidth(h->GetLineWidth());
htmp->GetXaxis()->SetTitleOffset(1.5);
return htmp;
}
示例9: drawDifference
//Difference plotting
void drawDifference(TH1* iH0,TH1 *iH1,TH1 *iHH=0,TH1 *iHL=0,TH1 *iHH1=0,TH1 *iHL1=0) {
std::string lName = std::string(iH0->GetName());
TH1F *lHDiff = (TH1F*) iH0->Clone("Diff");
TH1F *lHDiffH = (TH1F*) iH0->Clone("DiffH");
TH1F *lHDiffL = (TH1F*) iH0->Clone("DiffL");
TH1F *lHDiffH1 = (TH1F*) iH0->Clone("DiffH1");
TH1F *lHDiffL1 = (TH1F*) iH0->Clone("DiffL1");
lHDiff ->SetFillColor(kViolet); lHDiff->SetFillStyle(1001); lHDiff->SetLineWidth(1);
lHDiffL ->SetLineWidth(1); lHDiffL ->SetLineColor(iHL ->GetLineColor());
lHDiffH ->SetLineWidth(1); lHDiffH ->SetLineColor(iHH ->GetLineColor());
lHDiffL1->SetLineWidth(1); lHDiffL1->SetLineColor(iHL1->GetLineColor());
lHDiffH1->SetLineWidth(1); lHDiffH1->SetLineColor(iHH1->GetLineColor());
TH1F *lXHDiff1 = new TH1F((lName+"XDiff1").c_str(),(lName+"XDiff1").c_str(),iH0->GetNbinsX(),iH0->GetXaxis()->GetXmin(),iH0->GetXaxis()->GetXmax());
TH1F *lXHDiff2 = new TH1F((lName+"XDiff2").c_str(),(lName+"XDiff2").c_str(),iH0->GetNbinsX(),iH0->GetXaxis()->GetXmin(),iH0->GetXaxis()->GetXmax());
int i1 = 0;
lXHDiff1->SetLineWidth(2); lXHDiff1->SetLineColor(kRed);
lXHDiff2->SetLineWidth(2); lXHDiff2->SetLineColor(kRed);
lXHDiff1->GetYaxis()->SetTitle("Ratio");
lXHDiff1->GetYaxis()->SetRangeUser(0.2,1.8);
lXHDiff1->GetYaxis()->SetTitleOffset(0.4);
lXHDiff1->GetYaxis()->SetTitleSize(0.2);
lXHDiff1->GetYaxis()->SetLabelSize(0.11);
for(int i0 = 0; i0 < lHDiff->GetNbinsX()+1; i0++) {
double lXCenter = lHDiff->GetBinCenter(i0);
double lXVal = iH0 ->GetBinContent(i0);
double lXValH = iHH ->GetBinContent(i0);
double lXValL = iHL ->GetBinContent(i0);
double lXValH1 = iHH1 ->GetBinContent(i0);
double lXValL1 = iHL1 ->GetBinContent(i0);
lXHDiff1->SetBinContent(i0, 1.0);
lXHDiff2->SetBinContent(i0, 1.0);
while(iH1->GetBinCenter(i1) < lXCenter) {i1++;}
if(iH1->GetBinContent(i0) > 0) lHDiff->SetBinContent(i0,lXVal /(iH1->GetBinContent(i0)));
if(iH1->GetBinContent(i0) > 0) lHDiff->SetBinError (i0,sqrt(lXVal)/(iH1->GetBinContent(i0)));
if(iH1->GetBinContent(i0) > 0) lHDiffL->SetBinContent(i0,lXValL/(iH1->GetBinContent(i0)));
if(iH1->GetBinContent(i0) > 0) lHDiffH->SetBinContent(i0,lXValH/(iH1->GetBinContent(i0)));
if(iH1->GetBinContent(i0) > 0) lHDiffL1->SetBinContent(i0,lXValL1/(iH1->GetBinContent(i0)));
if(iH1->GetBinContent(i0) > 0) lHDiffH1->SetBinContent(i0,lXValH1/(iH1->GetBinContent(i0)));
//if(iH1->GetBinContent(i0) > 0) cout << "unc" << lXVal << " -- " << sqrt(lXVal)/(iH1->GetBinContent(i0)) << endl;
}
lHDiff->SetMarkerStyle(kFullCircle);
//lHDiff->Draw("EP");
lXHDiff1->SetStats(0);
lXHDiff2->SetStats(0);
lHDiff->SetStats(0);
lHDiffH->SetStats(0);
lHDiffL->SetStats(0);
lHDiffH1->SetStats(0);
lHDiffL1->SetStats(0);
lXHDiff1->Draw("hist");
lXHDiff2->Draw("hist sames");
lHDiff->Draw("EP sames");
lHDiffH ->Draw("hist sames");
lHDiffL ->Draw("hist sames");
lHDiffH1->Draw("hist sames");
lHDiffL1->Draw("hist sames");
}
示例10: Difference
void Difference(TH1* iH0,TH1 *iH1) {
std::string lName = std::string(iH0->GetName());
//TH1F *lHDiff = new TH1F((lName+"Diff").c_str(),(lName+"Diff").c_str(),50,0,300); lHDiff->Sumw2();
TH1F *lHDiff = new TH1F((lName+"Diff").c_str(),(lName+"Diff").c_str(),iH0->GetNbinsX(),iH0->GetXaxis()->GetXmin(),iH0->GetXaxis()->GetXmax()); lHDiff->Sumw2();
lHDiff->SetFillColor(kViolet); lHDiff->SetFillStyle(1001); lHDiff->SetLineWidth(1);
TH1F *lXHDiff1 = new TH1F((lName+"XDiff1").c_str(),(lName+"XDiff1").c_str(),iH0->GetNbinsX(),iH0->GetXaxis()->GetXmin(),iH0->GetXaxis()->GetXmax());
int i1 = 0;
lXHDiff1->SetLineStyle(2); lXHDiff1->SetLineWidth(2); lXHDiff1->SetLineColor(kRed);
lHDiff->GetYaxis()->SetRangeUser(0,2);
lHDiff->GetYaxis()->SetTitleOffset(0.6);
lHDiff->GetYaxis()->SetTitleSize(0.08);
lHDiff->GetYaxis()->SetLabelSize(0.08);
lHDiff->GetYaxis()->CenterTitle();
lHDiff->GetXaxis()->SetTitleOffset(1.2);
lHDiff->GetXaxis()->SetTitleSize(0.10);
lHDiff->GetXaxis()->SetLabelSize(0.08);
lHDiff->GetXaxis()->SetTitle("#slash{E}_{T} [GeV]");
//lHDiff->GetXaxis()->CenterTitle();
//lHDiff->GetYaxis()->SetTitle(YLabel);
for(int i0 = 0; i0 < lHDiff->GetNbinsX()+1; i0++) {
double lXCenter = lHDiff->GetBinCenter(i0);
double lXVal = iH0 ->GetBinContent(i0);
lXHDiff1->SetBinContent(i0, 1.0);
while(iH1->GetBinCenter(i1) < lXCenter) {i1++;}
if(iH1->GetBinContent(i0) > 0) lHDiff->SetBinContent(i0,(lXVal-iH1->GetBinContent(i0))/(iH1->GetBinContent(i0)));
if(iH1->GetBinContent(i0) > 0) lHDiff->SetBinError (i0,iH0->GetBinError(i0)/(iH1->GetBinContent(i0)));
}
lHDiff->SetMarkerStyle(kFullCircle); lHDiff->SetLineColor(kBlack); lHDiff->SetMarkerColor(kBlack);
lHDiff->Draw("E1");
lXHDiff1->Draw("hist sames");
}
示例11: macroScema
void macroScema(){
gROOT->ProcessLine(".L ./tdrstyle.C");
setTDRStyle();
TFile *_file0 = new TFile("histo_file_QCDPU50GEM2019.root");
TFile *_file1 = new TFile("histo_file_VBFH2Tau_PU50GEM2019XX_noVBFTag.root");
TH1F *hQCD = (TH1F*)_file0->Get("hMuonPtReco");
TH1F *hH2tau = (TH1F*)_file1->Get("hMuonPtReco");
hH2tau->SetLineColor(kRed);
hQCD->SetLineColor(kMagenta);
hH2tau->SetLineWidth(2);
hQCD->SetLineWidth(2);
hQCD->Scale(1/hQCD->Integral());
hH2tau->Scale(1/hH2tau->Integral());
hQCD->GetXaxis()->SetRangeUser(0,100);
hH2tau->GetXaxis()->SetRangeUser(0,100);
hQCD->Draw("histe");
hH2tau->Draw("histesame");
hQCD->GetXaxis()->SetTitle("P_{T}^{#mu}");
hQCD->GetYaxis()->SetTitle("Relative Yield");
TLegend* legend = new TLegend( 0.65, 0.7, 0.8, 0.9);
legend->SetTextSize(0.035);
legend->SetFillColor(0);
legend->AddEntry(hH2tau, "H #rightarrow #tau_{#mu} #tau_{h} ","l");
legend->AddEntry(hQCD, "QCD","l");
legend->Draw("same");
}
示例12: pv_dist
void pv_dist(const string& fFile, const string& fTitle, const string& fNameExt) {
TH1F *h;
TFile file(fFile.c_str());
TDirectoryFile *dir = (TDirectoryFile*)file.Get("offsetAnalysis");
TDirectoryFile *subDir = (TDirectoryFile*)dir->Get("PrimaryVertices");
h = (TH1F*)subDir->Get("h_NofPVs");
string name = h->GetName();
string fileName = name + "__" + fNameExt + ".png";
h->SetTitle(fTitle.c_str());
TCanvas *c = new TCanvas("c","",1120,800);
c->cd();
h->SetLineWidth(2);
h->Draw();
c->SetLogy();
c->SaveAs(fileName.c_str());
delete c;
}
示例13: SetSignalStyle
void SetSignalStyle(TH1F & ele, unsigned color) {
ele.SetFillStyle(1001);
ele.SetLineStyle(11);
ele.SetFillColor(0);
ele.SetLineColor(color);
ele.SetLineWidth(2);
return;
}
示例14: def_hist
TH1* def_hist(const char *name, const int &nbin, const double &bmin, const double &bmax, const int &col) {
cout << "Hist def: " << name << " bmin= " << bmin << " bmax= "<< bmax << endl;
TH1F* h = new TH1F(name, name, nbin, bmin, bmax);
h->SetLineColor(col);
h->SetLineWidth(2);
return h;
cout << "Done Hist def: " << name << endl;
}
示例15: PlotHistsNhitsPerModule
void PlotHistsNhitsPerModule(TFile* f, TTree* tr, TString strMillepedeRes, TString strOutdir)
{
TString canvName="c_";
canvName+=strMillepedeRes;
canvName+="_";
canvName+=StrPlotType(NHITS);
canvName.ReplaceAll(".res","");
//enum {PXB,PXF,TIB,TID,TOB,TEC};
int colors[6]={1,2,3,4,6,7};
// TString labels[6]={"PXB","PXF","TIB","TID","TOB","TEC"};
f->cd();
TCanvas* canv = new TCanvas(canvName,canvName,600,600);
canv->SetLogx();
canv->SetLogy();
for (int ind=1; ind<=1; ind++){
TString strHist = "hNhits_";
strHist+=StrPar(ind);
TString strCut="label<700000 && ((label%20-1)%9+1)==";
strCut+=ind;
TStyle style;
style.SetTitleFontSize(0.2);
THStack *hSt = new THStack("hNhits","# of derivatives (~tracks or hits) per module");
TLegend *leg = new TLegend(0.75,0.65,0.95,0.95);
for (int inv=0; inv<6; inv++){
std::cout<<"- - - - - -"<<std::endl;
std::cout<<subdLabels[inv]<<":"<<std::endl;
std::cout<<StrCutSubd(inv)<<": "<<tr->GetEntries(StrCutSubd(inv))<<" parameters"<<std::endl;
TString strHist1=strHist;
strHist1+=ind;
strHist1+=inv;
TH1F* hValInt = new TH1F(strHist1,strHist1,300,10,15000);
TString strCut1 = strCut+TString(" && ")+StrCutSubd(inv);
tr->Draw(TString("Nhits>>")+strHist1,strCut1,"goff");
std::cout<<"# hits = "<<(int)hValInt->GetMean()<<"+-"<<(int)hValInt->GetRMS()<<std::endl;
hValInt->SetLineColor(1);
hValInt->SetFillColor(colors[inv]);
hValInt->SetLineWidth(2);
hSt->Add(hValInt);
leg->AddEntry(hValInt,subdLabels[inv],"f");
leg->SetFillColor(0);
}
hSt->Draw();
leg->Draw("same");
}//end of loop over ind
canvName+=".png";
TString saveName=strOutdir+canvName;
canv->SaveAs(saveName);
saveName.ReplaceAll(".png",".pdf");
canv->SaveAs(saveName);
}//end of PlotHistsNhitsPerModule