#include #include "TTree.h" #include "TFile.h" #include #include #ifdef __MAKECINT__ #pragma link C++ class std::vector < std::vector >+; #endif using namespace std; void add_var(){ Int_t tau_n; vector * tau_etEflow= 0; vector *tau_jet_Et=0; vector > *tau_track_nTRTHits = 0; vector > *tau_track_nTRTHighTHits = 0; vector > *tau_track_nTRTOutliers = 0; vector > *tau_track_nTRTHighTOutliers = 0; TBranch *b_tau_track_nTRTHighTHits; //! TBranch *b_tau_track_nTRTOutliers; //! TBranch *b_tau_track_nTRTHighTOutliers; //! TBranch *b_tau_n; TBranch *b_tau_track_nTRTHits; TBranch *b_tau_etEflow; TBranch *b_tau_jet_Et; vector *TRThitsRatio = new vector; vector *etEflowOverjetEt = new vector; TFile f("/data0/asircar/Slims/NewSlims/j4.root", "READ"); TTree *t3 = (TTree*)f.Get("tauPerf"); t3->SetBranchAddress("tau_track_nTRTHits", &tau_track_nTRTHits, &b_tau_track_nTRTHits); t3->SetBranchAddress("tau_track_nTRTHighTHits", &tau_track_nTRTHighTHits, &b_tau_track_nTRTHighTHits); t3->SetBranchAddress("tau_track_nTRTOutliers", &tau_track_nTRTOutliers, &b_tau_track_nTRTOutliers); t3->SetBranchAddress("tau_track_nTRTHighTOutliers", &tau_track_nTRTHighTOutliers, &b_tau_track_nTRTHighTOutliers); t3->SetBranchAddress("tau_n", &tau_n, &b_tau_n); t3->SetBranchAddress("tau_etEflow", &tau_etEflow, &b_tau_etEflow); t3->SetBranchAddress("tau_jet_Et",&tau_jet_Et, &b_tau_jet_Et); TFile fnew("j4.new.root","RECREATE"); TTree* t4 = t3->CloneTree(0); t4->Branch("tau_TRThitsRatio",&TRThitsRatio); t4->Branch("tau_etEflowOverjetEt",&etEflowOverjetEt); Long64_t nentries = t3->GetEntries(); //cout<<"entries"<< nentries<clear(); etEflowOverjetEt->clear(); t3->GetEntry(i); //cout<< "num tau"< nTRTHits = tau_track_nTRTHits->at(j); vector nTRTOutliers = tau_track_nTRTOutliers->at(j); vector nTRTHighThreshHits = tau_track_nTRTHighTHits->at(j); vector nTRTHighThreshOutliers = tau_track_nTRTHighTOutliers->at(j); //cout <<"len hits"<at(j); cout <<"et"<< etflow<at(j); cout <<"jetEt"<< jetet<1000000){ //cout<<":::::::::::::::::::::::::::::::::::::::::::::::::: ratio fail"<push_back(rationew); } int k = 0; if(nTRTHits.size()){ lowthresh = nTRTHits.at(k) + nTRTOutliers.at(k); //cout<< "trthits"<< nTRTHits.at(k)<< endl; //cout<< "trtouthits"< 0 ) ratio = (float(highthresh)/float(lowthresh)); else ratio = -1111; //cout<<"ratio"<push_back(ratio); } else {TRThitsRatio->push_back(-1111);} } t4->Fill(); } fnew.cd(); fnew.Write(); fnew.Close(); }