1 void MultCalib(Int_t nIter=16){
4 for(Int_t i=0; i<=nIter; i++){
5 TFile * f = new TFile(Form("Calibration_pass%d.root",i)) ;
6 for(Int_t m=1; m<4; m++){
7 TH2D * tmp = (TH2D*)f->Get(Form("Mass_mod%d",m)) ;
9 c[m]=(TH2D*)tmp->Clone(Form("MassC_mod%d",m)) ;
10 for(Int_t ix=1; ix<=64;ix++)
11 for(Int_t iz=1; iz<=56; iz++){
12 Double_t clb= tmp->GetBinContent(ix,iz) ;
15 c[m]->SetBinContent(ix,iz,0.136/clb) ;
17 c[m]->SetBinContent(ix,iz,clb) ;
20 c[m]->SetBinContent(ix,iz,1.) ;
24 for(Int_t ix=1; ix<=64;ix++)
25 for(Int_t iz=1; iz<=56; iz++){
26 Double_t clb= tmp->GetBinContent(ix,iz) ;
32 clb=(0.136/clb)*(0.136/clb) ;
33 c[m]->SetBinContent(ix,iz,c[m]->GetBinContent(ix,iz)*clb) ;
39 TFile * fout = new TFile("calib.root","recreate") ;
40 c[1]->Write("Mass_mod1") ;
41 c[2]->Write("Mass_mod2") ;
42 c[3]->Write("Mass_mod3") ;