#include "TChain.h" #include "TCanvas.h" #include "TCutG.h" #include "TFile.h" #include "TTree.h" #include #include #include #include #include #include using namespace std; //g++ -o prune prune.cpp `root-config --cflags --glibs` // or //g++ `root-config --ldflags` -o prune prune.cpp `root-config --libs` -Wl,--no-as-needed -lHist -lCore -lMathCore int main() { TChain *t1; // TCanvas *c1; Int_t T; Int_t Ta; TCutG *cp; // cp->IsInside(EPL_R,CHIO_ShiftC) TFile *g=new TFile("/home/fpxarda/bp/Desktop/krakow_analysis/cuts/ns10nf10cuts.root"); g->ls(); TCutG *lft,*rht,*cnr; lft = (TCutG*)g->Get("left"); // rht = (TCutG*)g->Get("right"); cnr = (TCutG*)g->Get("corner"); t1 =new TChain("TreeHouse"); TFile *newfile = new TFile("/media/cebolla/rootfiles/Krakow/cut/Run297_corner.root","recreate"); T = 0; Int_t count; UShort_t Ns[40]; UShort_t Nf[40]; Float_t cal[32]; Float_t sumn; bool ecut=false; t1->Add("/media/cebolla/rootfiles/Krakow/Run297cal_traces.root"); Ta = (Int_t) (t1->GetEntriesFast()); cout << "Entries " << Ta/1000 << "k " << endl; // TreeHouse->Branch("Nf", Nf, "Nf[40]/s"); // TreeHouse->Branch("Ns", Ns, "Ns[40]/s"); // TreeHouse->Branch("cal",cal,"cal[32]/F"); // b_sumn = TreeHouse->Branch("sumn", &sumn, " /F"); // Float_t calo[32]; // fChain->SetBranchAddress("cal", calo, &b_cal); t1->SetBranchStatus("*",0); t1->SetBranchStatus("Ns",1); t1->SetBranchStatus("Nf",1); t1->SetBranchStatus("cal",1); t1->SetBranchStatus("sumn",1); t1->SetBranchAddress("Ns",&Ns); t1->SetBranchAddress("Nf",&Nf); t1->SetBranchAddress("cal",&cal); TTree *newtree = t1->CloneTree(0); count = 0; for(Int_t i=0; iGetEntry(i); //lft //you just drew ns:nf, not ns[0]:nf[0]. No idea if the cuts are valid. //[10] has it going on. if(cnr->IsInside(Ns[10],Nf[10])) { // cout<<"gets in loop"<Fill(); count++; } } if((i+1)%1000 == 0||i%(Ta-1) == 0) { cout.flush(); } ecut=false; } newtree->Print(); newtree->AutoSave(); newfile->Close(); delete newfile; }