void kpipi0(const char *filename="skimmed_proc11_prompt_leto_afterBCS_ta_myflag_md0pi.root", const char *outfilename= "kpipi0.root") { // Read your input file TFile *f = new TFile(filename,"READ"); TTree *tree = (TTree*) f->Get("DstD0PiKK"); Double_t Dz_M, Dst_M, Dst_isSignalAcceptMissingGamma, DzPi_M; Int_t my_flag; tree->SetBranchAddress("Dz_M",&Dz_M); tree->SetBranchAddress("Dst_M",&Dst_M); tree->SetBranchAddress("DzPi_M",&DzPi_M); tree->SetBranchAddress("Dst_isSignalAcceptMissingGamma",&Dst_isSignalAcceptMissingGamma); tree->SetBranchAddress("my_flag",&my_flag); TFile *f1 = new TFile(outfilename,"RECREATE"); TTree *t1 = new TTree("d0pi_distributions","tTREE");//creating a tree TTree *t2 = new TTree("d0_distributions","tTREE");//creating a tree Double_t d0pi_kk, d0pi_kpipi0, d0pi_e, d0pi_kpi, d0pi_mu, d0_kk, d0_kpipi0, d0_e, d0_kpi, d0_mu; TBranch *b_d0pi_kpipi0=t1->Branch("d0pi_kpipi0",&d0pi_kpipi0,"d0pi_kpipi0/D"); TBranch *b_d0_kpipi0=t2->Branch("d0_kpipi0",&d0_kpipi0,"d0_kpipi0/D"); // Loop over candidates Long64_t nentries = tree->GetEntriesFast(); for (Long64_t i=0; iGetEntry(i); //kpipi0 if(my_flag==4||my_flag==7||my_flag==8||my_flag==16||my_flag==20||my_flag==49||my_flag==207||my_flag==218||my_flag==225||my_flag==503){ d0pi_kpipi0=DzPi_M; d0_kpipi0=Dz_M; if(Dz_M>1.855&&Dz_M<1.875) { b_d0pi_kpipi0->Fill(); t1->Fill(); } if(DzPi_M>2.009&&DzPi_M<2.011) { d0_kpipi0=Dz_M; b_d0_kpipi0->Fill(); t2->Fill(); } } } t1->Write(); t2->Write(); f1->Close(); }