void tcutgdemo() { gStyle->SetPalette(1); delete gROOT->GetFile("cuttest.root"); TFile *f = TFile::Open("cuttest.root"); TTree *tree; if (!f ) { f = new TFile("cuttest.root","recreate"); tree= new TTree("bigtree","bigtree"); Float_t mipposemc[2]; tree->Branch("mipposemc",mipposemc,"mipposemc[2]/F"); for ( Int_t i=-95; i<100; i += 10 ) { for ( Int_t j=-95; j<100; j += 10 ) { mipposemc[0]=i; mipposemc[1]=j; tree->Fill(); } } tree->Write(); delete f; cout << "TTree bigtree not found" << endl; // return; } else { tree = (TTree*)f->Get("bigtree"); } double ulx[4] = {40.,-2.,40.,40.}; double uly[4] = {10., 70.,70., 0.}; double lrx[4]={-60,-20,-60,-60}; double lry[4]={ 20,-50,-50, 20}; TCutG* upperleft = new TCutG( "upperleft" , 4, uly, ulx ); TCutG* lowerright= new TCutG( "lowerright", 4, lry, lrx ); upperleft->SetVarX("mipposemc[0]"); upperleft->SetVarY("mipposemc[1]"); lowerright->SetVarX("mipposemc[0]"); lowerright->SetVarY("mipposemc[1]"); c1 = new TCanvas( "c1","c1"); TH2F* ulhist = new TH2F("ulhist","ulhist",20,-100,100,20,-100,100); TH2F* lrhist = new TH2F("lrhist","lrhist",20,-100,100,20,-100,100); // tree->Draw("mipposemc[0]:mipposemc[1]>>ulhist","mipposemc[0]>10&&upperleft","colz"); tree->Draw("mipposemc[0]:mipposemc[1]>>ulhist","mipposemc[0]>10&&upperleft","box"); tree->Draw("mipposemc[0]:mipposemc[1]>>lrhist","mipposemc[0]<-10&&lowerright","box"); ulhist->Draw("colz"); lrhist->Draw("colz same"); // delete upperleft; // delete lowerright; }