![]() |
LArSoft
v10_04_05
Liquid Argon Software toolkit - https://larsoft.org/
|
#include "EMShowerAlg.h"
Public Member Functions | |
EMShowerAlg (fhicl::ParameterSet const &pset, int debug=0) | |
void | AssociateClustersAndTracks (std::vector< art::Ptr< recob::Cluster >> const &clusters, art::FindManyP< recob::Hit > const &fmh, art::FindManyP< recob::Track > const &fmt, std::map< int, std::vector< int >> &clusterToTracks, std::map< int, std::vector< int >> &trackToClusters) const |
Map associated tracks and clusters together given their associated hits. More... | |
void | AssociateClustersAndTracks (std::vector< art::Ptr< recob::Cluster >> const &clusters, art::FindManyP< recob::Hit > const &fmh, art::FindManyP< recob::Track > const &fmt, std::vector< int > const &clustersToIgnore, std::map< int, std::vector< int >> &clusterToTracks, std::map< int, std::vector< int >> &trackToClusters) const |
Map associated tracks and clusters together given their associated hits, whilst ignoring certain clusters. More... | |
std::vector< int > | CheckShowerPlanes (std::vector< std::vector< int >> const &initialShowers, std::vector< art::Ptr< recob::Cluster >> const &clusters, art::FindManyP< recob::Hit > const &fmh) const |
Takes the initial showers found and tries to resolve issues where one bad view ruins the event. More... | |
std::unique_ptr< recob::Track > | ConstructTrack (detinfo::DetectorPropertiesData const &detProp, std::vector< art::Ptr< recob::Hit >> const &track1, std::vector< art::Ptr< recob::Hit >> const &track2, std::map< int, TVector2 > const &showerCentreMap) const |
std::unique_ptr< recob::Track > | ConstructTrack (detinfo::DetectorPropertiesData const &detProp, std::vector< art::Ptr< recob::Hit >> const &track1, std::vector< art::Ptr< recob::Hit >> const &track2) const |
void | FindInitialTrack (detinfo::DetectorPropertiesData const &detProp, std::map< int, std::vector< art::Ptr< recob::Hit >>> const &hits, std::unique_ptr< recob::Track > &initialTrack, std::map< int, std::vector< art::Ptr< recob::Hit >>> &initialTrackHits) const |
std::vector< std::vector< int > > | FindShowers (std::map< int, std::vector< int >> const &trackToClusters) const |
Makes showers given a map between tracks and all clusters associated with them. More... | |
recob::Shower | MakeShower (detinfo::DetectorClocksData const &clockData, detinfo::DetectorPropertiesData const &detProp, art::PtrVector< recob::Hit > const &hits, std::unique_ptr< recob::Track > const &initialTrack, std::map< int, std::vector< art::Ptr< recob::Hit >>> const &initialTrackHits) const |
Makes a recob::Shower object given the hits in the shower and the initial track-like part. More... | |
recob::Shower | MakeShower (detinfo::DetectorClocksData const &clockData, detinfo::DetectorPropertiesData const &detProp, art::PtrVector< recob::Hit > const &hits, art::Ptr< recob::Vertex > const &vertex, int &iok) const |
<Tingjun to="" document>=""> More... | |
std::vector< recob::SpacePoint > | MakeSpacePoints (detinfo::DetectorPropertiesData const &detProp, std::map< int, std::vector< art::Ptr< recob::Hit >>> const &hits, std::vector< std::vector< art::Ptr< recob::Hit >>> &hitAssns) const |
Makes space points from the shower hits in each plane. More... | |
std::map< int, std::vector< art::Ptr< recob::Hit > > > | OrderShowerHits (detinfo::DetectorPropertiesData const &detProp, art::PtrVector< recob::Hit > const &shower, int plane) const |
Takes the hits associated with a shower and orders them so they follow the direction of the shower. More... | |
void | FindInitialTrackHits (std::vector< art::Ptr< recob::Hit >> const &showerHits, art::Ptr< recob::Vertex > const &vertex, std::vector< art::Ptr< recob::Hit >> &trackHits) const |
<Tingjun to="" document>=""> More... | |
Int_t | WeightedFit (const Int_t n, const Double_t *x, const Double_t *y, const Double_t *w, Double_t *parm) const |
<Tingjun to="" document>=""> More... | |
bool | isCleanShower (std::vector< art::Ptr< recob::Hit >> const &hits) const |
<Tingjun to="" document>=""> More... | |
Public Attributes | |
int | fDebug |
Private Member Functions | |
void | CheckIsolatedHits_ (std::map< int, std::vector< art::Ptr< recob::Hit >>> &showerHitsMap) const |
bool | CheckShowerHits_ (detinfo::DetectorPropertiesData const &detProp, std::map< int, std::vector< art::Ptr< recob::Hit >>> const &showerHitsMap) const |
geo::Point_t | Construct3DPoint_ (detinfo::DetectorPropertiesData const &detProp, art::Ptr< recob::Hit > const &hit1, art::Ptr< recob::Hit > const &hit2) const |
Constructs a 3D point (in [cm]) to represent the hits given in two views. More... | |
double | FinddEdx_ (detinfo::DetectorClocksData const &clockData, detinfo::DetectorPropertiesData const &detProp, std::vector< art::Ptr< recob::Hit >> const &trackHits, std::unique_ptr< recob::Track > const &track) const |
Finds dE/dx for the track given a set of hits. More... | |
std::vector< art::Ptr< recob::Hit > > | FindOrderOfHits_ (detinfo::DetectorPropertiesData const &detProp, std::vector< art::Ptr< recob::Hit >> const &hits, bool perpendicular=false) const |
std::map< int, std::vector< art::Ptr< recob::Hit > > > | FindShowerStart_ (std::map< int, std::vector< art::Ptr< recob::Hit >>> const &orderedShowerMap) const |
std::map< int, std::map< int, bool > > | GetPlanePermutations_ (const detinfo::DetectorPropertiesData &detProp, const std::map< int, std::vector< art::Ptr< recob::Hit >>> &showerHitsMap) const |
double | GlobalWire_ (const geo::WireID &wireID) const |
Find the global wire position. More... | |
TVector2 | HitCoordinates_ (recob::Hit const &hit) const |
Return the coordinates of this hit in global wire/tick space. More... | |
TVector2 | HitPosition_ (detinfo::DetectorPropertiesData const &detProp, recob::Hit const &hit) const |
Return the coordinates of this hit in units of cm. More... | |
TVector2 | HitPosition_ (detinfo::DetectorPropertiesData const &detProp, TVector2 const &pos, geo::PlaneID planeID) const |
Return the coordinates of this hit in units of cm. More... | |
std::unique_ptr< recob::Track > | MakeInitialTrack_ (detinfo::DetectorPropertiesData const &detProp, std::map< int, std::vector< art::Ptr< recob::Hit >>> const &initialHitsMap, std::map< int, std::vector< art::Ptr< recob::Hit >>> const &showerHitsMap) const |
void | OrderShowerHits_ (detinfo::DetectorPropertiesData const &detProp, std::vector< art::Ptr< recob::Hit >> const &shower, std::vector< art::Ptr< recob::Hit >> &orderedShower, art::Ptr< recob::Vertex > const &vertex) const |
TVector2 | Project3DPointOntoPlane_ (detinfo::DetectorPropertiesData const &detProp, geo::Point_t const &point, int plane, int cryostat=0) const |
std::map< double, int > | RelativeWireWidth_ (const std::map< int, std::vector< art::Ptr< recob::Hit >>> &showerHitsMap) const |
TVector2 | ShowerCenter_ (detinfo::DetectorPropertiesData const &detProp, std::vector< art::Ptr< recob::Hit >> const &showerHits) const |
Returns the charge-weighted shower center. More... | |
TVector2 | ShowerDirection_ (detinfo::DetectorPropertiesData const &detProp, const std::vector< art::Ptr< recob::Hit >> &showerHits) const |
double | ShowerHitRMS_ (detinfo::DetectorPropertiesData const &detProp, std::vector< art::Ptr< recob::Hit >> const &showerHits) const |
double | ShowerHitRMSGradient_ (detinfo::DetectorPropertiesData const &detProp, const std::vector< art::Ptr< recob::Hit >> &showerHits) const |
Returns the gradient of the RMS vs shower segment graph. More... | |
int | WorstPlane_ (const std::map< int, std::vector< art::Ptr< recob::Hit >>> &showerHitsMap) const |
Returns the plane which is determined to be the least likely to be correct. More... | |
Private Attributes | |
double const | fMinTrackLength |
double const | fdEdxTrackLength |
double const | fSpacePointSize |
unsigned int const | fNfitpass |
std::vector< unsigned int > const | fNfithits |
std::vector< double > const | fToler |
art::ServiceHandle< geo::Geometry const > | fGeom |
geo::WireReadoutGeom const * | fWireReadoutGeom |
shower::ShowerEnergyAlg const | fShowerEnergyAlg |
calo::CalorimetryAlg const | fCalorimetryAlg |
pma::ProjectionMatchingAlg const | fProjectionMatchingAlg |
std::string const | fDetector |
bool const | fMakeGradientPlot |
bool const | fMakeRMSGradientPlot |
int const | fNumShowerSegments |
Definition at line 59 of file EMShowerAlg.h.
shower::EMShowerAlg::EMShowerAlg | ( | fhicl::ParameterSet const & | pset, |
int | debug = 0 |
||
) |
Definition at line 39 of file EMShowerAlg.cxx.
References art::errors::Configuration, fCalorimetryAlg, fdEdxTrackLength, fDetector, fMakeGradientPlot, fMakeRMSGradientPlot, fMinTrackLength, fNfithits, fNfitpass, fNumShowerSegments, fProjectionMatchingAlg, fShowerEnergyAlg, fSpacePointSize, and fToler.
void shower::EMShowerAlg::AssociateClustersAndTracks | ( | std::vector< art::Ptr< recob::Cluster >> const & | clusters, |
art::FindManyP< recob::Hit > const & | fmh, | ||
art::FindManyP< recob::Track > const & | fmt, | ||
std::map< int, std::vector< int >> & | clusterToTracks, | ||
std::map< int, std::vector< int >> & | trackToClusters | ||
) | const |
Map associated tracks and clusters together given their associated hits.
Definition at line 61 of file EMShowerAlg.cxx.
Referenced by shower::EMShower::produce().
void shower::EMShowerAlg::AssociateClustersAndTracks | ( | std::vector< art::Ptr< recob::Cluster >> const & | clusters, |
art::FindManyP< recob::Hit > const & | fmh, | ||
art::FindManyP< recob::Track > const & | fmt, | ||
std::vector< int > const & | clustersToIgnore, | ||
std::map< int, std::vector< int >> & | clusterToTracks, | ||
std::map< int, std::vector< int >> & | trackToClusters | ||
) | const |
Map associated tracks and clusters together given their associated hits, whilst ignoring certain clusters.
Definition at line 73 of file EMShowerAlg.cxx.
References fDebug, fMinTrackLength, and track.
|
private |
Checks the hits across the views in a given shower to determine if there is one in the incorrect TPC
Definition at line 118 of file EMShowerAlg.cxx.
References fWireReadoutGeom, hits(), geo::WireReadoutGeom::MaxPlanes(), util::values(), and lar::dump::vector().
Referenced by OrderShowerHits().
|
private |
Takes the shower hits in all views and ensure the ordering is consistent Returns bool, indicating whether or not everything makes sense!
Definition at line 199 of file EMShowerAlg.cxx.
References util::abs(), Construct3DPoint_(), fDebug, HitPosition_(), hits(), Project3DPointOntoPlane_(), X, and Y.
Referenced by MakeInitialTrack_(), and OrderShowerHits().
std::vector< int > shower::EMShowerAlg::CheckShowerPlanes | ( | std::vector< std::vector< int >> const & | initialShowers, |
std::vector< art::Ptr< recob::Cluster >> const & | clusters, | ||
art::FindManyP< recob::Hit > const & | fmh | ||
) | const |
Takes the initial showers found and tries to resolve issues where one bad view ruins the event.
Definition at line 291 of file EMShowerAlg.cxx.
References fDebug, hits(), art::Ptr< T >::key(), geo::PlaneID::Plane, recob::Cluster::Plane(), sum, lar::to_element, util::to_string(), and lar::dump::vector().
Referenced by shower::EMShower::produce().
|
private |
Constructs a 3D point (in [cm]) to represent the hits given in two views.
Definition at line 391 of file EMShowerAlg.cxx.
References detinfo::DetectorPropertiesData::ConvertTicksToX(), fWireReadoutGeom, geo::WireIDIntersection::invalid(), recob::Hit::PeakTime(), geo::WireID::planeID(), recob::Hit::WireID(), geo::WireReadoutGeom::WireIDsIntersect(), and x.
Referenced by CheckShowerHits_(), ConstructTrack(), and MakeSpacePoints().
std::unique_ptr< recob::Track > shower::EMShowerAlg::ConstructTrack | ( | detinfo::DetectorPropertiesData const & | detProp, |
std::vector< art::Ptr< recob::Hit >> const & | track1, | ||
std::vector< art::Ptr< recob::Hit >> const & | track2, | ||
std::map< int, TVector2 > const & | showerCentreMap | ||
) | const |
Constructs a recob::Track from sets of hits in two views. Intended to be used to construct the initial first part of a shower. All PMA methods taken from the pma tracking algorithm (R. Sulej and D. Stefan). This implementation also orients the track in the correct direction if a map of shower centres (units [cm]) in each view is provided.
Definition at line 406 of file EMShowerAlg.cxx.
References pma::ProjectionMatchingAlg::buildSegment(), Construct3DPoint_(), recob::tracking::convertCollToPoint(), recob::tracking::convertCollToVector(), util::end(), fDebug, fProjectionMatchingAlg, HitCoordinates_(), if(), Project3DPointOntoPlane_(), util::size(), lar::to_element, geo::vect::toPoint(), and track.
Referenced by ConstructTrack(), and MakeInitialTrack_().
std::unique_ptr< recob::Track > shower::EMShowerAlg::ConstructTrack | ( | detinfo::DetectorPropertiesData const & | detProp, |
std::vector< art::Ptr< recob::Hit >> const & | track1, | ||
std::vector< art::Ptr< recob::Hit >> const & | track2 | ||
) | const |
Constructs a recob::Track from sets of hits in two views. Intended to be used to construct the initial first part of a shower. All methods taken from the pma tracking algorithm (R. Sulej and D. Stefan).
Definition at line 556 of file EMShowerAlg.cxx.
References ConstructTrack().
|
private |
Finds dE/dx for the track given a set of hits.
Definition at line 565 of file EMShowerAlg.cxx.
References calo::CalorimetryAlg::dEdx_AREA(), util::empty(), fCalorimetryAlg, fdEdxTrackLength, geo::PlaneID::Plane, lar::to_element, lar::util::TrackPitchInView(), recob::Hit::View(), and recob::Hit::WireID().
Referenced by MakeShower().
void shower::EMShowerAlg::FindInitialTrack | ( | detinfo::DetectorPropertiesData const & | detProp, |
std::map< int, std::vector< art::Ptr< recob::Hit >>> const & | hits, | ||
std::unique_ptr< recob::Track > & | initialTrack, | ||
std::map< int, std::vector< art::Ptr< recob::Hit >>> & | initialTrackHits | ||
) | const |
Finds the initial track-like part of the shower and the hits in all views associated with it
Finding the initial track requires three stages: – find the initial track-like hits in each view – use these to construct a track
Definition at line 606 of file EMShowerAlg.cxx.
References fDebug, FindShowerStart_(), HitCoordinates_(), MakeInitialTrack_(), lar::to_element, recob::Track::Vertex(), and recob::Track::VertexDirection().
Referenced by shower::EMShower::produce().
void shower::EMShowerAlg::FindInitialTrackHits | ( | std::vector< art::Ptr< recob::Hit >> const & | showerHits, |
art::Ptr< recob::Vertex > const & | vertex, | ||
std::vector< art::Ptr< recob::Hit >> & | trackHits | ||
) | const |
<Tingjun to="" document>="">
Definition at line 1605 of file EMShowerAlg.cxx.
References util::abs(), geo::vect::coord(), fGeom, geo::GeometryCore::FindTPCAtPosition(), geo::TPCID::first(), fNfithits, fNfitpass, fToler, HitCoordinates_(), geo::CryostatID::isValid, recob::Vertex::position(), geo::TPCID::TPC, and WeightedFit().
Referenced by MakeShower().
|
private |
Orders hits along the best fit line through the charge-weighted centre of the hits. Orders along the line perpendicular to the least squares line if perpendicular is set to true.
Definition at line 651 of file EMShowerAlg.cxx.
References color(), fMakeGradientPlot, HitPosition_(), hits(), ShowerCenter_(), ShowerDirection_(), lar::to_element, X, and Y.
Referenced by OrderShowerHits(), and OrderShowerHits_().
std::vector< std::vector< int > > shower::EMShowerAlg::FindShowers | ( | std::map< int, std::vector< int >> const & | trackToClusters | ) | const |
Makes showers given a map between tracks and all clusters associated with them.
Definition at line 709 of file EMShowerAlg.cxx.
References util::values().
Referenced by shower::EMShower::produce().
|
private |
Takes a map of the shower hits on each plane (ordered from what has been decided to be the start) Returns a map of the initial track-like part of the shower on each plane
Definition at line 749 of file EMShowerAlg.cxx.
References util::abs(), fDebug, HitCoordinates_(), util::size(), lar::to_element, lar::dump::vector(), X, and Y.
Referenced by FindInitialTrack().
|
private |
Takes all the shower hits, ready ordered, and returns information to help with the orientation of the shower in each view Returns map of most likely permutations of reorientation Starts at 0,0,0 (i.e. don't need to reorient any plane) and ends with 1,1,1 (i.e. every plane needs reorienting) Every permutation inbetween represent increasing less likely changes to satisfy the correct orientation criteria
Definition at line 864 of file EMShowerAlg.cxx.
References util::abs(), fDebug, RelativeWireWidth_(), ShowerHitRMS_(), ShowerHitRMSGradient_(), value, and util::values().
Referenced by OrderShowerHits().
|
private |
Find the global wire position.
Definition at line 1685 of file EMShowerAlg.cxx.
References geo::CryostatID::Cryostat, fDetector, fWireReadoutGeom, geo::WireGeo::GetCenter(), geo::kInduction, geo::WireReadoutGeom::Nwires(), geo::WireReadoutGeom::Plane(), geo::PlaneID::Plane, geo::WireReadoutGeom::SignalType(), geo::TPCID::TPC, geo::WireReadoutGeom::Wire(), and geo::WireID::Wire.
Referenced by HitCoordinates_(), and Project3DPointOntoPlane_().
|
private |
Return the coordinates of this hit in global wire/tick space.
Definition at line 1665 of file EMShowerAlg.cxx.
References GlobalWire_(), recob::Hit::PeakTime(), and recob::Hit::WireID().
Referenced by ConstructTrack(), FindInitialTrack(), FindInitialTrackHits(), FindShowerStart_(), HitPosition_(), OrderShowerHits(), RelativeWireWidth_(), and WorstPlane_().
|
private |
Return the coordinates of this hit in units of cm.
Definition at line 1670 of file EMShowerAlg.cxx.
References HitCoordinates_(), geo::WireID::planeID(), and recob::Hit::WireID().
Referenced by CheckShowerHits_(), FindOrderOfHits_(), MakeSpacePoints(), OrderShowerHits(), Project3DPointOntoPlane_(), ShowerCenter_(), ShowerDirection_(), ShowerHitRMS_(), and ShowerHitRMSGradient_().
|
private |
Return the coordinates of this hit in units of cm.
Definition at line 1677 of file EMShowerAlg.cxx.
References detinfo::DetectorPropertiesData::ConvertTicksToX(), fWireReadoutGeom, geo::WireReadoutGeom::Plane(), and geo::PlaneGeo::WirePitch().
bool shower::EMShowerAlg::isCleanShower | ( | std::vector< art::Ptr< recob::Hit >> const & | hits | ) | const |
<Tingjun to="" document>="">
Definition at line 2032 of file EMShowerAlg.cxx.
References hits(), and lar::to_element.
|
private |
Takes initial track hits from multiple views and forms a track object which best represents the start of the shower
Definition at line 950 of file EMShowerAlg.cxx.
References CheckShowerHits_(), ConstructTrack(), fDebug, lar::dump::vector(), and WorstPlane_().
Referenced by FindInitialTrack().
recob::Shower shower::EMShowerAlg::MakeShower | ( | detinfo::DetectorClocksData const & | clockData, |
detinfo::DetectorPropertiesData const & | detProp, | ||
art::PtrVector< recob::Hit > const & | hits, | ||
std::unique_ptr< recob::Track > const & | initialTrack, | ||
std::map< int, std::vector< art::Ptr< recob::Hit >>> const & | initialTrackHits | ||
) | const |
Makes a recob::Shower object given the hits in the shower and the initial track-like part.
Definition at line 999 of file EMShowerAlg.cxx.
References tca::dEdx(), fDebug, FinddEdx_(), fShowerEnergyAlg, fWireReadoutGeom, geo::WireReadoutGeom::MaxPlanes(), shower::ShowerEnergyAlg::ShowerEnergy(), recob::Track::Vertex(), and recob::Track::VertexDirection().
Referenced by shower::EMShower::produce().
recob::Shower shower::EMShowerAlg::MakeShower | ( | detinfo::DetectorClocksData const & | clockData, |
detinfo::DetectorPropertiesData const & | detProp, | ||
art::PtrVector< recob::Hit > const & | hits, | ||
art::Ptr< recob::Vertex > const & | vertex, | ||
int & | iok | ||
) | const |
<Tingjun to="" document>="">
Definition at line 1065 of file EMShowerAlg.cxx.
References util::abs(), pma::ProjectionMatchingAlg::buildSegment(), tca::dEdx(), calo::CalorimetryAlg::dEdx_AREA(), fCalorimetryAlg, fDebug, fdEdxTrackLength, FindInitialTrackHits(), fProjectionMatchingAlg, fShowerEnergyAlg, fWireReadoutGeom, geo::WireReadoutGeom::MaxPlanes(), OrderShowerHits_(), geo::WireReadoutGeom::Plane(), shower::ShowerEnergyAlg::ShowerEnergy(), pma::Track3D::size(), util::size(), lar::dump::vector(), geo::PlaneGeo::View(), geo::WireReadoutGeom::WireAngleToVertical(), geo::PlaneGeo::WirePitch(), and recob::Vertex::XYZ().
std::vector< recob::SpacePoint > shower::EMShowerAlg::MakeSpacePoints | ( | detinfo::DetectorPropertiesData const & | detProp, |
std::map< int, std::vector< art::Ptr< recob::Hit >>> const & | hits, | ||
std::vector< std::vector< art::Ptr< recob::Hit >>> & | hitAssns | ||
) | const |
Makes space points from the shower hits in each plane.
Definition at line 1218 of file EMShowerAlg.cxx.
References Construct3DPoint_(), fDebug, fSpacePointSize, fWireReadoutGeom, HitPosition_(), geo::WireReadoutGeom::MaxPlanes(), Project3DPointOntoPlane_(), and lar::dump::vector().
Referenced by shower::EMShower::produce().
std::map< int, std::vector< art::Ptr< recob::Hit > > > shower::EMShowerAlg::OrderShowerHits | ( | detinfo::DetectorPropertiesData const & | detProp, |
art::PtrVector< recob::Hit > const & | shower, | ||
int | plane | ||
) | const |
Takes the hits associated with a shower and orders them so they follow the direction of the shower.
Ordering the shower hits requires three stages: – putting all the hits in a given plane in some kind of order – use the properties of the hits in all three planes to check this order – orient the hits correctly using properties of the shower
Definition at line 1359 of file EMShowerAlg.cxx.
References CheckIsolatedHits_(), CheckShowerHits_(), fDebug, FindOrderOfHits_(), fWireReadoutGeom, GetPlanePermutations_(), HitCoordinates_(), HitPosition_(), hits(), geo::WireReadoutGeom::MaxPlanes(), n, RelativeWireWidth_(), ShowerHitRMS_(), ShowerHitRMSGradient_(), lar::to_element, lar::dump::vector(), X, and Y.
Referenced by shower::EMShower::produce().
|
private |
Takes the hits associated with a shower and orders then so they follow the direction of the shower
Definition at line 1574 of file EMShowerAlg.cxx.
References detinfo::DetectorPropertiesData::ConvertXToTicks(), fGeom, FindOrderOfHits_(), geo::GeometryCore::FindTPCAtPosition(), fWireReadoutGeom, art::Ptr< T >::isNull(), geo::CryostatID::isValid, geo::WireID::parentID(), recob::Hit::PeakTime(), geo::WireReadoutGeom::Plane(), recob::Vertex::position(), geo::TPCID::TPC, geo::WireID::Wire, geo::PlaneGeo::WireCoordinate(), and recob::Hit::WireID().
Referenced by MakeShower().
|
private |
Projects a 3D point (units [cm]) onto a 2D plane Returns 2D point (units [cm])
Definition at line 1921 of file EMShowerAlg.cxx.
References detinfo::DetectorPropertiesData::ConvertXToTicks(), e, fGeom, geo::GeometryCore::FindTPCAtPosition(), fWireReadoutGeom, GlobalWire_(), HitPosition_(), geo::CryostatID::isValid, geo::PlaneGeo::NearestWireID(), geo::WireReadoutGeom::Plane(), geo::InvalidWireError::suggestedWireID(), and geo::TPCID::TPC.
Referenced by CheckShowerHits_(), ConstructTrack(), and MakeSpacePoints().
|
private |
Determines the 'relative wire width', i.e. how spread a shower is across wires of each plane relative to the others If a shower travels along the wire directions in a particular view, it will have a smaller wire width in that view Returns a map relating these widths to each plane
Definition at line 1737 of file EMShowerAlg.cxx.
References util::abs(), fWireReadoutGeom, HitCoordinates_(), geo::WireReadoutGeom::MaxPlanes(), lar::dump::vector(), and X.
Referenced by GetPlanePermutations_(), and OrderShowerHits().
|
private |
Returns the charge-weighted shower center.
Definition at line 1802 of file EMShowerAlg.cxx.
References HitPosition_(), and lar::dump::vector().
Referenced by FindOrderOfHits_(), and ShowerHitRMS_().
|
private |
Returns a rough charge-weighted shower 'direction' given the hits in the shower
Definition at line 1776 of file EMShowerAlg.cxx.
References HitPosition_(), lar::dump::vector(), and weight.
Referenced by FindOrderOfHits_(), ShowerHitRMS_(), and ShowerHitRMSGradient_().
|
private |
Returns the RMS of the hits from the central shower 'axis' along the length of the shower
Definition at line 1821 of file EMShowerAlg.cxx.
References HitPosition_(), proj, ShowerCenter_(), ShowerDirection_(), and lar::dump::vector().
Referenced by GetPlanePermutations_(), and OrderShowerHits().
|
private |
Returns the gradient of the RMS vs shower segment graph.
Definition at line 1840 of file EMShowerAlg.cxx.
References bin, fMakeRMSGradientPlot, fNumShowerSegments, HitPosition_(), proj, ShowerDirection_(), lar::to_element, and weight.
Referenced by GetPlanePermutations_(), and OrderShowerHits().
Int_t shower::EMShowerAlg::WeightedFit | ( | const Int_t | n, |
const Double_t * | x, | ||
const Double_t * | y, | ||
const Double_t * | w, | ||
Double_t * | parm | ||
) | const |
<Tingjun to="" document>="">
Definition at line 1988 of file EMShowerAlg.cxx.
References n.
Referenced by FindInitialTrackHits().
|
private |
Returns the plane which is determined to be the least likely to be correct.
Definition at line 1951 of file EMShowerAlg.cxx.
References util::abs(), fDebug, fWireReadoutGeom, HitCoordinates_(), hits(), geo::WireReadoutGeom::MaxPlanes(), and X.
Referenced by MakeInitialTrack_().
|
private |
Definition at line 280 of file EMShowerAlg.h.
Referenced by EMShowerAlg(), FinddEdx_(), and MakeShower().
int shower::EMShowerAlg::fDebug |
Definition at line 152 of file EMShowerAlg.h.
Referenced by AssociateClustersAndTracks(), CheckShowerHits_(), CheckShowerPlanes(), ConstructTrack(), FindInitialTrack(), FindShowerStart_(), GetPlanePermutations_(), MakeInitialTrack_(), MakeShower(), MakeSpacePoints(), OrderShowerHits(), and WorstPlane_().
|
private |
Definition at line 265 of file EMShowerAlg.h.
Referenced by EMShowerAlg(), FinddEdx_(), and MakeShower().
|
private |
Definition at line 283 of file EMShowerAlg.h.
Referenced by EMShowerAlg(), and GlobalWire_().
|
private |
Definition at line 274 of file EMShowerAlg.h.
Referenced by FindInitialTrackHits(), OrderShowerHits_(), and Project3DPointOntoPlane_().
|
private |
Definition at line 286 of file EMShowerAlg.h.
Referenced by EMShowerAlg(), and FindOrderOfHits_().
|
private |
Definition at line 287 of file EMShowerAlg.h.
Referenced by EMShowerAlg(), and ShowerHitRMSGradient_().
|
private |
Definition at line 264 of file EMShowerAlg.h.
Referenced by AssociateClustersAndTracks(), and EMShowerAlg().
|
private |
Definition at line 270 of file EMShowerAlg.h.
Referenced by EMShowerAlg(), and FindInitialTrackHits().
|
private |
Definition at line 269 of file EMShowerAlg.h.
Referenced by EMShowerAlg(), and FindInitialTrackHits().
|
private |
Definition at line 288 of file EMShowerAlg.h.
Referenced by EMShowerAlg(), and ShowerHitRMSGradient_().
|
private |
Definition at line 281 of file EMShowerAlg.h.
Referenced by ConstructTrack(), EMShowerAlg(), and MakeShower().
|
private |
Definition at line 279 of file EMShowerAlg.h.
Referenced by EMShowerAlg(), and MakeShower().
|
private |
Definition at line 266 of file EMShowerAlg.h.
Referenced by EMShowerAlg(), and MakeSpacePoints().
|
private |
Definition at line 271 of file EMShowerAlg.h.
Referenced by EMShowerAlg(), and FindInitialTrackHits().
|
private |
Definition at line 275 of file EMShowerAlg.h.
Referenced by CheckIsolatedHits_(), Construct3DPoint_(), GlobalWire_(), HitPosition_(), MakeShower(), MakeSpacePoints(), OrderShowerHits(), OrderShowerHits_(), Project3DPointOntoPlane_(), RelativeWireWidth_(), and WorstPlane_().