1#ifndef LArPandoraShowerCheatingAlg_hxx
2#define LArPandoraShowerCheatingAlg_hxx
6#include "larsim/MCCheater/BackTrackerService.h"
7#include "larsim/MCCheater/ParticleInventoryService.h"
9#include "art/Framework/Services/Registry/ServiceHandle.h"
10#include "art_root_io/TFileService.h"
11#include "canvas/Utilities/InputTag.h"
22 class DetectorClocksData;
26 class LArPandoraShowerCheatingAlg;
30 class ShowerElementHolder;
43 std::map<int, const simb::MCParticle*>& trueParticles)
const;
44 void CheatDebugEVD(detinfo::DetectorClocksData
const& clockData,
45 const simb::MCParticle* trueParticle,
46 art::Event
const& Event,
48 const art::Ptr<recob::PFParticle>& pfparticle)
const;
51 const art::Ptr<recob::Hit>& hit)
const;
54 detinfo::DetectorClocksData
const& clockData,
55 std::map<
int, std::vector<int>>
const& ShowersMothers,
56 std::vector<art::Ptr<recob::Hit>>
const& hits,
65 art::ServiceHandle<art::TFileService>
tfs;
std::pair< int, double > TrueParticleIDFromTrueChain(detinfo::DetectorClocksData const &clockData, std::map< int, std::vector< int > > const &ShowersMothers, std::vector< art::Ptr< recob::Hit > > const &hits, int planeid) const
void CheatDebugEVD(detinfo::DetectorClocksData const &clockData, const simb::MCParticle *trueParticle, art::Event const &Event, reco::shower::ShowerElementHolder &ShowerEleHolder, const art::Ptr< recob::PFParticle > &pfparticle) const
shower::LArPandoraShowerAlg fLArPandoraShowerAlg
std::string fInitialTrackSpacePointsInputLabel
std::map< int, const simb::MCParticle * > GetTrueParticleMap() const
std::map< int, std::vector< int > > GetTrueChain(std::map< int, const simb::MCParticle * > &trueParticles) const
art::InputTag fPFParticleLabel
std::string fShowerStartPositionInputLabel
art::InputTag fHitModuleLabel
int TrueParticleID(detinfo::DetectorClocksData const &clockData, const art::Ptr< recob::Hit > &hit) const
std::string fShowerDirectionInputLabel
art::ServiceHandle< cheat::ParticleInventoryService > particleInventory
art::ServiceHandle< art::TFileService > tfs