20 #if !defined(__CINT__) || defined(__MAKECINT__) 27 #include "TDirectoryFile.h" 34 TString listName =
"Pi0IM_GammaTrackCorr_EMCAL",
48 TString listName =
"Pi0IM_GammaTrackCorr_EMCAL",
49 TString subListName =
"default" )
53 for(
Int_t i = 1; i < 21; i++)
55 ForBin(i,listName,subListName);
59 ForBin(bin,listName,subListName);
72 printf(
"Scale pT hard bin %d\n",bin);
74 TFile * f= TFile::Open(Form(
"%d/Merged.root",bin),
"read");
78 printf(
"No file available \n");
82 TDirectoryFile*
dir = (TDirectoryFile*) f->Get(Form(
"%s",listName.Data()));
86 printf(
"No directory <%s> available \n",listName.Data());
90 TList* list = (
TList*) dir->Get(Form(
"%s",subListName.Data()));
94 printf(
"No list <%s> available \n", subListName.Data());
101 TFile * foutNo =
new TFile(Form(
"%d/NotScaledMerged.root",bin),
"recreate");
113 Double_t nEve = ((TH1F*)list->FindObject(
"hNEvents"))->GetBinContent(1);
117 if((TH1F*)list->FindObject(
"hXsec" ))
119 xsec = ((TH1F*)list->FindObject(
"hXsec" ))->GetBinContent(1);
120 trials = ((TH1F*)list->FindObject(
"hTrials" ))->GetBinContent(1);
121 nfiles = ((TH1F*)list->FindObject(
"hTrials" ))->GetEntries();
123 else printf(
"XSec histogram not found!!!!\n");
124 printf(
" nevents %e, xsec %2.2e, nTrials %e, files %d; ",nEve,xsec,trials,nfiles);
131 printf(
" average: xsec %2.2e, trials %2.2f, scale factor %2.3e\n",xsec,trials,scale);
137 printf(
"\t scaling ...\n ");
141 for(
Int_t i = 0; i < list->GetEntries(); i++)
146 if ( !strncmp(h->ClassName(),
"TH",2) )
150 TH1 * hout =
dynamic_cast<TH1*
> (h);
163 printf(
"\t ... end scaling, write ...\n");
165 TFile *
fout =
new TFile(Form(
"%d/ScaledMerged.root",bin),
"recreate");
177 printf(
"\t ... done.\n");
TFile * fout
input train file