CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
Conv4HitsReco2 Class Reference

#include <Conv4HitsReco2.h>

Public Member Functions

 Conv4HitsReco2 ()
 
 Conv4HitsReco2 (math::XYZVector &, math::XYZVector &, math::XYZVector &, math::XYZVector &, math::XYZVector &)
 
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 ()
 
bool RegisterBadConverge (int &num)
 
bool RegisterBadSign ()
 
bool RegisterBadSign (int &num)
 
bool RegisterUnsolvable ()
 
bool RegisterUnsolvable (int &num)
 
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() [1/2]

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.

17  {
18  Refresh(vPhotVertex, h1, h2, h3, h4);
19 }

References Refresh().

◆ Conv4HitsReco2() [2/2]

Conv4HitsReco2::Conv4HitsReco2 ( )

◆ ~Conv4HitsReco2()

Conv4HitsReco2::~Conv4HitsReco2 ( )

Definition at line 21 of file Conv4HitsReco2.cc.

21 {}

Member Function Documentation

◆ ConversionCandidate()

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

Definition at line 109 of file Conv4HitsReco2.cc.

109  {
110  Reconstruct();
111 
112  ptplus = fRecR2 * fBField * 0.01 * 0.3; // 2 - positron
113  ptminus = fRecR1 * fBField * 0.01 * 0.3; // 1 - electron
114  vtx = fRecV;
115  //std::cout << ".";
116  return fLoop;
117 }

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

Referenced by SeedForPhotonConversionFromQuadruplets::trajectorySeed().

◆ Dump()

void Conv4HitsReco2::Dump ( void  )

Definition at line 270 of file Conv4HitsReco2.cc.

270  {
271  std::cout << std::endl << "================================================" << std::endl;
272  std::cout << " Nothing happend here.";
273  if (fSolved == 1)
274  std::cout << "Solved.";
275  if (fCutSatisfied == 1)
276  std::cout << "Cut good.";
277  if (fSignSatisfied == 1)
278  std::cout << "Sign good.";
279 }

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

Referenced by SeedForPhotonConversionFromQuadruplets::trajectorySeed().

◆ GetLoop()

int Conv4HitsReco2::GetLoop ( )
inline

Definition at line 46 of file Conv4HitsReco2.h.

46 { return fLoop; };

References fLoop.

◆ GetMinusCenter()

math::XYZVector Conv4HitsReco2::GetMinusCenter ( double &  minusR)

Definition at line 285 of file Conv4HitsReco2.cc.

285  {
286  minusR = fRecR2;
287  return fRecC2;
288 }

References fRecC2, and fRecR2.

◆ GetPlusCenter()

math::XYZVector Conv4HitsReco2::GetPlusCenter ( double &  plusR)

Definition at line 281 of file Conv4HitsReco2.cc.

281  {
282  plusR = fRecR1;
283  return fRecC1;
284 }

References fRecC1, and fRecR1.

◆ GetRecPhi()

double Conv4HitsReco2::GetRecPhi ( )
inline

Definition at line 42 of file Conv4HitsReco2.h.

42 { return fRecPhi; };

References fRecPhi.

◆ GetRecR()

double Conv4HitsReco2::GetRecR ( )
inline

Definition at line 43 of file Conv4HitsReco2.h.

43 { return fRecR; };

References fRecR.

◆ GetRecR1()

double Conv4HitsReco2::GetRecR1 ( )
inline

Definition at line 44 of file Conv4HitsReco2.h.

44 { return fRecR1; };

References fRecR1.

◆ GetRecR2()

double Conv4HitsReco2::GetRecR2 ( )
inline

Definition at line 45 of file Conv4HitsReco2.h.

45 { return fRecR2; };

References fRecR2.

◆ LocalTransformation()

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 64 of file Conv4HitsReco2.cc.

72  {
73  double x11, x12, x21, x22, y11, y12, y21, y22;
74 
75  x11 = v11.X();
76  y11 = v11.Y();
77  x12 = v12.X();
78  y12 = v12.Y();
79  x21 = v21.X();
80  y21 = v21.Y();
81  x22 = v22.X();
82  y22 = v22.Y();
83 
84  double SINP = std::sin(NextPhi);
85  double COSP = std::cos(NextPhi);
86  double SignCOSP = 1.;
87  if (COSP < 0.)
88  SignCOSP = -1.;
89  double AbsCOSP = std::fabs(COSP);
90 
91  double X11 = -std::fabs(x11 * SINP * SignCOSP - y11 * AbsCOSP);
92  double Y11 = std::fabs(y11 * SINP * SignCOSP + x11 * AbsCOSP);
93 
94  double X21 = -std::fabs(x21 * SINP * SignCOSP - y21 * AbsCOSP);
95  double Y21 = std::fabs(y21 * SINP * SignCOSP + x21 * AbsCOSP);
96 
97  double X12 = std::fabs(x12 * SINP * SignCOSP - y12 * AbsCOSP);
98  double Y12 = std::fabs(y12 * SINP * SignCOSP + x12 * AbsCOSP);
99 
100  double X22 = std::fabs(x22 * SINP * SignCOSP - y22 * AbsCOSP);
101  double Y22 = std::fabs(y22 * SINP * SignCOSP + x22 * AbsCOSP);
102 
103  V11.SetXYZ(X11, Y11, 0.);
104  V12.SetXYZ(X12, Y12, 0.);
105  V21.SetXYZ(X21, Y21, 0.);
106  V22.SetXYZ(X22, Y22, 0.);
107 }

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

◆ Reconstruct()

void Conv4HitsReco2::Reconstruct ( )

Definition at line 119 of file Conv4HitsReco2.cc.

119  {
120  double x11, x12, x21, x22, y11, y12, y21, y22;
121  //double X11,X12,X21,X22,Y11,Y12,Y21,Y22;
122  x11 = fHitv11.X();
123  y11 = fHitv11.Y();
124  x12 = fHitv12.X();
125  y12 = fHitv12.Y();
126  x21 = fHitv21.X();
127  y21 = fHitv21.Y();
128  x22 = fHitv22.X();
129  y22 = fHitv22.Y();
130 
131  if (fFixedNumberOfIterations == 0)
133  else
135 
136  // Setting Phi1, Phi2 initial guess range, and first guess
137  double tempr1 = std::sqrt(y11 * y11 + x11 * x11);
138  double tempr2 = std::sqrt(y12 * y12 + x12 * x12);
139 
140  double Phi1 = 2.0 * std::atan(y11 / (x11 + tempr1));
141  double Phi2 = 2.0 * std::atan(y12 / (x12 + tempr2));
142 
143  if (Phi1 < Phi2)
144  Phi1 += 2.0 * 3.141592653; // stupid Atan correction
145 
146  fPhiE = std::fabs((Phi1 - Phi2)) / std::pow(2.0, fLoop + 1);
147 
148  double NextPhi = (Phi1 + Phi2) / 2.0; // first guess
149  double D1, D2 = 0.0;
150  double prevR1 = 0;
151  double prevR2 = 0;
152  double R1 = 0;
153  double R2 = 0;
154 
155  // Iterations
156  for (int i = 0; i < fLoop; i++) {
157  // LOCAL TRANFORMATION & EXTRACTION
158  double SINP = std::sin(NextPhi);
159  double COSP = std::cos(NextPhi);
160  double SignCOSP = 1.;
161  if (COSP < 0.)
162  SignCOSP = -1.;
163  double AbsCOSP = std::fabs(COSP);
164 
165  double X11 = -std::fabs(x11 * SINP * SignCOSP - y11 * AbsCOSP);
166  double Y11 = std::fabs(y11 * SINP * SignCOSP + x11 * AbsCOSP);
167 
168  double X21 = -std::fabs(x21 * SINP * SignCOSP - y21 * AbsCOSP);
169  double Y21 = std::fabs(y21 * SINP * SignCOSP + x21 * AbsCOSP);
170 
171  double X12 = std::fabs(x12 * SINP * SignCOSP - y12 * AbsCOSP);
172  double Y12 = std::fabs(y12 * SINP * SignCOSP + x12 * AbsCOSP);
173 
174  double X22 = std::fabs(x22 * SINP * SignCOSP - y22 * AbsCOSP);
175  double Y22 = std::fabs(y22 * SINP * SignCOSP + x22 * AbsCOSP);
176  // I'm not using LocalTransform() function because this direct way turns out to be faster
177 
178  // SOLVING EQUATIONS
179  double d1 = Y21 - Y11;
180  double d2 = Y22 - Y12;
181 
182  if (((X11 * X11 * d1 * d1 / (X21 - X11) / (X21 - X11) + X11 * X21 + X11 * d1 * d1 / (X21 - X11)) < 0) ||
183  ((X12 * X12 * d2 * d2 / (X22 - X12) / (X22 - X12) + X12 * X22 + X12 * d2 * d2 / (X22 - X12)) < 0)) {
184  fSolved = -1;
185  fLoop = i;
186  return;
187  } // No real root. Break out.
188 
189  else {
190  fSolved = 1;
191  D1 = X11 * d1 / (X21 - X11);
192  D1 = D1 + std::sqrt(X11 * X11 * d1 * d1 / (X21 - X11) / (X21 - X11) + X11 * X21 + X11 * d1 * d1 / (X21 - X11));
193  D2 = X12 * d2 / (X22 - X12);
194  D2 = D2 + std::sqrt(X12 * X12 * d2 * d2 / (X22 - X12) / (X22 - X12) + X12 * X22 + X12 * d2 * d2 / (X22 - X12));
195 
196  R1 = std::fabs((X11 + X21) / 2.0 + (D1 + d1 / 2.0) * d1 / (X21 - X11));
197  R2 = std::fabs((X12 + X22) / 2.0 + (D2 + d2 / 2.0) * d2 / (X22 - X12));
198 
199  if ((Y11 - D1) >= (Y12 - D2)) { // Moving RIGHT
200  Phi1 = NextPhi;
201  // Phi2 remains the same
202  NextPhi = (Phi1 + Phi2) / 2.0;
203  } else if ((Y11 - D1) < (Y12 - D2)) { // Moving LEFT
204  // Phi1 remains the same
205  Phi2 = NextPhi;
206  NextPhi = (Phi1 + Phi2) / 2.0;
207  }
208 
209  // CHECK STOP CONDITION
210  double tmpPhiE = std::fabs(Phi1 - Phi2);
211  double tmpRE = std::fabs((Y11 - D1) - (Y12 - D2));
212  double tmpRadiusE = (std::fabs(R1 - prevR1) + std::fabs(R2 - prevR2)) / 2.;
213 
214  // A. Cut threshold satisfied - STOP - record
215  if ((tmpPhiE <= fPhiECut) && (tmpRE <= fRECut) && (tmpRadiusE <= fRadiusECut) &&
216  (fFixedNumberOfIterations == 0)) {
217  fSolved = 1;
218  fCutSatisfied = 1;
219  fLoop = i + 1;
220  fPhiE = tmpPhiE;
221  fRE = tmpRE;
222  fRadiusE = tmpRadiusE;
223  fRecR1 = R1;
224  fRecR2 = R2;
225  fRecR = ((Y11 - D1) + (Y12 - D2)) / 2.0;
226  fRecPhi = NextPhi;
227  fRecV.SetX(fRecR * cos(fRecPhi));
228  fRecV.SetY(fRecR * sin(fRecPhi));
229  fRecC1.SetXYZ(fRecV.X() - fRecR1 * sin(fRecPhi), fRecV.Y() + fRecR1 * cos(fRecPhi), 0.);
230  fRecC2.SetXYZ(fRecV.X() + fRecR2 * sin(fRecPhi), fRecV.Y() - fRecR2 * cos(fRecPhi), 0.);
231  fRecV = fRecV + fPV;
232  fRecC1 = fRecC1 + fPV;
233  fRecC2 = fRecC2 + fPV;
234  fCutSatisfied = 1;
235  if ((R1 > 0) && (R2 > 0) && (D1 > 0) && (D2 > 0) && ((Y11 - D1) > 0) && ((Y12 - D2) > 0))
236  fSignSatisfied = 1;
237  else
238  fSignSatisfied = 0;
239  } else if (i == fLoop - 1) {
240  fSolved = 1;
241  fCutSatisfied = 1;
242  fLoop = i + 1;
243  fPhiE = tmpPhiE;
244  fRE = tmpRE;
245  fRadiusE = tmpRadiusE;
246  fRecR1 = R1;
247  fRecR2 = R2;
248  fRecR = ((Y11 - D1) + (Y12 - D2)) / 2.0;
249  fRecPhi = NextPhi;
250  fRecV.SetX(fRecR * cos(fRecPhi));
251  fRecV.SetY(fRecR * sin(fRecPhi));
252  fRecC1.SetXYZ(fRecV.X() - fRecR1 * sin(fRecPhi), fRecV.Y() + fRecR1 * cos(fRecPhi), 0.);
253  fRecC2.SetXYZ(fRecV.X() + fRecR2 * sin(fRecPhi), fRecV.Y() - fRecR2 * cos(fRecPhi), 0.);
254  fRecV = fRecV + fPV;
255  fRecC1 = fRecC1 + fPV;
256  fRecC2 = fRecC2 + fPV;
257  fCutSatisfied = 0;
258  if ((R1 > 0) && (R2 > 0) && (D1 > 0) && (D2 > 0) && ((Y11 - D1) > 0) && ((Y12 - D2) > 0))
259  fSignSatisfied = 1;
260  else
261  fSignSatisfied = 0;
262  }
263  // B. Cut threshold NOT satisfied - prepare for next loop
264  prevR1 = R1;
265  prevR2 = R2;
266  }
267  }
268 }

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

Referenced by ConversionCandidate().

◆ Refresh()

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.

25  {
26  // Fix 2D plane, make primary vertex the original point
27  fPV = vPhotVertex;
28  fPV.SetZ(0.);
29  fHitv11 = h3;
30  fHitv11.SetZ(0.);
31  fHitv11 = fHitv11 - fPV;
32  fHitv21 = h4;
33  fHitv21.SetZ(0.);
34  fHitv21 = fHitv21 - fPV;
35  fHitv12 = h2;
36  fHitv12.SetZ(0.);
37  fHitv12 = fHitv12 - fPV;
38  fHitv22 = h1;
39  fHitv22.SetZ(0.);
40  fHitv22 = fHitv22 - fPV;
41 
42  // DEFAULT setup
45  fRadiusECut = 10.0; //cm
46  fPhiECut = 0.03; //rad
47  fRECut = 0.5; //cm
48  fBField = 3.8; //T
49 
50  // TRIVIAL initialization
51  fCutSatisfied = 0;
52  fSignSatisfied = 0;
53  fSolved = 0;
54 
55  fRecPhi = 0.;
56  fRecR = 0.;
57  fRecR1 = 0.;
58  fRecR2 = 0.;
59  fRadiusE = 0.;
60  fRE = 0.;
61  fPhiE = 0.;
62 }

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().

◆ RegisterBadConverge() [1/2]

bool Conv4HitsReco2::RegisterBadConverge ( )
inline

Definition at line 84 of file Conv4HitsReco2.h.

84  {
85  if (fCutSatisfied == 1)
86  return true;
87  else
88  return false;
89  };

References fCutSatisfied.

◆ RegisterBadConverge() [2/2]

bool Conv4HitsReco2::RegisterBadConverge ( int &  num)
inline

Definition at line 76 of file Conv4HitsReco2.h.

76  {
77  if (fCutSatisfied == 1)
78  return true;
79  else {
80  num += 1;
81  return false;
82  }
83  };

References fCutSatisfied, and EgammaValidation_cff::num.

◆ RegisterBadSign() [1/2]

bool Conv4HitsReco2::RegisterBadSign ( )
inline

Definition at line 70 of file Conv4HitsReco2.h.

70  {
71  if (fSignSatisfied == 1)
72  return true;
73  else
74  return false;
75  };

References fSignSatisfied.

◆ RegisterBadSign() [2/2]

bool Conv4HitsReco2::RegisterBadSign ( int &  num)
inline

Definition at line 62 of file Conv4HitsReco2.h.

62  {
63  if (fSignSatisfied == 1)
64  return true;
65  else {
66  num += 1;
67  return false;
68  }
69  };

References fSignSatisfied, and EgammaValidation_cff::num.

◆ RegisterUnsolvable() [1/2]

bool Conv4HitsReco2::RegisterUnsolvable ( )
inline

Definition at line 56 of file Conv4HitsReco2.h.

56  {
57  if (fSolved == 1)
58  return true;
59  else
60  return false;
61  };

References fSolved.

◆ RegisterUnsolvable() [2/2]

bool Conv4HitsReco2::RegisterUnsolvable ( int &  num)
inline

Definition at line 48 of file Conv4HitsReco2.h.

48  {
49  if (fSolved == 1)
50  return true;
51  else {
52  num += 1;
53  return false;
54  }
55  };

References fSolved, and EgammaValidation_cff::num.

◆ SetBField()

void Conv4HitsReco2::SetBField ( double  val)
inline

Definition at line 40 of file Conv4HitsReco2.h.

40 { fBField = val; };

References fBField, and heppy_batch::val.

◆ SetFixedNumberOfIterations()

void Conv4HitsReco2::SetFixedNumberOfIterations ( double  val)
inline

Definition at line 39 of file Conv4HitsReco2.h.

References fFixedNumberOfIterations, and heppy_batch::val.

◆ SetMaxNumberOfIterations()

void Conv4HitsReco2::SetMaxNumberOfIterations ( int  val)
inline

◆ SetPhiECut()

void Conv4HitsReco2::SetPhiECut ( double  val)
inline

Definition at line 37 of file Conv4HitsReco2.h.

37 { fPhiECut = val; };

References fPhiECut, and heppy_batch::val.

◆ SetRadiusECut()

void Conv4HitsReco2::SetRadiusECut ( double  val)
inline

Definition at line 36 of file Conv4HitsReco2.h.

36 { fRadiusECut = val; };

References fRadiusECut, and heppy_batch::val.

◆ SetRECut()

void Conv4HitsReco2::SetRECut ( double  val)
inline

Definition at line 38 of file Conv4HitsReco2.h.

38 { fRECut = val; };

References fRECut, and heppy_batch::val.

Member Data Documentation

◆ fBField

double Conv4HitsReco2::fBField
private

Definition at line 124 of file Conv4HitsReco2.h.

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

◆ fCutSatisfied

int Conv4HitsReco2::fCutSatisfied
private

Definition at line 110 of file Conv4HitsReco2.h.

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

◆ fFixedNumberOfIterations

int Conv4HitsReco2::fFixedNumberOfIterations
private

Definition at line 116 of file Conv4HitsReco2.h.

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

◆ fHitv11

math::XYZVector Conv4HitsReco2::fHitv11
private

Definition at line 101 of file Conv4HitsReco2.h.

Referenced by Reconstruct(), and Refresh().

◆ fHitv12

math::XYZVector Conv4HitsReco2::fHitv12
private

Definition at line 101 of file Conv4HitsReco2.h.

Referenced by Reconstruct(), and Refresh().

◆ fHitv21

math::XYZVector Conv4HitsReco2::fHitv21
private

Definition at line 101 of file Conv4HitsReco2.h.

Referenced by Reconstruct(), and Refresh().

◆ fHitv22

math::XYZVector Conv4HitsReco2::fHitv22
private

Definition at line 101 of file Conv4HitsReco2.h.

Referenced by Reconstruct(), and Refresh().

◆ fLoop

int Conv4HitsReco2::fLoop
private

Definition at line 115 of file Conv4HitsReco2.h.

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

◆ fMaxNumberOfIterations

int Conv4HitsReco2::fMaxNumberOfIterations
private

Definition at line 114 of file Conv4HitsReco2.h.

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

◆ fPhiE

double Conv4HitsReco2::fPhiE
private

Definition at line 122 of file Conv4HitsReco2.h.

Referenced by Reconstruct(), and Refresh().

◆ fPhiECut

double Conv4HitsReco2::fPhiECut
private

Definition at line 118 of file Conv4HitsReco2.h.

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

◆ fPV

math::XYZVector Conv4HitsReco2::fPV
private

Definition at line 102 of file Conv4HitsReco2.h.

Referenced by Reconstruct(), and Refresh().

◆ fRadiusE

double Conv4HitsReco2::fRadiusE
private

Definition at line 121 of file Conv4HitsReco2.h.

Referenced by Reconstruct(), and Refresh().

◆ fRadiusECut

double Conv4HitsReco2::fRadiusECut
private

Definition at line 117 of file Conv4HitsReco2.h.

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

◆ fRE

double Conv4HitsReco2::fRE
private

Definition at line 123 of file Conv4HitsReco2.h.

Referenced by Reconstruct(), and Refresh().

◆ fRecC1

math::XYZVector Conv4HitsReco2::fRecC1
private

Definition at line 103 of file Conv4HitsReco2.h.

Referenced by GetPlusCenter(), and Reconstruct().

◆ fRecC2

math::XYZVector Conv4HitsReco2::fRecC2
private

Definition at line 103 of file Conv4HitsReco2.h.

Referenced by GetMinusCenter(), and Reconstruct().

◆ fRecPhi

double Conv4HitsReco2::fRecPhi
private

Definition at line 105 of file Conv4HitsReco2.h.

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

◆ fRecR

double Conv4HitsReco2::fRecR
private

Definition at line 106 of file Conv4HitsReco2.h.

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

◆ fRecR1

double Conv4HitsReco2::fRecR1
private

Definition at line 107 of file Conv4HitsReco2.h.

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

◆ fRecR2

double Conv4HitsReco2::fRecR2
private

Definition at line 108 of file Conv4HitsReco2.h.

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

◆ fRECut

double Conv4HitsReco2::fRECut
private

Definition at line 119 of file Conv4HitsReco2.h.

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

◆ fRecV

math::XYZVector Conv4HitsReco2::fRecV
private

Definition at line 103 of file Conv4HitsReco2.h.

Referenced by ConversionCandidate(), and Reconstruct().

◆ fSignSatisfied

int Conv4HitsReco2::fSignSatisfied
private

Definition at line 111 of file Conv4HitsReco2.h.

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

◆ fSolved

int Conv4HitsReco2::fSolved
private

Definition at line 112 of file Conv4HitsReco2.h.

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

Conv4HitsReco2::fHitv11
math::XYZVector fHitv11
Definition: Conv4HitsReco2.h:101
funct::D1
Divides< A, C > D1
Definition: Factorize.h:136
mps_fire.i
i
Definition: mps_fire.py:428
Conv4HitsReco2::fLoop
int fLoop
Definition: Conv4HitsReco2.h:115
Conv4HitsReco2::fFixedNumberOfIterations
int fFixedNumberOfIterations
Definition: Conv4HitsReco2.h:116
funct::D2
Divides< B, C > D2
Definition: Factorize.h:137
Conv4HitsReco2::fMaxNumberOfIterations
int fMaxNumberOfIterations
Definition: Conv4HitsReco2.h:114
Conv4HitsReco2::fRECut
double fRECut
Definition: Conv4HitsReco2.h:119
gather_cfg.cout
cout
Definition: gather_cfg.py:144
Conv4HitsReco2::fRecR
double fRecR
Definition: Conv4HitsReco2.h:106
Conv4HitsReco2::fRecR2
double fRecR2
Definition: Conv4HitsReco2.h:108
Conv4HitsReco2::Refresh
void Refresh(math::XYZVector &vPhotVertex, math::XYZVector &h1, math::XYZVector &h2, math::XYZVector &h3, math::XYZVector &h4)
Definition: Conv4HitsReco2.cc:24
Conv4HitsReco2::fPhiE
double fPhiE
Definition: Conv4HitsReco2.h:122
funct::sin
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
Conv4HitsReco2::fCutSatisfied
int fCutSatisfied
Definition: Conv4HitsReco2.h:110
funct::cos
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
Conv4HitsReco2::fRecV
math::XYZVector fRecV
Definition: Conv4HitsReco2.h:103
Conv4HitsReco2::fSolved
int fSolved
Definition: Conv4HitsReco2.h:112
Conv4HitsReco2::fHitv22
math::XYZVector fHitv22
Definition: Conv4HitsReco2.h:101
Conv4HitsReco2::fRecR1
double fRecR1
Definition: Conv4HitsReco2.h:107
Conv4HitsReco2::fRadiusECut
double fRadiusECut
Definition: Conv4HitsReco2.h:117
Conv4HitsReco2::fRadiusE
double fRadiusE
Definition: Conv4HitsReco2.h:121
Conv4HitsReco2::fRecPhi
double fRecPhi
Definition: Conv4HitsReco2.h:105
Conv4HitsReco2::Reconstruct
void Reconstruct()
Definition: Conv4HitsReco2.cc:119
EgammaValidation_cff.num
num
Definition: EgammaValidation_cff.py:34
Conv4HitsReco2::fHitv21
math::XYZVector fHitv21
Definition: Conv4HitsReco2.h:101
Conv4HitsReco2::fHitv12
math::XYZVector fHitv12
Definition: Conv4HitsReco2.h:101
heppy_batch.val
val
Definition: heppy_batch.py:351
extraflags_cff.vtx
vtx
Definition: extraflags_cff.py:18
Conv4HitsReco2::fPV
math::XYZVector fPV
Definition: Conv4HitsReco2.h:102
Conv4HitsReco2::fSignSatisfied
int fSignSatisfied
Definition: Conv4HitsReco2.h:111
Conv4HitsReco2::fRecC2
math::XYZVector fRecC2
Definition: Conv4HitsReco2.h:103
funct::pow
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:29
Conv4HitsReco2::fRE
double fRE
Definition: Conv4HitsReco2.h:123
d1
static constexpr float d1
Definition: L1EGammaCrystalsEmulatorProducer.cc:84
Conv4HitsReco2::fRecC1
math::XYZVector fRecC1
Definition: Conv4HitsReco2.h:103
Conv4HitsReco2::fBField
double fBField
Definition: Conv4HitsReco2.h:124
Conv4HitsReco2::fPhiECut
double fPhiECut
Definition: Conv4HitsReco2.h:118