73 lines
2.3 KiB
C++
73 lines
2.3 KiB
C++
#include <TFile.h>
|
|
#include <TString.h>
|
|
#include <TTree.h>
|
|
#include <stdio.h>
|
|
|
|
int integral(TString file) {
|
|
double e[24];
|
|
int id[24], N[1];
|
|
int sum1, sum2, sum3;
|
|
|
|
TFile f(file);
|
|
TTree* t = (TTree*)f.Get("SimData1");
|
|
t->SetBranchAddress("detE", e);
|
|
t->SetBranchAddress("detId", id);
|
|
t->SetBranchAddress("Ndets", N);
|
|
int n = t->GetEntries();
|
|
// printf("n=%d\n", n);
|
|
int i, j;
|
|
sum1 = sum2 = sum3 = 0;
|
|
for (i = 0; i < n; i++) {
|
|
t->GetEntry(i);
|
|
for (j = 0; j < N[0]; j++) {
|
|
if (e[j] > 0.18 && id[j] < 12) sum1++;
|
|
if (e[j] > 0.18 && id[j] > 11) sum2++;
|
|
if (e[j] >= 0.64 && e[j] <= 0.8) sum3++;
|
|
}
|
|
}
|
|
// printf("%d, %d, %d, %d, %f\n", n, sum1 + sum2, sum1, sum2, 1.0 * sum1 / sum2);
|
|
// return sum1 + sum2;
|
|
return sum3;
|
|
}
|
|
|
|
void process() {
|
|
double or1[5] = {10, 11, 12, 13, 14};
|
|
double or2[5] = {12.14, 13.35, 14.57, 15.79, 17};
|
|
double or3[5] = {14.28, 15.71, 17.14, 18.57, 20};
|
|
// int energy[8] = {600, 650, 700, 750, 800, 850, 900, 950};
|
|
|
|
for (int i = 0; i < 5; i++) {
|
|
TString file =
|
|
TString::Format("data/7/%d/Simulation_RunNo_650kev_70mm_%dmm.root", int(or1[i]), int(or1[i] * 10));
|
|
printf("%d\n", integral(file));
|
|
}
|
|
|
|
for (int i = 0; i < 5; i++) {
|
|
TString file =
|
|
TString::Format("data/8.5/%.2f/Simulation_RunNo_650kev_85mm_%dmm.root", or2[i], int(or2[i] * 10));
|
|
printf("%d\n", integral(file));
|
|
}
|
|
|
|
for (int i = 0; i < 5; i++) {
|
|
TString file =
|
|
TString::Format("data/10/%.2f/Simulation_RunNo_650kev_100mm_%dmm.root", or3[i], int(or3[i] * 10));
|
|
printf("%d\n", integral(file));
|
|
}
|
|
|
|
// for (int i = 0; i < 5; i++) {
|
|
// for (int j = 0; j < 8; j++) {
|
|
// TString file = TString::Format("data/7/%d/Simulation_RunNo_%dkev_70mm_%dmm.root", int(or1[i]), energy[j],
|
|
// int(or1[i] * 10));
|
|
// printf("%d\n", integral(file));
|
|
// }
|
|
// }
|
|
|
|
// for (int i = 0; i < 5; i++) {
|
|
// for (int j = 0; j < 8; j++) {
|
|
// TString file = TString::Format("data/8.5/%.2f/Simulation_RunNo_%dkev_85mm_%dmm.root", or2[i], energy[j],
|
|
// int(or2[i] * 10));
|
|
// printf("%d\n", integral(file));
|
|
// }
|
|
// }
|
|
}
|