LArSoft  v06_68_00
Liquid Argon Software toolkit - http://larsoft.org/
anab::Calorimetry Class Reference

#include "Calorimetry.h"

Public Member Functions

 Calorimetry ()
 
 Calorimetry (double KinematicEnergy, std::vector< double > const &dEdx, std::vector< double > const &dQdx, std::vector< double > const &resRange, std::vector< double > const &deadwire, double Range, double TrkPitch, geo::PlaneID planeID)
 
 Calorimetry (double KineticEnergy, std::vector< double > const &dEdx, std::vector< double > const &dQdx, std::vector< double > const &resRange, std::vector< double > const &deadwire, double Range, std::vector< double > const &TrkPitch, geo::PlaneID planeID)
 
 Calorimetry (double KineticEnergy, std::vector< double > const &dEdx, std::vector< double > const &dQdx, std::vector< double > const &resRange, std::vector< double > const &deadwire, double Range, std::vector< double > const &TrkPitch, std::vector< TVector3 > const &XYZ, geo::PlaneID planeID)
 
const std::vector< double > & dEdx () const
 
const std::vector< double > & dQdx () const
 
const std::vector< double > & ResidualRange () const
 
const std::vector< double > & DeadWireResRC () const
 
const double & KineticEnergy () const
 
const double & Range () const
 
double TrkPitchC () const
 
const std::vector< double > & TrkPitchVec () const
 
const std::vector< TVector3 > & XYZ () const
 
const geo::PlaneIDPlaneID () const
 

Public Attributes

double fKineticEnergy
 determined kinetic energy More...
 
std::vector< double > fdEdx
 dE/dx, should be same size as fResidualRange More...
 
std::vector< double > fdQdx
 dQ/dx More...
 
std::vector< double > fResidualRange
 range from end of track More...
 
std::vector< double > fDeadWireResR
 dead wire residual range, collection plane More...
 
double fRange
 total range of track More...
 
std::vector< double > fTrkPitch
 track pitch on collection plane More...
 
std::vector< TVector3 > fXYZ
 coordinates of space points More...
 

Private Attributes

geo::PlaneID fPlaneID
 

Friends

std::ostream & operator<< (std::ostream &o, Calorimetry const &a)
 

Detailed Description

Definition at line 22 of file Calorimetry.h.

Constructor & Destructor Documentation

anab::Calorimetry::Calorimetry ( )

Definition at line 14 of file Calorimetry.cxx.

References fDeadWireResR, fdEdx, fdQdx, fResidualRange, fTrkPitch, and fXYZ.

15  : fKineticEnergy(0.)
16  , fRange(0.)
17  {
18  fdEdx.clear();
19  fdQdx.clear();
20  fResidualRange.clear();
21  fDeadWireResR.clear();
22  fTrkPitch.clear();
23  fXYZ.clear();
24  }
double fRange
total range of track
Definition: Calorimetry.h:32
std::vector< TVector3 > fXYZ
coordinates of space points
Definition: Calorimetry.h:34
std::vector< double > fdQdx
dQ/dx
Definition: Calorimetry.h:29
std::vector< double > fdEdx
dE/dx, should be same size as fResidualRange
Definition: Calorimetry.h:28
std::vector< double > fResidualRange
range from end of track
Definition: Calorimetry.h:30
double fKineticEnergy
determined kinetic energy
Definition: Calorimetry.h:27
std::vector< double > fTrkPitch
track pitch on collection plane
Definition: Calorimetry.h:33
std::vector< double > fDeadWireResR
dead wire residual range, collection plane
Definition: Calorimetry.h:31
anab::Calorimetry::Calorimetry ( double  KinematicEnergy,
std::vector< double > const &  dEdx,
std::vector< double > const &  dQdx,
std::vector< double > const &  resRange,
std::vector< double > const &  deadwire,
double  Range,
double  TrkPitch,
geo::PlaneID  planeID 
)

Definition at line 28 of file Calorimetry.cxx.

References fDeadWireResR, fdEdx, fdQdx, fKineticEnergy, fPlaneID, fRange, fResidualRange, fTrkPitch, fXYZ, KineticEnergy(), and Range().

36  {
37 
39  fRange = Range;
40  for(size_t i=0; i!=dQdx.size(); ++i){
41  fTrkPitch.push_back(TrkPitch);
42  TVector3 v(-999,-999,-999);
43  fXYZ.push_back(v);
44  }
45  if(dEdx.size() != resRange.size())
46  throw cet::exception("anab::Calorimetry") << "dE/dx and residual range vectors "
47  << "have different sizes, this is a problem.\n";
48  fdEdx.resize(dEdx.size());
49  fdQdx.resize(dQdx.size());
50  fResidualRange.resize(resRange.size());
51  for(size_t i = 0; i < dEdx.size(); ++i){
52  fdEdx[i] = dEdx[i];
53  fdQdx[i] = dQdx[i];
54  fResidualRange[i] = resRange[i];
55  }
56 
57  fDeadWireResR.resize(deadwire.size());
58  for(size_t i = 0; i<deadwire.size(); ++i){
59  fDeadWireResR[i] = deadwire[i];
60  }
61 
62  fPlaneID = planeID;
63  }
double fRange
total range of track
Definition: Calorimetry.h:32
std::vector< TVector3 > fXYZ
coordinates of space points
Definition: Calorimetry.h:34
const double & KineticEnergy() const
Definition: Calorimetry.h:92
std::vector< double > fdQdx
dQ/dx
Definition: Calorimetry.h:29
std::vector< double > fdEdx
dE/dx, should be same size as fResidualRange
Definition: Calorimetry.h:28
std::vector< double > fResidualRange
range from end of track
Definition: Calorimetry.h:30
double fKineticEnergy
determined kinetic energy
Definition: Calorimetry.h:27
std::vector< double > fTrkPitch
track pitch on collection plane
Definition: Calorimetry.h:33
std::vector< double > fDeadWireResR
dead wire residual range, collection plane
Definition: Calorimetry.h:31
geo::PlaneID fPlaneID
Definition: Calorimetry.h:37
const double & Range() const
Definition: Calorimetry.h:93
cet::coded_exception< error, detail::translate > exception
Definition: exception.h:33
anab::Calorimetry::Calorimetry ( double  KineticEnergy,
std::vector< double > const &  dEdx,
std::vector< double > const &  dQdx,
std::vector< double > const &  resRange,
std::vector< double > const &  deadwire,
double  Range,
std::vector< double > const &  TrkPitch,
geo::PlaneID  planeID 
)

Definition at line 67 of file Calorimetry.cxx.

References fDeadWireResR, fdEdx, fdQdx, fKineticEnergy, fPlaneID, fRange, fResidualRange, fTrkPitch, fXYZ, KineticEnergy(), and Range().

75  {
76 
77  fPlaneID = planeID;
79  fRange = Range;
80  fTrkPitch = TrkPitch;
81  if(dEdx.size() != resRange.size())
82  throw cet::exception("anab::Calorimetry") << "dE/dx and residual range vectors "
83  << "have different sizes, this is a problem.\n";
84  for(size_t i=0; i!=dQdx.size(); ++i){
85  TVector3 v(-999,-999,-999);
86  fXYZ.push_back(v);
87  }
88  fdEdx.resize(dEdx.size());
89  fdQdx.resize(dQdx.size());
90  fResidualRange.resize(resRange.size());
91  for(size_t i = 0; i < dEdx.size(); ++i){
92  fdEdx[i] = dEdx[i];
93  fdQdx[i] = dQdx[i];
94  fResidualRange[i] = resRange[i];
95  }
96 
97  fDeadWireResR.resize(deadwire.size());
98  for(size_t i = 0; i<deadwire.size(); ++i){
99  fDeadWireResR[i] = deadwire[i];
100  }
101 
102  }
double fRange
total range of track
Definition: Calorimetry.h:32
std::vector< TVector3 > fXYZ
coordinates of space points
Definition: Calorimetry.h:34
const double & KineticEnergy() const
Definition: Calorimetry.h:92
std::vector< double > fdQdx
dQ/dx
Definition: Calorimetry.h:29
std::vector< double > fdEdx
dE/dx, should be same size as fResidualRange
Definition: Calorimetry.h:28
std::vector< double > fResidualRange
range from end of track
Definition: Calorimetry.h:30
double fKineticEnergy
determined kinetic energy
Definition: Calorimetry.h:27
std::vector< double > fTrkPitch
track pitch on collection plane
Definition: Calorimetry.h:33
std::vector< double > fDeadWireResR
dead wire residual range, collection plane
Definition: Calorimetry.h:31
geo::PlaneID fPlaneID
Definition: Calorimetry.h:37
const double & Range() const
Definition: Calorimetry.h:93
cet::coded_exception< error, detail::translate > exception
Definition: exception.h:33
anab::Calorimetry::Calorimetry ( double  KineticEnergy,
std::vector< double > const &  dEdx,
std::vector< double > const &  dQdx,
std::vector< double > const &  resRange,
std::vector< double > const &  deadwire,
double  Range,
std::vector< double > const &  TrkPitch,
std::vector< TVector3 > const &  XYZ,
geo::PlaneID  planeID 
)

Definition at line 105 of file Calorimetry.cxx.

References fDeadWireResR, fdEdx, fdQdx, fKineticEnergy, fPlaneID, fRange, fResidualRange, fTrkPitch, fXYZ, KineticEnergy(), and Range().

114  {
115 
116  fPlaneID = planeID;
118  fRange = Range;
119  fTrkPitch = TrkPitch;
120  if(dEdx.size() != resRange.size())
121  throw cet::exception("anab::Calorimetry") << "dE/dx and residual range vectors "
122  << "have different sizes, this is a problem.\n";
123  for(size_t i=0; i!=dQdx.size(); ++i){
124  fXYZ.push_back(TVector3(-999,-999,-999));
125  }
126  fdEdx.resize(dEdx.size());
127  fdQdx.resize(dQdx.size());
128  fResidualRange.resize(resRange.size());
129  fXYZ.resize(XYZ.size());
130  for(size_t i = 0; i < dEdx.size(); ++i){
131  fdEdx[i] = dEdx[i];
132  fdQdx[i] = dQdx[i];
133  fResidualRange[i] = resRange[i];
134  fXYZ[i] = XYZ[i];
135  }
136 
137  fDeadWireResR.resize(deadwire.size());
138  for(size_t i = 0; i<deadwire.size(); ++i){
139  fDeadWireResR[i] = deadwire[i];
140  }
141 
142  }
double fRange
total range of track
Definition: Calorimetry.h:32
std::vector< TVector3 > fXYZ
coordinates of space points
Definition: Calorimetry.h:34
const double & KineticEnergy() const
Definition: Calorimetry.h:92
std::vector< double > fdQdx
dQ/dx
Definition: Calorimetry.h:29
std::vector< double > fdEdx
dE/dx, should be same size as fResidualRange
Definition: Calorimetry.h:28
std::vector< double > fResidualRange
range from end of track
Definition: Calorimetry.h:30
double fKineticEnergy
determined kinetic energy
Definition: Calorimetry.h:27
std::vector< double > fTrkPitch
track pitch on collection plane
Definition: Calorimetry.h:33
std::vector< double > fDeadWireResR
dead wire residual range, collection plane
Definition: Calorimetry.h:31
geo::PlaneID fPlaneID
Definition: Calorimetry.h:37
const double & Range() const
Definition: Calorimetry.h:93
cet::coded_exception< error, detail::translate > exception
Definition: exception.h:33

Member Function Documentation

const std::vector< double > & anab::Calorimetry::DeadWireResRC ( ) const
inline

Definition at line 91 of file Calorimetry.h.

References fDeadWireResR.

Referenced by pid::Chi2PIDAlg::DoParticleID().

91 { return fDeadWireResR; }
std::vector< double > fDeadWireResR
dead wire residual range, collection plane
Definition: Calorimetry.h:31
const std::vector< double > & anab::Calorimetry::dEdx ( ) const
inline

Definition at line 88 of file Calorimetry.h.

References fdEdx.

Referenced by evd::AnalysisBaseDrawer::CalorInteractive(), pid::Chi2PIDAlg::DoParticleID(), and pid::PIDAAlg::RunPIDAAlg().

88 { return fdEdx; }
std::vector< double > fdEdx
dE/dx, should be same size as fResidualRange
Definition: Calorimetry.h:28
const std::vector< double > & anab::Calorimetry::dQdx ( ) const
inline

Definition at line 89 of file Calorimetry.h.

References fdQdx.

89 { return fdQdx; }
std::vector< double > fdQdx
dQ/dx
Definition: Calorimetry.h:29
const double & anab::Calorimetry::KineticEnergy ( ) const
inline

Definition at line 92 of file Calorimetry.h.

References fKineticEnergy.

Referenced by Calorimetry(), pid::PIDAAlg::FillPIDAProperties(), and evd::HitSelector::SaveSeedLines().

92 { return fKineticEnergy; }
double fKineticEnergy
determined kinetic energy
Definition: Calorimetry.h:27
const geo::PlaneID & anab::Calorimetry::PlaneID ( ) const
inline

Definition at line 102 of file Calorimetry.h.

References fPlaneID.

Referenced by pid::Chi2PIDAlg::DoParticleID(), and pid::PIDAAlg::FillPIDAProperties().

102 { return fPlaneID; }
geo::PlaneID fPlaneID
Definition: Calorimetry.h:37
const double & anab::Calorimetry::Range ( ) const
inline

Definition at line 93 of file Calorimetry.h.

References fRange.

Referenced by Calorimetry(), and pid::PIDAAlg::FillPIDAProperties().

93 { return fRange; }
double fRange
total range of track
Definition: Calorimetry.h:32
const std::vector< double > & anab::Calorimetry::ResidualRange ( ) const
inline

Definition at line 90 of file Calorimetry.h.

References fResidualRange.

Referenced by evd::AnalysisBaseDrawer::CalorInteractive(), pid::Chi2PIDAlg::DoParticleID(), and pid::PIDAAlg::RunPIDAAlg().

90 { return fResidualRange; }
std::vector< double > fResidualRange
range from end of track
Definition: Calorimetry.h:30
double anab::Calorimetry::TrkPitchC ( ) const
inline

Definition at line 95 of file Calorimetry.h.

References fTrkPitch.

Referenced by pid::Chi2PIDAlg::DoParticleID().

96 {
97  if (fTrkPitch.size())
98  return fTrkPitch[0];
99  else return 0;
100 }
std::vector< double > fTrkPitch
track pitch on collection plane
Definition: Calorimetry.h:33
const std::vector< double > & anab::Calorimetry::TrkPitchVec ( ) const
inline

Definition at line 94 of file Calorimetry.h.

References fTrkPitch.

94 { return fTrkPitch; }
std::vector< double > fTrkPitch
track pitch on collection plane
Definition: Calorimetry.h:33
const std::vector< TVector3 > & anab::Calorimetry::XYZ ( ) const
inline

Definition at line 101 of file Calorimetry.h.

References fXYZ.

101 { return fXYZ; }
std::vector< TVector3 > fXYZ
coordinates of space points
Definition: Calorimetry.h:34

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  o,
Calorimetry const &  a 
)
friend

Definition at line 147 of file Calorimetry.cxx.

148  {
149  o << "Kinetic Energy: " << a.fKineticEnergy
150  << "\n Range: " << a.fRange << std::endl;
151 
152  for(size_t n = 0; n < a.fdEdx.size(); ++n)
153  o << "dE/dx=" << a.fdEdx[n]
154  << " Residual range=" << a.fResidualRange[n]
155  << " dQ/dx=" << a.fdQdx[n]
156  << " (x,y,z)=(" << a.fXYZ[n].X() << "," << a.fXYZ[n].Y() << "," << a.fXYZ[n].Z() << ")"
157  << " pitch=" << a.fTrkPitch[n]
158  << " planeID=(" << a.fPlaneID.Cryostat << "," << a.fPlaneID.TPC << "," << a.fPlaneID.Plane << ")"
159  << std::endl;
160 
161  return o;
162  }
Char_t n[5]

Member Data Documentation

std::vector<double> anab::Calorimetry::fDeadWireResR

dead wire residual range, collection plane

Definition at line 31 of file Calorimetry.h.

Referenced by Calorimetry(), and DeadWireResRC().

std::vector<double> anab::Calorimetry::fdEdx

dE/dx, should be same size as fResidualRange

Definition at line 28 of file Calorimetry.h.

Referenced by Calorimetry(), dEdx(), and anab::operator<<().

std::vector<double> anab::Calorimetry::fdQdx

dQ/dx

Definition at line 29 of file Calorimetry.h.

Referenced by Calorimetry(), dQdx(), and anab::operator<<().

double anab::Calorimetry::fKineticEnergy

determined kinetic energy

Definition at line 27 of file Calorimetry.h.

Referenced by Calorimetry(), KineticEnergy(), and anab::operator<<().

geo::PlaneID anab::Calorimetry::fPlaneID
private

Definition at line 37 of file Calorimetry.h.

Referenced by Calorimetry(), anab::operator<<(), and PlaneID().

double anab::Calorimetry::fRange

total range of track

Definition at line 32 of file Calorimetry.h.

Referenced by Calorimetry(), anab::operator<<(), and Range().

std::vector<double> anab::Calorimetry::fResidualRange

range from end of track

Definition at line 30 of file Calorimetry.h.

Referenced by Calorimetry(), anab::operator<<(), and ResidualRange().

std::vector<double> anab::Calorimetry::fTrkPitch

track pitch on collection plane

Definition at line 33 of file Calorimetry.h.

Referenced by Calorimetry(), anab::operator<<(), TrkPitchC(), and TrkPitchVec().

std::vector<TVector3> anab::Calorimetry::fXYZ

coordinates of space points

Definition at line 34 of file Calorimetry.h.

Referenced by Calorimetry(), anab::operator<<(), and XYZ().


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