15 #include <TMatrixFSym.h>
19 #include <JANA/JObject.h>
20 #include <JANA/JFactory.h>
34 double getEnergy()
const;
35 double getTime()
const;
36 double getDocaTrack()
const;
37 double getTimeTrack()
const;
38 double getSumU()
const;
39 double getSumV()
const;
40 double getE9E25()
const;
41 double getE1E9()
const;
42 int getNumBlocks()
const;
45 void setPosition(
const DVector3& aPosition );
46 void setEnergy(
const double energy );
47 void setTime(
const double time );
48 void setDocaTrack(
const double docaTrack );
49 void setTimeTrack(
const double tTrack );
50 void setSumU(
const double sumU );
51 void setSumV(
const double sumV );
52 void setE9E25(
const double e9e25 );
53 void setE1E9(
const double e1e9 );
54 void setNumBlocks(
const int numBlocks );
58 float EErr()
const {
return sqrt(ExyztCovariance(0,0)); }
59 float xErr()
const {
return sqrt(ExyztCovariance(1,1)); }
60 float yErr()
const {
return sqrt(ExyztCovariance(2,2)); }
61 float zErr()
const {
return sqrt(ExyztCovariance(3,3)); }
62 float tErr()
const {
return sqrt(ExyztCovariance(4,4)); }
64 if (xErr()>0 && yErr()>0)
return ExyztCovariance(1,2)/xErr()/yErr();
68 if (xErr()>0 && zErr()>0)
return ExyztCovariance(1,3)/xErr()/zErr();
72 if (yErr()>0 && zErr()>0)
return ExyztCovariance(2,3)/yErr()/zErr();
76 if (EErr()>0 && xErr()>0)
return ExyztCovariance(0,1)/EErr()/xErr();
80 if (EErr()>0 && yErr()>0)
return ExyztCovariance(0,2)/EErr()/yErr();
84 if (EErr()>0 && zErr()>0)
return ExyztCovariance(0,3)/EErr()/zErr();
88 if (xErr()>0 && tErr()>0)
return ExyztCovariance(1,4)/xErr()/tErr();
92 if (yErr()>0 && tErr()>0)
return ExyztCovariance(2,4)/yErr()/tErr();
96 if (zErr()>0 && tErr()>0)
return ExyztCovariance(3,4)/zErr()/tErr();
100 if (EErr()>0 && tErr()>0)
return ExyztCovariance(0,4)/EErr()/tErr();
106 void toStrings(vector<pair<string,string> > &items)
const{
107 AddString(items,
"E(GeV)",
"%6.2f", getEnergy());
108 AddString(items,
"X(cm)",
"%7.2f", getPosition().
X());
109 AddString(items,
"Y(cm)",
"%7.2f", getPosition().Y());
110 AddString(items,
"Z(cm)",
"%7.2f", getPosition().Z());
111 AddString(items,
"t(ns)",
"%7.2f", getTime());
112 AddString(items,
"dE",
"%5.3f", EErr());
113 AddString(items,
"dx",
"%5.3f", xErr());
114 AddString(items,
"dy",
"%5.3f", yErr());
115 AddString(items,
"dz",
"%5.3f", zErr());
116 AddString(items,
"dt",
"%5.3f", tErr());
117 AddString(items,
"docaTr",
"%7.2f", getDocaTrack());
118 AddString(items,
"timeTr",
"%7.2f", getTimeTrack());
119 AddString(items,
"sumU",
"%7.2f", getSumU());
120 AddString(items,
"sumV",
"%7.2f", getSumV());
121 AddString(items,
"E9E25",
"%7.2f", getE9E25());
122 AddString(items,
"E1E9",
"%7.2f", getE1E9());
123 AddString(items,
"numBlocks",
"%3.0i",getNumBlocks());
124 AddString(items,
"EXcorr",
"%5.3f", EXcorr());
125 AddString(items,
"EYcorr",
"%5.3f", EYcorr());
126 AddString(items,
"EZcorr",
"%5.3f", EZcorr());
127 AddString(items,
"ETcorr",
"%5.3f", ETcorr());
128 AddString(items,
"XYcorr",
"%5.3f", XYcorr());
129 AddString(items,
"XZcorr",
"%5.3f", XZcorr());
130 AddString(items,
"XTcorr",
"%5.3f", XTcorr());
131 AddString(items,
"YZcorr",
"%5.3f", YZcorr());
132 AddString(items,
"YTcorr",
"%5.3f", YTcorr());
133 AddString(items,
"ZTcorr",
"%5.3f", ZTcorr());
174 #endif // _DFCALShower_
void toStrings(vector< pair< string, string > > &items) const
double getDocaTrack() const
TMatrixFSym ExyztCovariance
double getTimeTrack() const
DVector3 getPosition() const