2222#include " lardataobj/Simulation/AuxDetSimChannel.h"
2323#include " lardataobj/Simulation/BeamGateInfo.h"
2424#include " lardataobj/Simulation/SimEnergyDeposit.h"
25+ #include " lardataobj/Simulation/SimEnergyDepositLite.h"
2526#include " lardataobj/Simulation/SimPhotons.h"
2627
2728#include < lardata/DetectorInfoServices/DetectorClocksService.h>
@@ -49,11 +50,13 @@ class AdjustSimForTrigger : public art::EDProducer {
4950 art::InputTag fInitAuxDetSimChannelLabel ;
5051 art::InputTag fInitBeamGateInfoLabel ;
5152 art::InputTag fInitSimEnergyDepositLabel ;
53+ art::InputTag fInitSimEnergyDepositLiteLabel ;
5254 art::InputTag fInitSimPhotonsLabel ;
5355 art::InputTag fInitWaveformLabel ;
5456 bool fShiftAuxDetIDEs ;
5557 bool fShiftBeamGateInfo ;
5658 bool fShiftSimEnergyDeposits ;
59+ bool fShiftSimEnergyDepositLites ;
5760 bool fShiftSimPhotons ;
5861 bool fShiftWaveforms ;
5962 double fAdditionalOffset ;
@@ -66,29 +69,33 @@ AdjustSimForTrigger::AdjustSimForTrigger(fhicl::ParameterSet const& p)
6669 , fInitAuxDetSimChannelLabel (p.get<art::InputTag>(" InitAuxDetSimChannelLabel" , " undefined" ))
6770 , fInitBeamGateInfoLabel {p.get <art::InputTag>(" InitBeamGateInfoLabel" , " undefined" )}
6871 , fInitSimEnergyDepositLabel {p.get <art::InputTag>(" InitSimEnergyDepositLabel" , " undefined" )}
72+ , fInitSimEnergyDepositLiteLabel {p.get <art::InputTag>(" InitSimEnergyDepositLiteLabel" , " undefined" )}
6973 , fInitSimPhotonsLabel {p.get <art::InputTag>(" InitSimPhotonsLabel" , " undefined" )}
7074 , fInitWaveformLabel (p.get<art::InputTag>(" InitWaveformLabel" , " undefined" ))
7175 , fShiftAuxDetIDEs {p.get <bool >(" ShiftAuxDetIDEs" , false )}
7276 , fShiftBeamGateInfo {p.get <bool >(" ShiftBeamGateInfo" , false )}
7377 , fShiftSimEnergyDeposits {p.get <bool >(" ShiftSimEnergyDeposits" , false )}
78+ , fShiftSimEnergyDepositLites {p.get <bool >(" ShiftSimEnergyDepositLites" , false )}
7479 , fShiftSimPhotons {p.get <bool >(" ShiftSimPhotons" , false )}
7580 , fShiftWaveforms {p.get <bool >(" ShiftWaveforms" , false )}
7681 , fAdditionalOffset {p.get <double >(" AdditionalOffset" , 0 .)}
7782{
7883 if (!(fShiftSimEnergyDeposits || fShiftSimPhotons || fShiftWaveforms || fShiftAuxDetIDEs ||
79- fShiftBeamGateInfo )) {
84+ fShiftBeamGateInfo || fShiftSimEnergyDepositLites )) {
8085 throw art::Exception (art::errors::EventProcessorFailure)
8186 << kModuleName << " : NO SHIFTS ENABLED!\n " ;
8287 }
8388 mf::LogInfo (kModuleName ) << std::boolalpha << " SHIFTING AUXDETIDES? " << fShiftAuxDetIDEs << ' \n '
8489 << " SHIFTING BEAMGATEINFO? " << fShiftBeamGateInfo << ' \n '
8590 << " SHIFTING SIMENERGYDEPOSITS? " << fShiftSimEnergyDeposits << ' \n '
91+ << " SHIFTING SIMENERGYDEPOSITLITES? " << fShiftSimEnergyDepositLites << ' \n '
8692 << " SHIFTING SIMPHOTONS? " << fShiftSimPhotons << ' \n '
8793 << " SHIFTING OPDETWAVEFORMS? " << fShiftWaveforms ;
8894
8995 if (fShiftAuxDetIDEs ) { produces<std::vector<sim::AuxDetSimChannel>>(); }
9096 if (fShiftBeamGateInfo ) { produces<std::vector<sim::BeamGateInfo>>(); }
9197 if (fShiftSimEnergyDeposits ) { produces<std::vector<sim::SimEnergyDeposit>>(); }
98+ if (fShiftSimEnergyDepositLites ) { produces<std::vector<sim::SimEnergyDepositLite>>(); }
9299 if (fShiftSimPhotons ) { produces<std::vector<sim::SimPhotons>>(); }
93100 if (fShiftWaveforms ) { produces<std::vector<raw::OpDetWaveform>>(); }
94101}
@@ -205,6 +212,24 @@ void AdjustSimForTrigger::produce(art::Event& e)
205212 }
206213 e.put (std::move (pSimEDeps));
207214 }
215+ // and SimEnergyDepositLite's
216+ if (fShiftSimEnergyDepositLites ) {
217+ auto const & simEDepLites =
218+ e.getProduct <std::vector<sim::SimEnergyDepositLite>>(fInitSimEnergyDepositLiteLabel );
219+
220+ auto pSimEDepLites = std::make_unique<std::vector<sim::SimEnergyDepositLite>>();
221+
222+ for (auto const & inSimEDepLite : simEDepLites) {
223+ double energy = inSimEDepLite.Energy ();
224+ geo::Point_t middlePos = inSimEDepLite.Position ();
225+ double middleTime = inSimEDepLite.Time () + timeShiftForTrigger_ns;
226+ int ID = inSimEDepLite.TrackID ();
227+
228+ pSimEDepLites->emplace_back (energy, middlePos, middleTime, ID);
229+ }
230+
231+ e.put (std::move (pSimEDepLites));
232+ }
208233
209234 // Repeat for sim::SimPhotons
210235 if (fShiftSimPhotons ) {
0 commit comments