Pandora
Pandora source code navigator
Loading...
Searching...
No Matches
LArPandoraShowerCheatingAlg.h
Go to the documentation of this file.
1#ifndef LArPandoraShowerCheatingAlg_hxx
2#define LArPandoraShowerCheatingAlg_hxx
3
4//LArSoft Includes
6#include "larsim/MCCheater/BackTrackerService.h"
7#include "larsim/MCCheater/ParticleInventoryService.h"
8
9#include "art/Framework/Services/Registry/ServiceHandle.h"
10#include "art_root_io/TFileService.h"
11#include "canvas/Utilities/InputTag.h"
12
13namespace recob {
14 class Hit;
15 class PFParticle;
16}
17namespace simb {
18 class MCParticle;
19}
20
21namespace detinfo {
22 class DetectorClocksData;
23}
24
25namespace shower {
26 class LArPandoraShowerCheatingAlg;
27}
28
29namespace reco::shower {
30 class ShowerElementHolder;
31}
32
33#include <map>
34#include <utility> // std::pair<>
35#include <vector>
36
38public:
39 LArPandoraShowerCheatingAlg(const fhicl::ParameterSet& pset);
40
41 std::map<int, const simb::MCParticle*> GetTrueParticleMap() const;
42 std::map<int, std::vector<int>> GetTrueChain(
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,
47 reco::shower::ShowerElementHolder& ShowerEleHolder,
48 const art::Ptr<recob::PFParticle>& pfparticle) const;
49
50 int TrueParticleID(detinfo::DetectorClocksData const& clockData,
51 const art::Ptr<recob::Hit>& hit) const;
52
53 std::pair<int, double> TrueParticleIDFromTrueChain(
54 detinfo::DetectorClocksData const& clockData,
55 std::map<int, std::vector<int>> const& ShowersMothers,
56 std::vector<art::Ptr<recob::Hit>> const& hits,
57 int planeid) const;
58
59private:
61
62 art::InputTag fHitModuleLabel;
63 art::InputTag fPFParticleLabel;
64 art::ServiceHandle<cheat::ParticleInventoryService> particleInventory;
65 art::ServiceHandle<art::TFileService> tfs;
66
70};
71#endif
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
std::map< int, const simb::MCParticle * > GetTrueParticleMap() const
std::map< int, std::vector< int > > GetTrueChain(std::map< int, const simb::MCParticle * > &trueParticles) const
int TrueParticleID(detinfo::DetectorClocksData const &clockData, const art::Ptr< recob::Hit > &hit) const
art::ServiceHandle< cheat::ParticleInventoryService > particleInventory
art::ServiceHandle< art::TFileService > tfs