103 auto const& simPhotonsLiteCollection =
106 std::vector<int> sumNPhotonArray(
fN, 0);
108 const std::vector<sim::SimPhotonsLite>& simPhotonsLiteCollectionReflected =
111 std::vector<sim::SimPhotonsLite>();
113 size_t n_sim_photons = simPhotonsLiteCollection.size() + simPhotonsLiteCollectionReflected.size();
116 std::cout <<
"New event to filter with total # sim photons: " << n_sim_photons << std::endl;
119 for (
size_t i_pc = 0; i_pc < n_sim_photons; i_pc++) {
121 (i_pc < simPhotonsLiteCollection.size()) ?
122 simPhotonsLiteCollection[i_pc] :
123 simPhotonsLiteCollectionReflected[i_pc - simPhotonsLiteCollection.size()];
126 std::cout <<
"\tFilterSimPhotonLiteTime: Processing simphotonslite channel "
127 << simphotonslite.
OpChannel << std::endl;
130 for (
size_t i_tw = 0; i_tw <
fN; i_tw++) {
132 if (photon_pair.first >= tw.first && photon_pair.first <= tw.second) {
135 std::string photon_string =
136 (i_pc < simPhotonsLiteCollection.size()) ?
"Photon" :
"Reflected Photon";
137 std::cout <<
"\t\t" << photon_string <<
" with number " << photon_pair.second
138 <<
" at time " << photon_pair.first <<
" detected." << std::endl;
141 sumNPhotonArray[i_tw] += photon_pair.second;
144 std::cout <<
"\t\tTotal number of photons in this window (" << i_tw <<
") is now "
145 << sumNPhotonArray[i_tw] << std::endl;
154 std::cout <<
"\tFilterSimPhotonLiteTime: Final total numbers are below min of "
156 for (
size_t i_tw = 0; i_tw <
fN; ++i_tw) {
159 <<
"]: " << sumNPhotonArray[i_tw] << std::endl;
int const fMinTotalPhotons
Minimum number of photons inside a window to pass the filter.
bool const fUseReflectedPhotons
Whether to include reflected photons in the filter.
std::map< int, int > DetectedPhotons
Number of photons detected at each given time: time tick -> photons.
bool const fDebug
Set to true to print (a lot of) debug information.
std::string const fReflectedLabel
Label for the reflected photons – "Reflected" by default.
int OpChannel
Optical detector channel associated to this data.
Compact representation of photons on a channel.
std::size_t const fN
Number of time winows.
std::string const fSimPhotonsLiteCollectionLabel
Label for the sim::SimPhotonsLite data product.
BEGIN_PROLOG could also be cout
std::vector< std::pair< int, int > > const fTimeWindows
Time windows used for filtering. Units are the same as in the sim::SimPhotonsLite.