Skip to content

Commit ccadeb6

Browse files
Merge pull request #899 from SBNSoftware/feature/acastill_bfm_cleanup
Remove skip channel list and move to calibration database
2 parents 369ab65 + cb5e726 commit ccadeb6

1 file changed

Lines changed: 11 additions & 2 deletions

File tree

sbndcode/TPCPMTBarycenterMatching/TPCPMTBarycenterMatching_module.cc

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,10 @@
5959
#include "lardataobj/RecoBase/PFParticleMetadata.h"
6060
#include "sbnobj/Common/Reco/TPCPMTBarycenterMatch.h"
6161

62+
// Calibration database includes
63+
#include "sbndcode/Calibration/PDSDatabaseInterface/PMTCalibrationDatabase.h"
64+
#include "sbndcode/Calibration/PDSDatabaseInterface/IPMTCalibrationDatabaseService.h"
65+
6266
//ROOT includes
6367
#include <Eigen/Dense>
6468
#include <vector>
@@ -231,7 +235,6 @@ class TPCPMTBarycenterMatchProducer : public art::EDProducer {
231235
bool fCollectionOnly; ///< Only use TPC spacepoints from the collection plane
232236
double fDistanceCandidateFlashes; ///< Maximum distance between candidate flashes to be considered for matching (cm)
233237
std::vector<double> fCalAreaConst; /// Calibration area constants for wire plane
234-
std::vector<int> fSkipChannelList;
235238
double fOpDetCoVUVEff; // Efficiencies for PMT detection (Coated PMT VUV)
236239
double fOpDetCoVISEff; // Efficiencies for PMT detection (Coated PMT VIS)
237240
double fOpDetUncoVISEff; // Efficiencies for PMT detection (Uncoated PMT VIS)
@@ -294,6 +297,9 @@ class TPCPMTBarycenterMatchProducer : public art::EDProducer {
294297
fhicl::ParameterSet _vis_params;
295298
std::shared_ptr<phot::OpticalPath> _optical_path_tool;
296299

300+
sbndDB::PMTCalibrationDatabase const* fPMTCalibrationDatabaseService;
301+
302+
297303
};
298304

299305

@@ -391,6 +397,9 @@ TPCPMTBarycenterMatchProducer::TPCPMTBarycenterMatchProducer(fhicl::ParameterSet
391397
_vis_params = p.get<fhicl::ParameterSet>("VIVHits");
392398
_optical_path_tool = std::shared_ptr<phot::OpticalPath>(art::make_tool<phot::OpticalPath>(p.get<fhicl::ParameterSet>("OpticalPathTool")));
393399
_semi_model = std::make_unique<phot::SemiAnalyticalModel>(_vuv_params, _vis_params, _optical_path_tool, true, false);
400+
401+
//Load PMT Calibration Database
402+
fPMTCalibrationDatabaseService = lar::providerFrom<sbndDB::IPMTCalibrationDatabaseService const>();
394403
}
395404

396405
void TPCPMTBarycenterMatchProducer::produce(art::Event& e)
@@ -892,7 +901,7 @@ double TPCPMTBarycenterMatchProducer::GetFlashLight(double flash_pe, std::vector
892901
double tot_visibility=0;
893902

894903
for(size_t ch=0; ch<dir_visibility.size(); ch++){
895-
if (std::find(fSkipChannelList.begin(), fSkipChannelList.end(), ch) != fSkipChannelList.end()) continue;
904+
if(!fPMTCalibrationDatabaseService->getReconstructChannel(ch)) continue; // Skip channels not reconstructed
896905
if(fOpDetType[ch]==0) tot_visibility += fOpDetCoVUVEff*dir_visibility[ch] + fOpDetCoVISEff*ref_visibility[ch];
897906
else if(fOpDetType[ch]==1) tot_visibility += fOpDetUncoVISEff*ref_visibility[ch];
898907
else continue; // skip other types

0 commit comments

Comments
 (0)