File indexing completed on 2025-08-06 08:12:32
0001 #include <TFile.h>
0002
0003 #include <TTree.h>
0004
0005 #include <TDirectory.h>
0006
0007
0008
0009 #include "mbdtree.C"
0010
0011 #include <iostream>
0012
0013
0014
0015 void sync_mbd_intt_full() {
0016
0017 TDirectory * gDir = gDirectory;
0018
0019 TFile * f_mbd = TFile::Open("/sphenix/tg/tg01/commissioning/INTT/subsystems/MBD/auau2023_v1/beam_seb18-00020869-0000_mbd.root");
0020 gDirectory = gDir;
0021 TTree * t_mbd = (TTree * ) f_mbd -> Get("t");
0022 cout << " " << t_mbd << endl;
0023 if (!t_mbd) return;
0024 mbdtree mbdt(t_mbd);
0025
0026 string folder_direction = "/sphenix/user/ChengWei/INTT/INTT_commissioning/ZeroField/20869/folder_beam_inttall-00020869-0000_event_base_ana_cluster_full_survey_3.32_excludeR40000_200kEvent_3HotCut_advanced_test";
0027 TFile * f_intt = TFile::Open(Form("%s/INTT_zvtx_200k.root", folder_direction.c_str()));
0028 gDirectory = gDir;
0029 TTree * t_intt = (TTree * ) f_intt -> Get("tree_Z");
0030 if (!t_intt) return;
0031
0032 int intt_eID, intt_N_cluster_outer, intt_N_cluster_inner, intt_N_good, intt_ES_N_good, intt_N_group;
0033 double intt_ES_zvtx, intt_ES_zvtxE, intt_ES_rangeL, intt_ES_rangeR, intt_ES_width_density;
0034 double intt_LB_Gaus_mean, intt_LB_Gaus_meanE, intt_LB_Gaus_width, intt_LB_Gaus_offset, intt_LB_Gaus_chi2, intt_LB_Gaus_size_width, intt_LB_geo_mean;
0035 double MC_true_zvtx;
0036 bool intt_good_zvtx_tag;
0037 Long64_t intt_bco_full;
0038
0039 t_intt -> SetBranchAddress("eID",&intt_eID);
0040 t_intt -> SetBranchAddress("bco_full",&intt_bco_full);
0041 t_intt -> SetBranchAddress("nclu_inner",&intt_N_cluster_inner);
0042 t_intt -> SetBranchAddress("nclu_outer",&intt_N_cluster_outer);
0043 t_intt -> SetBranchAddress("ES_zvtx",&intt_ES_zvtx);
0044 t_intt -> SetBranchAddress("ES_zvtxE",&intt_ES_zvtxE);
0045 t_intt -> SetBranchAddress("ES_rangeL",&intt_ES_rangeL);
0046 t_intt -> SetBranchAddress("ES_rangeR",&intt_ES_rangeR);
0047 t_intt -> SetBranchAddress("ES_N_good",&intt_ES_N_good);
0048 t_intt -> SetBranchAddress("ES_Width_density",&intt_ES_width_density);
0049 t_intt -> SetBranchAddress("LB_Gaus_Mean_mean",&intt_LB_Gaus_mean);
0050 t_intt -> SetBranchAddress("LB_Gaus_Mean_meanE",&intt_LB_Gaus_meanE);
0051 t_intt -> SetBranchAddress("LB_Gaus_Mean_width",&intt_LB_Gaus_width);
0052 t_intt -> SetBranchAddress("LB_Gaus_Width_offset", &intt_LB_Gaus_offset);
0053 t_intt -> SetBranchAddress("LB_Gaus_Mean_chi2", &intt_LB_Gaus_chi2);
0054 t_intt -> SetBranchAddress("LB_Gaus_Width_size_width", &intt_LB_Gaus_size_width);
0055 t_intt -> SetBranchAddress("LB_geo_mean", &intt_LB_geo_mean);
0056 t_intt -> SetBranchAddress("good_zvtx_tag", &intt_good_zvtx_tag);
0057 t_intt -> SetBranchAddress("mid_cut_Ngroup", &intt_N_group);
0058 t_intt -> SetBranchAddress("MC_true_zvtx",&MC_true_zvtx);
0059
0060 cout << t_mbd -> GetEntries() << " " << t_intt -> GetEntries() << endl;
0061
0062 TFile * out_file = new TFile(Form("%s/INTT_MBD_zvtx.root",folder_direction.c_str()),"RECREATE");
0063
0064 int out_eID, out_N_cluster_outer, out_N_cluster_inner, out_N_good, out_ES_N_good, out_N_group;
0065 double out_ES_zvtx, out_ES_zvtxE, out_ES_rangeL, out_ES_rangeR, out_ES_width_density;
0066 double out_LB_Gaus_mean, out_LB_Gaus_meanE, out_LB_Gaus_width, out_LB_Gaus_offset, out_LB_Gaus_chi2, out_LB_Gaus_size_width, out_LB_geo_mean;
0067 double out_MC_true_zvtx;
0068 bool out_good_zvtx_tag;
0069 Long64_t out_bco_full;
0070
0071 double out_mbd_bz, out_mbd_bqs, out_mbd_bqn;
0072 double out_mbd_bns, out_mbd_bnn;
0073 double out_mbd_bts, out_mbd_btn;
0074 double out_mbd_bt0;
0075 vector<double> out_mbd_tt; out_mbd_tt.clear();
0076 vector<double> out_mbd_tq; out_mbd_tq.clear();
0077 vector<double> out_mbd_q; out_mbd_q.clear();
0078
0079 TTree * tree_out = new TTree ("tree_Z", "INTT Z info.");
0080
0081 tree_out -> Branch("eID",&out_eID);
0082 tree_out -> Branch("bco_full",&out_bco_full);
0083 tree_out -> Branch("nclu_inner",&out_N_cluster_inner);
0084 tree_out -> Branch("nclu_outer",&out_N_cluster_outer);
0085 tree_out -> Branch("ES_zvtx",&out_ES_zvtx);
0086 tree_out -> Branch("ES_zvtxE",&out_ES_zvtxE);
0087 tree_out -> Branch("ES_rangeL",&out_ES_rangeL);
0088 tree_out -> Branch("ES_rangeR",&out_ES_rangeR);
0089 tree_out -> Branch("ES_N_good",&out_ES_N_good);
0090 tree_out -> Branch("ES_Width_density",&out_ES_width_density);
0091 tree_out -> Branch("LB_Gaus_mean",&out_LB_Gaus_mean);
0092 tree_out -> Branch("LB_Gaus_meanE",&out_LB_Gaus_meanE);
0093 tree_out -> Branch("LB_Gaus_width",&out_LB_Gaus_width);
0094 tree_out -> Branch("LB_Gaus_offset", &out_LB_Gaus_offset);
0095 tree_out -> Branch("LB_Gaus_chi2", &out_LB_Gaus_chi2);
0096 tree_out -> Branch("LB_Gaus_size_width", &out_LB_Gaus_size_width);
0097 tree_out -> Branch("LB_geo_mean", &out_LB_geo_mean);
0098 tree_out -> Branch("good_zvtx_tag", &out_good_zvtx_tag);
0099 tree_out -> Branch("N_group", &out_N_group);
0100 tree_out -> Branch("MC_true_zvtx",&out_MC_true_zvtx);
0101
0102 tree_out -> Branch("mbd_bz",&out_mbd_bz);
0103 tree_out -> Branch("mbd_bqs",&out_mbd_bqs);
0104 tree_out -> Branch("mbd_bqn",&out_mbd_bqn);
0105 tree_out -> Branch("mbd_bns",&out_mbd_bns);
0106 tree_out -> Branch("mbd_bnn",&out_mbd_bnn);
0107 tree_out -> Branch("mbd_bts",&out_mbd_bts);
0108 tree_out -> Branch("mbd_btn",&out_mbd_btn);
0109 tree_out -> Branch("mbd_bt0",&out_mbd_bt0);
0110 tree_out -> Branch("mbd_tt_vec",&out_mbd_tt);
0111 tree_out -> Branch("mbd_tq_vec",&out_mbd_tq);
0112 tree_out -> Branch("mbd_q_vec",&out_mbd_q);
0113
0114
0115 gDirectory = gDir;
0116
0117 TH2F * h_qmbd_nintt = new TH2F("h_qmbd_nintt", "BbcQ vs Intt N", 200, 0, 9000, 200, 0, 4000);
0118 TH2F * intt_mbd_bco = new TH2F("intt_mbd_bco", "INTT - MBD", 100, 0, 50000, 100, -10, 100000);
0119
0120 int prev_mbdclk = 0;
0121 ULong64_t prev_bco = 0;
0122
0123 bool found_firstevt = false;
0124 int mbd_evt_offset = 0;
0125 int intt_evt_offset = 0;
0126
0127 long long number_Nevent = t_intt -> GetEntries();
0128
0129
0130
0131
0132
0133 for (int i = 0; i < number_Nevent; i++) {
0134 mbdt.LoadTree(i + mbd_evt_offset);
0135 mbdt.GetEntry(i + mbd_evt_offset);
0136 t_intt -> GetEntry(i + intt_evt_offset);
0137
0138 float bbcq = mbdt.bqn + mbdt.bqs;
0139
0140 unsigned short mbdclk = mbdt.femclk;
0141 ULong64_t bco = intt_bco_full;
0142 ULong64_t bco16 = bco & 0xFFFF;
0143
0144 int mbd_prvdif = (mbdclk - prev_mbdclk) & 0xFFFF;
0145 ULong64_t intt_prvdif = bco - prev_bco;
0146
0147 prev_mbdclk = mbdclk;
0148 prev_bco = bco;
0149
0150 out_mbd_bqn = mbdt.bqn;
0151 out_mbd_bqs = mbdt.bqs;
0152 out_mbd_bz = mbdt.bz;
0153 out_mbd_bns = mbdt.bns;
0154 out_mbd_bnn = mbdt.bnn;
0155 out_mbd_bts = mbdt.bts;
0156 out_mbd_btn = mbdt.btn;
0157 out_mbd_bt0 = mbdt.bt0;
0158
0159 out_mbd_tt.push_back(mbdt.tt0); out_mbd_tq.push_back(mbdt.tq0); out_mbd_q.push_back(mbdt.q0);
0160 out_mbd_tt.push_back(mbdt.tt1); out_mbd_tq.push_back(mbdt.tq1); out_mbd_q.push_back(mbdt.q1);
0161 out_mbd_tt.push_back(mbdt.tt2); out_mbd_tq.push_back(mbdt.tq2); out_mbd_q.push_back(mbdt.q2);
0162 out_mbd_tt.push_back(mbdt.tt3); out_mbd_tq.push_back(mbdt.tq3); out_mbd_q.push_back(mbdt.q3);
0163 out_mbd_tt.push_back(mbdt.tt4); out_mbd_tq.push_back(mbdt.tq4); out_mbd_q.push_back(mbdt.q4);
0164 out_mbd_tt.push_back(mbdt.tt5); out_mbd_tq.push_back(mbdt.tq5); out_mbd_q.push_back(mbdt.q5);
0165 out_mbd_tt.push_back(mbdt.tt6); out_mbd_tq.push_back(mbdt.tq6); out_mbd_q.push_back(mbdt.q6);
0166 out_mbd_tt.push_back(mbdt.tt7); out_mbd_tq.push_back(mbdt.tq7); out_mbd_q.push_back(mbdt.q7);
0167 out_mbd_tt.push_back(mbdt.tt8); out_mbd_tq.push_back(mbdt.tq8); out_mbd_q.push_back(mbdt.q8);
0168 out_mbd_tt.push_back(mbdt.tt9); out_mbd_tq.push_back(mbdt.tq9); out_mbd_q.push_back(mbdt.q9);
0169 out_mbd_tt.push_back(mbdt.tt10); out_mbd_tq.push_back(mbdt.tq10); out_mbd_q.push_back(mbdt.q10);
0170 out_mbd_tt.push_back(mbdt.tt11); out_mbd_tq.push_back(mbdt.tq11); out_mbd_q.push_back(mbdt.q11);
0171 out_mbd_tt.push_back(mbdt.tt12); out_mbd_tq.push_back(mbdt.tq12); out_mbd_q.push_back(mbdt.q12);
0172 out_mbd_tt.push_back(mbdt.tt13); out_mbd_tq.push_back(mbdt.tq13); out_mbd_q.push_back(mbdt.q13);
0173 out_mbd_tt.push_back(mbdt.tt14); out_mbd_tq.push_back(mbdt.tq14); out_mbd_q.push_back(mbdt.q14);
0174 out_mbd_tt.push_back(mbdt.tt15); out_mbd_tq.push_back(mbdt.tq15); out_mbd_q.push_back(mbdt.q15);
0175 out_mbd_tt.push_back(mbdt.tt16); out_mbd_tq.push_back(mbdt.tq16); out_mbd_q.push_back(mbdt.q16);
0176 out_mbd_tt.push_back(mbdt.tt17); out_mbd_tq.push_back(mbdt.tq17); out_mbd_q.push_back(mbdt.q17);
0177 out_mbd_tt.push_back(mbdt.tt18); out_mbd_tq.push_back(mbdt.tq18); out_mbd_q.push_back(mbdt.q18);
0178 out_mbd_tt.push_back(mbdt.tt19); out_mbd_tq.push_back(mbdt.tq19); out_mbd_q.push_back(mbdt.q19);
0179 out_mbd_tt.push_back(mbdt.tt20); out_mbd_tq.push_back(mbdt.tq20); out_mbd_q.push_back(mbdt.q20);
0180 out_mbd_tt.push_back(mbdt.tt21); out_mbd_tq.push_back(mbdt.tq21); out_mbd_q.push_back(mbdt.q21);
0181 out_mbd_tt.push_back(mbdt.tt22); out_mbd_tq.push_back(mbdt.tq22); out_mbd_q.push_back(mbdt.q22);
0182 out_mbd_tt.push_back(mbdt.tt23); out_mbd_tq.push_back(mbdt.tq23); out_mbd_q.push_back(mbdt.q23);
0183 out_mbd_tt.push_back(mbdt.tt24); out_mbd_tq.push_back(mbdt.tq24); out_mbd_q.push_back(mbdt.q24);
0184 out_mbd_tt.push_back(mbdt.tt25); out_mbd_tq.push_back(mbdt.tq25); out_mbd_q.push_back(mbdt.q25);
0185 out_mbd_tt.push_back(mbdt.tt26); out_mbd_tq.push_back(mbdt.tq26); out_mbd_q.push_back(mbdt.q26);
0186 out_mbd_tt.push_back(mbdt.tt27); out_mbd_tq.push_back(mbdt.tq27); out_mbd_q.push_back(mbdt.q27);
0187 out_mbd_tt.push_back(mbdt.tt28); out_mbd_tq.push_back(mbdt.tq28); out_mbd_q.push_back(mbdt.q28);
0188 out_mbd_tt.push_back(mbdt.tt29); out_mbd_tq.push_back(mbdt.tq29); out_mbd_q.push_back(mbdt.q29);
0189 out_mbd_tt.push_back(mbdt.tt30); out_mbd_tq.push_back(mbdt.tq30); out_mbd_q.push_back(mbdt.q30);
0190 out_mbd_tt.push_back(mbdt.tt31); out_mbd_tq.push_back(mbdt.tq31); out_mbd_q.push_back(mbdt.q31);
0191 out_mbd_tt.push_back(mbdt.tt32); out_mbd_tq.push_back(mbdt.tq32); out_mbd_q.push_back(mbdt.q32);
0192 out_mbd_tt.push_back(mbdt.tt33); out_mbd_tq.push_back(mbdt.tq33); out_mbd_q.push_back(mbdt.q33);
0193 out_mbd_tt.push_back(mbdt.tt34); out_mbd_tq.push_back(mbdt.tq34); out_mbd_q.push_back(mbdt.q34);
0194 out_mbd_tt.push_back(mbdt.tt35); out_mbd_tq.push_back(mbdt.tq35); out_mbd_q.push_back(mbdt.q35);
0195 out_mbd_tt.push_back(mbdt.tt36); out_mbd_tq.push_back(mbdt.tq36); out_mbd_q.push_back(mbdt.q36);
0196 out_mbd_tt.push_back(mbdt.tt37); out_mbd_tq.push_back(mbdt.tq37); out_mbd_q.push_back(mbdt.q37);
0197 out_mbd_tt.push_back(mbdt.tt38); out_mbd_tq.push_back(mbdt.tq38); out_mbd_q.push_back(mbdt.q38);
0198 out_mbd_tt.push_back(mbdt.tt39); out_mbd_tq.push_back(mbdt.tq39); out_mbd_q.push_back(mbdt.q39);
0199 out_mbd_tt.push_back(mbdt.tt40); out_mbd_tq.push_back(mbdt.tq40); out_mbd_q.push_back(mbdt.q40);
0200 out_mbd_tt.push_back(mbdt.tt41); out_mbd_tq.push_back(mbdt.tq41); out_mbd_q.push_back(mbdt.q41);
0201 out_mbd_tt.push_back(mbdt.tt42); out_mbd_tq.push_back(mbdt.tq42); out_mbd_q.push_back(mbdt.q42);
0202 out_mbd_tt.push_back(mbdt.tt43); out_mbd_tq.push_back(mbdt.tq43); out_mbd_q.push_back(mbdt.q43);
0203 out_mbd_tt.push_back(mbdt.tt44); out_mbd_tq.push_back(mbdt.tq44); out_mbd_q.push_back(mbdt.q44);
0204 out_mbd_tt.push_back(mbdt.tt45); out_mbd_tq.push_back(mbdt.tq45); out_mbd_q.push_back(mbdt.q45);
0205 out_mbd_tt.push_back(mbdt.tt46); out_mbd_tq.push_back(mbdt.tq46); out_mbd_q.push_back(mbdt.q46);
0206 out_mbd_tt.push_back(mbdt.tt47); out_mbd_tq.push_back(mbdt.tq47); out_mbd_q.push_back(mbdt.q47);
0207 out_mbd_tt.push_back(mbdt.tt48); out_mbd_tq.push_back(mbdt.tq48); out_mbd_q.push_back(mbdt.q48);
0208 out_mbd_tt.push_back(mbdt.tt49); out_mbd_tq.push_back(mbdt.tq49); out_mbd_q.push_back(mbdt.q49);
0209 out_mbd_tt.push_back(mbdt.tt50); out_mbd_tq.push_back(mbdt.tq50); out_mbd_q.push_back(mbdt.q50);
0210 out_mbd_tt.push_back(mbdt.tt51); out_mbd_tq.push_back(mbdt.tq51); out_mbd_q.push_back(mbdt.q51);
0211 out_mbd_tt.push_back(mbdt.tt52); out_mbd_tq.push_back(mbdt.tq52); out_mbd_q.push_back(mbdt.q52);
0212 out_mbd_tt.push_back(mbdt.tt53); out_mbd_tq.push_back(mbdt.tq53); out_mbd_q.push_back(mbdt.q53);
0213 out_mbd_tt.push_back(mbdt.tt54); out_mbd_tq.push_back(mbdt.tq54); out_mbd_q.push_back(mbdt.q54);
0214 out_mbd_tt.push_back(mbdt.tt55); out_mbd_tq.push_back(mbdt.tq55); out_mbd_q.push_back(mbdt.q55);
0215 out_mbd_tt.push_back(mbdt.tt56); out_mbd_tq.push_back(mbdt.tq56); out_mbd_q.push_back(mbdt.q56);
0216 out_mbd_tt.push_back(mbdt.tt57); out_mbd_tq.push_back(mbdt.tq57); out_mbd_q.push_back(mbdt.q57);
0217 out_mbd_tt.push_back(mbdt.tt58); out_mbd_tq.push_back(mbdt.tq58); out_mbd_q.push_back(mbdt.q58);
0218 out_mbd_tt.push_back(mbdt.tt59); out_mbd_tq.push_back(mbdt.tq59); out_mbd_q.push_back(mbdt.q59);
0219 out_mbd_tt.push_back(mbdt.tt60); out_mbd_tq.push_back(mbdt.tq60); out_mbd_q.push_back(mbdt.q60);
0220 out_mbd_tt.push_back(mbdt.tt61); out_mbd_tq.push_back(mbdt.tq61); out_mbd_q.push_back(mbdt.q61);
0221 out_mbd_tt.push_back(mbdt.tt62); out_mbd_tq.push_back(mbdt.tq62); out_mbd_q.push_back(mbdt.q62);
0222 out_mbd_tt.push_back(mbdt.tt63); out_mbd_tq.push_back(mbdt.tq63); out_mbd_q.push_back(mbdt.q63);
0223 out_mbd_tt.push_back(mbdt.tt64); out_mbd_tq.push_back(mbdt.tq64); out_mbd_q.push_back(mbdt.q64);
0224 out_mbd_tt.push_back(mbdt.tt65); out_mbd_tq.push_back(mbdt.tq65); out_mbd_q.push_back(mbdt.q65);
0225 out_mbd_tt.push_back(mbdt.tt66); out_mbd_tq.push_back(mbdt.tq66); out_mbd_q.push_back(mbdt.q66);
0226 out_mbd_tt.push_back(mbdt.tt67); out_mbd_tq.push_back(mbdt.tq67); out_mbd_q.push_back(mbdt.q67);
0227 out_mbd_tt.push_back(mbdt.tt68); out_mbd_tq.push_back(mbdt.tq68); out_mbd_q.push_back(mbdt.q68);
0228 out_mbd_tt.push_back(mbdt.tt69); out_mbd_tq.push_back(mbdt.tq69); out_mbd_q.push_back(mbdt.q69);
0229 out_mbd_tt.push_back(mbdt.tt70); out_mbd_tq.push_back(mbdt.tq70); out_mbd_q.push_back(mbdt.q70);
0230 out_mbd_tt.push_back(mbdt.tt71); out_mbd_tq.push_back(mbdt.tq71); out_mbd_q.push_back(mbdt.q71);
0231 out_mbd_tt.push_back(mbdt.tt72); out_mbd_tq.push_back(mbdt.tq72); out_mbd_q.push_back(mbdt.q72);
0232 out_mbd_tt.push_back(mbdt.tt73); out_mbd_tq.push_back(mbdt.tq73); out_mbd_q.push_back(mbdt.q73);
0233 out_mbd_tt.push_back(mbdt.tt74); out_mbd_tq.push_back(mbdt.tq74); out_mbd_q.push_back(mbdt.q74);
0234 out_mbd_tt.push_back(mbdt.tt75); out_mbd_tq.push_back(mbdt.tq75); out_mbd_q.push_back(mbdt.q75);
0235 out_mbd_tt.push_back(mbdt.tt76); out_mbd_tq.push_back(mbdt.tq76); out_mbd_q.push_back(mbdt.q76);
0236 out_mbd_tt.push_back(mbdt.tt77); out_mbd_tq.push_back(mbdt.tq77); out_mbd_q.push_back(mbdt.q77);
0237 out_mbd_tt.push_back(mbdt.tt78); out_mbd_tq.push_back(mbdt.tq78); out_mbd_q.push_back(mbdt.q78);
0238 out_mbd_tt.push_back(mbdt.tt79); out_mbd_tq.push_back(mbdt.tq79); out_mbd_q.push_back(mbdt.q79);
0239 out_mbd_tt.push_back(mbdt.tt80); out_mbd_tq.push_back(mbdt.tq80); out_mbd_q.push_back(mbdt.q80);
0240 out_mbd_tt.push_back(mbdt.tt81); out_mbd_tq.push_back(mbdt.tq81); out_mbd_q.push_back(mbdt.q81);
0241 out_mbd_tt.push_back(mbdt.tt82); out_mbd_tq.push_back(mbdt.tq82); out_mbd_q.push_back(mbdt.q82);
0242 out_mbd_tt.push_back(mbdt.tt83); out_mbd_tq.push_back(mbdt.tq83); out_mbd_q.push_back(mbdt.q83);
0243 out_mbd_tt.push_back(mbdt.tt84); out_mbd_tq.push_back(mbdt.tq84); out_mbd_q.push_back(mbdt.q84);
0244 out_mbd_tt.push_back(mbdt.tt85); out_mbd_tq.push_back(mbdt.tq85); out_mbd_q.push_back(mbdt.q85);
0245 out_mbd_tt.push_back(mbdt.tt86); out_mbd_tq.push_back(mbdt.tq86); out_mbd_q.push_back(mbdt.q86);
0246 out_mbd_tt.push_back(mbdt.tt87); out_mbd_tq.push_back(mbdt.tq87); out_mbd_q.push_back(mbdt.q87);
0247 out_mbd_tt.push_back(mbdt.tt88); out_mbd_tq.push_back(mbdt.tq88); out_mbd_q.push_back(mbdt.q88);
0248 out_mbd_tt.push_back(mbdt.tt89); out_mbd_tq.push_back(mbdt.tq89); out_mbd_q.push_back(mbdt.q89);
0249 out_mbd_tt.push_back(mbdt.tt90); out_mbd_tq.push_back(mbdt.tq90); out_mbd_q.push_back(mbdt.q90);
0250 out_mbd_tt.push_back(mbdt.tt91); out_mbd_tq.push_back(mbdt.tq91); out_mbd_q.push_back(mbdt.q91);
0251 out_mbd_tt.push_back(mbdt.tt92); out_mbd_tq.push_back(mbdt.tq92); out_mbd_q.push_back(mbdt.q92);
0252 out_mbd_tt.push_back(mbdt.tt93); out_mbd_tq.push_back(mbdt.tq93); out_mbd_q.push_back(mbdt.q93);
0253 out_mbd_tt.push_back(mbdt.tt94); out_mbd_tq.push_back(mbdt.tq94); out_mbd_q.push_back(mbdt.q94);
0254 out_mbd_tt.push_back(mbdt.tt95); out_mbd_tq.push_back(mbdt.tq95); out_mbd_q.push_back(mbdt.q95);
0255 out_mbd_tt.push_back(mbdt.tt96); out_mbd_tq.push_back(mbdt.tq96); out_mbd_q.push_back(mbdt.q96);
0256 out_mbd_tt.push_back(mbdt.tt97); out_mbd_tq.push_back(mbdt.tq97); out_mbd_q.push_back(mbdt.q97);
0257 out_mbd_tt.push_back(mbdt.tt98); out_mbd_tq.push_back(mbdt.tq98); out_mbd_q.push_back(mbdt.q98);
0258 out_mbd_tt.push_back(mbdt.tt99); out_mbd_tq.push_back(mbdt.tq99); out_mbd_q.push_back(mbdt.q99);
0259 out_mbd_tt.push_back(mbdt.tt100); out_mbd_tq.push_back(mbdt.tq100); out_mbd_q.push_back(mbdt.q100);
0260 out_mbd_tt.push_back(mbdt.tt101); out_mbd_tq.push_back(mbdt.tq101); out_mbd_q.push_back(mbdt.q101);
0261 out_mbd_tt.push_back(mbdt.tt102); out_mbd_tq.push_back(mbdt.tq102); out_mbd_q.push_back(mbdt.q102);
0262 out_mbd_tt.push_back(mbdt.tt103); out_mbd_tq.push_back(mbdt.tq103); out_mbd_q.push_back(mbdt.q103);
0263 out_mbd_tt.push_back(mbdt.tt104); out_mbd_tq.push_back(mbdt.tq104); out_mbd_q.push_back(mbdt.q104);
0264 out_mbd_tt.push_back(mbdt.tt105); out_mbd_tq.push_back(mbdt.tq105); out_mbd_q.push_back(mbdt.q105);
0265 out_mbd_tt.push_back(mbdt.tt106); out_mbd_tq.push_back(mbdt.tq106); out_mbd_q.push_back(mbdt.q106);
0266 out_mbd_tt.push_back(mbdt.tt107); out_mbd_tq.push_back(mbdt.tq107); out_mbd_q.push_back(mbdt.q107);
0267 out_mbd_tt.push_back(mbdt.tt108); out_mbd_tq.push_back(mbdt.tq108); out_mbd_q.push_back(mbdt.q108);
0268 out_mbd_tt.push_back(mbdt.tt109); out_mbd_tq.push_back(mbdt.tq109); out_mbd_q.push_back(mbdt.q109);
0269 out_mbd_tt.push_back(mbdt.tt110); out_mbd_tq.push_back(mbdt.tq110); out_mbd_q.push_back(mbdt.q110);
0270 out_mbd_tt.push_back(mbdt.tt111); out_mbd_tq.push_back(mbdt.tq111); out_mbd_q.push_back(mbdt.q111);
0271 out_mbd_tt.push_back(mbdt.tt112); out_mbd_tq.push_back(mbdt.tq112); out_mbd_q.push_back(mbdt.q112);
0272 out_mbd_tt.push_back(mbdt.tt113); out_mbd_tq.push_back(mbdt.tq113); out_mbd_q.push_back(mbdt.q113);
0273 out_mbd_tt.push_back(mbdt.tt114); out_mbd_tq.push_back(mbdt.tq114); out_mbd_q.push_back(mbdt.q114);
0274 out_mbd_tt.push_back(mbdt.tt115); out_mbd_tq.push_back(mbdt.tq115); out_mbd_q.push_back(mbdt.q115);
0275 out_mbd_tt.push_back(mbdt.tt116); out_mbd_tq.push_back(mbdt.tq116); out_mbd_q.push_back(mbdt.q116);
0276 out_mbd_tt.push_back(mbdt.tt117); out_mbd_tq.push_back(mbdt.tq117); out_mbd_q.push_back(mbdt.q117);
0277 out_mbd_tt.push_back(mbdt.tt118); out_mbd_tq.push_back(mbdt.tq118); out_mbd_q.push_back(mbdt.q118);
0278 out_mbd_tt.push_back(mbdt.tt119); out_mbd_tq.push_back(mbdt.tq119); out_mbd_q.push_back(mbdt.q119);
0279 out_mbd_tt.push_back(mbdt.tt120); out_mbd_tq.push_back(mbdt.tq120); out_mbd_q.push_back(mbdt.q120);
0280 out_mbd_tt.push_back(mbdt.tt121); out_mbd_tq.push_back(mbdt.tq121); out_mbd_q.push_back(mbdt.q121);
0281 out_mbd_tt.push_back(mbdt.tt122); out_mbd_tq.push_back(mbdt.tq122); out_mbd_q.push_back(mbdt.q122);
0282 out_mbd_tt.push_back(mbdt.tt123); out_mbd_tq.push_back(mbdt.tq123); out_mbd_q.push_back(mbdt.q123);
0283 out_mbd_tt.push_back(mbdt.tt124); out_mbd_tq.push_back(mbdt.tq124); out_mbd_q.push_back(mbdt.q124);
0284 out_mbd_tt.push_back(mbdt.tt125); out_mbd_tq.push_back(mbdt.tq125); out_mbd_q.push_back(mbdt.q125);
0285 out_mbd_tt.push_back(mbdt.tt126); out_mbd_tq.push_back(mbdt.tq126); out_mbd_q.push_back(mbdt.q126);
0286 out_mbd_tt.push_back(mbdt.tt127); out_mbd_tq.push_back(mbdt.tq127); out_mbd_q.push_back(mbdt.q127);
0287
0288
0289 out_eID = intt_eID;
0290 out_bco_full = intt_bco_full;
0291 out_N_cluster_inner = intt_N_cluster_inner;
0292 out_N_cluster_outer = intt_N_cluster_outer;
0293 out_ES_zvtx = intt_ES_zvtx;
0294 out_ES_zvtxE = intt_ES_zvtxE;
0295 out_ES_rangeL = intt_ES_rangeL;
0296 out_ES_rangeR = intt_ES_rangeR;
0297 out_ES_N_good = intt_ES_N_good;
0298 out_ES_width_density = intt_ES_width_density;
0299 out_LB_Gaus_mean = intt_LB_Gaus_mean;
0300 out_LB_Gaus_meanE = intt_LB_Gaus_meanE;
0301 out_LB_Gaus_width = intt_LB_Gaus_width;
0302 out_LB_Gaus_offset = intt_LB_Gaus_offset;
0303 out_LB_Gaus_chi2 = intt_LB_Gaus_chi2;
0304 out_LB_Gaus_size_width = intt_LB_Gaus_size_width;
0305 out_LB_geo_mean = intt_LB_geo_mean;
0306 out_good_zvtx_tag = intt_good_zvtx_tag;
0307 out_MC_true_zvtx = MC_true_zvtx;
0308 out_N_group = intt_N_group;
0309
0310 if (intt_N_cluster_inner != -1 && intt_N_cluster_outer != -1){
0311 if (mbdt.bqs > 100 && mbdt.bqn > 100){
0312 h_qmbd_nintt -> Fill(intt_N_cluster_inner + intt_N_cluster_outer, bbcq);
0313 }
0314
0315 intt_mbd_bco -> Fill(i, (mbdclk - bco16) & 0xFFFF);
0316
0317 tree_out -> Fill();
0318 }
0319
0320 out_mbd_tt.clear();
0321 out_mbd_tq.clear();
0322 out_mbd_q.clear();
0323
0324 if ((i % 1000) == 0) {
0325 cout << i << " " << hex << setw(6) << mbdclk << " " << setw(6) << bco16 << " (mbd-intt)" << setw(6) << ((mbdclk - bco16) & 0xFFFF) <<
0326 " (femclk-prev)" << setw(6) << mbd_prvdif << " (bco-prev)" << setw(6) << intt_prvdif << dec << endl;
0327 }
0328
0329
0330 if (i + intt_evt_offset == number_Nevent) {break;}
0331
0332 t_intt -> GetEntry(i + 1 + intt_evt_offset);
0333 ULong64_t next_bco16 = (intt_bco_full) & 0xFFFF;
0334 mbdt.LoadTree(i + 1);
0335 mbdt.GetEntry(i + 1);
0336 unsigned short next_mbdclk = mbdt.femclk;
0337 if (((next_mbdclk - next_bco16) & 0xFFFF) != ((mbdclk - bco16) & 0xFFFF)) intt_evt_offset += 1;
0338 }
0339
0340 out_file -> cd();
0341 tree_out->SetDirectory(out_file);
0342 tree_out -> Write("", TObject::kOverwrite);
0343 out_file -> Close();
0344
0345 TFile * froot = new TFile(Form("%s/sync.root",folder_direction.c_str()), "recreate");
0346 h_qmbd_nintt -> Write();
0347 intt_mbd_bco -> Write();
0348 froot -> Close();
0349
0350
0351 }