Skip to content

Commit 8be3e6a

Browse files
Merge branch 'release/v10_14_02_02'
2 parents 0613ae1 + fd00b71 commit 8be3e6a

17 files changed

Lines changed: 191 additions & 201 deletions

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
cmake_minimum_required(VERSION 3.20 FATAL_ERROR)
1717

18-
set(${PROJECT_NAME}_CMAKE_PROJECT_VERSION_STRING 10.14.02.01)
18+
set(${PROJECT_NAME}_CMAKE_PROJECT_VERSION_STRING 10.14.02.02)
1919
find_package(cetmodules REQUIRED)
2020
project(sbndcode LANGUAGES CXX)
2121

sbndcode/BlipRecoSBND/Alg/BlipRecoAlg.cc

Lines changed: 64 additions & 89 deletions
Large diffs are not rendered by default.

sbndcode/BlipRecoSBND/Alg/BlipRecoAlg.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,7 @@ namespace blip {
129129

130130
// --- FCL configs ---
131131
std::string fHitProducer;
132+
std::string fHitTruthMatcher;
132133
std::string fTrkProducer;
133134
std::string fGeantProducer;
134135
std::string fSimDepProducer;

sbndcode/BlipRecoSBND/BlipAna_module.cc

Lines changed: 35 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -456,10 +456,10 @@ class BlipAnaTreeDataStruct
456456
evtTree->Branch("hit_ismatch",hit_ismatch,"hit_ismatch[nhits]/I");
457457
evtTree->Branch("hit_trkid",hit_trkid,"hit_trkid[nhits]/I");
458458
if( saveTruthInfo ) {
459-
evtTree->Branch("hit_g4trkid",hit_g4trkid,"hit_g4trkid[nhits]/I");
460-
evtTree->Branch("hit_g4frac",hit_g4frac,"hit_g4frac[nhits]/F");
461-
evtTree->Branch("hit_g4energy",hit_g4energy,"hit_g4energy[nhits]/F");
462-
evtTree->Branch("hit_g4charge",hit_g4charge,"hit_g4charge[nhits]/F");
459+
evtTree->Branch("hit_g4trkid",hit_g4trkid,"hit_g4trkid[nhits]/I");
460+
evtTree->Branch("hit_g4frac",hit_g4frac,"hit_g4frac[nhits]/F");
461+
evtTree->Branch("hit_g4energy",hit_g4energy,"hit_g4energy[nhits]/F");
462+
evtTree->Branch("hit_g4charge",hit_g4charge,"hit_g4charge[nhits]/F");
463463
}
464464
evtTree->Branch("hit_clustid",hit_clustid,"hit_clustid[nhits]/I");
465465
evtTree->Branch("hit_blipid",hit_blipid,"hit_blipid[nhits]/I");
@@ -745,22 +745,22 @@ class BlipAna : public art::EDAnalyzer
745745

746746
h_part_process = dir_truth.make<TH1D>("part_process","MCParticle->Process()",5,0,5);
747747
auto xa = h_part_process->GetXaxis();
748-
xa->SetBinLabel(1,"primary");
749-
xa->SetBinLabel(2,"compt");
750-
xa->SetBinLabel(3,"phot");
751-
xa->SetBinLabel(4,"conv");
752-
xa->SetBinLabel(5,"other");
748+
xa->SetBinLabel(1,"primary");
749+
xa->SetBinLabel(2,"compt");
750+
xa->SetBinLabel(3,"phot");
751+
xa->SetBinLabel(4,"conv");
752+
xa->SetBinLabel(5,"other");
753753

754754
h_nblips_tm = dir_truth.make<TH1D>("nblips_tm","Truth-matched 3D blips per event",blipBins,0,blipMax);
755755
h_blip_qcomp = dir_truth.make<TH1D>("blip_qcomp","Fraction of true charge (at anode) reconstructed into 3D blips",202,0,1.01);
756756
h_blip_reszy = dir_truth.make<TH2D>("blip_res_zy","Blip position resolution;Z_{reco} - Z_{true} [cm];Y_{reco} - Y_{true} [cm]",150,-15,15,150,-15,15);
757-
h_blip_reszy ->SetOption("colz");
757+
h_blip_reszy ->SetOption("colz");
758758
h_blip_resx = dir_truth.make<TH1D>("blip_res_x","Blip position resolution;X_{reco} - X_{true} [cm]",200,-10,10);
759759
h_blip_resE = dir_truth.make<TH1D>("blip_res_E","Blip energy resolution;(E_{reco} - E_{true})/E_{true} [cm]",200,-1.,1.);
760760
h_blip_E_vs_resE = dir_truth.make<TH2D>("blip_res_energy","Energy resolution of 3D blips;Energy [MeV];#deltaE/E_{true}",100,0,5,200,-1.,1.);
761-
h_blip_E_vs_resE ->SetOption("colz");
761+
h_blip_E_vs_resE ->SetOption("colz");
762762
h_clust_qres_vs_q = dir_truth.make<TH2D>("qres_vs_q","Clusters on collection plane;True charge deposited [ #times 10^{3} e- ];Reco resolution",160,0,80,200,-1,1);
763-
h_clust_qres_vs_q ->SetOption("colz");
763+
h_clust_qres_vs_q ->SetOption("colz");
764764
h_clust_qres_anode = dir_truth.make<TH1D>("qres_anode","Reco charge vs true charge collected;( reco-true ) / true;Area-normalized entries",200,-1.,1.);
765765
h_clust_qres_dep = dir_truth.make<TH1D>("qres_dep","Reco charge vs true charge deposited;( reco-true ) / true;Area-normalized entries",200,-1.,1.);
766766
h_qratio_vs_time_sim = dir_truth.make<TH2D>("qratio_vs_time_sim",";Drift time [#mus]; Q_{anode} / Q_{dep}",44,100,2300, 1000,0.50,1.50);
@@ -801,10 +801,10 @@ class BlipAna : public art::EDAnalyzer
801801
h_hitqres[i] = dir_truth.make<TH1D>(Form("pl%i_hit_q_res",i), Form("Plane %i hits;charge resolution: (reco-true)/true",i), 400,-1,1);
802802
h_hitqres_scatter[i] = dir_truth.make<TH2D>( Form("pl%i_hit_qres_scatter",i),
803803
Form("Plane %i;true hit charge [#times 10^{3} e-];Reconstructed hit charge [#times 10^{3} e-]",i),qBins,0,qMax/1e3,qBins,0,qMax/1e3);
804-
h_hitqres_scatter[i] ->SetOption("colz");
804+
h_hitqres_scatter[i] ->SetOption("colz");
805805
h_hitqres_vs_q[i] = dir_truth.make<TH2D>( Form("pl%i_hit_qres_vs_q",i),
806806
Form("Plane %i;true hit charge [#times 10^{3} e-];hit charge resolution: (reco-true)/true",i),qBins,0,qMax/1e3, 400,-2,2);
807-
h_hitqres_vs_q[i] ->SetOption("colz");
807+
h_hitqres_vs_q[i] ->SetOption("colz");
808808

809809
h_chargecomp[i] = dir_truth.make<TH1D>(Form("pl%i_hit_charge_completeness",i),Form("charge completness, plane %i",i),101,0,1.01);
810810
h_hitpur[i] = dir_truth.make<TH1D>(Form("pl%i_hit_purity",i),Form("hit purity, plane %i",i),101,0,1.01);
@@ -1326,7 +1326,6 @@ void BlipAna::analyze(const art::Event& evt)
13261326
}
13271327

13281328
}
1329-
13301329
if( fDebugMode ) PrintClusterInfo(clust);
13311330

13321331
}//endloop over 2D hit clusters
@@ -1386,7 +1385,7 @@ void BlipAna::analyze(const art::Event& evt)
13861385
nblips_picky++;
13871386
fNum3DBlipsPicky++;
13881387
h_blip_charge_picky ->Fill(blp.clusters[fCaloPlane].Charge);
1389-
h_blip_zy_picky ->Fill(blp.Position.Z(), blp.Position.Y());
1388+
h_blip_zy_picky ->Fill(blp.Position.Z(), blp.Position.Y());
13901389
h_blip_charge_YU_picky->Fill( 0.001*blp.clusters[2].Charge, 0.001*blp.clusters[0].Charge );
13911390
h_blip_charge_YV_picky->Fill( 0.001*blp.clusters[2].Charge, 0.001*blp.clusters[1].Charge );
13921391
h_blip_charge_UV_picky->Fill( 0.001*blp.clusters[0].Charge, 0.001*blp.clusters[1].Charge );
@@ -1489,27 +1488,27 @@ void BlipAna::endJob(){
14891488
//printf(" picky frac : %5.3f\n", fNum3DBlipsPicky/float(fNum3DBlips));
14901489

14911490
if(fIsMC){
1492-
printf(" MC-matched blips per evt : %.3f\n", fNum3DBlipsTrue/nEvents);
1493-
printf(" MC blip purity : %.3f\n", fNum3DBlipsTrue/float(fNum3DBlips));
1494-
printf(" MC blip purity, 3 planes : %.3f\n", fNum3DBlipsTrue3P/float(fNum3DBlips3Plane));
1495-
if( h_blip_qcomp->GetMean() > 0 )
1496-
printf(" Charge completeness, total : %.4f +/- %.4f\n", h_blip_qcomp->GetMean(), h_blip_qcomp->GetStdDev()/sqrt(fNumEvents));
1497-
//printf(" < 2MeV : %.4f +/- %.4f\n", h_blip_qcomp_2MeV->GetMean(), h_blip_qcomp_2MeV->GetStdDev()/sqrt(fNumEvents));
1498-
//printf(" Blip purity : %.4f\n", h_blip_pur->GetMean());
1491+
printf(" MC-matched blips per evt : %.3f\n", fNum3DBlipsTrue/nEvents);
1492+
printf(" MC blip purity : %.3f\n", fNum3DBlipsTrue/float(fNum3DBlips));
1493+
printf(" MC blip purity, 3 planes : %.3f\n", fNum3DBlipsTrue3P/float(fNum3DBlips3Plane));
1494+
if( h_blip_qcomp->GetMean() > 0 )
1495+
printf(" Charge completeness, total : %.4f +/- %.4f\n", h_blip_qcomp->GetMean(), h_blip_qcomp->GetStdDev()/sqrt(fNumEvents));
1496+
//printf(" < 2MeV : %.4f +/- %.4f\n", h_blip_qcomp_2MeV->GetMean(), h_blip_qcomp_2MeV->GetStdDev()/sqrt(fNumEvents));
1497+
//printf(" Blip purity : %.4f\n", h_blip_pur->GetMean());
14991498
}
15001499
printf(" Mean blip charge : %.0f e-\n", h_blip_charge->GetMean());
15011500
printf("\n");
15021501
for(size_t i=0; i<kNplanes; i++){
1503-
printf(" Plane %lu -------------------------\n",i);
1504-
printf(" * total hits/evt : %.2f\n",fNumHits[i]/(float)fNumEvents);
1505-
printf(" * untracked hits/evt : %.2f (%.2f plane-matched)\n",fNumHitsUntracked[i]/(float)fNumEvents, fNumHitsMatched[i]/(float)fNumEvents);
1506-
//printf(" * plane-matched hits/evt : %.2f\n",fNumHitsMatched[i]/(float)fNumEvents);
1507-
if(fIsMC) {
1508-
printf(" * true-matched hits/evt : %.2f (%.2f plane-matched)\n",fNumHitsTrue[i]/(float)fNumEvents, fNumHitsMatchedTrue[i]/(float)fNumEvents);
1509-
if( h_chargecomp[i]->GetMean() > 0 )
1510-
printf(" * charge completeness : %.4f\n",h_chargecomp[i]->GetMean());
1511-
printf(" * hit purity : %.4f\n",h_hitpur[i]->GetMean());
1512-
}
1502+
printf(" Plane %lu -------------------------\n",i);
1503+
printf(" * total hits/evt : %.2f\n",fNumHits[i]/(float)fNumEvents);
1504+
printf(" * untracked hits/evt : %.2f (%.2f plane-matched)\n",fNumHitsUntracked[i]/(float)fNumEvents, fNumHitsMatched[i]/(float)fNumEvents);
1505+
//printf(" * plane-matched hits/evt : %.2f\n",fNumHitsMatched[i]/(float)fNumEvents);
1506+
if(fIsMC) {
1507+
printf(" * true-matched hits/evt : %.2f (%.2f plane-matched)\n",fNumHitsTrue[i]/(float)fNumEvents, fNumHitsMatchedTrue[i]/(float)fNumEvents);
1508+
if( h_chargecomp[i]->GetMean() > 0 )
1509+
printf(" * charge completeness : %.4f\n",h_chargecomp[i]->GetMean());
1510+
printf(" * hit purity : %.4f\n",h_hitpur[i]->GetMean());
1511+
}
15131512
}
15141513
printf("\n***********************************************\n");
15151514

@@ -1582,6 +1581,9 @@ void BlipAna::PrintClusterInfo(const blip::HitClust& hc){
15821581
hc.EdepID,
15831582
hc.isMatched
15841583
);
1584+
printf("G4 IDs contib \n");
1585+
for(int g4ID : hc.G4IDs) printf(" %i ", g4ID);
1586+
printf("\n");
15851587
}
15861588

15871589
void BlipAna::PrintBlipInfo(const blip::Blip& bl){

sbndcode/BlipRecoSBND/Utils/BlipUtils.cc

Lines changed: 27 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,8 @@ namespace BlipUtils {
3232
//===========================================================================
3333
// Provided a MCParticle, calculate everything we'll need for later calculations
3434
// and save into ParticleInfo object
35-
void FillParticleInfo( const simb::MCParticle& part, blip::ParticleInfo& pinfo, SEDVec_t& sedvec, int caloPlane){
36-
37-
// Get important info and do conversions
35+
void FillParticleInfo( const simb::MCParticle& part, blip::ParticleInfo& pinfo){
36+
// Get important info and do conversions
3837
pinfo.particle = part;
3938
pinfo.trackId = part.TrackId();
4039
pinfo.isPrimary = (int)(part.Process() == "primary");
@@ -50,17 +49,28 @@ namespace BlipUtils {
5049
pinfo.time = /*ns ->mus*/1e-3 * part.T();
5150
pinfo.endtime = /*ns ->mus*/1e-3 * part.EndT();
5251
pinfo.numTrajPts = part.NumberTrajectoryPoints();
53-
5452
// Pathlength (in AV) and start/end point
5553
pinfo.pathLength = PathLength( part, pinfo.startPoint, pinfo.endPoint);
56-
5754
// Central position of trajectory
5855
pinfo.position = 0.5*(pinfo.startPoint+pinfo.endPoint);
59-
6056
// Energy/charge deposited by this particle, found using SimEnergyDeposits
6157
pinfo.depEnergy = 0;
6258
pinfo.depElectrons = 0;
59+
return;
60+
}
61+
void FillParticleInfo( const simb::MCParticle& part, blip::ParticleInfo& pinfo, SEDVec_t& sedvec, int caloPlane){
62+
FillParticleInfo( part, pinfo);
6363
for(auto& sed : sedvec ) {
64+
if( -1*sed->TrackID() == part.TrackId() || sed->TrackID() == part.TrackId() ) {
65+
pinfo.depEnergy += sed->Energy();
66+
pinfo.depElectrons += sed->NumElectrons();
67+
}
68+
}
69+
return;
70+
}
71+
void FillParticleInfo( const simb::MCParticle& part, blip::ParticleInfo& pinfo, SIDEVec_t& sIDEvec, int caloPlane){
72+
FillParticleInfo( part, pinfo);
73+
for(auto& sed : sIDEvec ) {
6474
if( -1*sed.trackID == part.TrackId() || sed.trackID == part.TrackId() ) {
6575
pinfo.depEnergy += sed.energy;
6676
pinfo.depElectrons += sed.numElectrons;
@@ -99,12 +109,14 @@ namespace BlipUtils {
99109

100110
// We want to loop through any contiguous electrons (produced
101111
// with process "eIoni") and add the energy they deposit into this blip.
102-
if( part.NumberDaughters() ) {
112+
if( part.NumberDaughters() ) { //particles have daughters but they must all be neutron, gamma, or one of the special processes?
103113
for(size_t j=0; j<pinfo.size(); j++){
104114
simb::MCParticle& p = pinfo[j].particle;
105115
std::string pr = p.Process();
106-
if( p.PdgCode() != 2112 && (pr == "eIoni" || pr == "muIoni" || pr == "hIoni") ){
107-
if( IsAncestorOf(p.TrackId(),part.TrackId(),true) ) GrowTrueBlip(pinfo[j],tb);
116+
if( p.PdgCode() != 2112 && p.PdgCode() != 22 && (pr == "eIoni" || pr == "muIoni" || pr == "hIoni") ){ //neutron and photons leave track
117+
if( IsAncestorOf(p.TrackId(),part.TrackId(),true,true) ){
118+
GrowTrueBlip(pinfo[j],tb);
119+
}
108120
}
109121
}
110122
}
@@ -151,7 +163,7 @@ namespace BlipUtils {
151163
// .. otherwise, check that the new particle
152164
// creation time is comparable to existing blip.
153165
// then calculate new energy-weighted position.
154-
} else if ( fabs(tblip.Time-pinfo.time) < 3 ) {
166+
} else if ( fabs(tblip.Time-pinfo.time) < 3) {
155167
float totE = tblip.Energy + pinfo.depEnergy;
156168
float w1 = tblip.Energy/totE;
157169
float w2 = pinfo.depEnergy/totE;
@@ -383,7 +395,7 @@ namespace BlipUtils {
383395
// use view with the maximal wire extent to calculate transverse (YZ) length
384396
if( hcs[i].NWires > newblip.MaxWireSpan ) {
385397
newblip.MaxWireSpan = hcs[i].NWires;
386-
newblip.dYZ = hcs[i].NWires * wirepitch;
398+
newblip.dYZ = hcs[i].NWires * wirepitch;
387399
}
388400

389401
for(size_t j=i+1; j<hcs.size(); j++){
@@ -397,9 +409,8 @@ namespace BlipUtils {
397409
intsec_p.SetY(hcs[i].IntersectLocations.find(hcs[j].ID)->second.Y());
398410
intsec_p.SetZ(hcs[i].IntersectLocations.find(hcs[j].ID)->second.Z());
399411
} else {
400-
std::vector<geo::WireID> i_wireids = wireReadoutGeom->Get().ChannelToWire((unsigned int)hcs[i].CenterChan);
401-
std::vector<geo::WireID> j_wireids = wireReadoutGeom->Get().ChannelToWire((unsigned int)hcs[j].CenterChan);
402-
412+
std::vector<geo::WireID> i_wireids = wireReadoutGeom->Get().ChannelToWire((unsigned int)hcs[i].CenterChan);
413+
std::vector<geo::WireID> j_wireids = wireReadoutGeom->Get().ChannelToWire((unsigned int)hcs[j].CenterChan);
403414
match3d = wireReadoutGeom->Get().WireIDsIntersect(i_wireids.at(0), j_wireids.at(0), intsec_p);
404415
}
405416

@@ -474,7 +485,7 @@ namespace BlipUtils {
474485
//====================================================================
475486
// Function to determine if a particle descended from another particle.
476487
// Allows option to break lineage at photons for contiguous parentage.
477-
bool IsAncestorOf(int particleID, int ancestorID, bool breakAtPhots = false){
488+
bool IsAncestorOf(int particleID, int ancestorID, bool breakAtPhots = false, bool breakAtNeutrons = false){
478489
art::ServiceHandle<cheat::ParticleInventoryService> pi_serv;
479490
const sim::ParticleList& plist = pi_serv->ParticleList();
480491
if( particleID == ancestorID ) return true;
@@ -488,6 +499,7 @@ namespace BlipUtils {
488499
simb::MCParticle pM = pi_serv->TrackIdToParticle(p.Mother());
489500
if ( pM.TrackId() == ancestorID ) { return true; }
490501
else if ( breakAtPhots == true && pM.PdgCode() == 22 ) { return false; }
502+
else if ( breakAtNeutrons && pM.PdgCode() == 2112 ) { return false; }
491503
else if ( pM.Process() == "primary" || pM.TrackId() == 1 ) { return false; }
492504
else if ( pM.Mother() == 0 ) { return false; }
493505
else { particleID = pM.TrackId(); }

sbndcode/BlipRecoSBND/Utils/BlipUtils.h

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@
3737
#include "sbndcode/BlipRecoSBND/Utils/DataTypes.h"
3838
#include "TH1D.h"
3939

40-
41-
typedef std::vector<sim::IDE> SEDVec_t;
40+
typedef std::vector<art::Ptr<sim::SimEnergyDeposit>> SEDVec_t;
41+
typedef std::vector<sim::IDE> SIDEVec_t;
4242

4343
geo::View_t kViews[3]={geo::kU, geo::kV, geo::kW};
4444

@@ -48,7 +48,9 @@ namespace BlipUtils {
4848
// Functions related to blip reconstruction
4949
//###################################################
5050
//void InitializeDetProps();
51-
void FillParticleInfo(simb::MCParticle const&, blip::ParticleInfo&, SEDVec_t&, int plane=2);
51+
void FillParticleInfo(simb::MCParticle const&, blip::ParticleInfo&, SEDVec_t&, int plane);
52+
void FillParticleInfo(simb::MCParticle const&, blip::ParticleInfo&, SIDEVec_t&, int plane);
53+
void FillParticleInfo( const simb::MCParticle& part, blip::ParticleInfo& pinfo);
5254
//void CalcPartDrift(blip::ParticleInfo&, int);
5355
//void CalcTotalDep(float&,int&,float&, SEDVec_t&);
5456
void MakeTrueBlips(std::vector<blip::ParticleInfo>&, std::vector<blip::TrueBlip>&);
@@ -78,7 +80,7 @@ namespace BlipUtils {
7880
//bool G4IdToMCTruth( int const, art::Ptr<simb::MCTruth>&);
7981
double PathLength(const simb::MCParticle&, TVector3&, TVector3&);
8082
double PathLength(const simb::MCParticle&);
81-
bool IsAncestorOf(int, int, bool);
83+
bool IsAncestorOf(int, int, bool, bool);
8284
double DistToBoundary(const recob::Track::Point_t&);
8385
double DistToLine(TVector3&, TVector3&, TVector3&);
8486
double DistToLine2D(TVector2&, TVector2&, TVector2&);

sbndcode/BlipRecoSBND/blipreco_configs.fcl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,10 @@ BEGIN_PROLOG
66
sbnd_blipalg:
77
{
88
HitProducer: "specialblipgaushit" #// input recob::Hits to use for blip reconstruction
9+
HitTruthMatcher: "blipgaushitTruthMatch" #// Truth info corresponding to the above hit collection
910
TrkProducer: "blipPandoraTrackCopy" #// input recob::Tracks to use for blip reconstruction
1011
GeantProducer: "largeant" #// input sim::MCParticles (getting true particle info)
11-
SimEDepProducer: "ionandscint" #// input sim::SimEnergyDeposits (getting energy/electrons deposited)
12+
SimEDepProducer: "ionandscint:priorSCE:G4" #// input sim::SimEnergyDeposits (getting energy/electrons deposited)
1213
SimChanProducer: "simtpc2d:simpleSC:DetSim" #// label for sim::SimChannels (getting drifted charge; optional)
1314
MaxHitTrkLength: 5.0 #// hits in trks > this length will be vetoed [cm]
1415
DoHitFiltering: false #// filter hits based on amp, width, RMS

sbndcode/Calibration/TPCCalorimetry/NormalizeYZ_tool.cc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
// Author : Shweta Yadav (sxy1439@mavs.uta.edu)
2+
// University of Texas at Arlington
13

24
// Framework Includes
35
#include "art/Framework/Core/EDProducer.h"

sbndcode/Calibration/TPCCalorimetry/normtools_sbnd.fcl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@ driftnorm_sql: {
1111

1212
yznorm_hist_data: {
1313
tool_type: NormalizeYZ
14-
FileName: "YZmaps/yz_correction_map_data1e20.root"
14+
FileName: "YZmaps/yz_data2025_v10_14_02.root"
1515
Verbose: false
1616
}
1717

1818
yznorm_hist_mc: {
1919
tool_type: NormalizeYZ
20-
FileName: "YZmaps/yz_correction_map_mcp2025b5e18.root"
20+
FileName: "YZmaps/yz_mc2025_v10_14_02.root"
2121
Verbose: false
2222
}
2323

sbndcode/Calibration/configurations/calibration_database_GlobalTags_sbnd.fcl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
BEGIN_PROLOG
55

66
SBND_Calibration_GlobalTags: {
7-
@table::TPC_CalibrationTags_Nov2025
7+
@table::TPC_CalibrationTags_Jan2026
88
@table::PDS_CalibrationTags_Nov2025
99
}
1010

0 commit comments

Comments
 (0)