12 #ifndef HITFINDERANA_H 13 #define HITFINDERANA_H 60 namespace geo {
class Geometry; }
180 fHTree->Branch(
"Htp0", fTimep0,
"Htp0[HNp0]/F");
189 fHTree->Branch(
"HMCXYZp0",
fXYZp0,
"HMCXYZp0[HN3p0]/F");
190 fHTree->Branch(
"HMCXYZp1",
fXYZp1,
"HMCXYZp1[HN3p1]/F");
191 fHTree->Branch(
"HMCXYZp2",
fXYZp2,
"HMCXYZp2[HN3p2]/F");
212 throw cet::exception(
"HitFinderAna: ") <<
"Not for use on Data yet...\n";
227 std::map<geo::PlaneID, std::vector< art::Ptr<recob::Hit> > > planeIDToHits;
228 for(
size_t h = 0; h < hitHandle->size(); ++h)
229 planeIDToHits[hitHandle->at(h).WireID().planeID()].push_back(
art::Ptr<recob::Hit>(hitHandle, h));
232 for(
auto mapitr : planeIDToHits){
238 auto itr = mapitr.second.begin();
239 while(itr != mapitr.second.end()) {
244 std::vector<sim::TrackIDE> trackides = bt_serv->
HitToTrackIDEs(*itr);
246 std::vector<double> xyz = bt_serv->
HitToXYZ(*itr);
253 for (
unsigned int kk = 0; kk < 3; ++kk){
258 while( idesitr != trackides.end() ){
260 if (_particleList.
find((*idesitr).trackID) != _particleList.
end()){
276 for (
unsigned int kk = 0; kk < 3; ++kk){
280 while( idesitr != trackides.end() ){
282 if (_particleList.
find((*idesitr).trackID) != _particleList.
end()){
297 for (
unsigned int kk = 0; kk < 3; ++kk){
301 while( idesitr != trackides.end()){
303 if (_particleList.
find((*idesitr).trackID) != _particleList.
end() ){
333 #endif // HITFINDERANA_H double E(const int i=0) const
Encapsulate the construction of a single cyostat.
const std::vector< double > HitToXYZ(const recob::Hit &hit)
const std::vector< sim::TrackIDE > HitToTrackIDEs(recob::Hit const &hit)
Declaration of signal hit object.
The data type to uniquely identify a Plane.
mapped_type at(const key_type &key)
std::string fFFTHitFinderModuleLabel
std::string fLArG4ModuleLabel
Base class for creation of raw signals on wires.
iterator find(const key_type &key)
#define DEFINE_ART_MODULE(klass)
T get(std::string const &key) const
PlaneID_t Plane
Index of the plane within its TPC.
void reconfigure(fhicl::ParameterSet const &p)
Detector simulation of raw signals on wires.
T * make(ARGS...args) const
bool getByLabel(std::string const &label, std::string const &productInstanceName, Handle< PROD > &result) const
void analyze(const art::Event &evt)
read/write access to event
EventNumber_t event() const
const sim::ParticleList & ParticleList()
#define LOG_VERBATIM(category)
Particle list in DetSim contains Monte Carlo particle information.
Namespace collecting geometry-related classes utilities.
art framework interface to geometry description
cet::coded_exception< error, detail::translate > exception
Encapsulate the construction of a single detector plane.