Main Page
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
o
p
q
r
s
t
u
v
w
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Properties
_
a
d
e
f
l
m
o
p
s
t
u
v
Related Functions
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Package Documentation
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
RecoTracker
ConversionSeedGenerators
plugins
Conv4HitsReco2.h
Go to the documentation of this file.
1
//
2
// Simple photon conversion seeding class (inc)
3
//
4
// Author: E Song
5
//
6
// Version: 1; 6 Aug 2012
7
//
8
9
#ifndef Conv4HitsReco2_h
10
#define Conv4HitsReco2_h
11
12
#include <iostream>
13
#include <iomanip>
14
#include <cmath>
15
#include "
DataFormats/Math/interface/Vector3D.h
"
16
#include "
DataFormats/Math/interface/Point3D.h
"
17
18
class
Conv4HitsReco2
{
19
public
:
20
Conv4HitsReco2
(
math::XYZVector
&,
math::XYZVector
&,
math::XYZVector
&,
math::XYZVector
&,
math::XYZVector
&);
21
Conv4HitsReco2
();
22
~Conv4HitsReco2
();
23
24
// Main publics
25
int
ConversionCandidate
(
math::XYZVector
&,
double
&,
double
&);
26
void
Reconstruct
();
// Not directly called when in use
27
void
Dump
();
28
void
Refresh
(
29
math::XYZVector
&vPhotVertex,
math::XYZVector
&h1,
math::XYZVector
&h2,
math::XYZVector
&h3,
math::XYZVector
&h4);
30
31
math::XYZVector
GetPlusCenter
(
double
&);
32
math::XYZVector
GetMinusCenter
(
double
&);
33
34
// Optional publics
35
void
SetMaxNumberOfIterations
(
int
val
) {
fMaxNumberOfIterations
=
val
; };
36
void
SetRadiusECut
(
double
val
) {
fRadiusECut
=
val
; };
37
void
SetPhiECut
(
double
val
) {
fPhiECut
=
val
; };
38
void
SetRECut
(
double
val
) {
fRECut
=
val
; };
39
void
SetFixedNumberOfIterations
(
double
val
) {
fFixedNumberOfIterations
=
val
; };
40
void
SetBField
(
double
val
) {
fBField
=
val
; };
41
42
double
GetRecPhi
() {
return
fRecPhi
; };
43
double
GetRecR
() {
return
fRecR
; };
44
double
GetRecR1
() {
return
fRecR1
; };
45
double
GetRecR2
() {
return
fRecR2
; };
46
int
GetLoop
() {
return
fLoop
; };
47
48
bool
RegisterUnsolvable
(
int
&
num
) {
49
if
(
fSolved
== 1)
50
return
true
;
51
else
{
52
num
+= 1;
53
return
false
;
54
}
55
};
56
bool
RegisterUnsolvable
() {
57
if
(
fSolved
== 1)
58
return
true
;
59
else
60
return
false
;
61
};
62
bool
RegisterBadSign
(
int
&
num
) {
63
if
(
fSignSatisfied
== 1)
64
return
true
;
65
else
{
66
num
+= 1;
67
return
false
;
68
}
69
};
70
bool
RegisterBadSign
() {
71
if
(
fSignSatisfied
== 1)
72
return
true
;
73
else
74
return
false
;
75
};
76
bool
RegisterBadConverge
(
int
&
num
) {
77
if
(
fCutSatisfied
== 1)
78
return
true
;
79
else
{
80
num
+= 1;
81
return
false
;
82
}
83
};
84
bool
RegisterBadConverge
() {
85
if
(
fCutSatisfied
== 1)
86
return
true
;
87
else
88
return
false
;
89
};
90
91
private
:
92
void
LocalTransformation
(
const
math::XYZVector
&v11,
93
const
math::XYZVector
&v12,
94
const
math::XYZVector
&v21,
95
const
math::XYZVector
&v22,
96
math::XYZVector
&V11,
97
math::XYZVector
&V12,
98
math::XYZVector
&V21,
99
math::XYZVector
&V22,
100
double
Phi
);
101
math::XYZVector
fHitv11
,
fHitv12
,
fHitv21
,
fHitv22
;
102
math::XYZVector
fPV
;
103
math::XYZVector
fRecV
,
fRecC1
,
fRecC2
;
104
105
double
fRecPhi
;
106
double
fRecR
;
107
double
fRecR1
;
108
double
fRecR2
;
// original input coordinates in cm,
109
110
int
fCutSatisfied
;
// Target cut met within iters?
111
int
fSignSatisfied
;
// All values positive?
112
int
fSolved
;
// No break due to /0 or no real root?
113
114
int
fMaxNumberOfIterations
;
115
int
fLoop
;
// The number of loops actually performed
116
int
fFixedNumberOfIterations
;
// Default 0: use cuts. If > 0, employ fixed loop.
117
double
fRadiusECut
;
118
double
fPhiECut
;
119
double
fRECut
;
// Note that these cuts are NOT independent.
120
121
double
fRadiusE
;
122
double
fPhiE
;
123
double
fRE
;
124
double
fBField
;
// tesla
125
};
126
127
#endif
Conv4HitsReco2::fHitv11
math::XYZVector fHitv11
Definition:
Conv4HitsReco2.h:101
Conv4HitsReco2::SetRECut
void SetRECut(double val)
Definition:
Conv4HitsReco2.h:38
Conv4HitsReco2::GetRecPhi
double GetRecPhi()
Definition:
Conv4HitsReco2.h:42
Conv4HitsReco2::fLoop
int fLoop
Definition:
Conv4HitsReco2.h:115
Conv4HitsReco2::fFixedNumberOfIterations
int fFixedNumberOfIterations
Definition:
Conv4HitsReco2.h:116
Conv4HitsReco2::RegisterUnsolvable
bool RegisterUnsolvable()
Definition:
Conv4HitsReco2.h:56
Conv4HitsReco2::fMaxNumberOfIterations
int fMaxNumberOfIterations
Definition:
Conv4HitsReco2.h:114
Conv4HitsReco2::Dump
void Dump()
Definition:
Conv4HitsReco2.cc:270
Conv4HitsReco2::fRECut
double fRECut
Definition:
Conv4HitsReco2.h:119
Conv4HitsReco2::GetRecR1
double GetRecR1()
Definition:
Conv4HitsReco2.h:44
Conv4HitsReco2::GetMinusCenter
math::XYZVector GetMinusCenter(double &)
Definition:
Conv4HitsReco2.cc:285
Conv4HitsReco2::~Conv4HitsReco2
~Conv4HitsReco2()
Definition:
Conv4HitsReco2.cc:21
Conv4HitsReco2::SetMaxNumberOfIterations
void SetMaxNumberOfIterations(int val)
Definition:
Conv4HitsReco2.h:35
Conv4HitsReco2::fRecR
double fRecR
Definition:
Conv4HitsReco2.h:106
Conv4HitsReco2::RegisterBadSign
bool RegisterBadSign(int &num)
Definition:
Conv4HitsReco2.h:62
Conv4HitsReco2::SetFixedNumberOfIterations
void SetFixedNumberOfIterations(double val)
Definition:
Conv4HitsReco2.h:39
Conv4HitsReco2::fRecR2
double fRecR2
Definition:
Conv4HitsReco2.h:108
Conv4HitsReco2::SetPhiECut
void SetPhiECut(double val)
Definition:
Conv4HitsReco2.h:37
Conv4HitsReco2::Refresh
void Refresh(math::XYZVector &vPhotVertex, math::XYZVector &h1, math::XYZVector &h2, math::XYZVector &h3, math::XYZVector &h4)
Definition:
Conv4HitsReco2.cc:24
Conv4HitsReco2::GetPlusCenter
math::XYZVector GetPlusCenter(double &)
Definition:
Conv4HitsReco2.cc:281
Conv4HitsReco2::fPhiE
double fPhiE
Definition:
Conv4HitsReco2.h:122
Conv4HitsReco2::fCutSatisfied
int fCutSatisfied
Definition:
Conv4HitsReco2.h:110
Conv4HitsReco2::GetRecR2
double GetRecR2()
Definition:
Conv4HitsReco2.h:45
Conv4HitsReco2
Definition:
Conv4HitsReco2.h:18
Conv4HitsReco2::fRecV
math::XYZVector fRecV
Definition:
Conv4HitsReco2.h:103
Conv4HitsReco2::SetRadiusECut
void SetRadiusECut(double val)
Definition:
Conv4HitsReco2.h:36
Conv4HitsReco2::GetRecR
double GetRecR()
Definition:
Conv4HitsReco2.h:43
VtxSmearedParameters_cfi.Phi
Phi
Definition:
VtxSmearedParameters_cfi.py:112
Conv4HitsReco2::RegisterBadConverge
bool RegisterBadConverge()
Definition:
Conv4HitsReco2.h:84
Conv4HitsReco2::fSolved
int fSolved
Definition:
Conv4HitsReco2.h:112
Conv4HitsReco2::Conv4HitsReco2
Conv4HitsReco2()
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
math::XYZVector
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition:
Vector3D.h:31
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::RegisterUnsolvable
bool RegisterUnsolvable(int &num)
Definition:
Conv4HitsReco2.h:48
Conv4HitsReco2::fHitv12
math::XYZVector fHitv12
Definition:
Conv4HitsReco2.h:101
heppy_batch.val
val
Definition:
heppy_batch.py:351
Conv4HitsReco2::fPV
math::XYZVector fPV
Definition:
Conv4HitsReco2.h:102
Conv4HitsReco2::ConversionCandidate
int ConversionCandidate(math::XYZVector &, double &, double &)
Definition:
Conv4HitsReco2.cc:109
Point3D.h
Conv4HitsReco2::fSignSatisfied
int fSignSatisfied
Definition:
Conv4HitsReco2.h:111
Conv4HitsReco2::fRecC2
math::XYZVector fRecC2
Definition:
Conv4HitsReco2.h:103
Conv4HitsReco2::RegisterBadSign
bool RegisterBadSign()
Definition:
Conv4HitsReco2.h:70
Conv4HitsReco2::LocalTransformation
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)
Definition:
Conv4HitsReco2.cc:64
Conv4HitsReco2::RegisterBadConverge
bool RegisterBadConverge(int &num)
Definition:
Conv4HitsReco2.h:76
Conv4HitsReco2::fRE
double fRE
Definition:
Conv4HitsReco2.h:123
Vector3D.h
Conv4HitsReco2::SetBField
void SetBField(double val)
Definition:
Conv4HitsReco2.h:40
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
Conv4HitsReco2::GetLoop
int GetLoop()
Definition:
Conv4HitsReco2.h:46
Generated for CMSSW Reference Manual by
1.8.16