22#include "art/Framework/Core/ProducesCollector.h"
26#include "canvas/Persistency/Common/Ptr.h"
27#include "fhiclcpp/ParameterSet.h"
42 reco::
shower::ShowerElementHolder& ShowerEleHolder) = 0;
48 reco::
shower::ShowerElementHolder& ShowerEleHolder,
49 std::
string evd_display_name_append = "")
52 int calculation_status =
CalculateElement(pfparticle, Event, ShowerEleHolder);
53 if (calculation_status != 0)
return calculation_status;
56 pfparticle, Event, ShowerEleHolder, evd_display_name_append);
58 return calculation_status;
108 bool check_element = ShowerEleHolder.
CheckElement(Name);
109 if (!check_element) {
110 throw cet::exception(
"IShowerTool") <<
"tried to get a element that does not exist. Failed "
111 "at making the art ptr for Element: "
112 << Name << std::endl;
118 throw cet::exception(
"IShowerTool")
119 <<
"tried to get a ptr that does not exist. Failed at making the art ptr for Element"
125 if (iter != -1) { index = iter; }
141 mf::LogWarning(
"IShowerTool") <<
"The art::ProducesCollector ptr has not been set";
151 template <
class T,
class A,
class B>
int GetShowerNumber() const
bool CheckElement(const std::string &Name) const
void PrintPtr(const std::string &Name) const
int GetVectorPtrSize(const std::string &Name) const
void AddSingle(A &a, B &b, const std::string &Name)
art::Ptr< T > GetArtPtr(const std::string &Name, const int &iter) const
int SetShowerUniqueProduerPtr(type< T >, const std::string &Name, const std::string &Instance="")
bool CheckUniqueProduerPtr(const std::string &Name) const
void DebugEVD(art::Ptr< recob::PFParticle > const &pfparticle, art::Event const &Event, const reco::shower::ShowerElementHolder &ShowerEleHolder, std::string const &evd_disp_name_append="") const