From 38c8c7e0e0bf1457f04158c145d936ebe26915ce Mon Sep 17 00:00:00 2001 From: vsitaraman Date: Tue, 8 Sep 2026 14:37:04 -0400 Subject: [PATCH] modified: TrackRecon.C put in timing gates and phi gates uniformly modified: .gitignore deleted: Analysis.C deleted: Analyzer.C deleted the older analysis formats deleted: Analyzer.h deleted: Timing_Summary_Matplotlib.png deleted: WedgeChVAnode.jpeg modified: run_tr.sh modified: scratch/make_prettyplots.C added rebinning capability and log z scale option --- .gitignore | 3 +- Analysis.C | 20 - Analyzer.C | 877 ---------------------------------- Analyzer.h | 129 ----- Timing_Summary_Matplotlib.png | Bin 72068 -> 0 bytes TrackRecon.C | 54 ++- WedgeChVAnode.jpeg | Bin 205868 -> 0 bytes run_tr.sh | 3 +- scratch/make_prettyplots.C | 32 +- 9 files changed, 65 insertions(+), 1053 deletions(-) delete mode 100644 Analysis.C delete mode 100644 Analyzer.C delete mode 100644 Analyzer.h delete mode 100644 Timing_Summary_Matplotlib.png delete mode 100644 WedgeChVAnode.jpeg diff --git a/.gitignore b/.gitignore index 58f5c13..73d070b 100644 --- a/.gitignore +++ b/.gitignore @@ -36,4 +36,5 @@ Armory/EventBuilder EventBuilder anasen_fem/anode_to_cathode_1d_17.43.csv pc_calib_raw/ -AutoFit.C \ No newline at end of file +AutoFit.C +scratch/images/WedgeChVAnode.jpeg diff --git a/Analysis.C b/Analysis.C deleted file mode 100644 index d646366..0000000 --- a/Analysis.C +++ /dev/null @@ -1,20 +0,0 @@ -#include "TChain.h" -#include - - - -void Analysis(int start, int end) { - // Create a TChain - TChain *chain = new TChain("tree"); - for(int i = start; i < end+1; i++) { - chain->Add(Form("data/root_data/Run_%03d_mapped.root", i)); - } - - // Process the chain using Analyzer.C+ - chain->Process("Analyzer.C+"); -} - -// Define a macro with the same name as the script -void Analysis() { - Analysis(72, 194); // Adjust the range if needed -} \ No newline at end of file diff --git a/Analyzer.C b/Analyzer.C deleted file mode 100644 index 986006c..0000000 --- a/Analyzer.C +++ /dev/null @@ -1,877 +0,0 @@ -#define Analyzer_cxx - -#include "Analyzer.h" -#include "Armory/ClassSX3.h" -#include "Armory/ClassPW.h" - -#include -#include -#include -#include -#include "TVector3.h" - -#include -#include -#include -#include -#include -#include - -TH2F *hsx3IndexVE; -TH2F *hqqqIndexVE; -TH2F *hpcIndexVE; - -TH2F *hpcIndexVE_GM; -TH2F *hsx3Coin; -TH2F *hqqqCoin; -TH2F *hpcCoin; -TH2F *hAVCcoin; - -TH2F *hqqqPolar; -TH2F *hsx3VpcIndex; -TH2F *hqqqVpcIndex; -TH2F *hqqqVpcE; -TH2F *hsx3VpcE; -TH2F *hanVScatsum; -TH2F *hanVScatsum_a[24]; -TH1F *hPC_E[48]; -TH1F *hCat4An; -TH1F *hCat0An; -TH1F *hAnodehits; -TH2F *hNosvAe; - -int padID = 0; - -SX3 sx3_contr; -PW pw_contr; -PW pwinstance; -TVector3 hitPos; -// TVector3 anodeIntersection; -std::map> slopeInterceptMap; -// SX3 Calibration Arrays -const int MAX_DET = 24; -const int MAX_UP = 4; -const int MAX_DOWN = 4; -const int MAX_BK = 4; -double backGain[MAX_DET][MAX_BK] = {{0}}; -bool backGainValid[MAX_DET][MAX_BK] = {{false}}; -double frontGain[MAX_DET][MAX_BK][MAX_UP][MAX_DOWN] = {{{{0}}}}; -bool frontGainValid[MAX_DET][MAX_BK][MAX_UP][MAX_DOWN] = {{{{false}}}}; - -// QQQ Calibration Arrays -const int MAX_QQQ = 4; -const int MAX_RING = 16; -const int MAX_WEDGE = 16; -double qqqGain[MAX_QQQ][MAX_RING][MAX_WEDGE] = {{{0}}}; -bool qqqGainValid[MAX_QQQ][MAX_RING][MAX_WEDGE] = {{{false}}}; -double qqqCalib[MAX_QQQ][MAX_RING][MAX_WEDGE] = {{{0}}}; -bool qqqCalibValid[MAX_QQQ][MAX_RING][MAX_WEDGE] = {{{false}}}; - -bool HitNonZero; -bool sx3ecut; -bool qqqEcut; - -TH1F *hZProj; -TH1F *hPCZProj; - -void Analyzer::Begin(TTree * /*tree*/) -{ - TString option = GetOption(); - - hsx3IndexVE = new TH2F("hsx3IndexVE", "SX3 index vs Energy; sx3 index ; Energy", 24 * 12, 0, 24 * 12, 400, 0, 5000); - hqqqIndexVE = new TH2F("hqqqIndexVE", "QQQ index vs Energy; QQQ index ; Energy", 4 * 2 * 16, 0, 4 * 2 * 16, 400, 0, 5000); - hpcIndexVE = new TH2F("hpcIndexVE", "PC index vs Energy; PC index ; Energy", 2 * 24, 0, 2 * 24, 400, 0, 16000); - hpcIndexVE_GM = new TH2F("hpcIndexVE_GM", "PC index vs Energy; PC index ; Energy", 2 * 24, 0, 2 * 24, 400, 0, 16000); - - hsx3Coin = new TH2F("hsx3Coin", "SX3 Coincident", 24 * 12, 0, 24 * 12, 24 * 12, 0, 24 * 12); - hqqqCoin = new TH2F("hqqqCoin", "QQQ Coincident", 4 * 2 * 16, 0, 4 * 2 * 16, 4 * 2 * 16, 0, 4 * 2 * 16); - hpcCoin = new TH2F("hpcCoin", "PC Coincident", 2 * 24, 0, 2 * 24, 2 * 24, 0, 2 * 24); - hAVCcoin = new TH2F("hAVCcoin", "Anode vs Cathode Coincident", 24, 0, 24, 24, 0, 24); - - hqqqPolar = new TH2F("hqqqPolar", "QQQ Polar ID", 16 * 4, -TMath::Pi(), TMath::Pi(), 16, 10, 50); - - hsx3VpcIndex = new TH2F("hsx3Vpcindex", "sx3 vs pc; sx3 index; pc index", 24 * 12, 0, 24 * 12, 48, 0, 48); - hqqqVpcIndex = new TH2F("hqqqVpcindex", "qqq vs pc; qqq index; pc index", 4 * 2 * 16, 0, 4 * 2 * 16, 48, 0, 48); - - hqqqVpcE = new TH2F("hqqqVpcEnergy", "qqq vs pc; qqq energy; pc energy", 400, 0, 5000, 800, 0, 16000); - - hsx3VpcE = new TH2F("hsx3VpcEnergy", "sx3 vs pc; sx3 energy; pc energy", 400, 0, 5000, 800, 0, 16000); - - hZProj = new TH1F("hZProj", "Z Projection", 1200, -600, 600); - hPCZProj = new TH1F("hPCZProj", "PC Z Projection", 600, -300, 300); - - hanVScatsum = new TH2F("hanVScatsum", "Anode vs Cathode Sum; Anode E; Cathode E", 400, 0, 16000, 400, 0, 20000); - hCat4An = new TH1F("hCat4An", "Number of Cathodes/Anode", 24, 0, 24); - hCat0An = new TH1F("hCat0An", "Number of Cathodes without Anode", 24, 0, 24); - hAnodehits = new TH1F("hAnodehits", "Number of Anode hits", 24, 0, 24); - hNosvAe = new TH2F("hnosvAe", "Number of Cathodes/Anode vs Anode Energy", 20, 0, 20, 400, 0, 16000); - // for (int i = 0; i < 24; i++) - // { - // TString histName = Form("hAnodeVsCathode_%d", i); - // TString histTitle = Form("Anode %d vs Cathode Sum; Anode E; Cathode Sum E", i); - // hanVScatsum_a[i] = new TH2F(histName, histTitle, 400, 0, 16000, 400, 0, 20000); - // } - // for (int i = 0; i < 48; i++) - // { - // TString histName = Form("hCathode_%d", i); - // TString histTitle = Form("Cathode_E_%d;", i); - // hPC_E[i] = new TH1F(histName, histTitle, 3200, 0, 32000); - // } - sx3_contr.ConstructGeo(); - pw_contr.ConstructGeo(); - - std::ifstream inputFile("slope_intercept_results.txt"); - - if (inputFile.is_open()) - { - std::string line; - int index; - double slope, intercept; - while (std::getline(inputFile, line)) - { - std::stringstream ss(line); - ss >> index >> slope >> intercept; - // wires 37, 39, 44 have fit data that is incorrect or not present, they have thus been set to 1,0 (slope, intercept) for convenience - // wire 19 the 4th point was genereated using the slope of the line produced uising the other 3 points from the wire 1 vs wire 19 plot - if (index >= 0 && index <= 47) - { - slopeInterceptMap[index] = std::make_pair(slope, intercept); - } - } - inputFile.close(); - } - else - { - std::cerr << "Error opening slope_intercept.txt" << std::endl; - } - - std::string filename = "sx3_GainMatchback.txt"; - - std::ifstream infile(filename); - if (!infile.is_open()) - { - std::cerr << "Error opening " << filename << "!" << std::endl; - return; - } - - int id, bk; - double gain; - while (infile >> id >> bk >> gain) - { - backGain[id][bk] = gain; - if (backGain[id][bk] > 0) - backGainValid[id][bk] = true; - else - backGainValid[id][bk] = false; - } - - infile.close(); - std::cout << "Loaded back gains from " << filename << std::endl; - - std::string filename1 = "sx3_GainMatchfront.txt"; - - std::ifstream infile1(filename1); - if (!infile1.is_open()) - { - std::cerr << "Error opening " << filename1 << "!" << std::endl; - return; - } - - int idf, bkf, uf, df; - double fgain; - while (infile1 >> idf >> bkf >> uf >> df >> fgain) - { - frontGain[idf][bkf][uf][df] = fgain; - frontGainValid[idf][bkf][uf][df] = true; - } - - // QQQ Gain Matching and Calibration - // ----------------------- Load QQQ Gains - { - std::string filename = "qqq_GainMatch.txt"; - std::ifstream infile(filename); - if (!infile.is_open()) - { - std::cerr << "Error opening " << filename << "!" << std::endl; - } - else - { - int det, ring, wedge; - double gainw, gainr; - while (infile >> det >> ring >> wedge >> gainw >> gainr) - { - qqqGain[det][ring][wedge] = gainw; - // qqqrGain[det][ring][wedge] = gainr; - qqqGainValid[det][ring][wedge] = (gainw > 0); - // qqqrGainValid[det][ring][wedge] = (gainr > 0); - } - infile.close(); - std::cout << "Loaded QQQ gains from " << filename << std::endl; - } - } - // ----------------------- Load QQQ Calibrations - { - std::string filename = "qqq_Calib.txt"; - std::ifstream infile(filename); - if (!infile.is_open()) - { - std::cerr << "Error opening " << filename << "!" << std::endl; - } - else - { - int det, ring, wedge; - double slope; - while (infile >> det >> ring >> wedge >> slope) - { - qqqCalib[det][ring][wedge] = slope; - qqqCalibValid[det][ring][wedge] = (slope > 0); - } - infile.close(); - std::cout << "Loaded QQQ calibrations from " << filename << std::endl; - } - } -} - -Bool_t Analyzer::Process(Long64_t entry) -{ - - // if ( entry > 100 ) return kTRUE; - - hitPos.Clear(); - HitNonZero = false; - - // if( entry > 1) return kTRUE; - // printf("################### ev : %llu \n", entry); - - b_sx3Multi->GetEntry(entry); - b_sx3ID->GetEntry(entry); - b_sx3Ch->GetEntry(entry); - b_sx3E->GetEntry(entry); - b_sx3T->GetEntry(entry); - b_qqqMulti->GetEntry(entry); - b_qqqID->GetEntry(entry); - b_qqqCh->GetEntry(entry); - b_qqqE->GetEntry(entry); - b_qqqT->GetEntry(entry); - b_pcMulti->GetEntry(entry); - b_pcID->GetEntry(entry); - b_pcCh->GetEntry(entry); - b_pcE->GetEntry(entry); - b_pcT->GetEntry(entry); - - sx3.CalIndex(); - qqq.CalIndex(); - pc.CalIndex(); - - // sx3.Print(); - - // ########################################################### Raw data - // //======================= SX3 - sx3ecut = false; - std::vector> ID; // first = id, 2nd = index - for (int i = 0; i < sx3.multi; i++) - { - ID.push_back(std::pair(sx3.id[i], i)); - hsx3IndexVE->Fill(sx3.index[i], sx3.e[i]); - - if (sx3.e[i] > 100) - { - sx3ecut = true; - } - - for (int j = i + 1; j < sx3.multi; j++) - { - hsx3Coin->Fill(sx3.index[i], sx3.index[j]); - } - - for (int j = 0; j < pc.multi; j++) - { - if (pc.index[j] < 24 && pc.e[j] > 100) - { - hsx3VpcIndex->Fill(sx3.index[i], pc.index[j]); - // if( sx3.ch[index] > 8 ){ - // hsx3VpcE->Fill( sx3.e[i], pc.e[j] ); - // } - } - } - } - - if (ID.size() > 0) - { - std::sort(ID.begin(), ID.end(), [](const std::pair &a, const std::pair &b) - { return a.first < b.first; }); - // printf("##############################\n"); - // for( size_t i = 0; i < ID.size(); i++) printf("%zu | %d %d \n", i, ID[i].first, ID[i].second ); - - std::vector> sx3ID; - sx3ID.push_back(ID[0]); - bool found = false; - for (size_t i = 1; i < ID.size(); i++) - { - if (ID[i].first == sx3ID.back().first) - { - sx3ID.push_back(ID[i]); - if (sx3ID.size() >= 3) - { - found = true; - } - } - else - { - if (!found) - { - sx3ID.clear(); - sx3ID.push_back(ID[i]); - } - } - } - - // printf("---------- sx3ID Multi : %zu \n", sx3ID.size()); - - if (found) - { - int sx3ChUp, sx3ChDn, sx3ChBk; - float sx3EUp, sx3EDn; - // printf("------ sx3 ID : %d, multi: %zu\n", sx3ID[0].first, sx3ID.size()); - for (size_t i = 0; i < sx3ID.size(); i++) - { - int index = sx3ID[i].second; - // printf(" %zu | index %d | ch : %d, energy : %d \n", i, index, sx3.ch[index], sx3.e[index]); - - if (sx3.ch[index] < 8) - { - if (sx3.ch[index] % 2 == 0) - { - sx3ChDn = sx3.ch[index]; - sx3EDn = sx3.e[index]; - } - else - { - sx3ChUp = sx3.ch[index]; - sx3EUp = sx3.e[index]; - } - } - else - { - sx3ChBk = sx3.ch[index]; - } - for (int j = 0; j < pc.multi; j++) - { - // hsx3VpcIndex->Fill( sx3.index[i], pc.index[j] ); - if (sx3.ch[index] > 8) - { - hsx3VpcE->Fill(sx3.e[i], pc.e[j]); - // hpcIndexVE->Fill( pc.index[i], pc.e[i] ); - } - } - } - - // sx3_contr.CalSX3Pos(sx3ID[0].first, sx3ChUp, sx3ChDn, sx3ChBk, sx3EUp, sx3EDn); - // hitPos = sx3_contr.GetHitPos(); - // HitNonZero = true; - // hitPos.Print(); - } - } - - // //======================= QQQ - - qqqEcut = false; - for (int i = 0; i < qqq.multi; i++) - { - // for( int j = 0; j < pc.multi; j++){ - // if(pc.index[j]==4){ - hqqqIndexVE->Fill(qqq.index[i], qqq.e[i]); - // } - // printf("QQQ ID : %d, ch : %d, e : %d \n", qqq.id[i], qqq.ch[i], qqq.e[i]); - if (qqq.e[i] > 100) - { - qqqEcut = true; - } - // } - for (int j = 0; j < qqq.multi; j++) - { - if (j == i) - continue; - hqqqCoin->Fill(qqq.index[i], qqq.index[j]); - } - - for (int k = 0; k < pc.multi; k++) - { - if (pc.index[k] < 24 && pc.e[k] > 50) - { - hqqqVpcE->Fill(qqq.e[i], pc.e[k]); - // hpcIndexVE->Fill( pc.index[i], pc.e[i] ); - hqqqVpcIndex->Fill(qqq.index[i], pc.index[k]); - } - } - - // } - - for (int j = i + 1; j < qqq.multi; j++) - { - // if( qqq.used[i] == true ) continue; - - // if( qqq.id[i] == qqq.id[j] && (16 - qqq.ch[i]) * (16 - qqq.ch[j]) < 0 ){ // must be same detector and wedge and ring - if (qqq.id[i] == qqq.id[j]) - { // must be same detector - - if (qqq.e[i] > 100) - qqqEcut = true; - if (qqq.id[i] == qqq.id[j]) - { - int chWedge = -1; - int chRing = -1; - float eWedgeRaw = 0.0; - float eWedge = 0.0; - float eWedgeMeV = 0.0; - float eRingRaw = 0.0; - float eRing = 0.0; - float eRingMeV = 0.0; - // plug in gains - if (qqq.ch[i] < 16 && qqq.ch[j] >= 16 && /*qqqrGainValid[qqq.id[i]][qqq.ch[i]][qqq.ch[j] - 16] &&*/ qqqGainValid[qqq.id[i]][qqq.ch[i]][qqq.ch[j] - 16]) - { - chWedge = qqq.ch[i]; - eWedgeRaw = qqq.e[i]; - eWedge = qqq.e[i] * qqqGain[qqq.id[i]][qqq.ch[i]][qqq.ch[j] - 16]; - // printf("Wedge E: %.2f Gain: %.4f \n", eWedge, qqqGain[qqq.id[i]][qqq.ch[i]][qqq.ch[j] - 16]); - chRing = qqq.ch[j] - 16; - eRingRaw = qqq.e[j]; - eRing = qqq.e[j]; //* qqqrGain[qqq.id[j]][qqq.ch[j]][qqq.ch[i]-16]; - } - else if (qqq.ch[j] < 16 && qqq.ch[i] >= 16 /* && qqqrGainValid[qqq.id[j]][qqq.ch[j]][qqq.ch[i] - 16] */ && qqqGainValid[qqq.id[j]][qqq.ch[j]][qqq.ch[i] - 16]) - { - chWedge = qqq.ch[j]; - eWedge = qqq.e[j] * qqqGain[qqq.id[j]][qqq.ch[j]][qqq.ch[i] - 16]; - eWedgeRaw = qqq.e[j]; - chRing = qqq.ch[i] - 16; - eRing = qqq.e[i]; // * qqqrGain[qqq.id[i]][qqq.ch[i]][qqq.ch[j] - 16]; - eRingRaw = qqq.e[i]; - } - else - continue; - // plug in calibrations - if (qqqCalibValid[qqq.id[i]][chRing][chWedge]) - { - eWedgeMeV = eWedge * qqqCalib[qqq.id[i]][chRing][chWedge] / 1000; - eRingMeV = eRing * qqqCalib[qqq.id[i]][chRing][chWedge] / 1000; - } - else - continue; - - // printf(" ID : %d , chWedge : %d, chRing : %d \n", qqq.id[i], chWedge, chRing); - - double theta = -TMath::Pi() / 2 + 2 * TMath::Pi() / 16 / 4. * (qqq.id[i] * 16 + chWedge + 0.5); - double rho = 50. + 40. / 16. * (chRing + 0.5); - // if(qqq.e[i]>50){ - hqqqPolar->Fill(theta, rho); - // } - // qqq.used[i] = true; - // qqq.used[j] = true; - - if (!HitNonZero) - { - double x = rho * TMath::Cos(theta); - double y = rho * TMath::Sin(theta); - hitPos.SetXYZ(x, y, 23 + 75 + 30); - HitNonZero = true; - } - } - } - } - } - // //======================= PC - - // Calculate the crossover points and put them into an array - - pwinstance.ConstructGeo(); - Coord Crossover[24][24][2]; - TVector3 a, c, diff; - double a2, ac, c2, adiff, cdiff, denom, alpha, beta; - int index = 0; - for (int i = 0; i < pwinstance.An.size(); i++) - { - a = pwinstance.An[i].first - pwinstance.An[i].second; - - for (int j = 0; j < pwinstance.Ca.size(); j++) - { - // Ok so this method uses what is essentially the solution of 2 equations to find the point of intersection between the anode and cathode wires - // here a and c are the vectors of the anode and cathode wires respectively - // diff is the perpendicular vector between the anode and cathode wires - // The idea behind this is to then find the scalars alpha and beta that give a ratio between 0 and -1, - - c = pwinstance.Ca[j].first - pwinstance.Ca[j].second; - diff = pwinstance.An[i].first - pwinstance.Ca[j].first; - a2 = a.Dot(a); - c2 = c.Dot(c); - ac = a.Dot(c); - adiff = a.Dot(diff); - cdiff = c.Dot(diff); - denom = a2 * c2 - ac * ac; - alpha = (ac * cdiff - c2 * adiff) / denom; - beta = (a2 * cdiff - ac * adiff) / denom; - - Crossover[i][j][0].x = pwinstance.An[i].first.X() + alpha * a.X(); - Crossover[i][j][0].y = pwinstance.An[i].first.Y() + alpha * a.Y(); - Crossover[i][j][0].z = pwinstance.An[i].first.Z() + alpha * a.Z(); - if (Crossover[i][j][0].z < -190 || Crossover[i][j][0].z > 190) - { - Crossover[i][j][0].z = 9999999; - } - // placeholder variable Crossover[i][j][1].x has nothing to do with the geometry of the crossover and is being used to store the alpha value- - //-so that it can be used to sort "good" hits later - Crossover[i][j][1].x = alpha; - Crossover[i][j][1].y = 0; - // if(i==0){ - // printf("CID, Crossover z and alpha are : %d %f %f \n", j, Crossover[i][j][0].z, Crossover[i][j][1].x /*this is alpha*/); - // } - // } - // } - } - } - // printf("Anode and cathode indices, alpha, denom, andiff, cndiff : %d %d %f %f %f %f\n", i, j, alpha, denom, adiff, cdiff); - - // anodeIntersection.Clear(); - for (int i = 0; i < pc.multi; i++) - { - - if (pc.e[i] > 100) - { - hpcIndexVE->Fill(pc.index[i], pc.e[i]); // non gain matched energy - } - - // Gain Matching of PC wires - if (pc.index[i] >= 0 && pc.index[i] < 48) - { - // printf("index: %d, Old cathode energy: %d \n", pc.index[i],pc.e[i]); - auto it = slopeInterceptMap.find(pc.index[i]); - if (it != slopeInterceptMap.end()) - { - double slope = it->second.first; - double intercept = it->second.second; - // printf("slope: %f, intercept:%f\n" ,slope, intercept); - pc.e[i] = slope * pc.e[i] + intercept; - // printf("index: %d, New cathode energy: %d \n",pc.index[i], pc.e[i]); - } - hpcIndexVE_GM->Fill(pc.index[i], pc.e[i]); - // hPC_E[pc.index[i]]->Fill(pc.e[i]); // gain matched energy per channel - } - } - - std::vector> anodeHits = {}; - std::vector> cathodeHits = {}; - std::vector> corrcatMax = {}; - std::vector> corrcatnextMax = {}; - std::vector> commcat = {}; - int aID = 0; - int cID = 0; - float aE = 0; - float cE = 0; - float aESum = 0; - float cESum = 0; - float aEMax = 0; - float cEMax = 0; - float aEnextMax = 0; - float cEnextMax = 0; - int aIDMax = 0; - int cIDMax = 0; - int aIDnextMax = 0; - int cIDnextMax = 0; - - // Define the excluded SX3 and QQQ channels - // std::unordered_set excludeSX3 = {34, 35, 36, 37, 61, 62, 67, 73, 74, 75, 76, 77, 78, 79, 80, 93, 97, 100, 103, 108, 109, 110, 111, 112}; - // std::unordered_set excludeQQQ = {0, 17, 109, 110, 111, 112, 113, 119, 127, 128}; - // inCuth=false; - // inCutl=false; - // inPCCut=false; - for (int i = 0; i < pc.multi; i++) - { - if (pc.e[i] > 100 /*&& pc.multi < 7*/) - { - // creating a vector of pairs of anode and cathode hits - if (pc.index[i] < 24) - { - anodeHits.push_back(std::pair(pc.index[i], pc.e[i])); - } - else if (pc.index[i] >= 24) - { - cathodeHits.push_back(std::pair(pc.index[i] - 24, pc.e[i])); - } - - for (int j = i + 1; j < pc.multi; j++) - { - // if(PCCoinc_cut1->IsInside(pc.index[i], pc.index[j]) || PCCoinc_cut2->IsInside(pc.index[i], pc.index[j])){ - // // hpcCoin->Fill(pc.index[i], pc.index[j]); - // inPCCut = true; - // } - hpcCoin->Fill(pc.index[i], pc.index[j]); - } - } - } - // sorting the anode and cathode hits in descending order of energy - std::sort(anodeHits.begin(), anodeHits.end(), [](const std::pair &a, const std::pair &b) - { return a.second > b.second; }); - std::sort(cathodeHits.begin(), cathodeHits.end(), [](const std::pair &a, const std::pair &b) - { return a.second > b.second; }); - - bool SiPCflag; - - corrcatMax.clear(); - if (anodeHits.size() >= 1 && cathodeHits.size() > 1) - { - if (((TMath::TanH(hitPos.Y() / hitPos.X())) > (TMath::TanH(a.Y() / a.X()) - TMath::PiOver4())) || ((TMath::TanH(hitPos.Y() / hitPos.X())) < (TMath::TanH(a.Y() / a.X()) + TMath::PiOver4()))) - { - - for (const auto &anode : anodeHits) - { - aID = anode.first; - aE = anode.second; - aESum += aE; - if (aE > aEMax) - { - aEMax = aE; - aIDMax = aID; - } - if (aE > aEnextMax && aE < aEMax) - { - aEnextMax = aE; - aIDnextMax = aID; - } - // for(const auto &cat : cathodeHits){ - // hAVCcoin->Fill(aID, cat.first); - // } - } - - // std::cout << " Anode iD : " << aIDMax << " Energy : " << aEMax << std::endl; - - // printf("aID : %d, aE : %f, cE : %f\n", aID, aE, cE); - for (const auto &cathode : cathodeHits) - { - cID = cathode.first; - cE = cathode.second; - // std::cout << "Cathode ID : " << cID << " Energy : " << cE << std::endl; - - hAVCcoin->Fill(aIDMax, cID); - - // This section of code is used to find the cathodes are correlated with the max and next max anodes, as well as to figure out if there are any common cathodes - // the anodes are correlated with the cathodes +/-3 from the anode number in the reverse order - - for (int j = -4; j < 3; j++) - { - if ((aIDMax + 24 + j) % 24 == 23 - cID) - /* the 23-cID is used to accomodate for the fact that the order of the cathodes was reversed relative top the physical geometry */ - // if (Crossover[aIDMax][cID][0].z != 9999999) - { - corrcatMax.push_back(std::pair(cID, cE)); - cESum += cE; - // printf("Max Anode : %d Correlated Cathode : %d Anode Energy : %f z value : %f \n", aIDMax, cID, cESum, Crossover[aIDMax][cID][1].z /*prints alpha*/); - // std::cout << " Cathode iD : " << cID << " Energy : " << cE << std::endl; - } - } - } - } - } - - TVector3 anodeIntersection; - anodeIntersection.Clear(); - // Implementing a method for PC reconstruction using a single Anode event - // if (anodeHits.size() == 1) - { - float x, y, z = 0; - for (const auto &corr : corrcatMax) - { - if (cESum > 0) - { - x += (corr.second) / cESum * Crossover[aIDMax][corr.first][0].x; - y += (corr.second) / cESum * Crossover[aIDMax][corr.first][0].y; - z += (corr.second) / cESum * Crossover[aIDMax][corr.first][0].z; - // printf("Max Anode : %d Correlated Cathode : %d cathode Energy : %f cESum Energy : %f z value : %f \n", aIDMax, corr.first, corr.second, cESum, Crossover[aIDMax][corr.first][1].z /*prints alpha*/); - } - else - { - printf("Warning: No valid cathode hits to correlate with anode %d! \n", aIDMax); - } - // printf("EventID : %llu, Max Anode : %d Cathode: %d PC X and Y : (%f, %f) \n", entry, aIDMax, cID, Crossover[aIDMax][cID][0].x, Crossover[aIDMax][cID][0].y); - // for (int i = 0; i < sx3.multi; i++) - // { - // printf("EventID : %llu, HitPos X, Y, Z: %f %f %f SX3ID : %d %d \n", entry, hitPos.X(), hitPos.Y(), hitPos.Z(), sx3.id[i], sx3.ch[i]); - // } - - // for (int i = 0; i < qqq.multi; i++) - // { - // printf("Max Anode : %d Cathode: %d PC X and Y : %f %f \n", aIDMax, cID, Crossover[aIDMax][cID][0].x, Crossover[aIDMax][cID][0].y); - // printf("HitPos X, Y, Z, QQQID : %f %f %f %d \n", hitPos.X(), hitPos.Y(), hitPos.Z(), qqq.id[i]); - // } - } - anodeIntersection = TVector3(x, y, z); - // std::cout << "Anode Intersection " << anodeIntersection.Z() << " " << x << " " << y << " " << z << std::endl; - } - - if (anodeIntersection.Z() != 0) - { - hPCZProj->Fill(anodeIntersection.Z()); - } - // Filling the PC Z projection histogram - // std::cout << anodeIntersection.Z() << std::endl; - // hPCZProj->Fill(anodeIntersection.Z()); - - // } - - // inCuth = false; - // inCutl = false; - // inPCCut = false; - // for(int j=i+1;jIsInside(pc.index[i], pc.index[j]) || PCCoinc_cut2->IsInside(pc.index[i], pc.index[j])){ - // // hpcCoin->Fill(pc.index[i], pc.index[j]); - // inPCCut = true; - // } - // hpcCoin->Fill(pc.index[i], pc.index[j]); - // } - - // Check if the accumulated energies are within the defined ranges - // if (AnCatSum_high && AnCatSum_high->IsInside(aESum, cESum)) { - // inCuth = true; - // } - // if (AnCatSum_low && AnCatSum_low->IsInside(aESum, cESum)) { - // inCutl = true; - // } - - // Fill histograms based on the cut conditions - // if (inCuth && inPCCut) { - // hanVScatsum_hcut->Fill(aESum, cESum); - // } - // if (inCutl && inPCCut) { - // hanVScatsum_lcut->Fill(aESum, cESum); - // } - // for(auto anode : anodeHits){ - - // float aE = anode.second; - // aESum += aE; - // if(inPCCut){ - hanVScatsum->Fill(aEMax, cESum); - // } - - // if (sx3ecut) - // { - hCat4An->Fill(corrcatMax.size()); - hNosvAe->Fill(corrcatMax.size(), aEMax); - hAnodehits->Fill(anodeHits.size()); - // } - - // } - if (anodeHits.size() < 1) - { - hCat0An->Fill(cathodeHits.size()); - } - - if (HitNonZero && anodeIntersection.Z() != 0) - { - pw_contr.CalTrack2(hitPos, anodeIntersection); - hZProj->Fill(pw_contr.GetZ0()); - } - - // ########################################################### Track constrcution - - // ############################## DO THE KINEMATICS - - return kTRUE; - } - - void Analyzer::Terminate() - { - - // gStyle->SetOptStat("neiou"); - // TCanvas *canvas = new TCanvas("cANASEN", "ANASEN", 2000, 2000); - // canvas->Divide(3, 3); - - // // hsx3VpcIndex->Draw("colz"); - - // //=============================================== pad-1 - // padID++; - // canvas->cd(padID); - // canvas->cd(padID)->SetGrid(1); - - // hsx3IndexVE->Draw("colz"); - - // //=============================================== pad-2 - // padID++; - // canvas->cd(padID); - // canvas->cd(padID)->SetGrid(1); - - // hqqqIndexVE->Draw("colz"); - - // //=============================================== pad-3 - // padID++; - // canvas->cd(padID); - // canvas->cd(padID)->SetGrid(1); - - // hpcIndexVE->Draw("colz"); - - // //=============================================== pad-4 - // padID++; - // canvas->cd(padID); - // canvas->cd(padID)->SetGrid(1); - - // hsx3Coin->Draw("colz"); - - // //=============================================== pad-5 - // padID++; - // canvas->cd(padID); - // canvas->cd(padID)->SetGrid(1); - - // canvas->cd(padID)->SetLogz(true); - - // hqqqCoin->Draw("colz"); - - // //=============================================== pad-6 - // padID++; - // canvas->cd(padID); - // canvas->cd(padID)->SetGrid(1); - - // hpcCoin->Draw("colz"); - - // //=============================================== pad-7 - // padID++; - // canvas->cd(padID); - // canvas->cd(padID)->SetGrid(1); - - // // hsx3VpcIndex ->Draw("colz"); - // hsx3VpcE->Draw("colz"); - - // //=============================================== pad-8 - // padID++; - // canvas->cd(padID); - // canvas->cd(padID)->SetGrid(1); - - // // hqqqVpcIndex ->Draw("colz"); - - // hqqqVpcE->Draw("colz"); - // //=============================================== pad-9 - // padID++; - - // // canvas->cd(padID)->DrawFrame(-50, -50, 50, 50); - // // hqqqPolar->Draw("same colz pol"); - - // canvas->cd(padID); - // canvas->cd(padID)->SetGrid(1); - // // hZProj->Draw(); - // hanVScatsum->Draw("colz"); - - // // TFile *outRoot = new TFile("Histograms.root", "RECREATE"); - - // // if (!outRoot->IsOpen()) - // // { - // // std::cerr << "Error opening file for writing!" << std::endl; - // // return; - // // } - - // // // Loop through histograms and write them to the ROOT file - // // for (int i = 0; i < 48; i++) - // // { - // // if (hPC_E[i] != nullptr) - // // { - // // hPC_E[i]->Write(); // Write histogram to file - // // } - // // } - - // // outRoot->Close(); - } diff --git a/Analyzer.h b/Analyzer.h deleted file mode 100644 index 05d9073..0000000 --- a/Analyzer.h +++ /dev/null @@ -1,129 +0,0 @@ -#ifndef Analyzer_h -#define Analyzer_h - -#include -#include -#include -#include - -#include "Armory/ClassDet.h" - -class Analyzer : public TSelector { -public : - TTree *fChain; //!pointer to the analyzed TTree or TChain - -// Fixed size dimensions of array or collections stored in the TTree if any. - - // Declaration of leaf types - Det sx3; - Det qqq; - Det pc ; - Det misc; - - ULong64_t evID; - UInt_t run; - - // List of branches - TBranch *b_eventID; //! - TBranch *b_run; //! - TBranch *b_sx3Multi; //! - TBranch *b_sx3ID; //! - TBranch *b_sx3Ch; //! - TBranch *b_sx3E; //! - TBranch *b_sx3T; //! - TBranch *b_qqqMulti; //! - TBranch *b_qqqID; //! - TBranch *b_qqqCh; //! - TBranch *b_qqqE; //! - TBranch *b_qqqT; //! - TBranch *b_pcMulti; //! - TBranch *b_pcID; //! - TBranch *b_pcCh; //! - TBranch *b_pcE; //! - TBranch *b_pcT; //! - TBranch *b_miscMulti; //! - TBranch *b_miscID; //! - TBranch *b_miscCh; //! - TBranch *b_miscE; //! - TBranch *b_miscT; //! - TBranch *b_miscTf; //! - - - Analyzer(TTree * /*tree*/ =0) : fChain(0) { } - virtual ~Analyzer() { } - virtual Int_t Version() const { return 2; } - virtual void Begin(TTree *tree); - virtual void SlaveBegin(TTree *tree); - virtual void Init(TTree *tree); - virtual Bool_t Notify(); - virtual Bool_t Process(Long64_t entry); - virtual Int_t GetEntry(Long64_t entry, Int_t getall = 0) { return fChain ? fChain->GetTree()->GetEntry(entry, getall) : 0; } - virtual void SetOption(const char *option) { fOption = option; } - virtual void SetObject(TObject *obj) { fObject = obj; } - virtual void SetInputList(TList *input) { fInput = input; } - virtual TList *GetOutputList() const { return fOutput; } - virtual void SlaveTerminate(); - virtual void Terminate(); - - ClassDef(Analyzer,0); -}; - -#endif - -#ifdef Analyzer_cxx -void Analyzer::Init(TTree *tree){ - - // Set branch addresses and branch pointers - if (!tree) return; - fChain = tree; - fChain->SetMakeClass(1); - - fChain->SetBranchAddress("evID", &evID, &b_eventID); - fChain->SetBranchAddress("run", &run, &b_run); - - sx3.SetDetDimension(24,12); - qqq.SetDetDimension(4,32); - pc.SetDetDimension(2,24); - - fChain->SetBranchAddress("sx3Multi", &sx3.multi, &b_sx3Multi); - fChain->SetBranchAddress("sx3ID", &sx3.id, &b_sx3ID); - fChain->SetBranchAddress("sx3Ch", &sx3.ch, &b_sx3Ch); - fChain->SetBranchAddress("sx3E", &sx3.e, &b_sx3E); - fChain->SetBranchAddress("sx3T", &sx3.t, &b_sx3T); - fChain->SetBranchAddress("qqqMulti", &qqq.multi, &b_qqqMulti); - fChain->SetBranchAddress("qqqID", &qqq.id, &b_qqqID); - fChain->SetBranchAddress("qqqCh", &qqq.ch, &b_qqqCh); - fChain->SetBranchAddress("qqqE", &qqq.e, &b_qqqE); - fChain->SetBranchAddress("qqqT", &qqq.t, &b_qqqT); - fChain->SetBranchAddress("pcMulti", &pc.multi, &b_pcMulti); - fChain->SetBranchAddress("pcID", &pc.id, &b_pcID); - fChain->SetBranchAddress("pcCh", &pc.ch, &b_pcCh); - fChain->SetBranchAddress("pcE", &pc.e, &b_pcE); - fChain->SetBranchAddress("pcT", &pc.t, &b_pcT); - fChain->SetBranchAddress("miscMulti", &misc.multi, &b_miscMulti); - fChain->SetBranchAddress("miscID", &misc.id, &b_miscID); - fChain->SetBranchAddress("miscCh", &misc.ch, &b_miscCh); - fChain->SetBranchAddress("miscE", &misc.e, &b_miscE); - fChain->SetBranchAddress("miscT", &misc.t, &b_miscT); - // fChain->SetBranchAddress("miscF", &misc.tf, &b_miscTf); - - -} - -Bool_t Analyzer::Notify(){ - - return kTRUE; -} - -void Analyzer::SlaveBegin(TTree * /*tree*/){ - - TString option = GetOption(); - -} - -void Analyzer::SlaveTerminate(){ - -} - - -#endif // #ifdef Analyzer_cxx diff --git a/Timing_Summary_Matplotlib.png b/Timing_Summary_Matplotlib.png deleted file mode 100644 index a5178eada9505a9cf2374a0737dd776c8f6dcef6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72068 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 Ai~s-t diff --git a/TrackRecon.C b/TrackRecon.C index ada6dbf..433e024 100644 --- a/TrackRecon.C +++ b/TrackRecon.C @@ -42,8 +42,8 @@ Int_t colors[40] = { bool process_alpha_proton_scattering = false, doMiscHistograms = true, doRawHistos = false, - doPCSX3ClusterAnalysis = true, - doPCQQQClusterAnalysis = true, + doPCSX3ClusterAnalysis = false, + doPCQQQClusterAnalysis = false, doOldAnalysis = false, BenchMark = false, onewire_analysis = true, @@ -196,7 +196,8 @@ inline void fillBeamProfile(HistPlotter *plotter, const TVector3 &vertex, plotter->Fill1D(one + "pocaDist", 400, 0, 100, pocaDist, folder); const double zLo = -440.0, zHi = 40.0; const int nSlice = 16; - const double sliceW = (zHi - zLo) / nSlice; // 40 mm + const double sliceW = (zHi - zLo) / nSlice; // 30 mm + if (vz >= zLo && vz < zHi) { int is = static_cast((vz - zLo) / sliceW); @@ -1296,20 +1297,20 @@ Bool_t TrackRecon::Process(Long64_t entry) continue; } auto det = Fsx3.at(id); - // if (det.valid) - // { - // // std::cout << det.frontEL << " " << det.frontEL*sx3RightGain[id][det.stripF] << std::endl; - // // plotter->Fill2D("be_vs_x_sx3_id_"+std::to_string(id)+"_f"+std::to_string(det.stripF)+"_b"+std::to_string(det.stripB),200,-1,1,800,0,8192,det.frontX,det.backE,"evsx"); - // // plotter->Fill2D("unmatched_be_vs_x_sx3_id_" + std::to_string(id), 200, -1, 1, 800, 0, 4096, det.frontX, det.backE, "evsx"); - // // plotter->Fill2D("unmatched_be_vs_x_sx3", 200, -1, 1, 800, 0, 4096, det.frontX, det.backE, "evsx"); - // // plotter->Fill2D("matched_be_vs_x_sx3", 200, -60, 60, 800, 0, 8192, det.frontX * sx3FrontGain[id][det.stripF] + sx3FrontOffset[id][det.stripF], det.backE * sx3BackGain[id][det.stripF][det.stripB], "evsx"); - // // plotter->Fill2D("matched_be_vs_x_sx3_id_" + std::to_string(id), 200, -60, 60, 800, 0, 8192, det.frontX * sx3FrontGain[id][det.stripF] + sx3FrontOffset[id][det.stripF], det.backE * sx3BackGain[id][det.stripF][det.stripB], "evsx"); + if (det.valid && diagnostic_eplots) + { + // std::cout << det.frontEL << " " << det.frontEL*sx3RightGain[id][det.stripF] << std::endl; + plotter->Fill2D("be_vs_x_sx3_id_"+std::to_string(id)+"_f"+std::to_string(det.stripF)+"_b"+std::to_string(det.stripB),200,-1,1,800,0,8192,det.frontX,det.backE,"evsx"); + plotter->Fill2D("unmatched_be_vs_x_sx3_id_" + std::to_string(id), 200, -1, 1, 800, 0, 4096, det.frontX, det.backE, "evsx"); + plotter->Fill2D("unmatched_be_vs_x_sx3", 200, -1, 1, 800, 0, 4096, det.frontX, det.backE, "evsx"); + plotter->Fill2D("matched_be_vs_x_sx3", 200, -60, 60, 800, 0, 8192, det.frontX * sx3FrontGain[id][det.stripF] + sx3FrontOffset[id][det.stripF], det.backE * sx3BackGain[id][det.stripF][det.stripB], "evsx"); + plotter->Fill2D("matched_be_vs_x_sx3_id_" + std::to_string(id), 200, -60, 60, 800, 0, 8192, det.frontX * sx3FrontGain[id][det.stripF] + sx3FrontOffset[id][det.stripF], det.backE * sx3BackGain[id][det.stripF][det.stripB], "evsx"); - // // plotter->Fill2D("matched_be_vs_x_sx3_id_" + std::to_string(id) + "_f" + std::to_string(det.stripF), 200, -60, 60, 800, 0, 8192, - // // det.frontX * sx3FrontGain[id][det.stripF] + sx3FrontOffset[id][det.stripF], det.backE * sx3BackGain[id][det.stripF][det.stripB], "evsx_matched"); - // // plotter->Fill2D("fe_vs_x_sx3_id_"+std::to_string(id)+"_f"+std::to_string(det.stripF)+"_"+std::to_string(det.stripB),200,-1,1,800,0,4096,det.frontX,det.backE,"evsx"); - // // plotter->Fill2D("l_vs_r_sx3_id_" + std::to_string(id) + "_f" + std::to_string(det.stripF), 800, 0, 4096, 800, 0, 4096, det.frontEL, det.frontER, "l_vs_r"); - // } + plotter->Fill2D("matched_be_vs_x_sx3_id_" + std::to_string(id) + "_f" + std::to_string(det.stripF), 200, -60, 60, 800, 0, 8192, + det.frontX * sx3FrontGain[id][det.stripF] + sx3FrontOffset[id][det.stripF], det.backE * sx3BackGain[id][det.stripF][det.stripB], "evsx_matched"); + plotter->Fill2D("fe_vs_x_sx3_id_"+std::to_string(id)+"_f"+std::to_string(det.stripF)+"_"+std::to_string(det.stripB),200,-1,1,800,0,4096,det.frontX,det.backE,"evsx"); + plotter->Fill2D("l_vs_r_sx3_id_" + std::to_string(id) + "_f" + std::to_string(det.stripF), 800, 0, 4096, 800, 0, 4096, det.frontEL, det.frontER, "l_vs_r"); + } if (det.valid && (id == 9 || id == 7 || id == 1 || id == 3) && det.stripF != DEFAULT_NULL && det.stripB != DEFAULT_NULL) { double z = det.frontX * sx3FrontGain[id][det.stripF] + sx3FrontOffset[id][det.stripF]; @@ -1334,7 +1335,7 @@ Bool_t TrackRecon::Process(Long64_t entry) plotter->Fill2D("sx3backs_gm", 100, 0, 100, 800, 0, 8192, det.stripB + 4 * id, backE, "hCalSX3"); plotter->Fill1D("sx3backs_calib", 800, 0, 8192, backE, "hCalSX3"); - // plotter->Fill2D("SX3CartesianPlot", 200, -100, 100, 200, -100, 100, 88.0*TMath::Cos(phi_n),88.0*TMath::Sin(phi_n), "hCalSX3"); + plotter->Fill2D("SX3CartesianPlot", 200, -100, 100, 200, -100, 100, 88.0*TMath::Cos(phi_n),88.0*TMath::Sin(phi_n), "hCalSX3"); plotter->Fill2D("SX3CartesianPlot" + std::to_string(id), 200, -100, 100, 200, -100, 100, rho_at_strip * TMath::Cos(phi_n), rho_at_strip * TMath::Sin(phi_n), "hCalSX3"); } if (diagnostic_tplots) @@ -4078,8 +4079,8 @@ static void reaction_ax_core(HistPlotter *plotter, const std::vector &Si_ double vertex_z = r_rhoMin_fix.Z(); const bool axisSafe = (topo1 == "a1c2fix") || (topo1 == "a2c0") || (topo2 == "a1c1_inband"); fillBeamProfile(plotter, r_rhoMin_fix, sievent.pos, x2f - sievent.pos, - "reaction_" + globaltag + "_" + det, axisSafe); - if (beamPerp(r_rhoMin_fix) > perp_cut || vertex_z < z_entrance) + "reaction_" + rx + "_" + det, axisSafe); + if (beamPerp(r_rhoMin_fix) > perp_cut || vertex_z < z_entrance || vertex_z > 30.0) return; double theta = (sievent.pos - r_rhoMin_fix).Theta(); @@ -4217,7 +4218,7 @@ static void reaction_ax_core(HistPlotter *plotter, const std::vector &Si_ plotter->Fill2D(rx + "_dEgasCalib_vs_VertexZ" + ejtag + sfx, 800, -400, 400, 800, 0, 0.6, vertex_z, anodeE_MeV, pmlabel); plotter->Fill2D(rx + "_dEgasRaw_vs_VertexZ" + ejtag + sfx, 800, -400, 400, 800, 0, 20000, vertex_z, anodeE, pmlabel); plotter->Fill2D(rx + "_dEgasRaw_vs_theta" + ejtag + sfx, 180, 0, 180, 800, 0, 20000, theta * 180 / M_PI, anodeE, pmlabel); - plotter->Fill2D(rx + "_dEgasCalib_vs_theta" + ejtag + sfx, 720, 0, 180, 800, 0, 0.6, theta * 180 / M_PI, anodeE_MeV, pmlabel); + plotter->Fill2D(rx + "_dEgasCalib_vs_theta" + ejtag + sfx, 360, 0, 180, 800, 0, 0.6, theta * 180 / M_PI, anodeE_MeV, pmlabel); plotter->Fill2D(rx + "_dEgasCalib_vs_phi" + ejtag + sfx, 90, -180, 180, 800, 0, 0.6, phi * 180 / M_PI, anodeE_MeV, pmlabel); // if (anodeCh >= 0) // plotter->Fill2D(rx + "_dEgasCalib_vs_E" + ejtag + sfx + "_anode" + pad2(anodeCh), 400, 0, ef_max, 800, 0, 0.6, sievent.Energy1, anodeE_MeV, pmlabel); @@ -4245,7 +4246,11 @@ static void reaction_ax_core(HistPlotter *plotter, const std::vector &Si_ { if (!(pcevent.multi1 == 1 && (pcevent.multi2 == 1 || pcevent.multi2 == 2))) continue; - if (TMath::Abs(sievent.pos.DeltaPhi(pcevent.pos)) > phi_win) + // phi + time gate, matching protonAlphaElastic_core's equivalent a1c1/a1c2 + // dispatch loop -- this branch previously gated on phi only. + bool phicut = TMath::Abs(sievent.pos.DeltaPhi(pcevent.pos)) <= phi_win; + bool timecut = siPcCoincident(sievent.Time1, pcevent.Time1); + if (!(phicut && timecut)) continue; double anodeE_MeV = (pcevent.Anodech >= 0 && pcevent.Anodech < 24) ? pcEnergySlope[pcevent.Anodech] * pcevent.Energy1 @@ -4290,13 +4295,18 @@ static void reaction_ax_core(HistPlotter *plotter, const std::vector &Si_ auto aPw = pwinstance.GetPseudoWire(aCl, "ANODE"); auto apwire = std::get<0>(aPw); double apSumE = std::get<1>(aPw); + double apTSMaxE = std::get<3>(aPw); bool isA2C0 = (aCl.size() == 2); const std::string a0tag = isA2C0 ? "a2c0" : "a1c0"; TVector3 pc = isA2C0 ? a2c0_wirePos(apwire, sievent.pos.Phi(), isQQQ) : a1c0_wirePos(apwire, sievent.pos.Phi(), isQQQ); - if (TMath::Abs(sievent.pos.DeltaPhi(pc)) > phi_win) + // phi + time gate, matching protonAlphaElastic_core's equivalent a1c0/a2c0 + // loop -- this branch previously gated on phi only. + bool phicut = TMath::Abs(sievent.pos.DeltaPhi(pc)) <= phi_win; + bool timecut = siPcCoincident(sievent.Time1, apTSMaxE); + if (!(phicut && timecut)) continue; std::string pmlabel = folderPrefix + globaltag + "_" + rx + "+misc_" + det + "_" + a0tag; diff --git a/WedgeChVAnode.jpeg b/WedgeChVAnode.jpeg deleted file mode 100644 index 81adcecfb89bbd98c3ae27876b9806a3edbd7f65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 205868 zcmeFa2V7LkmN&Y|iYTI>L|cML5DAh*p$U>jg5;>=ARr*9AT)}gwm?f(6v>i7l#Gf> zMkFVRl5>s?9bPpamE&CRy=UIc_vU?b;J2IJp=wvHTDATwRe|rqe}(p|C@3pHL_`oo z1b!iW4Qw9`Hc^eu$WegoK!sgp7=o6g=$> z?n9(BWCvIUWylX|UZ!Akp%uCv62FUGHunRaR`UYKDRb95yD1MHre|P0#(A8Jn@3ng zR80J|gxooK1w|!gm5bUsx_bHsh8C7q);6|w_HNhQJ+9xl>FIaZKj7Z|2guN{@QBE$ z$4{aY5|ff&q@<>$zj~dQUr<<7T=KEJqOz*Grnau7wXMCQv+GOu;Lz~M=-Bwgg66zleyhgM);Il#Er7{D6!m#buX+ zY(lqp(aMIz=YH7DeoAYB&fK+`@(_pc;ITzQ*S351?{)0Xf2wCcI`*?)-4GQC5g0rY z8VC+ea3vt2zmLCZ@HY?q%>)0VdEkXAedO_=5{U?S(A7|OMRs;7q0n9Har-urSuZ}1 zPcA53P?p}k&dm5)nv7PDDYJ2W%1zWq=M2SQ_3~%PLt9U9@X4C#S&l`v5o#Aa)baV+ z3ZyA-wSjczKW{b9PPTa+7fzHW?;>F=<&*66%zNR2H^p(Zo+GGD^Or-%TP{dy1ce?M zsA(cY@;+>Vk8nHVupZ%{LfYRP+HKB5tzQR@*MI(abgGTWDWeu)$G|#gPU_B7CGV;i z9nro_!~W=AlEZsEG~H5}G;qE&^vfcy<1o63Lc1g)Y^CJk;w5;D0jU6)($RIgs@f#8 zs$vIgc5EmUT3fVJ?~v=9|Ce27b1YVAiF%t2Hg#V_-#sU=M+iI0g00TC)gS_0eTb8B z#BF4jQ6Xw%W$@5>)G{qm+wYtFyRPiGZoK|r?t*###p(g)5qQ=m4T?BT9pQ}Fe7i-Z z3r0*vQ}71+K8RLR{$CtwVOS&Yy^sWQa0L&ccl97TwQ=U9|7<=MF`SO5T@@x8(A4;{ zY(oTJ{)~uF`(>C2!=}UHfRhn}$zUoW(}ZFeH6E%lgeM|+rcyjnT+E*f-_mSFl4c*$u0xMkbxGZlmli;8>FxZ z)Joi5Bv*nj<^QsS*L3gvm8UT}qpStFS_)N?icMPBVE*|=JcJm)*cRgxN^{rYF?-dl9J;pmhs{oXH-2`ic{N5D!g>wCd{JV_jP5 z8_&!%TA0M{wQnMl*J#UE%3FnkmI}{NtcoYNv=uvXn)@rxj;Uq+j)&O>M76`@+Gt){7qR5Lg=@PlwPSeJ3Vo;Gd z6%UUp*tV<$@@d8nZ)=Jz-QSN$nL?;QUs{C2^B!0|kuyGW z6Gwe{e%>$-K!vq~gt@77i$dAtE}>mGe*4x0UvUTC$h^{EtH!#UBt>()MY>e+;UhGU z6g@x0mIo-0Tr1MiHJ6>4eBS3^-EgQdKlrfs=wT<9z$P*n4WfpxY=ACm5QW}Vi-(L+ z%XDc&{AjYmt)W~DT-amXO_i5S{_aR@YTUk8$WdpJ>9pRg;w6g-!B4Pi49`iV)_6A7Ub3N6Z)HS9%kWPd`jS0X*7rL44(Go+4> zzG&Q>#d)Wd97+)x39Y>P;W6~dznTRPB|}%530jH)<6QEwM@Vt{-Ao*zr*7jA5vOF| zzIhv|5cA;yxwwXq8sw;{(Pvy~N1`V95p^MHlX5IOf2;WMeI@@hkPt!wnwrRFo;rMY zeAW#Q4V3FTu6~-(cMAKgi8%?+F@&Zk(mM_}oAsb`M`+5qr(R@&DL@OfknabboMF+H z=u>VADm=u7gJZ8WQShZ2duMMN+(sL`GfR=t6=6BsZP=~s_vGOCaH2a-5#}$S+~b|0 zffN!d?)@@(yA#8k(&30}eNh)@^~l*Q73fXYzCsv5mwVA)P-ZcT6Nr>i6S}LL-ql~6 z&7X=>4v4juO`5zPu>`H4)4TX&b_Jb$f3S^;+2$=|nDFwNqwdhyn0#@_t-Sli;w1F! z(K(2r-Opts5v73$1_nO#O5DC^~bgP*_s!4U-H#eHG9~ z2_&1*<2D`qDQD{~j)Y*!u%6J2-77?fb9}atfpoqzH^(bZ^;(qTl0?`9@6(dbxiNEAHrg4e7BfMTkx+!1-BUk4dl4~U zoozV1e)Z)+8lmf?mvGlWV>Jv-DsMuOhic}iHN5wpe;;v_nb~~>O!H!|EWL|)#WyTN zTvN9ELZ(f~{JTxNGi$4ESm7q;xQHuhbrlNJ^PhJ))-0nqLY`4VopB374ov4t%HDc} z+EF}uTqq?%d37(x?@oZa)Pq zyW-iw8Mdpa?W@9MsSD;bE}~n5>~vl!_oK9eAn#_65VRh5s)1xs^MeLO9cN9Gx8^sV z@9zjv3)Wo2QQ)CAF5->{p3W!kJ$B=;ae$f08H&{3FxM)4B_A8n3cn8rfG_zkjDmk< zH2nYXzRnwsB_noMMp~3E8|d z6@9PzvNy@Q*_Ynt`q{-++KSL6TRe1a_QMBpEt&W0Ri~l>NO9%uyPkUQfZ&zSkHn9o z+bFIH7r2-XT52z`G*!6gjUN+(H6q-HoT_$JZz_{lh5T5m+7X`4xA6f4>5_^#`7 z4GM!z2(ypbn$on7O)m-X)jHORj_fU`U$3$kQyuG8m>mvT_dtcgo-40qF>(>_;^1XW zTB1HB$pozq$EQ!SjJR--q3YtY^?ZrPkKiHCoMvf;#bZ;2XFlGlhH;;bJiFYPk}qjd zWTOz_in;YZ@Fe|QbuK-uA-h?cZU)gNhII#eiky9}&d!s6V9Nb!h5vp2A3YQQfF?H6 zkI>!5MGThc>H-PelPpSy)N7Vba#W1a&`R-}AeH_LJqtefP}3&)SG5x5PF49V2~te) z78OJ_b#f<=WLva1Ear=ctq=ZjK(~GUo;7L zEf$vCpdeI!sj&?9Nu=IR1HBo(J20pR)#QfdB6*pAuO=VKKgUHeE#Efn;K(uGOztw} zMH%_(tSYP8X>DfbMPu0y~Jd|Tp)>DGOtU7OfZ6ZUP2V3@>u%DhN7pZqJ)Of{aOSGi_HMmrL zL$`WuE*1|-8sRoXjI`P_oiaK7EzRr2nbb`aeAyO04!YV$|}6Y_w)-pr#V;GrMiJ9BJGo#YHy!i z3OC@Kn>mH{)IENW?SQ>e7a~Kpe7bcrdTN3ww34~DK)=1SIlv*ZW95VSG{@;BGO3mQ0uJwv@btG%Me?Yuks>a7TIh}j7~sFVNTY@gQP zTPEkx>Xob@xbDmR+<=4Z}S9Kw|2Gw#EQr{s3b(~j9z1q%%bG%K`Z1Bd~ z^UwCdah`?P1zTKSD;^rpKn#%kp1y97=~Nf0rT;V)=l6oX`LK&subMBL#tDWJ)#!HX0j>3r{NDd?{K;iMg3tI6yIR=deA~&Wzaz8euNDe zWk!g1yvNIxa?%c6u2azWcBKIRt|tA-1^tRcB4k@Nikz9sj4J*d^6rvyR7iJPqAL3i z^D1odOUFw1h-Ejm4R8naRx?otf$vKJzBvMalBK>6eCI<92m^=bcZHl* zgN)C#%fznbg;1SXP8;HxkH{yx>oBV}*6?R1XGA?OEjScpAJ;0_;=|+;`BU(&oJB&j zsp%zF)!mukkz8Xj$!hW_&7v*7z}9{7SIaKGkK1QtP_%U+nU}icp80YYVs+VsGstnx zQS=x)Q2Nh!6Krw1Pm_^l4rNF-DdW+1emNV!-^x6IJ8VPJc!~2 z??Ka6c7Z()ZC#FvTgh*|-_m(3(!-!wKTEUXj!Vd6i{`#9s1!=nr_TtD-#S~k-;C}? zl6HvFnef{ot(%>yzc_RCM1~w<)&+ag=mVXc(}1~wkeFn+lV&XrS%!5N8Knh%t`8H_ zGk2Msm1cTJU+_`YRq^f;igx;*0J`8StA%49qfCW zcN+1k|1-6flT=KZ%2b{aDsM9PfNSlN*dXw8RGQzoW90B)D7s(ARnLK_hXo!xskLD} zZdD&SqrkxwH3i=ssPmOD{GqvKv@03{?oq35LI_GT-!;ALeDcJYdKk$@F|*H&>@u}h z*4+EI(wAXxMiBh=^+ra6FJ>alxB@RX% zy|^-hhg6`k>Ze}Uv6EKLZJkD!Ul@H+DAhRoc7*-emZvT(Adx!tb;$bukkzjUHixu0 za%EcA7hg0@yy-3V__HP*EI*xq&?jAjOV!-n)%EVHy)fp+(Vl?s10IZWG0XWpj~WtJ zlAbn1tY=@Oe8BOD209{(4Lw+5jYYd-&0G&c3OEKx{e{yY@qSrc8P*;e9g8&j^djU{ zi&8JqCgqfH-;q5^?MXVJw=8oRpe;nuWm}q?C7G7Kvc%PJ^+mRlO~|5>`9Z-sT{8s+ zy87v8tuI42$k{CJl=Z;}P1JPT%nwd3S1GvOMWv1aCrAx&crMWt;Gyg^OyzaD^2wd2 zv_$nA!7H^_`83}tp`ASdD^dE~OHw>*J~n!t8_wn-HI_SF9%?C{(CJfuHxQJSSP7IPDX5{x_1I^N$s z?fS3r5Q+;v9gT;0a=zPBarf^`R$J`nu{oP8~c&9oB z1Ee`{M-TA6iX*k6O4cW))=)GY6`7`eU99KtQO(7{AJ2kFc8_S>$iSH(z9P2xAhp4J zoDJHNbW3m=L&k{Ct{Kb6-d_dEF1EbB#gB)MEaRbf@QC9`OSWBXGxbJGfKj0jg#oIi zNe?cVDoi1?9CBW@@@0m29JQk`pm$YY$wcg_U>v%suC0-{2;`@pvNVml_Xz;7U9Ek4?hV(npnc!VlZotzo`# z`z{*16^m;0dz^So1957j<6TIiJTtFk9YsWd?8`yL){f#HH~OOcpKzJteJhP3?Fc8p zIm_*3^M2BdXB7I1m|Oxa0(DR3CZ1b(TltDKL_sBW@Lp?2CLa3npyCe|M40GyqA8Q= z3I}dZJpvC^FJxC0aTnZdxruOd=~-!{>yyS=(iG#4QLMyK&AMIKvMPJRICi6&p84fU zrrIGe(e?D*ww{PPJIk4PyW)+N*~pT!y8 zkO1!dGZ-6w)=y%WxWi07yHE*~TCve=^_Sw8(yy>Mu)^kIvpEQ8=uFP$N z=f})T>{0Vd6cg$zS)SF4aExCfm^6uKM(FcGOF-KL+>9kI4)A0~)Iv4pF5tUtMKp4X z3(B0mL6W343$zzmxYVe$Pwq;UpYhW}lH`XwRxHhR0`D z{jZD5@bu>@^BHJ9d!SxdREuV6LtgJbhKFLg@euF>4W<4Xm`N~0FU2ma<9JYcs(481 zA`S?#N*zLE=1;}8&Xp~X!pCAUI@^(%|AVFMMxL6hL~t62ODZEpNn z5Lf!&7IXXW?C=9Z#e1J_U*T%c&DyD#(h?EpT!-Q;N5Z? zOYo4)V=6nE#r$cWx+#sSDuEoig@Ic?q z&%wu%SF|`KO!izc|Nal7_E(0J(&-WGm@-4??a-N!V=<{_rTp`7Di_QYj7qL# z%HaOsVcSh$U+GwWzPhYPDW()=JKh^Rjrv&Pysvz8@^+(ve&Jy2rUrSI`9{2Y*O1f4 z^F9Fu=>dgKPQtaa*(Or%1T!;kpPMRB{`0J^E#G>Z5nK8Um!FJ>c2#4g5F`A!x7HKu z=8YPPZuh&cSWHlZ*d^VUeG2lB8y;E+M6{0MWC30`?|A+iot$19;`QtY=`7x7JcTK4 z(zLU;;A>uw$F_851DTGPp4x21T!0UmF|33m*p(Bfq741ZPlQyl%h&Rx?fJrSOR~FN8P=#QGhEE4bms-04h{hn9ZZcO-8Q*wPtbg z@YXQ8^QJVjLQ=9j?<2%`2CO4*7IS92r;@+B0DT`2$0a1z(62&w_E3UV^(QV;*i`{U z<6HX;&spnN`wwA9j4!R54h%}uAqMI3P)Z}l9}jgV;%HEtw}1&_hV`7_ira_Sao*N? z0t`hr|Ec;rfxIhMj~P>^j-#zh&U|ulx8tC4d2e!P9M!}WPv{xsUtd8@g6c&W?JSf^-?0s&(uJD z)sRYg3u!JM#@y+_E*kg%LOcqLU9G`Gf`-q(8;bnpuqB!>Trq5nizF2Ug-D_Rl-{)f za4Cn5Zd;hg-08$F8~7Y2ltrx8AWj)R2f?66z*2Z;OQMD30&eR+4gd0>&mdT_4!p`Bq?1T> z7n3yW96uDM^|;?&tK`;)r}h>_%+w9OqGtsi3r;)fd(VgX_~oG2vbqCW$nx`p=_Vec z(&p^#Aq66W^+A7hJ@a7>wUJ6?yvN<=12=rYDCeY2i+MyX$kPil zH866*Jo?~C0*0&-x}-L^1puKP?TT76qF7BoAm?Ut^kk@PdHe@hNcL3R+u+kD#teMF zybM)$l4v3qeVAFZ%$MKl)b~-zbG)fj#+dKvCgb@Z?9cwdf=;|;f3vBn;_<7*PAEa7L8NzsuKI5ywZ3ZZ|1CZ z39+V5+a#d?tzDq4D^R|XChN87&R9`oSO=2C`%L~R#&Z(jzk19)z`@&;KO%5eebYJ1TOBHEKQADt^ z8gJO$nL3B?6oP92(?I9rmtH2Lq7>NsFGsHf?pB!{3gHa04Dw^Ay2C}ZO81GZAmYLM zUCNCu$(cF(O-~$BAam~jTt#6u58^ouK-c*v2HSg~2=kOwagnkeg5TQV(Aa?1W18}q z=@s}003nkjvraSn=j!hh7tP0-Rr#L!t<>UXxWjGDs!bKD4r!26VAx?Rz%lfwY;!gD zvcuXL@!9qHFR@SQ8ieCQ%ODy9@=uKxe2Tj`RO##xt8YbXN^nN%pJQNo_!;5M{ zj0jR-_TV8IkuD7)kPm?@8|@^-bzXsavg53Y^!Z`%ikkpTV0BN1lFv9keR%>N0sqM~ zvHOjltaR`QnX`frC?0Br`$L)w8C1R5H___L*#Sj;j0*+>8D*P=O!S*1{iUomHF3nL z4nc*=u>&NlbUr{B9q8u<&cMiq@wFA$c(*Ut1_CGBjAcUWsisj)7P8}>2x57o0YhT^ z6F0?{vUA%cgv3|__Ci-XUOs&Ic#!Y47g=B6um~^|ejvR0t6CcmMP*h*8{;hBNv*j) z&cKE8lz3nTnQbV*CznAm53xFdhwfV7V&O}mho&Wz$gx2_$9_BNIzPCXJyfytX5l4N z-5v4eQgi>tY%;gClG)kM^;a{mT6Iy)p7mPI4)&!iUu0QIf?J$FbnEaMOBrKJo3mC` zd$N;JLQYz?R?F`EGuX_E*D)<(adWoBZ=4otLUX8+ghD0vdPE+!^Rj=*4 zq@tXuZS;b}_cAo4n1aUTKTI5W$`oIO8@mAO>GwTDS-(i>+!FJ8oxy0edNu2)4CMF7 zlSZ>o_9UOx-QjVq(=%Qg6nukdQTtT*yJW<9Fh!;_{O>5{y;0)glVrf*~Jm0QaR+KsL z0-oib?>Fdmi=&g&9Zic%+4RwQ`@b%XLpO)$>_&861oKElQL-ZAS~EvTLOSoQ=2M}{ zQg=PIqu|rC@aZ%>)WjI6YQD^%b(76J{z6mH(SyNpo6(SScbk$0*Eki;J}%GBOB0pd zRneG(4wNo_IBJP9tL5kEh-QSDLQ<4^Ol|NsC`WeOr$I}-Y@aIm}7B6=RQYB z_Hkv=!CgJKyMkBth?4~DQfS$wQE^fc8cw;4)=o!eH&E1f)vi`Tayydr{!ZBYZ(7rl zm{~qP=@u-Mc;k4%X`Df}Xz3CWDa|8KKMn6YjW}-*6Db4vowgeE!bM90mY-s)Qzntk zNjkgYwaGLDAZ8*}X)^PT=X=+3&r=8%5P~PG?=jQ%PdV&(XhZ1QR&^Q3eZ`NY5SNzP z%D>GcD89w3FR~&MURvefrKw>PtW@8YC(PNoNs@U%!n;dIYDv-&tLb|r&F4N7^HKy} z(_^S^DP>F%jj}jnH5&$>!GNR=L0Co9xy$DMH>U3(vTSZ&PwNE=Zp-tOCWMTM(1hm= z_|)!A05goGRD#k^S%WmaX+a+*Bllc(9KFNP6XkpnN9PLk>Bx?2QH2pHh3DV*K1!Se zZ%vL&bGH<&_?of~Jk)mDFIukHI5s-PZD#ACHOQHtv%RtGPCIZABYi+|%$`N6%3Eu? zK0Ft7`X)8v^1RVx!sLX^l8_9J^Y~`_s*XG*l1>pK^5r54{GLo6L2S@nH5l4Wce&{< zgnaHRC^E~P0t9xUaScU7Vg|M5ynf{MPSFD}?w6;Q*{{L<-C^Bp4AtFwQeQ!cN!cyM z(1fK`IhPlF3wwc~;oVTHEwo&PUR}FnLv#{Vwp7G;^B|d#Mi5@Pitb zt1=>F{e{=v83H4Ms5R-U5RCnf)au8vGB8E>uvU4p{(Bi!caH1MPti@}`%p=eZ4ZT~ zbbFbXF+Kw-Q>h@m`cwN##5*(56MXMkyaZO@!-nA+6uW9ApABEVVPzT`cEww-57Z=S7?i}i)rKzg0;PGYFAk70VbywU!GR5pM1x@FBlJA_Rr?Pr<5P8i- z@qpt4y2H&1WRTQOMGt)6cS^rtOEj6s*CV&TOb)c92E&7(?nZC=h6HHQ6k)v(s6msn zpt=vq0jGD-lZ7+t#|1#=1UYU_=SqKultJK+od3S?c#%%Azp4b4P;iniUBt?o(4pH! z@S93CB0cR!K@u$^W41J?)UUA>8ssnxN7NZaTV-kIGlWEnSB8n{i&_RkxCDeq50W~ZcHeq>7$_EV)Si4Sh+ zK2FW@Myb3cj{HR&F%TDYh)+2f;2g5bzLOZa%ceSp*45(0Dg`YO>bnt@;hKn~k0+Ho zpg^sGB)3XOrw^JFo4ng}fVa`MR&#vooX21#aM>BFycT?7Fni$z2U!yeu2H z;QUK*RHtvrdrZl4D5)<(%5<^J*CqUGyBQ6PGLE>cN=3A0-%Ihs#l>a-k~hoI@)mHl z13uv*e)rTo^3X@YJLB7u%Lz!Xr=7x4%7#;YdlY(0g44ZXlWh#_^+Y+){Na+C#dO{6 z$}6S30e#0xB3F&G5j@aG1Wn(oK?{HNR0@oJeoS&hmWRQY`wgaYJ(x{B*=Ww^DN+jR zr3bP0OKb|a*>&Vuhy#hFnXMA;w#REWU5G;r=ybOcH?)bnIPSXYN`JJ$+ujpu=n!s3 z?Bc#H$}0Ho-FP8SrE!P#0Xs#iJc-CL$d$1m>R4cMv#L>U&1H;K z)l-{HlkTJEu1-ks1`cm_UXng~M~GU(KD6TOd%WS{eXQzd^5#Y2b( zitsEMhm=p(sn%U1X%bG&Nt*aJE@vb87(a4S@qJ+5s)%h`)KlS>^_P(q&<+-ylxB{- zhlfV^V9jL_?(I|_kaW``75+944U$b33l6_|KQJ%M!;^=17>`d9rOyxcCc-#oAP zOi17>R^DUPbf~U-8heXte5>mNX0r*{uN+ZEh_>=rW7uN);p?3ecYRg9jE~AQldNP% zZBeT?-10-I&EiDtyX(5!e1_=crUPRevmomU&x^p3kz|~DAjIEn4z-vSa0zK}Ux$Pv z>^*H>r+f%yNx;Q68ZZ}8?amGH*Nfdob7)Z08=dlrz*fJU{|Pmq{AtUR@>PLu>W9c~ zx=TPFSTa8Mr5ts~!e=^<+;X^|3=h-OQ41B0pj1Lmc?s0SQ8`oFAGw0CjCgmALDnlL zWf147+b13Aky~V0;IDs;6=F+?+vjE45|b?EF+GzgGqTz4*G+YRk!cDQS%% z+tYNhD&(ksv!A11$b0;$irWR{12zx|7F)H*MHhUnL1vvt81~V zZ6J2HSNAt-vOo;#Eow6WxHDfNCLDEncAosU$Uk1*^}A(Xe_#Kr^ddoZT#0T$H&92g zp16lbHn-+)bkHFe1gz)}5Iw^>INe|?x?e3sA=lM$wx7{I_;O6^mw@?&xIH$;t?xN5 zsJ~PId1zJb`C*>V&+%xT7zt}nf4}f){AqIaRxH-D&|z@PR$sWjm8NTs) zSCYZW`RL9kYqA5=1R#tkkjw8{Z5`9DXqh>VELwJWPL`Mu);4 zKD8a&lPBIF$zw0CkxnNKU4yPA|0&S$f2+Lzuk6=O?0C`dUq^28)iV2LrQFZt`Q(p{ zN8H^PT%BVke+2s$BCye0re! zg-!9{+!3|%^xSefcH7$bOfF$_gwR-``D^aGH7%hF#9Ot4MHrOfEl#rnFcnVKj(@5d zmR!cdVfIkrA9<9d4rfnp9n!YOOr`Y5UyYDkFa{cKI!7{w@9OcZ$H@*Z-#LKjDF$5jp+z9d>7& zSHV54YazK%;E@=nF?g*SWR~#iYa6FhuF$>k*P*++X{lUV!#?Ya4bSdA^5Nc5@A=0E zgoMuc2ot#?GaNiR$;9MeD#IR^iQX8_8NU!ba<*T$SDdfNCXUo%xdt8t=_h=*DAQEk zPVjpeUDhAclUeQSTuO87ml1whgR_30$wUwGjXKGFPiPuM7K)vUDJ_Un`w$}_v1+F2 zH_)A>|A`~FcI;q;YvR>%i`1Ic@ufaqcr^w zBO{^899vi z2~K?H^?+V6tY)j;=Y_9mlu>Kf@GSj!NeGr_3G93j;>SH9QzH__f6vi?I(&)U;?4!d zVFQoDr|cvi+_AXZS0LXAo2P`P3H#0{TAe#tL8ck1epx4Tb&preM~V{{8R|mxajb2s zWnF`Ct})p&u_|ZzaIeNE%D{#NJpapfX!`HW7XQ2MpL6zqA}x6TY@z7v$WfATNR4;Q zHahBbMx%ft?fo!F@0J%aF*~Er?EV2`7vyr_W9uO_?V}6S7Ji#eqb zTICXgM%8OCo(^%<40|3F*hH!epJKw506%GbzJB`Jj+6g(=NMI=&4nlp{mA3;yOhto zZdA!n>0wgkisLxo7b@u%ovYb+R(Fws^XmOG(NJhHi=%&4_T;YKFT1Nfz{Wy48CXx{ z+JIUE5|^?KRBKC0^ED6uj7KYy-nn^HVzW^a|^oft+!l#*T3pI^+y6>;__Oy zmwI8CejDT5h|j1xd+v%R4iN(>Uru?PSDH~=J#Xp1Hl9j<7OQsT5FRpcTQQq9GW@xv zlm5H!SEX6#2%0b5g~idWbAr{p3Jfg4P5Z9uvB<2790Bjnk8 zFjppKN0n_MZ&Hiw3>rLN!kQ?ha-k8cI-Z>)^yk-N2~^m= zUI-e{M|W|%jw9RG*B19F7$u}{*PXOHf?J>9-nwy*{iLS$8#Jhv^6d7fWS)G@r#u~g zDfM}uJE(7;j-UzMJW;Wr2{MY`J_|tgvvjJBpowvb-#&W)-93=W0I!xz-=}Mukc!=Yz|V!B@Sc3xQGQKr zsb+o(G(w5f{tZDqykcPU9m0##o#%0Pf-j9LM9`@m6sel&RX#E>M>f7pp1gIo zYJ-#;$e6lQTSthmTvHPfE!C z?8!^LB|DAt1X&7+7%p5>30N>(wgFO~Da$O_B=gkjetTas(68rQZ^BEkj_PFDcn(ei z{t@hJl!FHLY%ppev8(2PaB2V91Sd`XSZCnJ`=hr~18!i~4#Z+Jj@FCwNIz#E-GjBQ z*zcX0U577s;vp8;pyI2`vqO%}e=7Uhdbw}D&yCHox>si$u3;zP$Qvx89TSrL8@9>( ztV*kcc>M{8*Vi~@f^_{kh|q6&ZO{LNGM2`D#yt(qCuTmleBv2Td6`=FWAO8}pXv#@ zYk7!qWx{vx!4B?P6QXuJ=!z`g$z|{#0sPx33Z%f_rGALg|2#E>wJJ(+ z?YzSq`kd4w`LJ)&v@YS{YsR2o)YpA^F9TWgtVJW0F7zCeR|mf z#BBZrG37#{Y|~9|0q`X|^6j%5C<%WJMB^F>sHYA<)W8Fo_ze~b;735he*u_a(KP`| zXEj`3tH;l^$lZ>G!ywCKZ{+o0T77#hLJjMY^R%(<*l*XxcJ9K&3fjEmW0;bj}$rmNm_5;dFelG(}k`1e=nhljsIRf?c2YKr`-E~7WQJGD0oo% zyEm%?FwRt);-%P9_zCsRKcOB#d3QyB!b?P+(;rA4v!h|4?)(SE@|QucOn&t0@b~_! z{(lejJQ1%xyAaoPx~5%ONPj#%m(RabCvy_G!2-ecN}%E^4O&^yqD#S_$vL9hZ9M5Pv9umgPMaJqfux zv?=d*f9+~B_p}HxIuC7o?lWw&zhj5ESN|oP@)sEF$#s#+%=kmsuPOkY z9t)*@BRY_ghCGfLkL&WxXB;*4%eHk~AX5_w zil%0&7XpXTAM$Ja-ZzWDrxx|ENB2L^7yoX_pI!Q+xn|qVRmWV@B&h7$cwt)mu&1Is zA=hVHtta3Hfk#tt5?tF%n9h6n2RXJG6fvBDBJl2iu89BYcS?Rou*5Gf0VQoSoeM!K zb>nu^zC)ShQviF`J7ACNUD0u@4NijFl|X&2%-8~BM58(|SU;iAlbe)Jse8_KB)szZ z;zB?`8O1-q_2o{e<(41WAb@{-e0nq3C_8Em04c#d?t~MtTFIxKFQE?Ih(UYOp27pS?p~LC`rPi5BUf`j^@#_&%@1Cc z)DLNF$+L~4ntq(^biF1wPhah}L4eVT-4iZN7CD~w-Mt*rAG4SaTXicj(fE@3?q=S< zPbxn}9@2huyMNbk0TYW-H@fOQ#fHm9`+Wsgnb+2|w~8AE?7g@DO9heIiIISj`q0-w zSxfK8^`EVhq-Yl~&kj);7k?@D3YRJGDu)D?*wM?~4 zY*pr$_f6~p+R}|hY_JG&=>6p6^O&hhS|ZbGtQ?}#0KOucLAT@kj{l7D%ieK2HvIe3 zzQ}*^I+5w-?1?Nxn{j5I@p+iaINxmc>Ziy^y&igTzAxUs8B$!2pIo|kmh7ZrCu+ie zkL0y(!=yb|lDMWz8NeS;Zmj;iJ^@NO$Y2WWwF2yB<8mZD79KJBS7 zzndkfKg+VB9AXtqe?t!%7>Xq1g zOLSSV`*npMbrO)gNu$4wG#IKFLWW!kkGA`lmxn+*;vphj{!>FkIHq8Gk1RuE>>lCd z#Y7b(SN6r1zfx%Dd3hURcvHO`O_`ya58J?nE#PF+JFocAx~L9a26W=s`7E!664(ns z7r2MP`g#4;+$2PG2I3v!QRWneGw&VSDy^n*ipF1L_??r5h^2ZnGF``G7^|woGn%!? zCq0Egdy860EVdcS5ob7(TY~FjVc0-*}g~b8Le`$twr|*73hySrNY*W z$dGrFFA5KK1tYn#0=H{?+-J8^HLb@|LEwq)QXGY#yN}BTU=4*1lmj>^bI@~yL|XO3^4lWYa^}AveOI0@@1W@9rC}pq> zb<($BC$|X@N;9z42KBMsirh@W0~(MsTAon1SH7U8>G2a?*5=PsbPAQ|hVs*lO*T6sbU(<1c|;6>umdzd^7Jj*!U1Gdz=r_?qSEx(Jv6(ft(m z#Xlgxuz4deBTb0_;J>3RR^9!)PI%|2Pr3Eq~k zm2EgclOzgg|LV88DPg$cNx&nSgyGpqC!)Q_xRYKy@bU*Dg>aAPURqMJq}nn2OCP~- z9ZhmBv9n{Ei*|64yg!kE?Aq2FxPv-k&pYM2^qyDwqefy?#0GkMpK6bnS%AC8_}8nK zv%2eEjGMx&0cEVO5jsTQU5)YPCrGq-y;ao4rrA2hvWRS{9foTpmLRz@wsF&)R#Quf zAW$?sHDxBxTi7NbEkMhCDX&hd0h#~!F}O!y%0CH+AHvlzz2rLPM)d|*h@hJhYFw!M z>DNG6zoP`&$nzadP9lu-_PdWA<2xn@==SG4(;qFl-0@TR>%2Q?52vvQdWA(2VfySm zYTFURqljKueLGJn2v1eleFH_ER%(A{Iw?``HUq*GBL>~B`%^Cny#Y$ic>+|Des9$G zzv9;tZnq#q0NIs@BRpHQatx1@!+vOvr#&y)eQF8oN-oONl$Qb1PlITOmDS==^Ac1y=)PW@#fjFj8Q$ZpW(hxIrH6Xy>U%s z!X+`u+)Np}S) z^QAXAd}qt%9O*Hs#DT3$+%e|-N0&bE%o#Zxg51Z8hr6R@Th0|n3rJgEAR>EeYxQ-d zk$ow{&Y4)DIY}^GtY0IJWR*69ln43n0O`d?@d`w%al7VDGIooPL^(BtzMOdD4hyCj z)~YZ`kUL5_Lj2xCDm?7t>x9IEc>?B=SKUyJbjP;GUOV{gfS~fR9(wd`R~d_*1!f%E z^ZH?ppzFBV1h+z#4`z#LZ}M2HD$B8hsJA__h9((BqRo#4_DN7LkwMn)TW+NZmoi%Z zKkU5;Jk;y=IF6FiqFb~mv}cA=mKMd3CLuA_8cCL9X-C~iQ@T=9)+{00*q0$SqSd`5 zTJ40&EtPDQ?8{95^Soyk# zUr&pvJ+#v`)HrzU7R}A>MitV*W2RAM)0D95wDdMR#;JJ$bwhHffHAK7VZs*JO~a_q z4W6bF#o=M;7IU6@a zvCQr#6)7MA8YBI@o9Vs_S!x!{u3>N6n)`tuNYhyZtPR)FKSfmZpRXbj4@Y4X15u5C zVHoMf*!+1Gp6mYo%KY+A!bRBWDov*kWmvyTn z&cIlQd}##?*I68}Ei&jV5zh^5RAp(`S71-HbxW?CL*H?9Iv@m_-vsgLC~`bDb~W`z ztxp|*W_uL+$Z@N(Vd(T&zq9O9OqsSU^)Mu(8)nv1MAt6ug!i#^A1M%_gD?b_4mNZ* zo&^%uCFpvr&}CI)$HK%VhT_%xK( z5k|&H>=d<_%^(roW<#engvn_+PN(rvLU3mZf*DC~GtO}Wb_z~U(9zS`V*T~tS@1ft z&FuzPYYI8=OTGU+GN_c7T6kl^VWf&~R{aAQ7uU^f&F}o2|3U1XQ;2KfD{Wx|UwD@p zHp7BJG8**-=xaiQLN88-=bic*8dIcXV_j(pnn)x}+{p+|ukpE33@rH^95EE!x-+=` zaCbs4Za-wn8e$5JStwM#o!53?@J&pK**-@{m>W|-pU>18_EvJT)B}i*`|ay5JwoOOW05a zvU-OI14E}-EK&9U(d+9yM6SyxD2Ch3JN?_7`i%0?A`pD&D3R#DwQqC_1g2+%w#zY3 zWRn_;=jH~;pUqsKyT&@Yjl}e;WqHP-)a`?{xob04AtgpCYj_9>@f;UbFNQ!fbtrGu zD3o1x)d???T@O}Z2BGiQ`1T|DT^(Y~PqJkbQfO2ScGopqK;EdwJrg16)6NUD;uxe| zQp8nM`7tR;<;0V2;`RGfrY@qz(_-dj>JYVwb59-C#jDD`nHWSOm21!25k&Q)t`%xZ zNg|n-EVu49mW>Zs>r=iZLHY2Qz{L_0;>_^%Zx|*fr1rwgp^;k>l2XrAp{Jz>#5lfT zKd)o`IoT9{-F+$skGIlqPA@kkXknB33u<)$g|&jx&;RUw&0lz#MB%DEf- zW$%;QZ$Ie0OQhoOh4j?Xw|wNfykyv=&W zblwm`kE_&wiGw+(iKeyi1XS^|(s4JW?n7}^$$f`ZQt3ssAgbBK^Be`sD+!YG$dni9 zUVQF8ntEZ27Y41-wq9e+A-qwvR5)xsr$sY z$*YbS*}}-~tGPzDr^y9Ra0;H1u85JG`p(Q0gyZ9Q?9!B+!?X37-Lm}@Pqjj{BYZyp z-6Kj?@dyLkWBy7dv2!LM)mzm+&>;TK|4DoN2c&7Ghk?xXiRGqyBQ5LaygR}G(1%4k z$T(TrZ-*R`B6N?_-pLRZscVT()v3G15Bsbc#H-?OOz4f?7;NH7Dv_=%2@0shC3#QQ ztopo|7Dvmf3+y-!HUNkCI-i`+Fj-RY@!FB8idm1!AXbBx)ylGC?kPb{|MUT$n&aos z1f}Nc?j{#H-cb1IjTJ40WYGH3X0SN$1T~H*W7Z{>acriTv5tv9S+^4I?Sj|{Wl|4i zMYDp@>K7`yRA;ewOV@=uq*a*?DJaTsr==r=o;btNwwm# zH^2=m29Pk121T1(pv zM2Y>>osA_Y9z9MaTG0FtyaB?Kp-M6<)+NJ^d3G1B+*~%kVL$|06ka!tuJ@$9_~(8rd`Z>qvF#gM>2Cr?R`n~w0cY@Zm0S0 zdn04sCCAT^O`Wcd=#ml%OCK90Kd8zEMfCI^;P^FM|3drxRz1>Dz^N;g+O>oT(hdoh zlEYrWZ?-L!JIa{lVuK)qMBMhZcq6ikARiJ9Ap>13;)z#W%qoPxgjU)`w9Osx|#PeJ90>6zS5QBB;@b9DJS zK#c7d&?Au+gAWvg(Uiqd0?>ejabjbA)d)xWy(UCo=4b&ui9qDz;^1D)p0+p#C{GHd(W==}ijTHuIt|6U zTL6gU#_WPFjhVyeo58b2v>@|+1n;>Q`;q=_=gp_h2+OwV=&F_p0sbw*j?Zrc({ZKN z20-)s2;j1?uUb)I1ITHFK3I^aYB;5}a9kwh%(ch2bodt_L_`|UH(@Uqo*8i?;-$Z_ z=nEn6M?FOlyK{H2x2R1Str0&bGJyJXd7oo*bCSkbBXdXTf1QyrTLxAP`gPLDHcG#SqM#p(-l-P z-Kqbq=bNk6iy|Au29F8gC7FuRj9^A^Spu{a(Zk28;TTO7k!E~G^kllYG{clO3m`up z6alhUMZ`E{!(v;Y_!-+i)ku?5FvwdpfdmRO6cqm+1Y;BiYrhEmT!iOpqmE^%nR)>lDA~Bn{Jl`eH zW%5sZ&H4LUS)R|fK<##X-#B7`in-?t_LUn`u6#WK`1b!&1}Jlm6rcGVEtFI^P>pX+ zzi|kKB|HYAWGE!53o`UsFLgNc)z>ao^aIC7--@o)qFvlh@XlT+S?5vj>wH1cI zEC~&v&}!Y?YB!DLHn#&kz@J34%Ml2odxhx?40HH7mJfZ|{5Ji`fL562Sa4a^u%{Ml z@QZ-z`?kyc)Y<&SoC;)%+J+h7|1mcTmulj)$-1PPlQV#lVg^o}7@4e96Cnv)1@of| zYLm&DHEd%H78@~{E5xRon)6B9haSD&0}&1g5z%)FerwzD#I^cyO}G0cv-fb_eisBm z;Xm8{TMiSn-pe1XOTuehlPZ05w>SWJ0#WzGFj-k!=H)P6w;<_V8Nvdu0vL6XDZz}> ziOaN<;cJZqV%=z`zz|i_^d67|Q+aU2#j*+a0Y6gFEEh11BCs@T8hajqcd&X7B=iNi znC_kkhhHJ9yA;{hJ}t zs_G>x9Ius38NWkl-Spy~468{E@)sW+EL^feh-pCSYSWlJwDp$nkUfOM8xcbB_hYiI zZC-FkRH^vVn&K)mrpw(W*Ec$3P8BE(IY7~ZCbe*7k-ikA_0VDBzXfdU`I&J z2PdXF+hPQvkzJg z=YY4}!R+w!j>J!h?&u>#n>0YF$sf8OxiyRlhPT^}IrsZ8p89+Tt z%;iopeq|rbTI2|lVTs$1NW&~{jF+iX4cB90N(OPz4|g2d95Ar)=*nJ4na!^fB) zTpI(DyKzlW${$!MNbZheWCsUbjzeL>K1x%oOkeFlt@e($d~74)?)#UakD)ieB0}~L z+GTiHuB%#MEFq+ze@iUN$NjuLL$0IVZG+#Oyjnu zgR(A%+%~DEFLF&S^Fc1~ou<3>_qRwKKWM+iw2~bw(G5BQ8+}tk{g^xX>tx z-7H;|7hYvi*1GW#T;|FaGWkV?zerngvu&8PokM@i4b7spCU|c{0Vx3~obyDZ+5#o5 z-Dmbk?;-V1=@v{sdQAATMe}iY+13+YH!d0J?=f5c=oj0t<_{?yF%`+z%d->`y0R?e zMS?6s2|fq9id<)e2GreKcxshj^9?Adka>PVh})#(l!Xg|*2JIvNfJM%ZWFF2GPUie zZLAJ~puL{YKjm9N#oW)2=B^B1?6y%#XHBMs>79K>oeQpSvfDZJsO|I0paxP+!Zh7` z#JWgt8O_GwE{mHd!h}yQR{ShIG1scF;^dO6xidloHKrVyG`-b>m7@j*XV2mD5^pB` zmi;zwz$DkLJB3v{GaD51oHRspF74i1sI}h9Tm7XAt;8!XT;G zO=3r&#Ir{3L*jWC;i^avrrw&uh!>J^0CG<&Y13 zjt^a%Xue=+RM38D#(wD>De=Sen(ZQe=u3Kfl8mGoc!#a=8zXCLeB0VcsJo3A0W*L zW=1To4qVmK6YoA)rEJ{mpq6niH;X=}wkD3|Z-2VJZfMaIMmYDCr1r8q=_8Mg5OaE*&*rsL6_K+E{^J<& ziIXQmfLQ`!s3=yhdY&~3ga)Q3Na5*dBYv1`q0Rdgkko19025hYkFItE^1tjSP6Ll5 zQrB)=HZ6KuY)1;zr}>%8Z9hUZuy?@$Gfp?@wQBPpVl+uP zXOXS8hUFIXZfRDFc^0Lq{EL8C^LCZx5uq6m-F8R?+CDb0s_C4yB#(qsw=<0OAp-q-uO;B#a0sD0d z5%(kucFaCn>Oa&NmlTf9I3>9yS{7Ky7OytLjBF-WYx2amZUK49pfybYa=M=(k+*T#$4pX(Dt6aSJb zY3py+L)fHIq{`2b$#XBybFT!i)^`tzMC^tLv)^{n*fuXA3#BGs!B~{Q8RE_wN>c{`;@)aJj~e%r9udy@aVDTt z;3l@8m+J}!Kbyc2;%smRZ!_bZoFN4>h!YqH4;FVzEJ-TY@WCclh*#lNS=c3d-R}j0 z&5Z+xDBI#+*n!~5ok~}~5eUxt8Uge_)BdIt#DlACkwXGo?%D!G0QffH-{QwzRwe1a zdA@)0Eag_&ydB^FkHn<6DD>N=rUrr)q)8B%USqoROqJA|?I8VJZbPu)-xPB+^dB~% zNXcZzpea+2r9P9{*y@z%lvJ_CN#R&vhkEcn^^nEl19dYN)_cm}v3^@4`W&H{l!-54SIoEm|hNLw*Sk zRPwxST!9V$bR+;|w7cofl!PtW;3?1)e zMSZb90dIf8d?_sck=&+gTEr|^Z!n9v#roXS!=86T;A_XfXdZ@O^+8xbS8Da8m`1Co z{woQ0^P^k{pL}0ZN+Dc5o+VBxSbYqV<6!x*yZ-%#<5=;B_sQ?R-k-=prG+$08$pKQvjIkzGAJb==uJuEvWY0Al6 ziY(V-=a@aiZIB`L%lNQZ-Wd)LQR3oZtUSk$qEQ10u z=O1oZ{FVmTY}tM~BfsF__{1g1tHHLx|Fd@6aD~BUuH6-1}O49#oBBnIit5R|3@b|i#Se|YUTA|d#VH0DZ{DlRH_q?06W!sl6Be)Sb`98-+t z3t=utE{#S1<($E+=`V|3={(~)L=W|U#`N#>>^ov-uYtBJvW@>WNJNfIr4+-Wx3`%3 zCh6{B!^ahd@~f(K8HY@e-%uP=b729uj3+{fv0jd9VZ8aMYatPJTs@S~| z-cCd#A&PSpUZ%GUffO4gaV*H)3kG8pYsQ|&J@&s?+eVo4^|r@J-sr>gjJ?gapYnRF zjPNq51_QleT?QN{m9{A$J@5xAZznn*CdP1wrBeN$GV*EhVts@EK+{YnlQ66g(bDF-ngeDwC(dD}f@#1Czp#Gui7x_9 ztA`*JBxE9cXTz{-QklD9?5V1NyL)n^_v9#2?`{qs(h=)YOX*Te4F>m1Z;;G8592MD zyP1x-WV*_Ds_7!alU}AnmuEiN53UaESfulA=mg`~-A3@j%ncNCTwt)ep(h@$ae{P| zvmQFr&?)Hyx!|7AUZhpO`Qpg!YZpjYXkCD3J9Me#ldaoyOyYiWDY^I46%5r3U212%29yzk!+3*r890!Ov8Z%CGljRn^PB)qGrhpf~oqhp|I^i14!; z@yfx*SEr(XBs-yZ7a(puU}A)l4snLYa)&32#kUK@z6*uG`c&k^4nV5aga{?gHXT!I z?5cJ1W-8kUQRTVhOHg+TPBvEf$?OE$dCsYmJK&i-?ZgVA(b$P7*Shluock%{vW&Mk z8uWhG1m|f4dj4!fUnxi1yfqceY17%CEhQBAV9Cgl5_FrF2zD!ajUN>RGh;kX52I`q3foDP3@O zII9;5U!$KO>e@GBPoOhSj?UNX&bV|zNP{|q(b(U2pf5i*H8_$SVbqTjOYMIcJ%OP8 zqfH`bT*L19ZIuJm`(62UOlMmo(CQ};#NNq`yNM&Jq&_i!y#$?bKtE2Ba#nk!@0;-- zk?lRyK4X#M8)hRQWj*9y;U_LIP^!n;ekRLJbl!Ow&0f>8CAK^Hq0ht9lpL6V4AbpX z3ONHkL(>{Ccv&={?Uiji$|H1TXCXv26nYo7=gz8xgzo8cuD$e)?rz0dQkyt{oN0Z? zFHb^BZ|RF+C%i*mI|yW0PN9gs?@M@&gwOuo_@glZXoXjyG#vV6g0%Uw0|QC8Xp2a>AKw$-hO!4ye`|^ znJ-40Y)lQ#D2a5m1c&2ZN~PE^;3i$Wx0tyCo{wr&g%MpnWRI-q4f^0j`OXE>52a4m z>)l9YLbUf5LgyC&Ru1VivsLn%@uIj-fooUil`6dSS9lpiG*D9FwdX!wzJeJ2MIccj zgjL&OAkMh_Mv)-L%&PE5KVbY{e@6Q)C1;R?eoTT%rSl{gG(pAry9ndgL-ccRkX*=5 z16Ca;f{(!uI5+MjoaP)DpI^_!>xz)o5^nk6XTO2skAo!a*Mwm*w7pLuXwgmsG_BB& z9#Oi+vygMddHeE)jZ*FqQTdcEXVBkkP&`mxigS2^D_R<-@{K|^f*S_ay2e~Sp5J78 zI|kY1|W2k(UU%osZVtT0>bB7Cqm`Y|SH=foWB zUD2-n)&rb%I{_LxL;0Omqr>!ryUTuOa)IbZMn0>Zi0WXQ*t&wJ#}k zU*%DmlJai%=Z*W>?f7t?MVs3D5*t415trM~P0_#Gy{|8k=4Y>NvZT>{)lfybw$c=n zCG`lcY_Coiw+W@1Ph?}+#1SF@;cPSU_xd+?Y9Fpbhs%WL3E*+1P-b zLWN`oiH#%hWfR=-P-Y{V5#j(m@7tu{tK&j`4902tGQC;wDlAY~t0pM8Cn5b0lT(`HDi)AptOmuX`9wF+xL)-7)t}QIepn` zmRbYz<9oSPJocIJ#9^3t69PH@;A{OJbiZ{R-)hzQ3TinN?W*Zb1V`?)6Ecs@CcBaP zx4P#;Oo&8w0Kd5hO9Rt@qyrolKL&PHUWglB*DnF9*2NCW-WzkYGbL@i`o|`c>B7xC z?#44@U(Wv-3byol3!#r>BOW`gMq@FcWdYzV3JB!#uWASgEX3l-Tb!|gz~5k~)}}z$ z{^6=?yf^dD-~V6{gX|n`{hw>wcvXRF{O>`&E(DlL)VN@iYkOL?{nga6aM;;C4PlvV zVuE;%!Xa-?S_daaTN7nQoRpPvh;@teodQ996S1+Y02hV7-7qD}z9uAj*kftaaLc{C z{rWJOBj5p}WF&FG{2Kp0C&`G9Oa~Mio4I{>OF8m0Y{ojmy?iuV{ zY&Y$6#YvRD#g4p3MVKbEFNRo8EIr5c$@fUCr$#ooQ)2&YUj6@f-XzOS&tgfPTqdhmSZbEd42 zlib{XzsIY_y8P6}p!ix{%fEg{q~xOfINd-mS)nHY>e)9hxwsv8do}gh7lC6gFFcFP z8bD1{Lu%rlF9OtbcYZa|=y|Bt^(K}(5Qh_`Uj!sJfeP3*lQ~2fHq|HU-~0Z#nOui4 za?=Tkis=Hi=S!Q^SA%4anzRK0!Qg!6r%0$R1VM1XCCDfaOyD2c;_1ugwdon51h{z! zIj8nOl`ThnnHT^3`aydlFUI=>1Pm^th_#U=F6XXuJdVOvFKW;rQEvfPtBN5E4iH{~ zrnUJEJBNi1(cWzh5I};blcCmeZ7z7>40ot6a)6#c4S;(EMk2i*@^mYhjZmo&Urv;$ zIQ;c|88s=mlY^TS&>J5gjUfr1{>jq^lXr z*9;I(uL%lqFYBE(C`-$hMYL2-54k`=W%L*neZr&pI3-|D`ynkuwcrQv6#A2MqBp~a ze+I6za+}H>@L~QEeHIkg)k^Ct>h%z0z@`pljJZi>CTRaD2 z{_ob++{Z1Hv$tlXeh$h5uI|@`PP$zN#sq~mopQEkq`5B91e&)IVH(@b``j8O-oPgd z7A7v6*P>^LA}Z&JijaZO+iIn7(sYCvbV5@dL8cjsmI0beKj;Su=g{&w7XcFXabF1* z!t3&T;!)P}Er@O*yhw2lrA$}0fKf0K{r=)fp$^jF!Ja9bC@$6EeT-^l`|zDxb82$c!a z&R+Lb)_3)l!deZPr;V=8?0r3b{)KUq1C-kIlD9AO&JCjH%Wu1Et1LL(q26Oj8n=CCpKUmJml}V^RZ%3TTsK;J-SI=MGqQ&jX02Az@xOWU1n>g7hGZ&jo4oa; zId`^YKggIfv|ZVA!`k__xgR$b_lOMlW!}s_zV&3?#{PlOEqltQQhqfY$C#G!Nn6pg z*08WXA){36LB6gg^S<0*^I%Psz@Ao_&b|XMIE@2zq7nbjc7wyH&Xfrzg(zdhTW$j) zBAS{lM3KbtsM1pg%DWH%8=-21d-X;m;QMKRh@tprMSO^BOptPP+E&1cH~D87&p#5R zY-hl_YtZN4m1Nuu3%D;GDjulB&GkPBGjA$rflLp|EhZ6?=qZD}Uj&X0QYZS{^94i? zuRvtxU$4svkLQsbUUt9zNa7F;m5CYNTnX`!0Y8-4S7t%M$K{5f=68N*{7BIRs(}nIwG(@ zp>3`>r}-DSRQG$KvdQo>60L&eB@681#w77mAtMvF#aO{GEEi{t-B7+S(da=RMUt8- zIZ}`g4Fa}-!7FmB)ot17kauE);TGvQ?N08DzZ41K<6Z zYNzbqZ=K`+I9lU;gBq;YaO`ksXx6&V;;ubv-Y#a>YgOMi=qtTeA*^gy3pN~^8}YWN zVPMtf_j69=h7rPauO&G6PC9?+sBcq|Ajb<)VfZ(XKy?r5Vq5u3(<;-1(Ew-v`%TB*HVGwkhLJ$cH)86o4Xz3L7;?i{qqDifB=TR-${ z=401;hv#N0RjX+xu%60v^$=KVVO6>+P%`GvqO=9aJi!;q&4X~bJz@icF<%7cqLmK$ zF05{qy*g2xa?NL$X#mUEz$!TuzAK%2#J3Am33c(T6Ujh;V4*_7HEr&dD(+NyZ#xp} z3Gc1t%m_krD`nUPxyhh9tvQtc-aWC={8)zPkh^7iZlD;Qnn+q|&lvF6n z2J4`f_Nb_d?^wGKE@kg3d-^r9jPAm*kqka*v!Cu+l8Q*S(-U)J?iVgLs^#kc5O11@h z@bJ&&y>jp<5cnmti8KEnJyXH_G3<@<4r^zNJOevtb4;tlkW~I~7gOJWICIM8UO6Te zh7H)`eSa=QtEspbFoY7UBKB}}HfcYjqgz?)or=UQ|KB|IQ_M?ZX{`j zvS=~pxuNFDwHdevYu85@T-9Wj0-_r(ADKUYm}CZi<6rM9$y-xwY(&yH91AoWS$PFa zrfvUCF6`&e#i2QP?^uq+H! zqvnsiRD0xI)oHTt!VdngdcTVNs!q)q+>sA$4^)Cxu=q zdHX^Uh9rr3rhz?2GDut7qtT?{9`L`?KtWWfnkxGayi15?SzkwF645LOQP_@VRtAaq z?3)u%?$0S@Rp7nAwhHi))*Sze{!@*Z$9) zE>muRgdh1)@6PIV8zE0o{N(AM#-#=W4o2fwz z9hp}$bu}YoJ3g92Re8s>M?eHrwV6XzzYjKys`EezRDI-4K-G_Nsrty#fA{^PxC&s@ zU!SYYp6fhqtfse=u=>}FJ0J_}8RyMQ4^||-9;Xz9cfuvr6gUlqe1~WmH-{bibFwsw zA|B-vlYq&<_iGluZ{W9RZp5&(1LQ6*%%5NaWuZ-+shBFj=I$cQfGz z65mB0-kQo5`2D#;%G~s95lrBB7+NIr97%(Ma1k?92DAeItA$9CsWQ5<{i`FOV9Xzq zC&2Za&!)tg>=JboFF;y0CJOOu>MLJsueH9|lf;Zx_`pg^q=n(zXD%38Z}ozyFSFoDbt22Ywe z1Z)^41nd|9c6`VYAqBXlw5q)K=X^klP!tBqxkw50P)=DYe33c7C3@QCi7=`wF#Gk_ z9*n=h{)%DJ{28B!b(eDA5C(ff_M|_r(|l8~u;KFO+qJetfy4Qq0$vUhp~iSjXFO}# zoW{-hA1|_0s!19@kvCV8wd8DFz(JWRQQA6qyymF=VC}lq2NqGrP`q6kh9c{umn>L$ zw^pH1>?B1u{ebY(T+ik$XYAh99E zbe6y_!TL~e$bc`QWRuL`+ofH)*`|%G4G?Hmiz7ssjy56vnY{M*`M=@ySHuDQT`+BN zR#$*E-N07GSr|@S(1zcT{lB0s8aBR^BCvg@(p#N}r=n9^ClmOWuqF)u0_8+AjVQ|L z;)35<+&Y7#A;J32n%H16`IbN6?_>X9gv58$^S|NuKLkHhPhK=qx`fq;q#!F)^cQtc zf6v7t!Ow&Pr*+RV*|#$9 zz(5B9TmN)2gaU#Xf)-3|#r^bn$hVME3eM7xpnm(#;$D?Z(r{6K9safyRm;BXD}6k_ zs~WC}Cq*;N&Y0UpbN97l6oz{!L+`6x4QKuzIZAUp!~*l;$9TPFJph#qYfwe9J2Ay0 zH1Z0BMp+HK2N0LXKMiBK6PVqO!A4RLW%HRj(zKdhUMSK z0l&)s@4_KM(&g4bWL@N}R+lz&r!(Q~I8^i2oz0d6Z(zoov6Vp{MQk7YbgZ8Ml;B+7 zLTQHjy^WjB@zM~q<@Q4uHs`QE7wwWr8kxld6@YHq2;H`42fnnKU3cc?yVPoK0Ftog zT|2&bRp)_3y$2Gz-Nwuvx9|!*VkBra?A~tkR||%=fE&5qVCa2$FLbk+5z|+ml9G9T zVMKdahZ4NT5ej5!*Mk{7x`NWUiAFm=@75BFb6u>Pa7!hteD!eeMVK~1%vT1fLFS9E z>-3%j(gY8Q@0bq625u&m8`~|n|JHG0fQ#bp=)Dv=P?gHt1C-`;1OeL4;GB!k6Y7?7 z=uLU^Bbb|3@DeF;ul9?jFdOrk-44?q#q?xB2_Z?pQ#B`VE$M5KA1*(JQA70MOhe+JWZUwKl+ z>KDp2zc*Yt)rA|B^A@en2oXvDvWz0^(Q9`tFoYWDr&)Yx+ZO?c7?y_)0(UK} zk@*lp%Bc4;sd`$W*N)$d;hj@2C$P~&N+K~Zq;6^bQVtsVGeBxqOF$T`O`M^5Wb=OR znTtH6BSq*Q(Ym$xoA^m9S^nTeCHvvZbHY0@Y^*Yo4sQ2qr(nqXnbK(Q&nShrKq}AO zCq&}91)10_eHU3n%AQG-fsad>y-s)tJh^H$a-EDLeAff`t_Uhs-itE@juAdyV^0C} zRBQ^cyYt3+c<21h78@%{%NvI+ilK zo$$ErqTipf{{R#bNZ3yr0SPuhLhraINHs9|7Y}XZ5ey(!Y=ZGV(N6BF!N{P>@KC@H zf$?I;bPgraUA}}%NfM=G9VcAZ`y;&|>6Ywx9L6Od+V#9UfcCuG9eM2C>Yq-_1#GjM zp`MeoZB-*@(X}31W0$1UHvz}Zv^79O7L1`ROlXy;+w}5e(~Y#3Tq(vF(vm*qLk^3v zDZadT)j;^S$jnbibht!Ed4z*&69xZ`sGR|^Hr%(aC`Sg?C61~*p-b@tEiE| z>z-U>xvy^4MwcIW8VM=1FZafDmFKIjM~^+>S}&V7rOOTm!FQk>>%g2YDF6BEQTFw` z2Q44xoxMybNN4@$6FJMYoFUAjtsjJ+i0c+Jz%Q6IO7$~2kl=br_y{RCJH0w4g_32} zM@fyP#!L|TBlW}0?X&$RQ?v9RAYMO2rvxZK%9`k4R4!1DO zR@;w0KsqvJ)CK>*{xJUoO^1cXgu{0iG9wsOo&Xjl;EY^du;{zNvUO~{^?JRX6>BWQfTu$$= zZZ*(~o}cnQZNUghl2iu_ZHRxtD9U5gqJ*BvA_#`%iSs~(|VywGfckxG!6EsdWmVL3uwPJ=O1?CdRGPV#r4H0f4p{~)Dsz(hr* zdDxTiYB)_&TRsNDiZ7LYRlB>|<6L2C5;?IFoY6i5TO zO9@B~z0WwY0Fy0G{X4SdK5f?egki#^4BZAkY0_eD4hs-R&Uh*SUvTnbTmrTVlK?wc z6lI!=^P|ewZSLZE;HkwHYZBrDBiJn=QHpQ5cv3}Buq&2f9IFXmG4?u7q}bI!DSmAA z(ZAWE+S~GJhC0exDZ%QhD7h*0_ai=+7IMG{VB?MQJt9)g{O~a-Wo+~cMwg=;85qy! ztJVptk?vdLn!0-<84|5y;R6NuHX&x#ut!$YaI4dqT9#UEC(BJ`|8=ywk}>~P0vSv# zraM+L)WPgT9P19{1uN;aYRm*PKos_ZQrpscY_ikK-p8RheRj|J9oI9cvME@8AR1)u zhVRH941q;l8kxF~MzCN{_F~@JXnbQVte4euy2Y@n)~ZdUA}&)kX1WT>4#N`f1cOOL zCmU=$&V&Y3Zt#E;TTY_yONwT+I<}d3&xe=M(147~hc&o*g`Ln4- zZ}STr{ny>%B=T9TkIIG)V;6JN0qIY^M@b8EwP-#@MX(eYwk*9MU+4c??OjD_dWW*) zNqUj{8Z-oU{q8p0<_?*W8I!fG>_XzMnXXx*D1F$|Ti`(XjvKdXC5{HJkm=1kSzFE^%eMf{5g3nww0Kl^9FGJcjy zX*b1piC+0lBrnsbb*-|#hT844Uz^9QUDIu?A+`H(^n!B>stV`TTaLNx{>Hz>%-~#% zy>OaOk3#WV2s~+6m3_SHc}bp#eC%h>lijgXqQ@zW-CsEA;e^50F&e+`LS-ZPrFH#u zRc)93mLZ#pXD^kiN%Kq+8|aW>cFV3vx$~NgS77`GS`!$j?|REPo@RM~-Pu!g(-Av{ zi4|{Gy;5Yj*Pk^gE_|t}hI-+-W=u~xu#FA=42Xed-|Mi)UWcgNdzR45p!Ai+cTA;} zIsng!)7TzFA~9*~SK{73n)h&pbtT?KWBYmHaEj^wGIxgeuOEGXa{Ro)^0 zuO4jCISuLRyUI_)>ZmImeuHGz9Wq**#Nud8|G95sgT%30*;4pYuu+Hl8Q4Xb51rM~e6A!Mee{bF8m4AXt+BGX8LjZXr!A2EsRXtXF) zelQ#}osY_Sj-Y1W3GiNYsNtCzBPszE%ph%rIq~AaLtlSp&2V~r_}rQ~#C2ebam&ZA zBJ^2&jt>_;b>dTUrRkib@Lqx~#g%0`&FKx}9xV*DP4*u65c4qUedJ2n#Am2ybLI>s zf2O^cF9wxS!a@eFxMdKR(O|x8$zpM6#RHHsy&gk#G|S|&GV$iPMAsR%De>Yqv1PLG zds6gPGUbs$;b1k$R_j>g6EZbkuR3Qs(5QQmLGgRxHG*NsptgiTKLvj#>CQY$!ou9o zDXYau#PCN;(`Qii3#&+ZkfZn@4{23%d{Po@R`rNi9G&hyiFU!Ctf=N}yMobeCp=PnJz;4bg zF#*v3)~&p2P*Ok_chGb4EcG)`#RtG!4#>A$h=+r}>f(;XXl<%|?~n)h3jgY1HVeuo z!oN8NakSsZ(3imyHj;2-)%B6P?(v2V%I!zx+!1@bsiqqc5EdIbf*Nxy%2+0r0`;Vt zFlTp}hbQULKA#g^1^JOxE)L$uhr1e!Wm`6({nQQD)d8dTO^B0C-iPqW7a_9IO^HkO zxCRTrqj+b8Vlb(O4)hP4XLf>AeuZ9rw{qsg6a5_@EpmLdQ>(R*A;S(c)Xau5D4azb za#Ota><~I()#{Xq-jsGxdv4`Bn2$O6H!1j4xqSw2iREa1^6i&x|7wao92(tkO*pW1 zD0HM z08HA6+0)4qJlpTnPwr$d; zJJ}xO%&>{x^Ak&Y5*E2r9Vg`MqQQE1;`^m(X^+pxIV3z+Bf{*YJznk&O6o12l%&wv zt@t3j2eI7CqQX~iDA$3xj3)Ob%kfNHaNj~HqSC^e9IvwbP(H}cy*#kZ+-3t+QO%*G zhxY6IHXY6NsM$%Q)o5jN@4QL0P-@u*k{&F7IxaMTy6YF(1#FI8kc}6qfTn;P zUkwyFF_DT~<&hAUE9qq|aaGyi;aK`3g7iH?^*?o7aFnDYcQN~mK;T(QtvM^F#!y(z ztRy z?#+01@yJ_|yy7*(DPy)htCy(XXI-2eDi>WNpMPz+O&-IBT6{s~Cecmh>Cd4ZQt{Wd zf_z+>vfE|H95Bcmvb|7rRU1YDg5136N;lB!N--@7+n?|M!P{|ZytoGT#7UGyhiAm)@B=zdy z24FjanHb~+R+Ncmgktbo=bFk>{J|Eu|GHlh9ge4=WKO{i20gw#%Jr@>ZF5>3a|-%a zX`*65sdP$>Orn-Cc%L%}x;H7)#IK`*9?vlCULx`+z(E06T17@fe*XY66_%W9*Mi~` zsK6X7Zd;iePghM01IrwK6K3e)+5vnLm(6e4G7cVPZ;dQ2=JJHM$*-7BQ9B@{CN##U zCn*=dE(|(;Z5M5{(Tm@-HAWIDsS*|q!wTU&P|J+lESCyw#ufoGo`=<&OhSdE;=B=0 zbau4rY{!;1UXsJe>hC?!SNd5Z%HWq8|NE9`-M9{ZyVpP4mTQE3rOT+Wm9NF>F9My- zsIH-{Syk_vwqby#=_Le|@s2qC#fD(S8tojzRG`b6`(HEO}Y`-839-J2!XoUx0;V1lb9OsC0+Exaq&x{&P7*$J{97Z{dwGXfo zopd{V3NA#yf-fG=e>2{@Z}1iCV}JEvoF^-fa*L%LeXrCe2dsgZ5l})+)3`>(eNH)| z{&xGne!;i)C6M*88h;C3>I^l?lrRrk{2x4MQH_J;tPU+>OYjiMe5g`^g%KlA+F~lg zB_T;!+RZ80JxTdaZYo2j+J|>vc?k7DR$>5kY}=X?owFIuk$b2Q^ILRu-HlA=!&qWV zq5;5u94%onvK;ZY>TAioaDR!Ytv+TlsWvclegV)Ce#HJOwZ}|p(9Sz=I%K?llUn<; zvCSgtFMDnPg8U*he&M{HaaRu9UQgCq9GQ0d>HQ`dEsJhL5d~%peRauB%R6gh{F}{z zGl^vw$>;8u3VySod)U+YFx!ayv?{;p1LpfNG`X4n%Z=PcD+gpgq^i|cq%q?Nx0W&o z4}41T2-iD|bjziE;ET@JXNh}qPbKJ|b4a;c7W3jFi@Ca=)cXsoJ*KZEzu;u{GQeyY z-I0<&|DpES{lUTXilEeKeSjF@^I_b__@H&YQta6VXFlUNKicEEAA0KH;c|9G9&$E| z0J_7?RNG;SPfxlV;|R9;7NQ8TqSGiD2U3$NAp~Gsqp^PG%o|tXRRO~K&a5l2aA`y> z(|XXfvOgd(8_Mxz7S2Oh!==1tA@(nT{5)dGJWSeXU;|j4P=dNas)^E-<*tS(--AXd<81@gpTL`%*>7t{)Sj+;n@o=7RahTKFMt;d%zPAEb^ z)sAKqnD(yF7G*5g8kuqes%w z#jOB`N9xqCd%#z4az4OPV~Uh)tSc?n8qI%QY?=3!aaB-C9tpn!Y`;yy!?QqY7bD1t z`7jStZp)cnje}xnF&{;%)6QiG0q>PZW0ZIdD~fH>7lW!H3A;Qx2;IaMNEU(nmz?^V z#OUcj;Y&bqEbp41RtO=dOe%gIrAN-le6PB=9YWOWs9a3+BP-6aS27-(!u+K5&KlxlIbgtNEmpWfJse$n^;90TQapI zoD;Q}@t#I)SHzIu3FMCYhYb@#9L@GM4j<14pS9h_-uWPZZb7{gmU65ruZc2xgy!YK zQD~!u7DmM+MfL)x>7g>1$9!w%Hq6>nX%Qmz2oQVwm9Gf{-~K;PbQN0$Rggg!dq*%ymO9 zbNpi=fC(6Il7dpKzxEm@iU-p!3OYdXwXgABRJEdF3L{4zZeiDfc~wCb(Z!F0F%=Mx zr!SUm(~^_|?Q=KQb@uX}TT)<$y^LEwrFQ91L5?$Crso0c6P=tAf#@-<0P#O_HUTtX z(?j$1xj=l_HQ}Jh9D4zH>@8e1f)Sh}?*Mm$eRebjSl;kOAe9^x&z4G$6u#PI0BDN; zh5v4e4MWU>;E*47VjA8Bs!Ra>DQRG{Cz}lZZnp3j9h=%Fd1vzb9(exM)nC8loBK!@ zbqZmN!*rRm;q5w5Dx7qQ4@nST6Wq!vi=7JTR9Kztw=wsg%mCEKq;J8=;7k`mGN*vC z6|A(&OpCvv_-r@$wl85oWmnBlK22}-7{U2XsdA=F09d_ti^hF@%7(oR_eq$YY7zTKkO54SBeO&r3zX^FB*un_n zHUCjk3M6#vLghkaj-PM@?C6iwtB&odPmWf5_$JJnVSM{q2V9cU z?0@i0m`xF^Mk`Z8ueMN;%U7>xoOYCqV-xD|D?=vNA8zzf4{?2S10+{_kX)O9`0z`vdo2CCeSm0hxxT<-DoKyJ zlH{@uEXGB%Xs_(Y&{ZQZxadU~7=?P3>qIE&7T%me-BKPQKXXI*mgRyUwJ)hnRyQ+H z{Gd+V15N2&-O7jcuDBHE4Qf?Hz7x~hY&Yw@<7ey$!}$1b?;W~C;?m#Rxy-NP?!|}r zC`xe+5dQEC%gRfu!~GAmZ8%Tdpi=^2Ql@jTS@)GdBh1<76M$2D#+k+FWmY>`QR(Qt^5&E%g3^aC~0m$PR?+AVrFtb9EkMQR62+Ifie9EfG0Ap4h-|y!~}=rtaypl z^2k+m{v>IWY|%^sWaM6s8M$`|gvG>rE@a|s8Pi)QO?nuWGXUD6A_!b~MyCN(OOV#WWm4%gR zeibK0C=pM}0xmws)luJ*ajQjFi^>=9H*OW*nNxgcZpPYxRvcd&>)x5pkLGm0UB*2u zH~ONga~Jg;^w6Rug8Ui=66-i+!4q%qS_~E!c$~{th4A16-V+Vvru^I|MO^)JUp)MU z_^kH`EZ2vb8UI-N%*|ulA3XLUad-X9=9Yk2h6Hn2|EP$R|oNn)FpD~iAx-wtP@}uq0b%zVS5p}*ec+oU^$w%%|bp`7$i2; z`F-);7QSM!wy&@Anb%?YjF!S4RA!uAu$f<^_$#;nl~UYa4eQs#{O|08?S!mZ5gHeP z=7NBsYPm+6Mi~Rt0&DcrtviG34|k`A7HJ=H0M%3j@e5d8zIsI3TbjdCD9AANuzEd= zFFI1*|I>wBpoBS?Z9D^F5AHI8v-%p^barmcwJ(9m5g>Y;a2%X5{U-(n%@`+?aeEB_ zb5q!c>=-vNWKRY|c3H+yR)7BiFk~B8E8;=un}_BVaFVTRxEu#$)!q^SeG&ApiQIaE zQD47q)+4t1Ga}Y|A?+uth4Q%;Z0s924Mt*iqJpm^;D_B0CHh$r{{J6)?*Z0iw(SoG zEI3%O1PcmLu}~}{f(|$k5kr-dLJKG=iWDnF&wvm+8bv?>1w|mCLr|KCEs6z25UC2H zjG}@RD?KEBYrjb#IO@!tbIpDnnun@{e(DY;gA^&CHWF)6`aqL1vja3Kg_t^GFtPt-&5G0-oeF+gY>D5Hh$qN=3XDsinysXYW+r2I8vs5ASwe$waZbP{Cn z=)&}0B9)4&n~W(P4fh{O!c>PsIS!g_P|n0#p$0W^tCN6DtLrW7NP&%n?DL4*XrL?6 z07)l2?!DQb?CycNpFUQ!JQ9UW9m$wT{Wp3;3Tc=t!xfQQMg1Z{Rs-e#K(@L8@j7)< zeM=yZ+hE%)(r=ghP0(dll1ciQ;(}H++T6Z!Ndj`MEk@qygCxi;qSQ6Q#8|PD!yq*Z zwpXwg*;T7#x&2W!m$p*ofL4YA4H=}|loi#$I<-WkVRsMA$EHK*446zqf$Dsw-9*#M z*v)OU)};eq?}XrnKM!+fCxA`dE8esGnvCq$U0rnmscQ2)Q|^}p=(zwGtD>=jd-{U2hl=DY05 zq94i|n&=+fSoe>84>kE^Zf7pw_I96KKFOSa`T58d;3i7Ewg2t8T$g-BjZK#x&x|sN z*f~pJc)1y;n(l8S$H({1iI-jSPD5^!lfiODfBchY z8-q3&gs+`UaJGp3C-YZ+wSIrSp8qSy+aZKShf=wCB`n9HtV{~X5`~$FR3Cs0x+YxX zN%A|eZ(^C7aQNmeItf7_lNzH1d1xp1PB-{adGt9Qw9BX^N-v6d0b1C25LlMW$Gp#j zWM2ZFznl8Kh}If-h9YGd_&z2u+0vSYHOr?@*4?$m@C@T$T^^Tfpi@QNil3$5h z2dxqQJlu!_-W@Sw?+z#M?zp`M1gFzK%zA@~s6WuHsMj+J*#gK;N%H6~xs5&!woGWD zyx|NO0?AxLBOs|(tWPX5;0?nns1l!m*WCl+lh9;nnMiHkK!XlQ!L$q3EoR2o+}zi^ zMq(;v*ZW42E(vllGBqWapH!P!M#3{u%@rs0RzfmTn}eI~2y%(f<>MU6pP=mu9UC6n zWw0pgg^xBD#SW)@Tx@*-Y9^G+f6(Z!JLP{!uO1bblBRR0@-mE`{U40Wqd`193?JS* z49n;;1f_iv8mI?E;W*niM#D1(q0x49(aK7QBg1wC5`w*ySVID-(E6489IGyDQc$pM z6m)b38%ukm3V9?G^TvjOQ3g&9lC7ox>=Z}rqirsl#^x_o=;UNNI!<_ zd~><^RV(AwdO}APxYYQBNm<&4-AbtYxg~Ggn;m?Qg||keDBighA~W)Y?=E6_M)!fx z1ifWhji1v;>pTZs68`w5>LZrbbt=j#z&Hqch)gV?YQr2ARSHepuCx}KgrQe4|DD^s_#hV$|PX9GVLSh%TGk9 zGlhp!w-OuE8C|WghoDIfx}rN|@8>M=e%#>P8-)Wq*FWLBqPn~UrpZo~JL<=ax8Per zku}lTHEDei>y*Z@iFeB^YgKAh-Wa?BrE4303*KuwDjgWwmGqnQ^OI2qv{(0%Q+8** zH;T}G>t`HXW6WfpdZ5$}7lYl#c2XwmP%3UaE53z0teRKmTCDV@owMs=!ySIcf!U#o zLpUa{gMBCdY)Lgp8QbYOg=GGEVG6s*iE7WY3op9onsPOvL-RMYX4lTlF*XLUh|LYV zo)~5*<7HBHlr*bCnHB#;x9N#)^KWJF<})(arpjEK)->X6W!wJer`C4Gzd5AA47mB; z@aB87$YFQMme|crZ}dIQFx8L2)0D#PudGmR+(<-?}w^q1$+OHGi+>vQ+&yk*m?8uk!;Oj2RU2jip>=+x$QCC9YW{H zf7kN*Fl&eHq__u8FEN8e+G%if2VFW!F>5@QK>s!Ky=C-_Pgy!@mh=3|fc|t@V*t^m zg#uI?W~iZ4);892Q5fwxr8nx=gbuBk+#>-+D>cQ(ntpbHS)rpik<=(+GJoq8$I~8HM%k>?4*$GjJ3SR(eq9{3 zi@mlhxsk+M0@f6a+KqGw%2SuOSUk~vyOXK?$a4``Vwg*q=Qh}?gXP7Q?aGdnQJ)H0 zu{Qkrz*$;=w*m@mTeSjYKZB?wkr+TzCS0{lPV2ZfKXN=QGZ(RyFGVN@M78kO_R_Qp zsV`m9*21DIwBY}lF38Fa3DMM#@l5Onq9KYk8^KXJ-471g&H+M+8j`+E`SQ z|43K_8wHdO9*&2HKP~bz1_SPUy~=HRm7YI$hR$NKvDYTQTGuvHhk3ZD=2uxun0Rij zuQs-^1}3FZR>-v+lVn|NRt~o*)VHiLR&+g4X4S)KQbCj0Pjy_|`a$>m*_{;Y=c;X^ zp6|<@cf5r*x4x&sYDd+npHi01^aZc0Kjgd*4uYV+4pRD z)GB0^*4r2SbFZxKnYq#9!4xfIGDg|!9v⁢dAvw@JmC6Pw8@n#m45EV8khzl6v7F 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 diff --git a/run_tr.sh b/run_tr.sh index e8d94bd..452a9c9 100644 --- a/run_tr.sh +++ b/run_tr.sh @@ -34,7 +34,7 @@ export pressure_in_torr=250 export CO2percent=3 # --- Block 1: 27Al Source Runs No Gas (1-8) --- -if [[ 1 -eq 0 ]]; then +if [[ 1 -eq 1 ]]; then export DATASET="27Al" export PREFIX="Run_" export OUT_DIR="Output_av" @@ -42,6 +42,7 @@ if [[ 1 -eq 0 ]]; then rm -f ${OUT_DIR}/all.root parallel --bar -j 6 process_run ::: {1..8} + exit fi # --- Block 2: 17F Source Runs (5-14) --- diff --git a/scratch/make_prettyplots.C b/scratch/make_prettyplots.C index 51c7a10..70f61f7 100644 --- a/scratch/make_prettyplots.C +++ b/scratch/make_prettyplots.C @@ -5,9 +5,11 @@ // // Usage (Single File): // root -l -b -q 'make_pretty.C("myfile.root", "histName")' +// root -l -b -q 'make_pretty.C("myfile.root", "histName", "XLabel", "YLabel", minZ, minY, minX, maxX, maxY, rebinX, rebinY)' // // Usage (Multi-File Overlay): // root -l -b -q 'make_pretty.C("file1.root,file2.root", "Run 1,Run 2", "histName", "X-Axis", "Y-Axis")' +// root -l -b -q 'make_pretty.C("file1.root,file2.root", "Run 1,Run 2", "histName", "X", "Y", yMin, yMax, xMin, xMax, canvasW, canvasH, rebinX)' // // ============================================================================= @@ -78,7 +80,9 @@ void make_prettyplots(const char *rootFile, double minY = -9999.0, double minX = -9999.0, double maxX = -9999.0, - double maxY = -9999.0) + double maxY = -9999.0, + int rebinX = 1, + int rebinY = 1) // rebinY only used for 2D histograms { SetStyle(); @@ -129,6 +133,15 @@ void make_prettyplots(const char *rootFile, TH2 *h = (TH2 *)clone; h->SetStats(0); + // Rebin() and Rebin2D() modify in place and return `this` when called + // with no newname, but reassign anyway in case that ever changes. + if (rebinX > 1 || rebinY > 1) + { + TH2 *rebinned = (TH2 *)h->Rebin2D(rebinX, rebinY); + if (rebinned) + h = rebinned; + } + // --- Apply Minimum Z if provided --- if (minZ != -9999.0) { @@ -154,13 +167,19 @@ void make_prettyplots(const char *rootFile, h->GetXaxis()->CenterTitle(true); h->GetYaxis()->CenterTitle(true); - // gPad->SetLogz(); + gPad->SetLogz(); h->Draw("colz"); } else { TH1 *h = (TH1 *)clone; + if (rebinX > 1) + { + TH1 *rebinned = (TH1 *)h->Rebin(rebinX); + if (rebinned) + h = rebinned; + } if (minX != -9999.0) h->GetXaxis()->SetRangeUser(minX, h->GetXaxis()->GetXmax()); if (maxX != -9999.0) @@ -200,7 +219,7 @@ void make_prettyplots(const char *rootFile, // NOTE: canvasW/canvasH added as trailing optional args (default = old // hardcoded values, so every existing call site keeps working unchanged). // Pass larger values for a bigger/higher-resolution output image. -void make_prettyplots(TString filesCSV, TString labelsCSV, TString histName, TString xAxisLabel="", TString yAxisLabel="", double yMin=-9999, double yMax=-9999, double xMin=-9999, double xMax=-9999, int canvasW=2100, int canvasH=1575) +void make_prettyplots(TString filesCSV, TString labelsCSV, TString histName, TString xAxisLabel="", TString yAxisLabel="", double yMin=-9999, double yMax=-9999, double xMin=-9999, double xMax=-9999, int canvasW=2100, int canvasH=1575, int rebinX=1) { SetStyle(); @@ -243,6 +262,13 @@ void make_prettyplots(TString filesCSV, TString labelsCSV, TString histName, TSt clone->SetDirectory(0); // Detach from file f->Close(); + if (rebinX > 1) + { + TH1 *rebinned = (TH1 *)clone->Rebin(rebinX); + if (rebinned) + clone = rebinned; + } + // Apply X-range BEFORE checking the max Y-height, otherwise peaks // outside the viewing range might scale the Y-axis unnecessarily! if (xMin != -9999.0 && xMax != -9999.0)