{ TH3D* small3 = new TH3D("small3","3D small;x;y;z", 8,0.,8., 8,0.,8., 8,0.,8.); TH3D* medium3 = new TH3D("medium3","3D medium;x;y;z", 8,0.,8., 8,0.,8., 8,0.,8.); TH3D* large3 = new TH3D("large3","3D large;x;y;z", 8,0.,8., 8,0.,8., 8,0.,8.); // Double_t weight; Int_t ibin; for (Int_t ixbin=0; ixbin<=9 ; ixbin++) { for (Int_t iybin=0; iybin<=9 ; iybin++) { for (Int_t izbin=1; izbin<=8; izbin++) { // weight = 1.; // weight = ixbin+iybin+izbin; // ibin = small3->GetBin(ixbin,iybin,izbin); small3->AddBinContent(ibin,weight); medium3->AddBinContent(ibin,weight); large3->AddBinContent(ibin,weight); } // Add to medium3 for the z overflow and underflow bins // Add twice to the large3 z- overflow and underflow bins weight = 1.; // weight = ixbin+iybin; ibin = medium3->GetBin(ixbin,iybin,0); medium3->AddBinContent(ibin,weight); large3->AddBinContent(ibin,weight); large3->AddBinContent(ibin,weight); weight = 1.; // weight = ixbin+iybin+9; ibin = medium3->GetBin(ixbin,iybin,9); medium3->AddBinContent(ibin,weight); large3->AddBinContent(ibin,weight); large3->AddBinContent(ibin,weight); } } // Make xy projections of each 3D histogram TH2D* sma2 = (TH2D*)small3->Project3D("xy")->Clone("sma2"); TH2D* med2 = (TH2D*)medium3->Project3D("xy")->Clone("med2"); TH2D* lar2 = (TH2D*)large3->Project3D("xy")->Clone("lar2"); // printf("Entries for small3 = %d \n", small3->Integral(0,9,0,9,0,9)); printf("Entries for sma2 = %d \n", sma2->Integral(0,9,0,9)); printf("Entries for medium3 = %d \n", medium3->Integral(0,9,0,9,0,9)); printf("Entries for med2 = %d \n", med2->Integral(0,9,0,9)); printf("Entries for large3 = %d \n", large3->Integral(0,9,0,9,0,9)); printf("Entries for lar2 = %d \n", lar2->Integral(0,9,0,9)); }