cali. all PID

This commit is contained in:
Ryan Tang 2022-06-27 20:21:44 -04:00
parent 7614580770
commit 81cbf1c2cc
6 changed files with 178 additions and 100 deletions

View File

@ -1,10 +1,10 @@
#include "armory/AnalysisLibrary.h" #include "armory/AnalysisLibrary.h"
double xMin1, xMax1; double xMin1, xMax1;
TGraph * fitGraph1 = new TGraph(); TGraph fitGraph1;
Double_t fitFunc1(Double_t *x, Double_t *par) { Double_t fitFunc1(Double_t *x, Double_t *par) {
double pos = par[1]*x[0] + par[0]; double pos = par[1]*x[0] + par[0];
return (xMax1 > pos && pos > xMin1 ? par[2] * fitGraph1->Eval(pos): 0); return (xMax1 > pos && pos > xMin1 ? par[2] * fitGraph1.Eval(pos): 0);
} }
TF1 * FitHist1(TH1F * hist1, TH1F * hist2, double a0, double a1, double scale){ TF1 * FitHist1(TH1F * hist1, TH1F * hist2, double a0, double a1, double scale){
@ -15,36 +15,43 @@ TF1 * FitHist1(TH1F * hist1, TH1F * hist2, double a0, double a1, double scale){
xMax1 = hist2->GetXaxis()->GetXmax(); xMax1 = hist2->GetXaxis()->GetXmax();
int nBin = hist1->GetNbinsX(); int nBin = hist1->GetNbinsX();
fitGraph1.Clear();
for( int i = 0; i < nBin; i++){ for( int i = 0; i < nBin; i++){
fitGraph1->AddPoint(hist1->GetBinCenter(i), hist1->GetBinContent(i)); fitGraph1.AddPoint(hist1->GetBinCenter(i), hist1->GetBinContent(i));
} }
double par[3] = {a0, a1, scale}; double par[3] = {a0, a1, scale};
TF1 * fit = new TF1("fit", fitFunc1, xMin1, xMax1, 3); TF1 * fit1 = new TF1("fit1", fitFunc1, xMin1, xMax1, 3);
fit->SetParameters(par); fit1->SetParameters(par);
fit->SetLineWidth(2); fit1->SetParLimits(0, -20, 15);
fit->SetLineColor(4); fit1->SetParLimits(1, 0.6, 1.3);
fit->SetNpx(1000); //fit1->SetParLimits(2, 0.5*scale, 1.4*scale);
fit1->SetLineWidth(2);
fit1->SetLineColor(4);
fit1->SetNpx(1000);
hist2->Fit("fit", "Rq"); hist2->Fit("fit1", "Rq");
return fit; return fit1;
} }
double xMin2, xMax2; double xMin2, xMax2;
TGraph * fitGraph2 = new TGraph(); TGraph fitGraph2;
Double_t fitFunc2(Double_t *x, Double_t *par) { Double_t fitFunc2(Double_t *x, Double_t *par) {
double pos = par[1]*x[0] + par[0];
double pos = par[3]*x[0]*x[0] + par[1]*x[0] + par[0];
//return (xMax2 > pos && pos > xMin2 ? par[2] * fitGraph2->Eval(pos) * exp(pos/1000./par[3]): 0); //return (xMax2 > pos && pos > xMin2 ? par[2] * fitGraph2->Eval(pos) * exp(pos/1000./par[3]): 0);
return (xMax2 > pos && pos > xMin2 ? par[2] * fitGraph2->Eval(pos) : 0);
return (xMax2 > pos && pos > xMin2 ? par[2] * fitGraph2.Eval(pos) : 0);
//if( x[0] < 2200 ){ //if( x[0] < 3900 ){
// return (xMax2 > pos && pos > xMin2 ? par[2] * fitGraph2->Eval(pos): 0); // return (xMax2 > pos && pos > xMin2 ? par[2] * fitGraph2.Eval(pos): 0);
//}else{ //}else{
// return (xMax2 > pos && pos > xMin2 ? par[3] * fitGraph2->Eval(pos): 0); // return (xMax2 > pos && pos > xMin2 ? par[3] * fitGraph2.Eval(pos): 0);
//} //}
@ -58,25 +65,28 @@ TF1 * FitHist2(TH1F * hist1, TH1F * hist2, double a0, double a1, double scale, d
xMax2 = hist2->GetXaxis()->GetXmax(); xMax2 = hist2->GetXaxis()->GetXmax();
int nBin = hist1->GetNbinsX(); int nBin = hist1->GetNbinsX();
fitGraph2.Clear();
for( int i = 0; i < nBin; i++){ for( int i = 0; i < nBin; i++){
fitGraph2->AddPoint(hist1->GetBinCenter(i), hist1->GetBinContent(i)); fitGraph2.AddPoint(hist1->GetBinCenter(i), hist1->GetBinContent(i));
} }
double par[4] = {a0, a1, scale, scale2}; double par[4] = {a0, a1, scale, scale2};
TF1 * fit = new TF1("fit", fitFunc2, xMin2, xMax2, 4); TF1 * fit2 = new TF1("fit2", fitFunc2, xMin2, xMax2, 4);
fit->SetParameters(par); fit2->SetParameters(par);
fit->SetLineWidth(2); fit2->SetParLimits(0, 0, 15);
fit->SetLineColor(4); fit2->SetParLimits(1, 0.6, 1.2);
fit->SetNpx(1000); fit2->SetParLimits(3, -0.00001, 0.00001);
//fit2->FixParameter(3, 0);
fit2->SetLineWidth(2);
fit2->SetLineColor(4);
fit2->SetNpx(1000);
hist2->Fit("fit", "Rq"); hist2->Fit("fit2", "Rq");
return fit; return fit2;
} }
void compareTH2D(int run1, int run2){ void compareTH2D(int run1, int run2){
TFile * f1 = new TFile(Form("PID_%d.root", run1)); TFile * f1 = new TFile(Form("PID_%d.root", run1));
@ -89,16 +99,28 @@ void compareTH2D(int run1, int run2){
TH1F * hdE2 = (TH1F*) f2->Get("hdE"); TH1F * hdE2 = (TH1F*) f2->Get("hdE");
TH2F * hPID2 = (TH2F*) f2->Get("hPID0"); TH2F * hPID2 = (TH2F*) f2->Get("hPID0");
TCanvas * cc = new TCanvas("cc", Form("cc %d, %d", run1, run2), 3000, 1000); TCanvas * cc = (TCanvas *) gROOT->FindObjectAny("cc");
if( cc == NULL )cc = new TCanvas("cc", Form("cc %d, %d", run1, run2), 3000, 1000);
cc->Clear();
cc->Divide(3,1); cc->Divide(3,1);
//================= TOF //================= TOF
cc->cd(1); cc->cd(1);
hTOF1->Draw("");
hTOF2->SetLineColor(2);
hTOF2->Draw("same");
TF1 * fitTOF = FitHist1(hTOF1, hTOF2, 6, 1.0, 0.01); double yMax1 = hTOF1->GetMaximum();
double yMax2 = hTOF2->GetMaximum();
hTOF2->SetLineColor(2);
double scaleGuess = yMax2/yMax1;
if( yMax1 > yMax2 ) {
hTOF1->Draw("");
hTOF2->Draw("same");
}else{
hTOF2->Draw("");
hTOF1->Draw("same");
}
TF1 * fitTOF = FitHist1(hTOF1, hTOF2, -6, 1.0, scaleGuess);
fitTOF->Draw("same"); fitTOF->Draw("same");
//TPad * chaha = (TPad*) (cc->cd(1))->Clone(); //TPad * chaha = (TPad*) (cc->cd(1))->Clone();
@ -120,7 +142,7 @@ void compareTH2D(int run1, int run2){
hdE2->SetLineColor(2); hdE2->SetLineColor(2);
hdE2->Draw("same"); hdE2->Draw("same");
TF1 * fitdE = FitHist2(hdE1, hdE2, -1, 1, 1, -2); TF1 * fitdE = FitHist2(hdE1, hdE2, -1, 1, 1, 0.0000001);
fitdE->Draw("same"); fitdE->Draw("same");
@ -134,7 +156,7 @@ void compareTH2D(int run1, int run2){
printf("B2 : %7.4f +- %7.4f \n", paraA_dE[3], paraE_dE[3]); printf("B2 : %7.4f +- %7.4f \n", paraA_dE[3], paraE_dE[3]);
printf("################################\n"); printf("################################\n");
printf("%3d %9.6f %9.6f %9.6f %9.6f\n", run2, paraA_TOF[0], paraA_TOF[1], paraA_dE[0], paraA_dE[1]); printf("%3d %9.6f %9.6f %9.6f %9.6f %14.10f\n", run2, paraA_TOF[0], paraA_TOF[1], paraA_dE[0], paraA_dE[1], paraA_dE[3]);
printf("\n\n\n"); printf("\n\n\n");
cc->cd(3); cc->cd(3);

View File

@ -1,20 +1,56 @@
246 5.202374 0.972581 1.823645 0.982412 246 5.202374 0.972581 1.823645 0.982412 0.0
247 5.474717 0.973615 2.228469 0.989046 247 5.474717 0.973615 2.228469 0.989046 0.0
248 -2.016251 0.974793 3.005200 0.993577 248 -2.016251 0.974793 3.005200 0.993577 0.0
249 -2.670544 0.972111 2.883073 0.996861 249 -2.670544 0.972111 2.883073 0.996861 0.0
250 0.000000 1.000000 0.000000 1.000000 250 0.000000 1.000000 0.000000 1.000000 0.0
251 -0.657032 0.997220 -0.209729 1.001230 251 -0.657032 0.997220 -0.209729 1.001230 0.0
252 -0.440989 0.998095 -0.235229 1.002683 252 -0.440989 0.998095 -0.235229 1.002683 0.0
253 -0.736023 0.996942 -0.291993 1.003505 253 -0.736023 0.996942 -0.291993 1.003505 0.0
254 8.379539 1.005064 -14.304124 1.011162 254 8.379539 1.005064 -14.304124 1.011162 0.0
256 12.176462 1.001000 10.480354 0.988767 256 12.176462 1.001000 10.480354 0.988767 0.0
257 6.429354 1.010119 10.926955 0.995218 257 6.429354 1.010119 10.926955 0.995218 0.0
258 8.853158 1.019825 11.033525 0.998783 258 8.853158 1.019825 11.033525 0.998783 0.0
259 15.584682 1.014310 10.904478 1.000129 259 15.584682 1.014310 10.904478 1.000129 0.0
261 14.648562 1.010594 9.730146 1.004049 261 14.410873 1.009665 8.460009 1.008042 -0.0000015982
262 6.638140 1.010922 9.764069 1.005226 262 6.617968 1.010836 8.726306 1.007930 -0.0000009269
263 7.778790 0.987777 9.657852 1.005952 263 13.650833 1.006689 9.110117 1.008211 -0.0000009318
264 6.860067 1.011819 9.671465 1.005891 264 6.860014 1.011819 9.188193 1.008153 -0.0000009184
269 4.648145 1.006698 9.352800 0.921318 269 4.695810 1.006896 4.634574 0.936230 -0.0000056271
270 12.961422 1.008092 9.634760 0.892950 270 12.957748 1.008077 3.095747 0.912196 -0.0000066846
271 5.361827 1.010096 9.085634 0.884655 271 5.362512 1.010098 2.531388 0.905879 -0.0000074197
283 4.897151 1.008010 10.666408 0.863863 -0.0000090642
284 5.022649 1.008598 0.689671 0.890106 -0.0000090894
286 8.558948 1.006674 0.471578 0.889442 -0.0000094556
287 1.018873 1.008725 -0.007570 0.889010 -0.0000095513
288 1.068998 1.008322 0.202725 0.889160 -0.0000095366
292 1.728610 1.010990 0.613623 0.887610 -0.0000090418
294 1.257935 1.009023 0.682529 0.886398 -0.0000086273
295 9.308503 1.009003 0.987144 0.887736 -0.0000092990
296 7.543449 1.001872 0.740777 0.887669 -0.0000093976
298 1.429204 1.005651 0.365736 0.887218 -0.0000096348
299 8.355584 1.001215 0.906154 0.886579 -0.0000095789
306 1.732491 1.007028 0.540370 0.886010 -0.0000096222
309 1.455301 1.005791 0.511240 0.886757 -0.0000094339
310 8.305157 1.001002 1.057534 0.886542 -0.0000092710
311 1.626763 1.006480 0.503249 0.886968 -0.0000094761
312 8.370479 1.001189 1.224966 0.885002 -0.0000093943
313 0.868675 1.003133 0.437214 0.886037 -0.0000095128
314 -7.391993 0.967753 3.602238 0.883946 -0.0000088520
315 1.453498 1.005403 0.288068 0.887976 -0.0000094549
316 0.738072 1.002615 0.307353 0.887159 -0.0000091529
317 1.823295 1.006856 0.481761 0.888012 -0.0000094753
318 8.209070 1.000661 1.207103 0.887063 -0.0000093263
319 8.011329 0.999823 1.600204 0.886653 -0.0000091960
320 0.326489 1.001083 0.552779 0.888471 -0.0000094284
322 0.241687 1.000738 0.340305 0.889576 -0.0000096254
323 0.167235 1.000447 0.501191 0.888241 -0.0000095490
323 -9.981457 0.980308 0.501191 0.888241 -0.0000095490
324 0.054908 0.999928 0.364381 0.889151 -0.0000095068
325 8.050909 0.999893 1.242025 0.888227 -0.0000091104
326 0.250943 1.000691 0.338226 0.889374 -0.0000093779

View File

@ -42,8 +42,10 @@ TH1F * hDecay_veto;
TH1F * hFlag; TH1F * hFlag;
TH1F * hvetoFlag; TH1F * hvetoFlag;
TH2F * heVrun; TH1F * hZ3;
TH2F * htVrun; TH1F * hZ6;
TH1F * hZ10;
TH1F * hZ14;
//============ parameters //============ parameters
//TString cutFileName="PIDCuts.root"; //TString cutFileName="PIDCuts.root";
@ -99,9 +101,9 @@ void peachCake::Begin(TTree * /*tree*/){
hCloverID = createTH2F("hCloverID", "Clover; ID; energy [keV]", 52, 0, 52, 400, 0, 2000); hCloverID = createTH2F("hCloverID", "Clover; ID; energy [keV]", 52, 0, 52, 400, 0, 2000);
hPID = createTH2F("hPID", "PID; ns; msx100", tofRange[0], tofRange[1], tofRange[2], dERange[0], dERange[1], dERange[2]);
hPID0 = createTH2F("hPID0", "PID raw; ns; msx100", tofRange[0], tofRange[1], tofRange[2], dERange[0], dERange[1], dERange[2]); hPID0 = createTH2F("hPID0", "PID raw; ns; msx100", tofRange[0], tofRange[1], tofRange[2], dERange[0], dERange[1], dERange[2]);
hPID2 = createTH2F("hPID2", "PID2; A/Q; Z", tofRange[0], 2.4, 3.6, dERange[0], 0, 16.5); hPID = createTH2F("hPID", "PID corrected; ns; msx100", tofRange[0], tofRange[1], tofRange[2], dERange[0], dERange[1], dERange[2]);
hPID2 = createTH2F("hPID2", "PID; A/Q; Z", tofRange[0], 2.0, 4.2, dERange[0], 0, 16.5);
hTOF = createTH1F("hTOF", "TOF", tofRange[0], tofRange[1], tofRange[2]); hTOF = createTH1F("hTOF", "TOF", tofRange[0], tofRange[1], tofRange[2]);
hdE = createTH1F("hdE", "dE", dERange[0], dERange[1], dERange[2]); hdE = createTH1F("hdE", "dE", dERange[0], dERange[1], dERange[2]);
@ -123,9 +125,11 @@ void peachCake::Begin(TTree * /*tree*/){
hFlag = createTH1F("hFlag", "Flag ( 1 = beam, 2 = Ions, 4 = Beta)", 8, 0, 8); hFlag = createTH1F("hFlag", "Flag ( 1 = beam, 2 = Ions, 4 = Beta)", 8, 0, 8);
hvetoFlag = createTH1F("hvetoFlag", "vetoFlag ( 1 = front, 4 = rear)", 8, 0, 8); hvetoFlag = createTH1F("hvetoFlag", "vetoFlag ( 1 = front, 4 = rear)", 8, 0, 8);
heVrun = createTH2F("heVrun", "energy vs run; run; energy", 200, 237, 257, 400, 0, 2000); hZ3 = createTH1F("hZ3", "Z=3; A ; count ", 200, 6, 12);
htVrun = createTH2F("hrVrun", "TOF vs run; run; energy", 200, 237, 257, 400, -265, -220); hZ6 = createTH1F("hZ6", "Z=6; A ; count ", 200, 14, 21);
hZ10 = createTH1F("hZ10", "Z=10; A ; count ", 200, 25, 33);
hZ14 = createTH1F("hZ14", "Z=14; A ; count ", 200, 38, 44);
eCorr = LoadCorrectionParameters("correction_e.dat"); eCorr = LoadCorrectionParameters("correction_e.dat");
@ -301,7 +305,7 @@ Bool_t peachCake::Process(Long64_t entry){
if( int(pidCorr[k][0]) != runID/100 ) continue; if( int(pidCorr[k][0]) != runID/100 ) continue;
TOF = pidCorr[k][1] + pidCorr[k][2] * TOF; TOF = pidCorr[k][1] + pidCorr[k][2] * TOF;
energy = pidCorr[k][3] + pidCorr[k][4] * energy; energy = pidCorr[k][3] + pidCorr[k][4] * energy + pidCorr[k][5] * energy * energy;
} }
} }
@ -315,37 +319,45 @@ Bool_t peachCake::Process(Long64_t entry){
hdE->Fill(energy); hdE->Fill(energy);
} }
double newTOF = TOF - TOFCorrection(energy) - 240.; double newTOF = TOF - TOFCorrection(energy) - 234;
hPID->Fill(newTOF, energy); hPID->Fill(newTOF, energy);
heVrun->Fill(runID/100., energy);
htVrun->Fill(runID/100., TOF);
flag += 1; flag += 1;
///======== Z vs A/Q ///======== Z vs A/Q
double c = 299.792458; /// mm/ns double c = 299.792458; /// mm/ns
double FL = 37656 ; /// mm /// exp value
double Brho = 4.90370; /// T.mm ///double FL = 37656 ; /// mm
///double Brho = 4.90370; /// T.mm
double FL = 56423 ; /// mm
double Brho = 9.04; /// T.mm
double ma = 931.5; double ma = 931.5;
double beta0 = Brho * c / TMath::Sqrt( 9*ma*ma + Brho*Brho*c*c); // for AoQ = 3 double beta0 = Brho * c / TMath::Sqrt( 9*ma*ma + Brho*Brho*c*c); // for AoQ = 3
double tofOffset = 509.79; /// ns double tofOffset = 504.69; /// ns
double beta = FL/c/(newTOF+tofOffset); double beta = FL/c/(newTOF+tofOffset);
double gamma = 1./TMath::Sqrt(1.-beta*beta); double gamma = 1./TMath::Sqrt(1.-beta*beta);
double Z = sqrt((energy + 11.9473) / 23.097) * TMath::Power(beta / beta0,1.3) ; double Z = sqrt((energy + 11.9473) / 23.097) * TMath::Power(beta / beta0, 1.3) ;
double AoQ = c * Brho / gamma/ beta / ma; double AoQ = c * Brho / gamma/ beta / ma;
//printf("tof : %f, beta: %f (%f), Z : %f, A/Q : %f \n", TOF + tofOffset, beta, beta0, Z, AoQ); //printf("tof : %f, beta: %f (%f), Z : %f, A/Q : %f \n", TOF + tofOffset, beta, beta0, Z, AoQ);
//Z = -0.15938 + 1.01736 *Z + 0.000203316 * Z*Z; //Z = -0.15938 + 1.01736 *Z + 0.000203316 * Z*Z;
//Z = -0.254632 + 1.06285 * Z - 0.00539634 * Z * Z + 0.000169443 * Z * Z * Z; ///2022-06-09 //Z = -0.254632 + 1.06285 * Z - 0.00539634 * Z * Z + 0.000169443 * Z * Z * Z; ///2022-06-09
Z = 0.0153343 + 1.00339 * Z;
hPID2->Fill(AoQ, Z); hPID2->Fill(AoQ, Z);
hZ->Fill(Z); hZ->Fill(Z);
if( 3.5 > Z && Z > 2.5 ) hZ3->Fill( AoQ * 3);
if( 6.5 > Z && Z > 5.5 ) hZ6->Fill( AoQ * 6);
if( 10.5 > Z && Z > 9.5 ) hZ10->Fill( AoQ * 10);
if( 14.5 > Z && Z > 13.5 ) hZ14->Fill( AoQ * 14);
} }
@ -471,8 +483,8 @@ void peachCake::Terminate(){
if( plotHists ){ if( plotHists ){
gStyle->SetOptStat(111111); gStyle->SetOptStat(111111);
int div[2] = {3, 2} ; ///x, y int div[2] = {4, 2} ; ///x, y
TCanvas * c1 = new TCanvas("c1", "c1", 700 * div[0], 700 * div[1]); TCanvas * c1 = new TCanvas("c1", canvasTitle, 700 * div[0], 700 * div[1]);
c1->Divide(div[0], div[1]); c1->Divide(div[0], div[1]);
@ -494,7 +506,7 @@ void peachCake::Terminate(){
hPID->Draw("colz"); hPID->Draw("colz");
padID ++; padID ++;
c1->cd(padID); //c1->cd(padID)->SetLogz(); c1->cd(padID); c1->cd(padID)->SetLogz();
hPID2->Draw("colz"); hPID2->Draw("colz");
padID ++; padID ++;
@ -503,11 +515,19 @@ void peachCake::Terminate(){
padID ++; padID ++;
c1->cd(padID); //c1->cd(padID)->SetLogz(); c1->cd(padID); //c1->cd(padID)->SetLogz();
heVrun->Draw("colz"); hZ3->Draw("colz");
padID ++; padID ++;
c1->cd(padID); //c1->cd(padID)->SetLogz(); c1->cd(padID); //c1->cd(padID)->SetLogz();
htVrun->Draw("colz"); hZ6->Draw("colz");
padID ++;
c1->cd(padID); //c1->cd(padID)->SetLogz();
hZ10->Draw("colz");
padID ++;
c1->cd(padID); //c1->cd(padID)->SetLogz();
hZ14->Draw("colz");
//padID ++; //padID ++;
//c1->cd(padID); c1->cd(padID)->SetGrid(); c1->cd(padID)->SetLogz(); //c1->cd(padID); c1->cd(padID)->SetGrid(); c1->cd(padID)->SetLogz();

View File

@ -52,6 +52,7 @@ public :
pidCorrFileName = ""; pidCorrFileName = "";
fHistRootName = ""; fHistRootName = "";
plotHists = true; plotHists = true;
canvasTitle = "";
} }
virtual ~peachCake() { } virtual ~peachCake() { }
virtual Int_t Version() const { return 2; } virtual Int_t Version() const { return 2; }
@ -122,6 +123,8 @@ public :
bool plotHists; bool plotHists;
TString canvasTitle;
}; };
#endif #endif
@ -149,6 +152,9 @@ void peachCake::Init(TTree *tree){
fChain->SetBranchAddress("multiBeam", &multiBeam, &b_multiplicity_Beam); fChain->SetBranchAddress("multiBeam", &multiBeam, &b_multiplicity_Beam);
fChain->SetBranchAddress("runID", &runID, &b_runID); fChain->SetBranchAddress("runID", &runID, &b_runID);
//============ Canvas Title
//============ new tree //============ new tree
printf(" is save tree? :%d \n", saveNewTree); printf(" is save tree? :%d \n", saveNewTree);

View File

@ -10,7 +10,7 @@ void plotPID() {
selector->SetPIDCorrectionFile(""); selector->SetPIDCorrectionFile("");
selector->SetPlotHist(false); selector->SetPlotHist(false);
for( int run = 269 ; run < 272 ; run ++){ for( int run = 272 ; run < 330 ; run ++){
printf("\033[31m######################################### run : %d \033[0m\n", run); printf("\033[31m######################################### run : %d \033[0m\n", run);

View File

@ -17,32 +17,23 @@ void script() {
//chain->Add("root_data/run-0241-*.root"); //chain->Add("root_data/run-0241-*.root");
// new beam // new beam
//chain->Add("root_data/run-0246-*.root"); chain->Add("root_data/run-024[6-8]*.root");
//chain->Add("root_data/run-0247-*.root"); chain->Add("root_data/run-0250*.root");
//chain->Add("root_data/run-0248-*.root"); chain->Add("root_data/run-025[1-4].root");
//chain->Add("root_data/run-0249-*.root"); chain->Add("root_data/run-025[6-9].root");
//chain->Add("root_data/run-0250-*.root"); chain->Add("root_data/run-026[1-4]*.root");
//chain->Add("root_data/run-0251-*.root"); chain->Add("root_data/run-0269*.root");
//chain->Add("root_data/run-0252-*.root"); chain->Add("root_data/run-027[0-1]*.root");
//chain->Add("root_data/run-0253-*.root"); chain->Add("root_data/run-028[3-4]*.root");
//chain->Add("root_data/run-0254-*.root"); chain->Add("root_data/run-028[6-8]*.root");
//chain->Add("root_data/run-0257-*.root"); chain->Add("root_data/run-0292*.root");
//chain->Add("root_data/run-0258-*.root"); chain->Add("root_data/run-029[4-6]*.root");
//chain->Add("root_data/run-0259-*.root"); chain->Add("root_data/run-029[8-9]*.root");
//chain->Add("root_data/run-0261-*.root"); chain->Add("root_data/run-03*.root");
//chain->Add("root_data/run-0262-*.root");
//chain->Add("root_data/run-0263-*.root");
//chain->Add("root_data/run-0264-*.root");
//chain->Add("root_data/run-0269-*.root");
//chain->Add("root_data/run-0270-*.root");
chain->Add("root_data/run-0271-*.root");
int nFile = chain->GetListOfFiles()->GetEntries();
printf("================================ num of Files : %d \n", nFile);
if( nFile == 0 ) return;
//chain->Add("root_data/run-0250*.root");
bool isSaveNewTree = false; bool isSaveNewTree = false;
TString histRootFileName = "";// Form("PID_%03d.root", runNum); TString histRootFileName = "";// Form("PID_%03d.root", runNum);
@ -50,6 +41,9 @@ void script() {
TString pidCorrFileName = "correction_PID.dat"; TString pidCorrFileName = "correction_PID.dat";
chain->GetListOfFiles()->Print(); chain->GetListOfFiles()->Print();
int nFile = chain->GetListOfFiles()->GetEntries();
if( nFile == 0 ) return;
printf("================================ num of Files : %d \n", nFile);
printf("================================\n"); printf("================================\n");