Geant4 Cross Reference |
1 // Draw Longitudinal Shower Profile 1 2 3 #include "TH1D.h" 4 #include "TFile.h" 5 #include "THStack.h" 6 #include "TCanvas.h" 7 #include "TString.h" 8 #include "TLegend.h" 9 10 TCanvas* cmpE() 11 { 12 // TString dataDir("/net/llrdata1.in2p3.fr/d 13 TString dataDir("./"); 14 15 TString dataFile[2]; 16 dataFile[0] = "gflash00.root"; 17 dataFile[1] = "gflash01.root"; 18 19 TFile* f[2]; 20 TH1D* p[2]; 21 // UInt_t col[] = { kRed, kBlue, kGreen, kV 22 UInt_t col[] = {kRed, kGreen, kBlue, kViolet 23 // UInt_t mark[] = { 20, 32, 21, 22}; 24 UInt_t mark[] = {20, 21, 32, 22}; 25 // 26 THStack* hs = new THStack("hs", ""); 27 28 for ( UInt_t i = 0; i < 2; i++ ) { 29 TString tmp = dataDir + dataFile[i]; 30 f[i] = TFile::Open(tmp); 31 if ( ! f[i] ) return 0; 32 p[i] = (TH1D*)(f[i])->Get("h0"); 33 // ShiftUp(p[i],0.0); 34 // histogram 35 p[i]->SetFillColor(col[i]); 36 p[i]->SetLineStyle(i + 2); 37 p[i]->SetLineColor(col[i]); 38 p[i]->SetLineWidth(2); 39 p[i]->SetMarkerStyle(mark[i]); 40 p[i]->SetMarkerColor(col[i]); 41 p[i]->SetMarkerSize(1.5); 42 hs->Add(p[i]); 43 } 44 TCanvas* cst = new TCanvas("cst", "stacked h 45 // gPad->SetGrid(); 46 hs->Draw("p,nostack"); 47 hs->SetTitle("Total Energy"); 48 hs->GetXaxis()->SetTitle("E/E_{tot} (%)"); 49 // hs->GetYaxis()->SetTitle("No of events") 50 51 cst->RedrawAxis(); 52 cst->Update(); 53 54 TLegend* legend = new TLegend(0.65, 0.84, 0. 55 legend->AddEntry(p[0], 56 Form("full - E %5.3f #sigma %5.3f",p[0]- 57 legend->AddEntry(p[1], 58 Form("gflash - E %5.3f #sigma %5.3f",p[1] 59 legend->Draw(); 60 cst->Update(); 61 62 // img->FromPad(c, 10, 10, 300, 200); 63 64 // TImage *img = TImage::Create(); 65 66 // img->FromPad(cst); 67 68 // img->WriteImage("hist0-640MeV-p.png"); 69 70 // for (UInt_t i = 0; i < 4; i++) { 71 // f[i]->Close(); 72 // } 73 return cst; 74 } 75