Skip to content

Commit 8f48fed

Browse files
committed
checks opflash producer size instead of assuming both tpcs
1 parent 7fe5bab commit 8f48fed

1 file changed

Lines changed: 15 additions & 4 deletions

File tree

sbndcode/Calorimetry/LightCaloProducer_module.cc

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@
6969
#include <cmath>
7070
#include <functional>
7171
#include <map>
72+
#include <string>
7273

7374
namespace sbnd {
7475
class LightCaloProducer;
@@ -345,13 +346,18 @@ void sbnd::LightCaloProducer::CalculateCalorimetry(art::Event& e,
345346
std::vector<art::Ptr<recob::OpFlash>> flash0_v;
346347
std::vector<art::Ptr<recob::OpFlash>> flash1_v;
347348

348-
for (size_t i=0; i<2; i++){
349+
for (size_t i=0; i<fopflash_producer_v.size(); i++){
349350
::art::Handle<std::vector<recob::OpFlash>> flash_h;
350351
e.getByLabel(fopflash_producer_v[i], flash_h);
351352
if (!flash_h.isValid() || flash_h->empty()) {
352353
std::cout << "don't have good PMT flashes from producer " << fopflash_producer_v[i] << std::endl;
353354
}
354-
else art::fill_ptr_vector((i==0)? flash0_v : flash1_v, flash_h);
355+
else{
356+
if (fopflash_producer_v[i].find("tpc0") != std::string::npos)
357+
art::fill_ptr_vector(flash0_v, flash_h);
358+
else if (fopflash_producer_v[i].find("tpc1") != std::string::npos)
359+
art::fill_ptr_vector(flash1_v, flash_h);
360+
}
355361
}
356362

357363
art::FindManyP<recob::PFParticle> slice_to_pfp (slice_h, e, fslice_producer);
@@ -420,13 +426,18 @@ void sbnd::LightCaloProducer::CalculateCalorimetry(art::Event& e,
420426
::art::Handle<std::vector<recob::OpFlash>> flash0_ara_h;
421427
::art::Handle<std::vector<recob::OpFlash>> flash1_ara_h;
422428

423-
for (size_t i=0; i<2; i++){
429+
for (size_t i=0; i<fopflash_ara_producer_v.size(); i++){
424430
::art::Handle<std::vector<recob::OpFlash>> flash_ara_h;
425431
e.getByLabel(fopflash_ara_producer_v[i], flash_ara_h);
426432
if (!flash_ara_h.isValid() || flash_ara_h->empty()) {
427433
std::cout << "don't have good X-ARAPUCA flashes from producer " << fopflash_ara_producer_v[i] << std::endl;
428434
}
429-
else art::fill_ptr_vector((i==0)? flash0_ara_v : flash1_ara_v, flash_ara_h);
435+
else{
436+
if (fopflash_ara_producer_v[i].find("tpc0") != std::string::npos)
437+
art::fill_ptr_vector(flash0_ara_v, flash_ara_h);
438+
else if (fopflash_ara_producer_v[i].find("tpc1") != std::string::npos)
439+
art::fill_ptr_vector(flash1_ara_v, flash_ara_h);
440+
}
430441
}
431442
}
432443

0 commit comments

Comments
 (0)