LArSoft  v10_04_05
Liquid Argon Software toolkit - https://larsoft.org/
ShowerRecoTools::ShowerUnidirectiondEdx Class Reference
Inheritance diagram for ShowerRecoTools::ShowerUnidirectiondEdx:
ShowerRecoTools::IShowerTool

Public Member Functions

 ShowerUnidirectiondEdx (const fhicl::ParameterSet &pset)
 
int CalculateElement (const art::Ptr< recob::PFParticle > &pfparticle, art::Event &Event, reco::shower::ShowerElementHolder &ShowerEleHolder) override
 

Private Member Functions

int RunShowerTool (const art::Ptr< recob::PFParticle > &pfparticle, art::Event &Event, reco::shower::ShowerElementHolder &ShowerEleHolder, std::string evd_display_name_append="")
 
virtual void InitialiseProducers ()
 
void SetPtr (art::ProducesCollector *collector)
 
void InitaliseProducerPtr (reco::shower::ShowerProducedPtrsHolder &uniqueproducerPtrs)
 
virtual int AddAssociations (const art::Ptr< recob::PFParticle > &pfpPtr, art::Event &Event, reco::shower::ShowerElementHolder &ShowerEleHolder)
 
const shower::LArPandoraShowerAlgGetLArPandoraShowerAlg () const
 
template<class T >
art::Ptr< T > GetProducedElementPtr (std::string Name, reco::shower::ShowerElementHolder &ShowerEleHolder, int iter=-1)
 
template<class T >
void InitialiseProduct (std::string Name, std::string InstanceName="")
 
template<class T , class A , class B >
void AddSingle (A &a, B &b, std::string Name)
 
int GetVectorPtrSize (std::string Name)
 
void PrintPtrs ()
 
void PrintPtr (std::string Name)
 

Private Attributes

art::ServiceHandle< geo::GeometryfGeom
 
geo::WireReadoutGeom const & fChannelMap = art::ServiceHandle<geo::WireReadout>()->Get()
 
calo::CalorimetryAlg fCalorimetryAlg
 
int fVerbose
 
double fdEdxTrackLength
 
double dEdxTrackLength
 
bool fMaxHitPlane
 
bool fMissFirstPoint
 
bool fSumHitSnippets
 
std::string fShowerStartPositionInputLabel
 
std::string fInitialTrackHitsInputLabel
 
std::string fShowerDirectionInputLabel
 
std::string fShowerdEdxOutputLabel
 
std::string fShowerBestPlaneOutputLabel
 

Detailed Description

Definition at line 23 of file ShowerUnidirectiondEdx_tool.cc.

Constructor & Destructor Documentation

ShowerRecoTools::ShowerUnidirectiondEdx::ShowerUnidirectiondEdx ( const fhicl::ParameterSet pset)

Definition at line 53 of file ShowerUnidirectiondEdx_tool.cc.

54  : IShowerTool(pset.get<fhicl::ParameterSet>("BaseTools"))
55  , fCalorimetryAlg(pset.get<fhicl::ParameterSet>("CalorimetryAlg"))
56  , fVerbose(pset.get<int>("Verbose"))
57  , fdEdxTrackLength(pset.get<float>("dEdxTrackLength"))
58  , fMaxHitPlane(pset.get<bool>("MaxHitPlane"))
59  , fMissFirstPoint(pset.get<bool>("MissFirstPoint"))
60  , fSumHitSnippets(pset.get<bool>("SumHitSnippets"))
61  , fShowerStartPositionInputLabel(pset.get<std::string>("ShowerStartPositionInputLabel"))
62  , fInitialTrackHitsInputLabel(pset.get<std::string>("InitialTrackHitsInputLabel"))
63  , fShowerDirectionInputLabel(pset.get<std::string>("ShowerDirectionInputLabel"))
64  , fShowerdEdxOutputLabel(pset.get<std::string>("ShowerdEdxOutputLabel"))
65  , fShowerBestPlaneOutputLabel(pset.get<std::string>("ShowerBestPlaneOutputLabel"))
66  {}
T get(std::string const &key) const
Definition: ParameterSet.h:314
IShowerTool(const fhicl::ParameterSet &pset)
Definition: IShowerTool.h:31

Member Function Documentation

virtual int ShowerRecoTools::IShowerTool::AddAssociations ( const art::Ptr< recob::PFParticle > &  pfpPtr,
art::Event Event,
reco::shower::ShowerElementHolder ShowerEleHolder 
)
inlinevirtualinherited
template<class T , class A , class B >
void ShowerRecoTools::IShowerTool::AddSingle ( A &  a,
B &  b,
std::string  Name 
)
inlineprotectedinherited

Definition at line 150 of file IShowerTool.h.

References reco::shower::ShowerProducedPtrsHolder::AddSingle().

151  {
152  UniquePtrs->AddSingle<T>(a, b, Name);
153  }
reco::shower::ShowerProducedPtrsHolder * UniquePtrs
Definition: IShowerTool.h:83
void AddSingle(A &a, B &b, const std::string &Name)
int ShowerRecoTools::ShowerUnidirectiondEdx::CalculateElement ( const art::Ptr< recob::PFParticle > &  pfparticle,
art::Event Event,
reco::shower::ShowerElementHolder ShowerEleHolder 
)
overridevirtual

Implements ShowerRecoTools::IShowerTool.

Definition at line 68 of file ShowerUnidirectiondEdx_tool.cc.

References util::abs(), geo::PlaneID::asTPCID(), reco::shower::ShowerElementHolder::CheckElement(), tca::dEdx(), calo::CalorimetryAlg::dEdx_AREA(), dEdxTrackLength, DEFINE_ART_CLASS_TOOL, fCalorimetryAlg, fChannelMap, fdEdxTrackLength, fGeom, geo::GeometryCore::FindTPCAtPosition(), fInitialTrackHitsInputLabel, fMaxHitPlane, fMissFirstPoint, fShowerBestPlaneOutputLabel, fShowerdEdxOutputLabel, fShowerDirectionInputLabel, fShowerStartPositionInputLabel, fSumHitSnippets, fVerbose, reco::shower::ShowerElementHolder::GetElement(), ShowerRecoTools::IShowerTool::GetLArPandoraShowerAlg(), geo::WireReadoutGeom::Nplanes(), shower::LArPandoraShowerAlg::OrganizeHits(), geo::WireReadoutGeom::Plane(), geo::PlaneID::Plane, reco::shower::ShowerElementHolder::SetElement(), geo::vect::toPoint(), geo::PlaneGeo::View(), geo::WireReadoutGeom::WireAngleToVertical(), and recob::Hit::WireID().

71  {
72 
74 
75  // Shower dEdx calculation
76  if (!ShowerEleHolder.CheckElement(fShowerStartPositionInputLabel)) {
77  if (fVerbose)
78  mf::LogError("ShowerUnidirectiondEdx") << "Start position not set, returning " << std::endl;
79  return 1;
80  }
81  if (!ShowerEleHolder.CheckElement(fInitialTrackHitsInputLabel)) {
82  if (fVerbose)
83  mf::LogError("ShowerUnidirectiondEdx")
84  << "Initial Track Hits not set returning" << std::endl;
85  return 1;
86  }
87  if (!ShowerEleHolder.CheckElement(fShowerDirectionInputLabel)) {
88  if (fVerbose)
89  mf::LogError("ShowerUnidirectiondEdx") << "Shower Direction not set" << std::endl;
90  return 1;
91  }
92 
93  //Get the initial track hits
94  std::vector<art::Ptr<recob::Hit>> trackhits;
95  ShowerEleHolder.GetElement(fInitialTrackHitsInputLabel, trackhits);
96 
97  if (trackhits.empty()) {
98  if (fVerbose)
99  mf::LogWarning("ShowerUnidirectiondEdx") << "Not Hits in the initial track" << std::endl;
100  return 0;
101  }
102 
103  geo::Point_t ShowerStartPosition = {-999, -999, -999};
104  ShowerEleHolder.GetElement(fShowerStartPositionInputLabel, ShowerStartPosition);
105 
106  geo::Vector_t showerDir = {-999, -999, -999};
107  ShowerEleHolder.GetElement(fShowerDirectionInputLabel, showerDir);
108 
109  geo::TPCID vtxTPC = fGeom->FindTPCAtPosition(geo::vect::toPoint(ShowerStartPosition));
110 
111  // Split the track hits per plane
112  std::vector<double> dEdxVec;
113  std::vector<std::vector<art::Ptr<recob::Hit>>> trackHits;
114  unsigned int numPlanes = fChannelMap.Nplanes();
115  trackHits.resize(numPlanes);
116 
117  // Loop over the track hits and split into planes
118  for (unsigned int hitIt = 0; hitIt < trackhits.size(); ++hitIt) {
119  art::Ptr<recob::Hit> hit = trackhits.at(hitIt);
120  geo::PlaneID hitWire = hit->WireID();
121  geo::TPCID TPC = hitWire.asTPCID();
122 
123  //only get hits from the same TPC as the vertex
124  if (TPC == vtxTPC) { (trackHits.at(hitWire.Plane)).push_back(hit); }
125  }
126 
127  int bestHitsPlane = 0;
128  int bestPlaneHits = 0;
129  int bestPlane = -999;
130  double minPitch = 999;
131 
132  auto const clockData =
134  auto const detProp =
136 
137  for (unsigned int plane = 0; plane < numPlanes; ++plane) {
138  std::vector<art::Ptr<recob::Hit>> trackPlaneHits = trackHits.at(plane);
139 
140  std::map<art::Ptr<recob::Hit>, std::vector<art::Ptr<recob::Hit>>> hitSnippets;
141  if (fSumHitSnippets)
142  hitSnippets = IShowerTool::GetLArPandoraShowerAlg().OrganizeHits(trackPlaneHits);
143 
144  if (trackPlaneHits.size()) {
145 
146  double dEdx = -999;
147  double totQ = 0;
148  double avgT = 0;
149  double pitch = 0;
150 
151  //Calculate the pitch
152  double wirepitch = fChannelMap.Plane(trackPlaneHits.at(0)->WireID()).WirePitch();
153  double angleToVert =
155  trackPlaneHits[0]->WireID().planeID()) -
156  0.5 * TMath::Pi();
157  double cosgamma =
158  std::abs(std::sin(angleToVert) * showerDir.Y() + std::cos(angleToVert) * showerDir.Z());
159 
160  pitch = wirepitch / cosgamma;
161 
162  if (pitch) { // Check the pitch is calculated correctly
163  int nhits = 0;
164  std::vector<float> vQ;
165 
166  //Get the first wire
167  int w0 = trackPlaneHits.at(0)->WireID().Wire;
168 
169  for (auto const& hit : trackPlaneHits) {
170 
171  if (fSumHitSnippets && !hitSnippets.count(hit)) continue;
172 
173  // Get the wire for each hit
174  int w1 = hit->WireID().Wire;
175  if (fMissFirstPoint && w0 == w1) { continue; }
176 
177  //Ignore hits that are too far away.
178  if (std::abs((w1 - w0) * pitch) < dEdxTrackLength) {
179 
180  double q = hit->Integral();
181  if (fSumHitSnippets) {
182  for (const art::Ptr<recob::Hit> secondaryHit : hitSnippets[hit])
183  q += secondaryHit->Integral();
184  }
185 
186  vQ.push_back(q);
187  totQ += hit->Integral();
188  avgT += hit->PeakTime();
189  ++nhits;
190  }
191  }
192 
193  if (totQ) {
194  // Check if the pitch is the smallest yet (best plane)
195  if (pitch < minPitch) {
196  minPitch = pitch;
197  bestPlane = plane;
198  }
199 
200  //Get the median and calculate the dEdx using the algorithm.
201  double dQdx = TMath::Median(vQ.size(), &vQ[0]) / pitch;
202  dEdx = fCalorimetryAlg.dEdx_AREA(
203  clockData, detProp, dQdx, avgT / nhits, trackPlaneHits.at(0)->WireID().Plane);
204 
205  if (isinf(dEdx)) { dEdx = -999; };
206 
207  if (nhits > bestPlaneHits || ((nhits == bestPlaneHits) && (pitch < minPitch))) {
208  bestHitsPlane = plane;
209  bestPlaneHits = nhits;
210  }
211  }
212  dEdxVec.push_back(dEdx);
213  }
214  else {
215  throw cet::exception("ShowerUnidirectiondEdx")
216  << "pitch is 0. I can't think how it is 0? Stopping so I can tell you" << std::endl;
217  }
218  }
219  else { // if not (trackPlaneHits.size())
220  dEdxVec.push_back(-999);
221  }
222  trackPlaneHits.clear();
223  } //end loop over planes
224 
225  //TODO
226  std::vector<double> dEdxVecErr = {-999, -999, -999};
227 
228  ShowerEleHolder.SetElement(dEdxVec, dEdxVecErr, fShowerdEdxOutputLabel);
229 
230  //Set The best plane
231  if (fMaxHitPlane) { bestPlane = bestHitsPlane; }
232 
233  if (bestPlane == -999) {
234  throw cet::exception("ShowerUnidirectiondEdx") << "No best plane set";
235  }
236  else {
237  ShowerEleHolder.SetElement(bestPlane, fShowerBestPlaneOutputLabel);
238  }
239 
240  if (fVerbose > 1) {
241  std::cout << "Best Plane: " << bestPlane << std::endl;
242  for (unsigned int plane = 0; plane < dEdxVec.size(); plane++) {
243  std::cout << "Plane: " << plane << " with dEdx: " << dEdxVec[plane] << std::endl;
244  }
245  }
246 
247  return 0;
248  }
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double >, ROOT::Math::GlobalCoordinateSystemTag > Vector_t
Type for representation of momenta in 3D space.
Definition: geo_vectors.h:160
The data type to uniquely identify a Plane.
Definition: geo_types.h:364
void SetElement(T &dataproduct, const std::string &Name, bool checktag=false)
constexpr auto abs(T v)
Returns the absolute value of the argument.
double WireAngleToVertical(View_t view, TPCID const &tpcid) const
Returns the angle of the wires in the specified view from vertical.
float Integral() const
Integral under the calibrated signal waveform of the hit, in tick x ADC units.
Definition: Hit.h:254
WireID_t Wire
Index of the wire within its plane.
Definition: geo_types.h:430
geo::WireID const & WireID() const
Initial tdc tick for hit.
Definition: Hit.h:290
MaybeLogger_< ELseverityLevel::ELsev_error, false > LogError
View_t View() const
Which coordinate does this plane measure.
Definition: PlaneGeo.h:155
TPCID FindTPCAtPosition(Point_t const &point) const
Returns the ID of the TPC at specified location.
art::ServiceHandle< geo::Geometry > fGeom
std::map< art::Ptr< recob::Hit >, std::vector< art::Ptr< recob::Hit > > > OrganizeHits(const std::vector< art::Ptr< recob::Hit >> &hits) const
bool CheckElement(const std::string &Name) const
Point_t toPoint(Point const &p)
Convert the specified point into a geo::Point_t.
The data type to uniquely identify a TPC.
Definition: geo_types.h:306
PlaneID_t Plane
Index of the plane within its TPC.
Definition: geo_types.h:373
int GetElement(const std::string &Name, T &Element) const
float dEdx(detinfo::DetectorClocksData const &clockData, detinfo::DetectorPropertiesData const &detProp, const TCSlice &slc, TP3D &tp3d)
Definition: PFPUtils.cxx:2671
Detector simulation of raw signals on wires.
unsigned int Nplanes(TPCID const &tpcid=details::tpc_zero) const
Returns the total number of planes in the specified TPC.
const shower::LArPandoraShowerAlg & GetLArPandoraShowerAlg() const
Definition: IShowerTool.h:80
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< double >, ROOT::Math::GlobalCoordinateSystemTag > Point_t
Type for representation of position in physical 3D space.
Definition: geo_vectors.h:180
float PeakTime() const
Time of the signal peak, in tick units.
Definition: Hit.h:226
MaybeLogger_< ELseverityLevel::ELsev_warning, false > LogWarning
double dEdx_AREA(detinfo::DetectorClocksData const &clock_data, detinfo::DetectorPropertiesData const &det_prop, recob::Hit const &hit, double pitch, double T0=0) const
PlaneGeo const & Plane(TPCID const &tpcid, View_t view) const
Returns the specified wire.
cet::coded_exception< error, detail::translate > exception
Definition: exception.h:33
constexpr TPCID const & asTPCID() const
Conversion to PlaneID (for convenience of notation).
Definition: geo_types.h:409
const shower::LArPandoraShowerAlg& ShowerRecoTools::IShowerTool::GetLArPandoraShowerAlg ( ) const
inlineprotectedinherited

Definition at line 80 of file IShowerTool.h.

Referenced by ShowerRecoTools::ShowerLengthPercentile::CalculateElement(), ShowerRecoTools::Shower3DCylinderTrackHitFinder::CalculateElement(), ShowerRecoTools::ShowerPCAPropergationStartPosition::CalculateElement(), ShowerRecoTools::Shower2DLinearRegressionTrackHitFinder::CalculateElement(), ShowerRecoTools::ShowerPFPVertexStartPosition::CalculateElement(), CalculateElement(), ShowerRecoTools::ShowerDirectionCheater::CalculateElement(), ShowerRecoTools::ShowerPCADirection::CalculateElement(), ShowerRecoTools::ShowerIncrementalTrackHitFinder::CalculateElement(), ShowerRecoTools::ShowerTrajPointdEdx::CalculateElement(), ShowerRecoTools::ShowerPCADirection::CalculateShowerPCA(), ShowerRecoTools::Shower2DLinearRegressionTrackHitFinder::FindInitialTrackHits(), ShowerRecoTools::Shower3DCylinderTrackHitFinder::FindTrackSpacePoints(), ShowerRecoTools::ShowerIncrementalTrackHitFinder::FitSegmentAndCalculateResidual(), ShowerRecoTools::ShowerIncrementalTrackHitFinder::PruneFrontOfSPSPool(), ShowerRecoTools::ShowerIncrementalTrackHitFinder::PruneTrack(), ShowerRecoTools::ShowerIncrementalTrackHitFinder::RunTestOfIncrementalSpacePointFinder(), ShowerRecoTools::ShowerTrackPCADirection::ShowerPCAVector(), and ShowerRecoTools::ShowerIncrementalTrackHitFinder::ShowerPCAVector().

81  {
82  return fLArPandoraShowerAlg;
83  };
shower::LArPandoraShowerAlg fLArPandoraShowerAlg
Definition: IShowerTool.h:90
template<class T >
art::Ptr<T> ShowerRecoTools::IShowerTool::GetProducedElementPtr ( std::string  Name,
reco::shower::ShowerElementHolder ShowerEleHolder,
int  iter = -1 
)
inlineprotectedinherited

Definition at line 100 of file IShowerTool.h.

References reco::shower::ShowerElementHolder::CheckElement(), reco::shower::ShowerProducedPtrsHolder::CheckUniqueProduerPtr(), reco::shower::ShowerProducedPtrsHolder::GetArtPtr(), and reco::shower::ShowerElementHolder::GetShowerNumber().

103  {
104 
105  //Check the element has been set
106  bool check_element = ShowerEleHolder.CheckElement(Name);
107  if (!check_element) {
108  throw cet::exception("IShowerTool") << "tried to get a element that does not exist. Failed "
109  "at making the art ptr for Element: "
110  << Name << std::endl;
111  }
112 
113  //Check the unique ptr has been set.
114  bool check_ptr = UniquePtrs->CheckUniqueProduerPtr(Name);
115  if (!check_ptr) {
116  throw cet::exception("IShowerTool")
117  << "tried to get a ptr that does not exist. Failed at making the art ptr for Element"
118  << Name;
119  }
120 
121  //Check if the user has defined an index if not just use the current shower index/
122  int index;
123  if (iter != -1) { index = iter; }
124  else {
125  index = ShowerEleHolder.GetShowerNumber();
126  }
127 
128  //Make the ptr
129  return UniquePtrs->GetArtPtr<T>(Name, index);
130  }
reco::shower::ShowerProducedPtrsHolder * UniquePtrs
Definition: IShowerTool.h:83
bool CheckUniqueProduerPtr(const std::string &Name) const
bool CheckElement(const std::string &Name) const
art::Ptr< T > GetArtPtr(const std::string &Name, const int &iter) const
cet::coded_exception< error, detail::translate > exception
Definition: exception.h:33
int ShowerRecoTools::IShowerTool::GetVectorPtrSize ( std::string  Name)
inlineprotectedinherited
void ShowerRecoTools::IShowerTool::InitaliseProducerPtr ( reco::shower::ShowerProducedPtrsHolder uniqueproducerPtrs)
inlineinherited

Definition at line 66 of file IShowerTool.h.

67  {
68  UniquePtrs = &uniqueproducerPtrs;
69  }
reco::shower::ShowerProducedPtrsHolder * UniquePtrs
Definition: IShowerTool.h:83
virtual void ShowerRecoTools::IShowerTool::InitialiseProducers ( )
inlinevirtualinherited
template<class T >
void ShowerRecoTools::IShowerTool::InitialiseProduct ( std::string  Name,
std::string  InstanceName = "" 
)
inlineprotectedinherited

Definition at line 135 of file IShowerTool.h.

References art::ProducesCollector::produces(), and reco::shower::ShowerProducedPtrsHolder::SetShowerUniqueProduerPtr().

136  {
137 
138  if (collectorPtr == nullptr) {
139  mf::LogWarning("IShowerTool") << "The art::ProducesCollector ptr has not been set";
140  return;
141  }
142 
143  collectorPtr->produces<T>(InstanceName);
144  UniquePtrs->SetShowerUniqueProduerPtr(type<T>(), Name, InstanceName);
145  }
reco::shower::ShowerProducedPtrsHolder * UniquePtrs
Definition: IShowerTool.h:83
art::ProducesCollector * collectorPtr
Definition: IShowerTool.h:95
void produces(std::string const &instanceName={}, Persistable const persistable=Persistable::Yes)
MaybeLogger_< ELseverityLevel::ELsev_warning, false > LogWarning
int SetShowerUniqueProduerPtr(type< T >, const std::string &Name, const std::string &Instance="")
void ShowerRecoTools::IShowerTool::PrintPtr ( std::string  Name)
inlineprotectedinherited

Definition at line 160 of file IShowerTool.h.

References reco::shower::ShowerProducedPtrsHolder::PrintPtr().

Referenced by ShowerRecoTools::ShowerExampleTool::CalculateElement().

160 { UniquePtrs->PrintPtr(Name); }
reco::shower::ShowerProducedPtrsHolder * UniquePtrs
Definition: IShowerTool.h:83
void PrintPtr(const std::string &Name) const
void ShowerRecoTools::IShowerTool::PrintPtrs ( )
inlineprotectedinherited
int ShowerRecoTools::IShowerTool::RunShowerTool ( const art::Ptr< recob::PFParticle > &  pfparticle,
art::Event Event,
reco::shower::ShowerElementHolder ShowerEleHolder,
std::string  evd_display_name_append = "" 
)
inlineinherited

Definition at line 44 of file IShowerTool.h.

48  {
49 
50  int calculation_status = CalculateElement(pfparticle, Event, ShowerEleHolder);
51  if (calculation_status != 0) return calculation_status;
52  if (fRunEventDisplay) {
54  pfparticle, Event, ShowerEleHolder, evd_display_name_append);
55  }
56  return calculation_status;
57  }
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
virtual int CalculateElement(const art::Ptr< recob::PFParticle > &pfparticle, art::Event &Event, reco::shower::ShowerElementHolder &ShowerEleHolder)=0
const shower::LArPandoraShowerAlg & GetLArPandoraShowerAlg() const
Definition: IShowerTool.h:80
void ShowerRecoTools::IShowerTool::SetPtr ( art::ProducesCollector collector)
inlineinherited

Definition at line 63 of file IShowerTool.h.

63 { collectorPtr = collector; }
art::ProducesCollector * collectorPtr
Definition: IShowerTool.h:95

Member Data Documentation

double ShowerRecoTools::ShowerUnidirectiondEdx::dEdxTrackLength
private

Definition at line 41 of file ShowerUnidirectiondEdx_tool.cc.

Referenced by CalculateElement().

calo::CalorimetryAlg ShowerRecoTools::ShowerUnidirectiondEdx::fCalorimetryAlg
private

Definition at line 37 of file ShowerUnidirectiondEdx_tool.cc.

Referenced by CalculateElement().

geo::WireReadoutGeom const& ShowerRecoTools::ShowerUnidirectiondEdx::fChannelMap = art::ServiceHandle<geo::WireReadout>()->Get()
private

Definition at line 36 of file ShowerUnidirectiondEdx_tool.cc.

Referenced by CalculateElement().

double ShowerRecoTools::ShowerUnidirectiondEdx::fdEdxTrackLength
private

Definition at line 41 of file ShowerUnidirectiondEdx_tool.cc.

Referenced by CalculateElement().

art::ServiceHandle<geo::Geometry> ShowerRecoTools::ShowerUnidirectiondEdx::fGeom
private

Definition at line 35 of file ShowerUnidirectiondEdx_tool.cc.

Referenced by CalculateElement().

std::string ShowerRecoTools::ShowerUnidirectiondEdx::fInitialTrackHitsInputLabel
private

Definition at line 47 of file ShowerUnidirectiondEdx_tool.cc.

Referenced by CalculateElement().

bool ShowerRecoTools::ShowerUnidirectiondEdx::fMaxHitPlane
private

Definition at line 43 of file ShowerUnidirectiondEdx_tool.cc.

Referenced by CalculateElement().

bool ShowerRecoTools::ShowerUnidirectiondEdx::fMissFirstPoint
private

Definition at line 44 of file ShowerUnidirectiondEdx_tool.cc.

Referenced by CalculateElement().

std::string ShowerRecoTools::ShowerUnidirectiondEdx::fShowerBestPlaneOutputLabel
private

Definition at line 50 of file ShowerUnidirectiondEdx_tool.cc.

Referenced by CalculateElement().

std::string ShowerRecoTools::ShowerUnidirectiondEdx::fShowerdEdxOutputLabel
private

Definition at line 49 of file ShowerUnidirectiondEdx_tool.cc.

Referenced by CalculateElement().

std::string ShowerRecoTools::ShowerUnidirectiondEdx::fShowerDirectionInputLabel
private

Definition at line 48 of file ShowerUnidirectiondEdx_tool.cc.

Referenced by CalculateElement().

std::string ShowerRecoTools::ShowerUnidirectiondEdx::fShowerStartPositionInputLabel
private

Definition at line 46 of file ShowerUnidirectiondEdx_tool.cc.

Referenced by CalculateElement().

bool ShowerRecoTools::ShowerUnidirectiondEdx::fSumHitSnippets
private

Definition at line 45 of file ShowerUnidirectiondEdx_tool.cc.

Referenced by CalculateElement().

int ShowerRecoTools::ShowerUnidirectiondEdx::fVerbose
private

Definition at line 40 of file ShowerUnidirectiondEdx_tool.cc.

Referenced by CalculateElement().


The documentation for this class was generated from the following file: