test
CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
Conv4HitsReco2 Class Reference

#include <Conv4HitsReco2.h>

Public Member Functions

 Conv4HitsReco2 (math::XYZVector &, math::XYZVector &, math::XYZVector &, math::XYZVector &, math::XYZVector &)
 
 Conv4HitsReco2 ()
 
int ConversionCandidate (math::XYZVector &, double &, double &)
 
void Dump ()
 
int GetLoop ()
 
math::XYZVector GetMinusCenter (double &)
 
math::XYZVector GetPlusCenter (double &)
 
double GetRecPhi ()
 
double GetRecR ()
 
double GetRecR1 ()
 
double GetRecR2 ()
 
void Reconstruct ()
 
void Refresh (math::XYZVector &vPhotVertex, math::XYZVector &h1, math::XYZVector &h2, math::XYZVector &h3, math::XYZVector &h4)
 
bool RegisterBadConverge (int &num)
 
bool RegisterBadConverge ()
 
bool RegisterBadSign (int &num)
 
bool RegisterBadSign ()
 
bool RegisterUnsolvable (int &num)
 
bool RegisterUnsolvable ()
 
void SetBField (double val)
 
void SetFixedNumberOfIterations (double val)
 
void SetMaxNumberOfIterations (int val)
 
void SetPhiECut (double val)
 
void SetRadiusECut (double val)
 
void SetRECut (double val)
 
 ~Conv4HitsReco2 ()
 

Private Member Functions

void LocalTransformation (const math::XYZVector &v11, const math::XYZVector &v12, const math::XYZVector &v21, const math::XYZVector &v22, math::XYZVector &V11, math::XYZVector &V12, math::XYZVector &V21, math::XYZVector &V22, double Phi)
 

Private Attributes

double fBField
 
int fCutSatisfied
 
int fFixedNumberOfIterations
 
math::XYZVector fHitv11
 
math::XYZVector fHitv12
 
math::XYZVector fHitv21
 
math::XYZVector fHitv22
 
int fLoop
 
int fMaxNumberOfIterations
 
double fPhiE
 
double fPhiECut
 
math::XYZVector fPV
 
double fRadiusE
 
double fRadiusECut
 
double fRE
 
math::XYZVector fRecC1
 
math::XYZVector fRecC2
 
double fRecPhi
 
double fRecR
 
double fRecR1
 
double fRecR2
 
double fRECut
 
math::XYZVector fRecV
 
int fSignSatisfied
 
int fSolved
 

Detailed Description

Definition at line 18 of file Conv4HitsReco2.h.

Constructor & Destructor Documentation

Conv4HitsReco2::Conv4HitsReco2 ( math::XYZVector vPhotVertex,
math::XYZVector h1,
math::XYZVector h2,
math::XYZVector h3,
math::XYZVector h4 
)

Definition at line 16 of file Conv4HitsReco2.cc.

References Refresh().

17 {
18  Refresh(vPhotVertex, h1, h2, h3, h4);
19 }
void Refresh(math::XYZVector &vPhotVertex, math::XYZVector &h1, math::XYZVector &h2, math::XYZVector &h3, math::XYZVector &h4)
Conv4HitsReco2::Conv4HitsReco2 ( )
Conv4HitsReco2::~Conv4HitsReco2 ( )

Definition at line 21 of file Conv4HitsReco2.cc.

21 { }

Member Function Documentation

int Conv4HitsReco2::ConversionCandidate ( math::XYZVector vtx,
double &  ptplus,
double &  ptminus 
)

Definition at line 90 of file Conv4HitsReco2.cc.

References fBField, fLoop, fRecR1, fRecR2, fRecV, and Reconstruct().

Referenced by SeedForPhotonConversionFromQuadruplets::trajectorySeed().

91 {
92  Reconstruct();
93 
94  ptplus = fRecR2 * fBField * 0.01 * 0.3; // 2 - positron
95  ptminus = fRecR1 * fBField * 0.01 * 0.3; // 1 - electron
96  vtx = fRecV;
97  //std::cout << ".";
98  return fLoop;
99 }
math::XYZVector fRecV
void Conv4HitsReco2::Dump ( void  )

Definition at line 244 of file Conv4HitsReco2.cc.

References gather_cfg::cout, fCutSatisfied, fSignSatisfied, and fSolved.

Referenced by SeedForPhotonConversionFromQuadruplets::trajectorySeed().

245 {
246  std::cout << std::endl<< "================================================" << std::endl;
247  std::cout << " Nothing happend here.";
248  if (fSolved==1) std::cout << "Solved.";
249  if (fCutSatisfied==1) std::cout << "Cut good.";
250  if (fSignSatisfied==1) std::cout << "Sign good.";
251 
252 }
tuple cout
Definition: gather_cfg.py:145
int Conv4HitsReco2::GetLoop ( )
inline

Definition at line 46 of file Conv4HitsReco2.h.

References fLoop.

46 { return fLoop; };
math::XYZVector Conv4HitsReco2::GetMinusCenter ( double &  minusR)

Definition at line 260 of file Conv4HitsReco2.cc.

References fRecC2, and fRecR2.

261 {
262  minusR = fRecR2;
263  return fRecC2;
264 }
math::XYZVector fRecC2
math::XYZVector Conv4HitsReco2::GetPlusCenter ( double &  plusR)

Definition at line 254 of file Conv4HitsReco2.cc.

References fRecC1, and fRecR1.

255 {
256  plusR = fRecR1;
257  return fRecC1;
258 
259 }
math::XYZVector fRecC1
double Conv4HitsReco2::GetRecPhi ( )
inline

Definition at line 42 of file Conv4HitsReco2.h.

References fRecPhi.

42 { return fRecPhi; };
double Conv4HitsReco2::GetRecR ( )
inline

Definition at line 43 of file Conv4HitsReco2.h.

References fRecR.

43 { return fRecR; };
double Conv4HitsReco2::GetRecR1 ( )
inline

Definition at line 44 of file Conv4HitsReco2.h.

References fRecR1.

44 { return fRecR1; };
double Conv4HitsReco2::GetRecR2 ( )
inline

Definition at line 45 of file Conv4HitsReco2.h.

References fRecR2.

45 { return fRecR2; };
void Conv4HitsReco2::LocalTransformation ( const math::XYZVector v11,
const math::XYZVector v12,
const math::XYZVector v21,
const math::XYZVector v22,
math::XYZVector V11,
math::XYZVector V12,
math::XYZVector V21,
math::XYZVector V22,
double  Phi 
)
private

Definition at line 55 of file Conv4HitsReco2.cc.

References funct::cos(), and funct::sin().

58 {
59  double x11,x12,x21,x22,y11,y12,y21,y22;
60 
61  x11 = v11.X(); y11 = v11.Y();
62  x12 = v12.X(); y12 = v12.Y();
63  x21 = v21.X(); y21 = v21.Y();
64  x22 = v22.X(); y22 = v22.Y();
65 
66  double SINP = std::sin(NextPhi);
67  double COSP = std::cos(NextPhi);
68  double SignCOSP = 1.; if(COSP < 0.) SignCOSP = -1.;
69  double AbsCOSP = std::fabs(COSP);
70 
71  double X11 = -std::fabs(x11*SINP*SignCOSP - y11*AbsCOSP);
72  double Y11 = std::fabs(y11*SINP*SignCOSP + x11*AbsCOSP);
73 
74  double X21 = -std::fabs(x21*SINP*SignCOSP - y21*AbsCOSP);
75  double Y21 = std::fabs(y21*SINP*SignCOSP + x21*AbsCOSP);
76 
77  double X12 = std::fabs(x12*SINP*SignCOSP - y12*AbsCOSP);
78  double Y12 = std::fabs(y12*SINP*SignCOSP + x12*AbsCOSP);
79 
80  double X22 = std::fabs(x22*SINP*SignCOSP - y22*AbsCOSP);
81  double Y22 = std::fabs(y22*SINP*SignCOSP + x22*AbsCOSP);
82 
83  V11.SetXYZ(X11,Y11,0.);
84  V12.SetXYZ(X12,Y12,0.);
85  V21.SetXYZ(X21,Y21,0.);
86  V22.SetXYZ(X22,Y22,0.);
87 }
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
void Conv4HitsReco2::Reconstruct ( )

Definition at line 102 of file Conv4HitsReco2.cc.

References funct::cos(), fCutSatisfied, fFixedNumberOfIterations, fHitv11, fHitv12, fHitv21, fHitv22, fLoop, fMaxNumberOfIterations, fPhiE, fPhiECut, fPV, fRadiusE, fRadiusECut, fRE, fRecC1, fRecC2, fRecPhi, fRecR, fRecR1, fRecR2, fRECut, fRecV, fSignSatisfied, fSolved, i, funct::pow(), funct::sin(), and mathSSE::sqrt().

Referenced by ConversionCandidate().

103 {
104  double x11,x12,x21,x22,y11,y12,y21,y22;
105  //double X11,X12,X21,X22,Y11,Y12,Y21,Y22;
106  x11 = fHitv11.X(); y11 = fHitv11.Y();
107  x12 = fHitv12.X(); y12 = fHitv12.Y();
108  x21 = fHitv21.X(); y21 = fHitv21.Y();
109  x22 = fHitv22.X(); y22 = fHitv22.Y();
110 
114 
115  // Setting Phi1, Phi2 initial guess range, and first guess
116  double tempr1 = std::sqrt(y11*y11 + x11*x11);
117  double tempr2 = std::sqrt(y12*y12 + x12*x12);
118 
119  double Phi1 = 2.0 * std::atan(y11 / (x11+tempr1));
120  double Phi2 = 2.0 * std::atan(y12 / (x12+tempr2));
121 
122  if (Phi1<Phi2) Phi1 += 2.0 * 3.141592653; // stupid Atan correction
123 
124  fPhiE = std::fabs((Phi1-Phi2)) / std::pow(2.0, fLoop + 1);
125 
126  double NextPhi = ( Phi1 + Phi2 ) / 2.0; // first guess
127  double D1, D2 = 0.0;
128  double prevR1 = 0; double prevR2 = 0;
129  double R1 = 0; double R2 = 0;
130 
131  // Iterations
132  for (int i=0; i<fLoop; i++) {
133 
134  // LOCAL TRANFORMATION & EXTRACTION
135  double SINP = std::sin(NextPhi);
136  double COSP = std::cos(NextPhi);
137  double SignCOSP = 1.; if(COSP < 0.) SignCOSP = -1.;
138  double AbsCOSP = std::fabs(COSP);
139 
140  double X11 = -std::fabs(x11*SINP*SignCOSP - y11*AbsCOSP);
141  double Y11 = std::fabs(y11*SINP*SignCOSP + x11*AbsCOSP);
142 
143  double X21 = -std::fabs(x21*SINP*SignCOSP - y21*AbsCOSP);
144  double Y21 = std::fabs(y21*SINP*SignCOSP + x21*AbsCOSP);
145 
146  double X12 = std::fabs(x12*SINP*SignCOSP - y12*AbsCOSP);
147  double Y12 = std::fabs(y12*SINP*SignCOSP + x12*AbsCOSP);
148 
149  double X22 = std::fabs(x22*SINP*SignCOSP - y22*AbsCOSP);
150  double Y22 = std::fabs(y22*SINP*SignCOSP + x22*AbsCOSP);
151  // I'm not using LocalTransform() function because this direct way turns out to be faster
152 
153 
154 
155 
156  // SOLVING EQUATIONS
157  double d1 = Y21 - Y11;
158  double d2 = Y22 - Y12;
159 
160  if ( ( (X11*X11*d1*d1/(X21-X11)/(X21-X11) + X11*X21 + X11*d1*d1/(X21-X11)) < 0 ) ||
161  ( (X12*X12*d2*d2/(X22-X12)/(X22-X12) + X12*X22 + X12*d2*d2/(X22-X12)) < 0 ) )
162  { fSolved = -1; fLoop = i; return; } // No real root. Break out.
163 
164  else {
165  fSolved = 1;
166  D1 = X11*d1/(X21-X11);
167  D1 = D1 + std::sqrt(X11*X11*d1*d1/(X21-X11)/(X21-X11) + X11*X21 + X11*d1*d1/(X21-X11));
168  D2 = X12*d2/(X22-X12);
169  D2 = D2 + std::sqrt(X12*X12*d2*d2/(X22-X12)/(X22-X12) + X12*X22 + X12*d2*d2/(X22-X12));
170 
171  R1 = std::fabs((X11+X21)/2.0+(D1+d1/2.0)*d1/(X21-X11));
172  R2 = std::fabs((X12+X22)/2.0+(D2+d2/2.0)*d2/(X22-X12));
173 
174  if ((Y11-D1)>=(Y12-D2)) { // Moving RIGHT
175  Phi1 = NextPhi;
176  Phi2 = Phi2;
177  NextPhi = (Phi1+Phi2)/2.0;
178  }
179  else if ((Y11-D1)<(Y12-D2)) { // Moving LEFT
180  Phi1 = Phi1;
181  Phi2 = NextPhi;
182  NextPhi = (Phi1+Phi2)/2.0;
183  }
184 
185  // CHECK STOP CONDITION
186  double tmpPhiE = std::fabs(Phi1-Phi2);
187  double tmpRE = std::fabs( (Y11 - D1) - (Y12 - D2) );
188  double tmpRadiusE = ( std::fabs(R1-prevR1) + std::fabs(R2-prevR2) ) / 2.;
189 
190  // A. Cut threshold satisfied - STOP - record
191  if (( tmpPhiE <= fPhiECut ) && ( tmpRE <= fRECut ) && ( tmpRadiusE <= fRadiusECut ) && ( fFixedNumberOfIterations ==0 ))
192  {
193  fSolved = 1;
194  fCutSatisfied = 1;
195  fLoop = i+1;
196  fPhiE = tmpPhiE;
197  fRE = tmpRE;
198  fRadiusE = tmpRadiusE;
199  fRecR1 = R1;
200  fRecR2 = R2;
201  fRecR = ( (Y11 - D1) + (Y12 - D2) ) / 2.0;
202  fRecPhi = NextPhi;
203  fRecV.SetX( fRecR * cos(fRecPhi) );
204  fRecV.SetY( fRecR * sin(fRecPhi) );
205  fRecC1.SetXYZ( fRecV.X()-fRecR1*sin(fRecPhi), fRecV.Y()+fRecR1*cos(fRecPhi), 0.);
206  fRecC2.SetXYZ( fRecV.X()+fRecR2*sin(fRecPhi), fRecV.Y()-fRecR2*cos(fRecPhi), 0.);
207  fRecV = fRecV + fPV;
208  fRecC1 = fRecC1 + fPV;
209  fRecC2 = fRecC2 + fPV;
210  fCutSatisfied = 1;
211  if ( (R1>0)&&(R2>0)&&(D1>0)&&(D2>0)&&((Y11-D1)>0)&&((Y12-D2)>0) ) fSignSatisfied = 1;
212  else fSignSatisfied = 0;
213  }
214  else if (i==fLoop-1) {
215  fSolved = 1;
216  fCutSatisfied = 1;
217  fLoop = i+1;
218  fPhiE = tmpPhiE;
219  fRE = tmpRE;
220  fRadiusE = tmpRadiusE;
221  fRecR1 = R1;
222  fRecR2 = R2;
223  fRecR = ( (Y11 - D1) + (Y12 - D2) ) / 2.0;
224  fRecPhi = NextPhi;
225  fRecV.SetX( fRecR * cos(fRecPhi) );
226  fRecV.SetY( fRecR * sin(fRecPhi) );
227  fRecC1.SetXYZ( fRecV.X()-fRecR1*sin(fRecPhi), fRecV.Y()+fRecR1*cos(fRecPhi), 0.);
228  fRecC2.SetXYZ( fRecV.X()+fRecR2*sin(fRecPhi), fRecV.Y()-fRecR2*cos(fRecPhi), 0.);
229  fRecV = fRecV + fPV;
230  fRecC1 = fRecC1 + fPV;
231  fRecC2 = fRecC2 + fPV;
232  fCutSatisfied = 0;
233  if ( (R1>0)&&(R2>0)&&(D1>0)&&(D2>0)&&((Y11-D1)>0)&&((Y12-D2)>0) ) fSignSatisfied = 1;
234  else fSignSatisfied = 0;
235  }
236  // B. Cut threshold NOT satisfied - prepare for next loop
237  prevR1 = R1; prevR2 = R2;
238 
239  }
240  }
241 }
Divides< B, C > D2
Definition: Factorize.h:145
int i
Definition: DBlmapReader.cc:9
int fFixedNumberOfIterations
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
math::XYZVector fPV
T sqrt(T t)
Definition: SSEVec.h:18
Divides< A, C > D1
Definition: Factorize.h:144
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
math::XYZVector fHitv21
math::XYZVector fHitv22
math::XYZVector fHitv12
math::XYZVector fRecC1
int fMaxNumberOfIterations
math::XYZVector fHitv11
math::XYZVector fRecV
math::XYZVector fRecC2
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:40
void Conv4HitsReco2::Refresh ( math::XYZVector vPhotVertex,
math::XYZVector h1,
math::XYZVector h2,
math::XYZVector h3,
math::XYZVector h4 
)

Definition at line 24 of file Conv4HitsReco2.cc.

References fBField, fCutSatisfied, fFixedNumberOfIterations, fHitv11, fHitv12, fHitv21, fHitv22, fMaxNumberOfIterations, fPhiE, fPhiECut, fPV, fRadiusE, fRadiusECut, fRE, fRecPhi, fRecR, fRecR1, fRecR2, fRECut, fSignSatisfied, and fSolved.

Referenced by Conv4HitsReco2().

25 {
26  // Fix 2D plane, make primary vertex the original point
27  fPV = vPhotVertex; fPV.SetZ(0.);
28  fHitv11 = h3; fHitv11.SetZ(0.); fHitv11 = fHitv11 - fPV;
29  fHitv21 = h4; fHitv21.SetZ(0.); fHitv21 = fHitv21 - fPV;
30  fHitv12 = h2; fHitv12.SetZ(0.); fHitv12 = fHitv12 - fPV;
31  fHitv22 = h1; fHitv22.SetZ(0.); fHitv22 = fHitv22 - fPV;
32 
33  // DEFAULT setup
36  fRadiusECut = 10.0;//cm
37  fPhiECut = 0.03;//rad
38  fRECut = 0.5;//cm
39  fBField = 3.8;//T
40 
41  // TRIVIAL initialization
42  fCutSatisfied = 0;
43  fSignSatisfied = 0;
44  fSolved = 0;
45 
46  fRecPhi = 0.;
47  fRecR = 0.;
48  fRecR1 = 0.;
49  fRecR2 = 0.;
50  fRadiusE = 0.;
51  fRE = 0.;
52  fPhiE = 0.;
53 }
int fFixedNumberOfIterations
math::XYZVector fPV
math::XYZVector fHitv21
math::XYZVector fHitv22
math::XYZVector fHitv12
int fMaxNumberOfIterations
math::XYZVector fHitv11
bool Conv4HitsReco2::RegisterBadConverge ( int &  num)
inline

Definition at line 52 of file Conv4HitsReco2.h.

References fCutSatisfied.

52 { if (fCutSatisfied==1) return true; else {num+=1; return false;}};
bool Conv4HitsReco2::RegisterBadConverge ( )
inline

Definition at line 53 of file Conv4HitsReco2.h.

References fCutSatisfied.

53 { if (fCutSatisfied==1) return true; else return false;};
bool Conv4HitsReco2::RegisterBadSign ( int &  num)
inline

Definition at line 50 of file Conv4HitsReco2.h.

References fSignSatisfied.

50 { if (fSignSatisfied==1) return true; else {num+=1; return false;}};
bool Conv4HitsReco2::RegisterBadSign ( )
inline

Definition at line 51 of file Conv4HitsReco2.h.

References fSignSatisfied.

51 { if (fSignSatisfied==1) return true; else return false; };
bool Conv4HitsReco2::RegisterUnsolvable ( int &  num)
inline

Definition at line 48 of file Conv4HitsReco2.h.

References fSolved.

48 { if (fSolved==1) return true; else {num+=1; return false;}};
bool Conv4HitsReco2::RegisterUnsolvable ( )
inline

Definition at line 49 of file Conv4HitsReco2.h.

References fSolved.

49 { if (fSolved==1) return true; else return false; };
void Conv4HitsReco2::SetBField ( double  val)
inline

Definition at line 40 of file Conv4HitsReco2.h.

References fBField.

40 { fBField=val; };
void Conv4HitsReco2::SetFixedNumberOfIterations ( double  val)
inline

Definition at line 39 of file Conv4HitsReco2.h.

References fFixedNumberOfIterations.

int fFixedNumberOfIterations
void Conv4HitsReco2::SetMaxNumberOfIterations ( int  val)
inline
void Conv4HitsReco2::SetPhiECut ( double  val)
inline

Definition at line 37 of file Conv4HitsReco2.h.

References fPhiECut.

37 { fPhiECut=val; };
void Conv4HitsReco2::SetRadiusECut ( double  val)
inline

Definition at line 36 of file Conv4HitsReco2.h.

References fRadiusECut.

36 { fRadiusECut=val; };
void Conv4HitsReco2::SetRECut ( double  val)
inline

Definition at line 38 of file Conv4HitsReco2.h.

References fRECut.

38 { fRECut=val; };

Member Data Documentation

double Conv4HitsReco2::fBField
private

Definition at line 82 of file Conv4HitsReco2.h.

Referenced by ConversionCandidate(), Refresh(), and SetBField().

int Conv4HitsReco2::fCutSatisfied
private

Definition at line 68 of file Conv4HitsReco2.h.

Referenced by Dump(), Reconstruct(), Refresh(), and RegisterBadConverge().

int Conv4HitsReco2::fFixedNumberOfIterations
private

Definition at line 74 of file Conv4HitsReco2.h.

Referenced by Reconstruct(), Refresh(), and SetFixedNumberOfIterations().

math::XYZVector Conv4HitsReco2::fHitv11
private

Definition at line 59 of file Conv4HitsReco2.h.

Referenced by Reconstruct(), and Refresh().

math::XYZVector Conv4HitsReco2::fHitv12
private

Definition at line 59 of file Conv4HitsReco2.h.

Referenced by Reconstruct(), and Refresh().

math::XYZVector Conv4HitsReco2::fHitv21
private

Definition at line 59 of file Conv4HitsReco2.h.

Referenced by Reconstruct(), and Refresh().

math::XYZVector Conv4HitsReco2::fHitv22
private

Definition at line 59 of file Conv4HitsReco2.h.

Referenced by Reconstruct(), and Refresh().

int Conv4HitsReco2::fLoop
private

Definition at line 73 of file Conv4HitsReco2.h.

Referenced by ConversionCandidate(), GetLoop(), and Reconstruct().

int Conv4HitsReco2::fMaxNumberOfIterations
private

Definition at line 72 of file Conv4HitsReco2.h.

Referenced by Reconstruct(), Refresh(), and SetMaxNumberOfIterations().

double Conv4HitsReco2::fPhiE
private

Definition at line 80 of file Conv4HitsReco2.h.

Referenced by Reconstruct(), and Refresh().

double Conv4HitsReco2::fPhiECut
private

Definition at line 76 of file Conv4HitsReco2.h.

Referenced by Reconstruct(), Refresh(), and SetPhiECut().

math::XYZVector Conv4HitsReco2::fPV
private

Definition at line 60 of file Conv4HitsReco2.h.

Referenced by Reconstruct(), and Refresh().

double Conv4HitsReco2::fRadiusE
private

Definition at line 79 of file Conv4HitsReco2.h.

Referenced by Reconstruct(), and Refresh().

double Conv4HitsReco2::fRadiusECut
private

Definition at line 75 of file Conv4HitsReco2.h.

Referenced by Reconstruct(), Refresh(), and SetRadiusECut().

double Conv4HitsReco2::fRE
private

Definition at line 81 of file Conv4HitsReco2.h.

Referenced by Reconstruct(), and Refresh().

math::XYZVector Conv4HitsReco2::fRecC1
private

Definition at line 61 of file Conv4HitsReco2.h.

Referenced by GetPlusCenter(), and Reconstruct().

math::XYZVector Conv4HitsReco2::fRecC2
private

Definition at line 61 of file Conv4HitsReco2.h.

Referenced by GetMinusCenter(), and Reconstruct().

double Conv4HitsReco2::fRecPhi
private

Definition at line 63 of file Conv4HitsReco2.h.

Referenced by GetRecPhi(), Reconstruct(), and Refresh().

double Conv4HitsReco2::fRecR
private

Definition at line 64 of file Conv4HitsReco2.h.

Referenced by GetRecR(), Reconstruct(), and Refresh().

double Conv4HitsReco2::fRecR1
private

Definition at line 65 of file Conv4HitsReco2.h.

Referenced by ConversionCandidate(), GetPlusCenter(), GetRecR1(), Reconstruct(), and Refresh().

double Conv4HitsReco2::fRecR2
private

Definition at line 66 of file Conv4HitsReco2.h.

Referenced by ConversionCandidate(), GetMinusCenter(), GetRecR2(), Reconstruct(), and Refresh().

double Conv4HitsReco2::fRECut
private

Definition at line 77 of file Conv4HitsReco2.h.

Referenced by Reconstruct(), Refresh(), and SetRECut().

math::XYZVector Conv4HitsReco2::fRecV
private

Definition at line 61 of file Conv4HitsReco2.h.

Referenced by ConversionCandidate(), and Reconstruct().

int Conv4HitsReco2::fSignSatisfied
private

Definition at line 69 of file Conv4HitsReco2.h.

Referenced by Dump(), Reconstruct(), Refresh(), and RegisterBadSign().

int Conv4HitsReco2::fSolved
private

Definition at line 70 of file Conv4HitsReco2.h.

Referenced by Dump(), Reconstruct(), Refresh(), and RegisterUnsolvable().