LArSoft  v09_90_00
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
 
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 21 of file ShowerUnidirectiondEdx_tool.cc.

Constructor & Destructor Documentation

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

Definition at line 50 of file ShowerUnidirectiondEdx_tool.cc.

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

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 152 of file IShowerTool.h.

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

153  {
154  UniquePtrs->AddSingle<T>(a, b, Name);
155  }
reco::shower::ShowerProducedPtrsHolder * UniquePtrs
Definition: IShowerTool.h:85
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 65 of file ShowerUnidirectiondEdx_tool.cc.

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

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

Definition at line 82 of file IShowerTool.h.

Referenced by ShowerRecoTools::ShowerLengthPercentile::CalculateElement(), CalculateElement(), ShowerRecoTools::Shower3DCylinderTrackHitFinder::CalculateElement(), ShowerRecoTools::ShowerPCAPropergationStartPosition::CalculateElement(), ShowerRecoTools::Shower2DLinearRegressionTrackHitFinder::CalculateElement(), ShowerRecoTools::ShowerPFPVertexStartPosition::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().

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

Definition at line 102 of file IShowerTool.h.

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

105  {
106 
107  //Check the element has been set
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;
113  }
114 
115  //Check the unique ptr has been set.
116  bool check_ptr = UniquePtrs->CheckUniqueProduerPtr(Name);
117  if (!check_ptr) {
118  throw cet::exception("IShowerTool")
119  << "tried to get a ptr that does not exist. Failed at making the art ptr for Element"
120  << Name;
121  }
122 
123  //Check if the user has defined an index if not just use the current shower index/
124  int index;
125  if (iter != -1) { index = iter; }
126  else {
127  index = ShowerEleHolder.GetShowerNumber();
128  }
129 
130  //Make the ptr
131  return UniquePtrs->GetArtPtr<T>(Name, index);
132  }
reco::shower::ShowerProducedPtrsHolder * UniquePtrs
Definition: IShowerTool.h:85
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 68 of file IShowerTool.h.

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

Definition at line 137 of file IShowerTool.h.

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

138  {
139 
140  if (collectorPtr == nullptr) {
141  mf::LogWarning("IShowerTool") << "The art::ProducesCollector ptr has not been set";
142  return;
143  }
144 
145  collectorPtr->produces<T>(InstanceName);
146  UniquePtrs->SetShowerUniqueProduerPtr(type<T>(), Name, InstanceName);
147  }
reco::shower::ShowerProducedPtrsHolder * UniquePtrs
Definition: IShowerTool.h:85
art::ProducesCollector * collectorPtr
Definition: IShowerTool.h:97
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 162 of file IShowerTool.h.

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

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

162 { UniquePtrs->PrintPtr(Name); }
reco::shower::ShowerProducedPtrsHolder * UniquePtrs
Definition: IShowerTool.h:85
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 46 of file IShowerTool.h.

50  {
51 
52  int calculation_status = CalculateElement(pfparticle, Event, ShowerEleHolder);
53  if (calculation_status != 0) return calculation_status;
54  if (fRunEventDisplay) {
56  pfparticle, Event, ShowerEleHolder, evd_display_name_append);
57  }
58  return calculation_status;
59  }
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:82
void ShowerRecoTools::IShowerTool::SetPtr ( art::ProducesCollector collector)
inlineinherited

Definition at line 65 of file IShowerTool.h.

65 { collectorPtr = collector; }
art::ProducesCollector * collectorPtr
Definition: IShowerTool.h:97

Member Data Documentation

double ShowerRecoTools::ShowerUnidirectiondEdx::dEdxTrackLength
private

Definition at line 38 of file ShowerUnidirectiondEdx_tool.cc.

Referenced by CalculateElement().

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

Definition at line 34 of file ShowerUnidirectiondEdx_tool.cc.

Referenced by CalculateElement().

double ShowerRecoTools::ShowerUnidirectiondEdx::fdEdxTrackLength
private

Definition at line 38 of file ShowerUnidirectiondEdx_tool.cc.

Referenced by CalculateElement().

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

Definition at line 33 of file ShowerUnidirectiondEdx_tool.cc.

Referenced by CalculateElement().

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

Definition at line 44 of file ShowerUnidirectiondEdx_tool.cc.

Referenced by CalculateElement().

bool ShowerRecoTools::ShowerUnidirectiondEdx::fMaxHitPlane
private

Definition at line 40 of file ShowerUnidirectiondEdx_tool.cc.

Referenced by CalculateElement().

bool ShowerRecoTools::ShowerUnidirectiondEdx::fMissFirstPoint
private

Definition at line 41 of file ShowerUnidirectiondEdx_tool.cc.

Referenced by CalculateElement().

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

Definition at line 47 of file ShowerUnidirectiondEdx_tool.cc.

Referenced by CalculateElement().

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

Definition at line 46 of file ShowerUnidirectiondEdx_tool.cc.

Referenced by CalculateElement().

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

Definition at line 45 of file ShowerUnidirectiondEdx_tool.cc.

Referenced by CalculateElement().

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

Definition at line 43 of file ShowerUnidirectiondEdx_tool.cc.

Referenced by CalculateElement().

bool ShowerRecoTools::ShowerUnidirectiondEdx::fSumHitSnippets
private

Definition at line 42 of file ShowerUnidirectiondEdx_tool.cc.

Referenced by CalculateElement().

int ShowerRecoTools::ShowerUnidirectiondEdx::fVerbose
private

Definition at line 37 of file ShowerUnidirectiondEdx_tool.cc.

Referenced by CalculateElement().


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