#include "TFile.h" #include "TTree.h" #include struct cutvars_t { Int_t s; Double_t mRel; Double_t sumpt; Double_t pt1; Double_t pt2; Double_t pt3; Double_t pt4; Double_t dRp; Double_t dRn; Double_t met; Int_t nTau; }; void bugcmsw() { cutvars_t cutvars; TFile *treeFile = new TFile("bugcms.root","RECREATE"); TTree *tree = new TTree("Tree","Tree of cut variables for later optimization"); tree->Branch("cutvars",&cutvars.s,"s/I:mRel/D:sumpt:pt1:pt2:pt3:pt4:dRp:dRn:met:nTau/I"); cutvars.s = 1; cutvars.mRel = 0.954773; cutvars.sumpt = 447.262; cutvars.pt1 = 44.2483; cutvars.pt2 = 88.4943; cutvars.pt3 = 126.326; cutvars.pt4 = 201.498; cutvars.dRp = 0.967189; cutvars.dRn = 1.10596; cutvars.met = 22.8287; cutvars.nTau = 1; tree->Fill(); cutvars.s = 2; tree->Fill(); cutvars.s = 3; tree->Fill(); tree->AutoSave(); delete treeFile; } void bugcmsr() { cutvars_t cutvars; TFile *f = new TFile("bugcms.root"); TTree *t = (TTree*)f->Get("Tree"); t->SetBranchAddress("cutvars",&cutvars.s); for (Int_t i = 0; i < 3; i++) { t->GetEntry(i); cout << "s:" << cutvars.s << " mRel: " << cutvars.mRel << " pt1: " << cutvars.pt1 << endl; } delete f; } void bugcms() { bugcmsw(); bugcmsr(); }