{ //%%%%%%%%%%%%%% Original data file from the experiment %%%%%%%%%%%%%%%%%// TString fname="chams.root"; TString tree_name="TREE"; //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%// //%%%%%%%%%%%%%%%%%% Values considered for Different Cuts %%%%%%%%%%%%%%%%%%// //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%// Double_t B_up1 = 62; Double_t B_up2 = 68; // Double_t GE1_min = 10; Double_t GE1_max = 8000; // Double_t GE3_min = 10; Double_t GE3_max = 8000; // // Double_t GT13_Pk1 = 4060; Double_t GT13_Pk2 = 4105; // Peak limits Double_t GT13_L1 = 3800; Double_t GT13_L2 = 4000; // Left background limits Double_t GT13_R1 = 4150; Double_t GT13_R2 = 4450; // Right background limits // TCut b1 = Form("X.B>%g && X.B<%g",B_up1,B_up2); // TCut ra_GE1 = Form("X.GE1>%g && X.GE1<%g",GE1_min,GE1_max); TCut ra_GE3 = Form("X.GE3>%g && X.GE3<%g",GE3_min,GE3_max); // TCut t13 = Form("X.GT13>%g && X.GT13<%g",GT13_Pk1,GT13_Pk2); TCut t13L = Form("X.GT13>%g && X.GT13<%g",GT13_L1,GT13_L2); TCut t13R = Form("X.GT13>%g && X.GT13<%g",GT13_R1,GT13_R2); //%%%%%%%%%%%%% Individaul cuts for Gamma Detectros %%%%%%%%%%%%%%%%%%%%%%// TCut g1t13_up = ra_GE1 && t13 && b1; TCut g3t13_up = ra_GE3 && t13 && b1; // TCut g1t13L_up = ra_GE1 && t13L && b1; TCut g3t13L_up = ra_GE3 && t13L && b1; // TCut g1t13R_up = ra_GE1 && t13R && b1; TCut g3t13R_up = ra_GE3 && t13R && b1; // //%%%%%%%%%%%%% Resulting output files %%%%%%%%%%%%// TString Mf13U = "mat_G13_56CoFe0808_IMPAC_up.root"; TString hf13U = "2hG13_up"; TString Mf13D = "mat_G13_56CoFe0808_IMPAC_dw.root"; TString hf13D = "2hG13_dw"; //&&&&&&&&&&&&&&&&&&&& FINAL DATA SORTING &&&&&&&&&&&&&&&&&&&&&&&&&&&&&// // TFile* f1=TFile::Open( fname.Data(), "READ" ); TTree *T = (TTree*)f1.Get("tree_name"); // TCanvas *MyC1 = new TCanvas("MyC1","Fitting canvas",10,10,900,700); MyC1->Divide(2,2); // MyC1->cd(1); TH2F *h1 = new TH2F("h1","",4000,0,4000,4000,0,4000); // TREE->Draw("X.GE1:GE3>>h1",g1t13_up||g3t13_up); // h1->GetXaxis()->SetTitle("EG1"); h1->GetYaxis()->SetTitle("EG3"); // // TFile* f1=TFile::Open( fname.Data(), "READ" ); TTree *T = (TTree*)f1.Get("tree_name"); // MyC1->cd(2); TH2F* h2=(TH2F*) h1->Clone(); h2->SetDirectory(0); h2->Reset(); TREE->Draw("X.GE1:GE3>>h2",g1t13L_up||g3t13L_up); // TFile* f1=TFile::Open( fname.Data(), "READ" ); TTree *T = (TTree*)f1.Get("tree_name"); // MyC1->cd(3); TH2F* h3=(TH2F*) h1->Clone(); h3->SetDirectory(0); h3->Reset(); // TREE->Draw("X.GE1:GE3>>h3",g1t13R_up||g3t13R_up); // Addition MyC1->cd(4); // TAxis *ax1 = h2->GetXaxis(); TAxis *ay1 = h2->GetYaxis(); TAxis *ax2 = h3->GetXaxis(); TAxis *ay2 = h3->GetYaxis(); // TH2F *h_new = new TH2F("h_new","h2+h3",4000,0,4000,4000,0,4000); // Int_t i,j; Float_t x,y; for (i=1;i<=4000;i++) { x = ax1->GetBinCenter(i); for (j=1;j<=4000;j++) { y = ay1->GetBinCenter(j); h_new->Fill(x,y,h2->GetCellContent(i,j)); } } for (i=1;i<=4000;i++) { x = ax2->GetBinCenter(i); for (j=1;j<=4000;j++) { y = ay2->GetBinCenter(j); h_new->Fill(x,y,h3->GetCellContent(i,j)); } } h_new->Draw(); // }