File indexing completed on 2025-08-06 08:12:20
0001 #include "ReadEvtXY.h"
0002
0003
0004 ReadEvtXY::ReadEvtXY(TTree *tree) : fChain(0)
0005 {
0006
0007
0008 if (tree == 0) {
0009 TFile *f = (TFile*)gROOT->GetListOfFiles()->FindObject("evt_XY_tree.root");
0010 if (!f || !f->IsOpen()) {
0011 f = new TFile("evt_XY_tree.root");
0012 }
0013 f->GetObject("tree",tree);
0014
0015 }
0016 Init(tree);
0017 }
0018
0019 ReadEvtXY::~ReadEvtXY()
0020 {
0021 if (!fChain) return;
0022 delete fChain->GetCurrentFile();
0023 }
0024
0025 Int_t ReadEvtXY::GetEntry(Long64_t entry)
0026 {
0027
0028 if (!fChain) return 0;
0029 return fChain->GetEntry(entry);
0030 }
0031 Long64_t ReadEvtXY::LoadTree(Long64_t entry)
0032 {
0033
0034 if (!fChain) return -5;
0035 Long64_t centry = fChain->LoadTree(entry);
0036 if (centry < 0) return centry;
0037 if (fChain->GetTreeNumber() != fCurrent) {
0038 fCurrent = fChain->GetTreeNumber();
0039 Notify();
0040 }
0041 return centry;
0042 }
0043
0044 void ReadEvtXY::Init(TTree *tree)
0045 {
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055 reco_vtx_x = 0;
0056 reco_vtx_y = 0;
0057 reco_vtx_x_stddev = 0;
0058 reco_vtx_y_stddev = 0;
0059 binwidth_x = 0;
0060 binwidth_y = 0;
0061
0062 if (!tree) return;
0063 fChain = tree;
0064 fCurrent = -1;
0065 fChain->SetMakeClass(1);
0066
0067 fChain->SetBranchAddress("eID", &eID, &b_eID);
0068 fChain->SetBranchAddress("NClus", &NClus, &b_NClus);
0069 fChain->SetBranchAddress("bco_full", &bco_full, &b_bco_full);
0070 fChain->SetBranchAddress("true_vtx_x", &true_vtx_x, &b_true_vtx_x);
0071 fChain->SetBranchAddress("true_vtx_y", &true_vtx_y, &b_true_vtx_y);
0072 fChain->SetBranchAddress("true_vtx_z", &true_vtx_z, &b_true_vtx_z);
0073 fChain->SetBranchAddress("reco_vtx_x", &reco_vtx_x, &b_reco_vtx_x);
0074 fChain->SetBranchAddress("reco_vtx_y", &reco_vtx_y, &b_reco_vtx_y);
0075 fChain->SetBranchAddress("reco_vtx_z", &reco_vtx_z, &b_reco_vtx_z);
0076 fChain->SetBranchAddress("reco_vtx_z_width", &reco_vtx_z_width, &b_reco_vtx_z_width);
0077 fChain->SetBranchAddress("reco_vtx_x_stddev", &reco_vtx_x_stddev, &b_reco_vtx_x_stddev);
0078 fChain->SetBranchAddress("reco_vtx_y_stddev", &reco_vtx_y_stddev, &b_reco_vtx_y_stddev);
0079 fChain->SetBranchAddress("binwidth_x", &binwidth_x, &b_binwidth_x);
0080 fChain->SetBranchAddress("binwidth_y", &binwidth_y, &b_binwidth_y);
0081 Notify();
0082 }
0083
0084 Bool_t ReadEvtXY::Notify()
0085 {
0086
0087
0088
0089
0090
0091
0092 return kTRUE;
0093 }
0094
0095 void ReadEvtXY::Show(Long64_t entry)
0096 {
0097
0098
0099 if (!fChain) return;
0100 fChain->Show(entry);
0101 }
0102 Int_t ReadEvtXY::Cut(Long64_t entry)
0103 {
0104
0105
0106
0107 return 1;
0108 }
0109
0110 void ReadEvtXY::Loop()
0111 {
0112
0113
0114
0115
0116
0117
0118
0119
0120
0121
0122
0123
0124
0125
0126
0127
0128
0129
0130
0131
0132
0133
0134
0135 if (fChain == 0) return;
0136
0137 Long64_t nentries = fChain->GetEntriesFast();
0138
0139 Long64_t nbytes = 0, nb = 0;
0140 for (Long64_t jentry=0; jentry<nentries;jentry++) {
0141 Long64_t ientry = LoadTree(jentry);
0142 if (ientry < 0) break;
0143 nb = fChain->GetEntry(jentry); nbytes += nb;
0144
0145 }
0146 }