File indexing completed on 2025-08-06 08:12:33
0001 int BkgEstimation()
0002 {
0003 TFile * file_in = TFile::Open("/sphenix/tg/tg01/commissioning/INTT/work/cwshih/seflgendata/run_54280/bco_diff/completed/BcoDiffNtuple_54280_clonehitremoveBCO_hotchannelremove_hitQA_checkclonehit_merged.root");
0004
0005 std::pair<int, int> dead_region = {27, 54};
0006 long long trigger_peak = 56;
0007
0008 TTree * tree = (TTree *)file_in->Get("tree");
0009 int nentries = tree->GetEntries();
0010 std::cout << "nentries = " << nentries << std::endl;
0011
0012 tree->SetBranchStatus("*", 0);
0013 tree->SetBranchStatus("MBDNS_tight_vtx30cm", 1);
0014 tree->SetBranchStatus("felix0_bcodiff", 1);
0015 tree->SetBranchStatus("felix1_bcodiff", 1);
0016 tree->SetBranchStatus("felix2_bcodiff", 1);
0017 tree->SetBranchStatus("felix3_bcodiff", 1);
0018 tree->SetBranchStatus("felix4_bcodiff", 1);
0019 tree->SetBranchStatus("felix5_bcodiff", 1);
0020 tree->SetBranchStatus("felix6_bcodiff", 1);
0021 tree->SetBranchStatus("felix7_bcodiff", 1);
0022
0023 int in_MBDNS_tight_vtx30cm;
0024 std::vector<int> * in_felix0_bcodiff = 0;
0025 std::vector<int> * in_felix1_bcodiff = 0;
0026 std::vector<int> * in_felix2_bcodiff = 0;
0027 std::vector<int> * in_felix3_bcodiff = 0;
0028 std::vector<int> * in_felix4_bcodiff = 0;
0029 std::vector<int> * in_felix5_bcodiff = 0;
0030 std::vector<int> * in_felix6_bcodiff = 0;
0031 std::vector<int> * in_felix7_bcodiff = 0;
0032
0033 tree->SetBranchAddress("MBDNS_tight_vtx30cm", &in_MBDNS_tight_vtx30cm);
0034 tree->SetBranchAddress("felix0_bcodiff", &in_felix0_bcodiff);
0035 tree->SetBranchAddress("felix1_bcodiff", &in_felix1_bcodiff);
0036 tree->SetBranchAddress("felix2_bcodiff", &in_felix2_bcodiff);
0037 tree->SetBranchAddress("felix3_bcodiff", &in_felix3_bcodiff);
0038 tree->SetBranchAddress("felix4_bcodiff", &in_felix4_bcodiff);
0039 tree->SetBranchAddress("felix5_bcodiff", &in_felix5_bcodiff);
0040 tree->SetBranchAddress("felix6_bcodiff", &in_felix6_bcodiff);
0041 tree->SetBranchAddress("felix7_bcodiff", &in_felix7_bcodiff);
0042
0043
0044 long long selected_event = 0;
0045 std::vector<TH1D *> all_felix_BcoDiffHist;
0046
0047 for (int i = 0; i < 8; i++)
0048 {
0049
0050 all_felix_BcoDiffHist.push_back(new TH1D(Form("all_felix_BcoDiffHist_%d", i), Form("all_felix_BcoDiffHist_%d;Time_bucket;Entries", i), 128,0,128));
0051 }
0052
0053 for (long long i = 0; i < nentries; i++){
0054 tree -> GetEntry(i);
0055
0056 if (i % 10000 == 0) {std::cout << "i = " << i << std::endl;}
0057
0058 if (in_MBDNS_tight_vtx30cm != 1) {continue;}
0059
0060 selected_event += 1;
0061
0062 for (int j = 0; j < 128; j++){
0063 all_felix_BcoDiffHist[0]->Fill(j, in_felix0_bcodiff->at(j));
0064 all_felix_BcoDiffHist[1]->Fill(j, in_felix1_bcodiff->at(j));
0065 all_felix_BcoDiffHist[2]->Fill(j, in_felix2_bcodiff->at(j));
0066 all_felix_BcoDiffHist[3]->Fill(j, in_felix3_bcodiff->at(j));
0067 all_felix_BcoDiffHist[4]->Fill(j, in_felix4_bcodiff->at(j));
0068 all_felix_BcoDiffHist[5]->Fill(j, in_felix5_bcodiff->at(j));
0069 all_felix_BcoDiffHist[6]->Fill(j, in_felix6_bcodiff->at(j));
0070 all_felix_BcoDiffHist[7]->Fill(j, in_felix7_bcodiff->at(j));
0071 }
0072 }
0073
0074 std::cout << "selected_event = " << selected_event << std::endl;
0075
0076 TFile * file_out = TFile::Open("BcoDiff_Hist_MBDNS30cm.root", "recreate");
0077 for (int i = 0; i < all_felix_BcoDiffHist.size(); i++)
0078 {
0079 all_felix_BcoDiffHist[i]->Write();
0080 }
0081 file_out->Close();
0082
0083
0084
0085
0086
0087
0088
0089
0090
0091
0092
0093
0094
0095
0096
0097
0098
0099
0100
0101
0102
0103
0104
0105
0106
0107
0108
0109
0110
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
0136
0137
0138
0139
0140
0141
0142
0143
0144
0145
0146
0147
0148
0149
0150
0151
0152
0153
0154
0155
0156
0157
0158
0159
0160
0161
0162 return 0;
0163 }