All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
LArPandoraShowerCheatingAlg.h
Go to the documentation of this file.
1 #ifndef LArPandoraShowerCheatingAlg_hxx
2 #define LArPandoraShowerCheatingAlg_hxx
3 
4 //LArSoft Includes
8 
9 #include "art_root_io/TFileService.h"
10 #include "art/Framework/Services/Registry/ServiceHandle.h"
11 #include "canvas/Utilities/InputTag.h"
12 
13 namespace recob {
14  class Hit;
15  class PFParticle;
16 }
17 namespace simb { class MCParticle; }
18 
19 namespace detinfo {
20  class DetectorClocksData;
21 }
22 
23 namespace shower {
24  class LArPandoraShowerCheatingAlg;
25 }
26 
27 namespace reco::shower { class ShowerElementHolder; }
28 
29 #include <map>
30 #include <utility> // std::pair<>
31 #include <vector>
32 
34 public:
35  LArPandoraShowerCheatingAlg(const fhicl::ParameterSet& pset);
36 
37  std::map<int, const simb::MCParticle*> GetTrueParticleMap() const;
38  std::map<int, std::vector<int>> GetTrueChain(
39  std::map<int, const simb::MCParticle*>& trueParticles) const;
40  void CheatDebugEVD(detinfo::DetectorClocksData const& clockData,
41  const simb::MCParticle* trueParticle,
42  art::Event const& Event,
43  reco::shower::ShowerElementHolder& ShowerEleHolder,
44  const art::Ptr<recob::PFParticle>& pfparticle) const;
45 
46  int TrueParticleID(detinfo::DetectorClocksData const& clockData,
47  const art::Ptr<recob::Hit>& hit) const;
48 
49  std::pair<int, double> TrueParticleIDFromTrueChain(
50  detinfo::DetectorClocksData const& clockData,
51  std::map<int, std::vector<int>> const& ShowersMothers,
52  std::vector<art::Ptr<recob::Hit>> const& hits,
53  int planeid) const;
54 
55 private:
57 
58  art::InputTag fHitModuleLabel;
59  art::InputTag fPFParticleLabel;
60  art::ServiceHandle<cheat::ParticleInventoryService> particleInventory;
61  art::ServiceHandle<art::TFileService> tfs;
62 
66 };
67 #endif
shower::LArPandoraShowerAlg fLArPandoraShowerAlg
std::map< int, const simb::MCParticle * > GetTrueParticleMap() const
LArPandoraShowerCheatingAlg(const fhicl::ParameterSet &pset)
process_name hit
Definition: cheaterreco.fcl:51
process_name shower
Definition: cheaterreco.fcl:51
auto vector(Vector const &v)
Returns a manipulator which will print the specified array.
Definition: DumpUtils.h:265
art::ServiceHandle< cheat::ParticleInventoryService > particleInventory
std::map< int, std::vector< int > > GetTrueChain(std::map< int, const simb::MCParticle * > &trueParticles) 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
int TrueParticleID(detinfo::DetectorClocksData const &clockData, const art::Ptr< recob::Hit > &hit) const
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
art::ServiceHandle< art::TFileService > tfs
Contains all timing reference information for the detector.