RecoLocalTracker
SiPixelRecHits
interface
PixelCPEGeneric.h
Go to the documentation of this file.
1
#ifndef RecoLocalTracker_SiPixelRecHits_PixelCPEGeneric_H
2
#define RecoLocalTracker_SiPixelRecHits_PixelCPEGeneric_H
3
4
// \class PixelCPEGeneric -- a generalized CPE reco for the idealized detector
5
//
6
// The basic idea of this class is to use generic formulae in order
7
// to achieve clean and minimal code. It should work for
8
// - both normal and big pixels
9
// - both barrel and forward
10
// - both "FromDetPosition" and "FromTrackAngles" (i.e. by the track fit)
11
//
12
// This is possible since, in its nature, the original "ORCA" algorithm by
13
// Danek and Susana is the same in both X and Y directions, provided that
14
// one correctly computes angles alpha_ and beta_ up front. Thus, all
15
// geometrical and special corrections are dropped, since the presumption
16
// is that alpha_ and beta_ are determined as best as possible. That means
17
// that they either come from the track, or, if they come from the
18
// position of the DetUnit, they include all geometrical information
19
// possible for this DetUnit:
20
// - for both the barrel and the forward, we use the cluster position
21
// instead of the center of the module/plaquette
22
// - for the forward, the tilt of the blades is included too
23
//
24
// In addtion, anything which is special for the computation of the lorentz
25
// angle is done in setTheDet() method. So the algorithm per se does not
26
// need to worry about it. This includes extra E*B term (a.k.a. "alpha2Order")
27
// and extra tilt in the forward.
28
//
29
// Thus, the formula for the computation of the hit position is very
30
// simple, and is described in Morris's note (IN ???) on the generalizaton
31
// of the pixel algorithm.
32
33
#include "
RecoLocalTracker/SiPixelRecHits/interface/PixelCPEGenericBase.h
"
34
#include "
CalibTracker/SiPixelESProducers/interface/SiPixelCPEGenericDBErrorParametrization.h
"
35
36
// The template header files
37
//#include "RecoLocalTracker/SiPixelRecHits/interface/SiPixelTemplateReco.h"
38
#include "
CondFormats/SiPixelTransient/interface/SiPixelTemplate.h
"
39
#include "
CondFormats/SiPixelTransient/interface/SiPixelGenError.h
"
40
41
#include <utility>
42
#include <vector>
43
44
#if 0
45
49
#endif
50
51
class
MagneticField
;
52
class
PixelCPEGeneric
final :
public
PixelCPEGenericBase
{
53
public
:
54
PixelCPEGeneric
(
edm::ParameterSet
const
&conf,
55
const
MagneticField
*,
56
const
TrackerGeometry
&,
57
const
TrackerTopology
&,
58
const
SiPixelLorentzAngle
*,
59
const
SiPixelGenErrorDBObject
*,
60
const
SiPixelLorentzAngle
*);
61
62
~PixelCPEGeneric
()
override
=
default
;
63
64
static
void
fillPSetDescription
(
edm::ParameterSetDescription
&
desc
);
65
66
private
:
67
LocalPoint
localPosition
(
DetParam
const
&theDetParam,
ClusterParam
&theClusterParam)
const override
;
68
LocalError
localError
(
DetParam
const
&theDetParam,
ClusterParam
&theClusterParam)
const override
;
69
70
//--------------------------------------------------------------------
71
// Methods.
72
//------------------------------------------------------------------
73
74
//--- Errors squared in x and y. &&& Need to be revisited.
75
float
err2X
(
bool
&,
int
&)
const
;
76
float
err2Y
(
bool
&,
int
&)
const
;
77
78
//--- Cuts made externally settable
79
float
the_eff_charge_cut_lowX
;
80
float
the_eff_charge_cut_lowY
;
81
float
the_eff_charge_cut_highX
;
82
float
the_eff_charge_cut_highY
;
83
float
the_size_cutX
;
84
float
the_size_cutY
;
85
86
bool
inflate_errors
;
87
bool
inflate_all_errors_no_trk_angle
;
88
89
bool
DoCosmics_
;
90
bool
IrradiationBiasCorrection_
;
91
bool
isUpgrade_
;
92
bool
NoTemplateErrorsWhenNoTrkAngles_
;
93
94
//--- DB Error Parametrization object, new light templates
95
std::vector<SiPixelGenErrorStore>
thePixelGenError_
;
96
//SiPixelCPEGenericDBErrorParametrization * genErrorsFromDB_;
97
};
98
99
#endif
PixelCPEGeneric::localError
LocalError localError(DetParam const &theDetParam, ClusterParam &theClusterParam) const override
Definition:
PixelCPEGeneric.cc:353
PixelCPEBase::ClusterParam
Definition:
PixelCPEBase.h:69
SiPixelGenError.h
TrackerTopology
Definition:
TrackerTopology.h:16
SiPixelCPEGenericDBErrorParametrization.h
edm::ParameterSetDescription
Definition:
ParameterSetDescription.h:52
PixelCPEGeneric::DoCosmics_
bool DoCosmics_
Definition:
PixelCPEGeneric.h:89
PixelCPEGeneric::localPosition
LocalPoint localPosition(DetParam const &theDetParam, ClusterParam &theClusterParam) const override
Definition:
PixelCPEGeneric.cc:108
PixelCPEGeneric::thePixelGenError_
std::vector< SiPixelGenErrorStore > thePixelGenError_
Definition:
PixelCPEGeneric.h:95
PixelCPEGeneric::the_size_cutX
float the_size_cutX
Definition:
PixelCPEGeneric.h:83
SiPixelTemplate.h
PixelCPEGeneric::the_eff_charge_cut_lowX
float the_eff_charge_cut_lowX
Definition:
PixelCPEGeneric.h:79
PixelCPEGeneric::IrradiationBiasCorrection_
bool IrradiationBiasCorrection_
Definition:
PixelCPEGeneric.h:90
PixelCPEGeneric::the_size_cutY
float the_size_cutY
Definition:
PixelCPEGeneric.h:84
PixelCPEGeneric::NoTemplateErrorsWhenNoTrkAngles_
bool NoTemplateErrorsWhenNoTrkAngles_
Definition:
PixelCPEGeneric.h:92
PixelCPEGeneric
Definition:
PixelCPEGeneric.h:52
PixelCPEGeneric::the_eff_charge_cut_lowY
float the_eff_charge_cut_lowY
Definition:
PixelCPEGeneric.h:80
PixelCPEGeneric::err2Y
float err2Y(bool &, int &) const
SiPixelLorentzAngle
Definition:
SiPixelLorentzAngle.h:11
PixelCPEGeneric::PixelCPEGeneric
PixelCPEGeneric(edm::ParameterSet const &conf, const MagneticField *, const TrackerGeometry &, const TrackerTopology &, const SiPixelLorentzAngle *, const SiPixelGenErrorDBObject *, const SiPixelLorentzAngle *)
The constructor.
Definition:
PixelCPEGeneric.cc:30
Point3DBase< float, LocalTag >
PixelCPEGeneric::the_eff_charge_cut_highX
float the_eff_charge_cut_highX
Definition:
PixelCPEGeneric.h:81
edm::ParameterSet
Definition:
ParameterSet.h:47
LocalError
Definition:
LocalError.h:12
PixelCPEGenericBase.h
PixelCPEGeneric::the_eff_charge_cut_highY
float the_eff_charge_cut_highY
Definition:
PixelCPEGeneric.h:82
PixelCPEGeneric::err2X
float err2X(bool &, int &) const
PixelCPEGenericBase
Definition:
PixelCPEGenericBase.h:7
PixelCPEGeneric::~PixelCPEGeneric
~PixelCPEGeneric() override=default
PixelCPEBase::DetParam
Definition:
PixelCPEBase.h:45
submitPVResolutionJobs.desc
string desc
Definition:
submitPVResolutionJobs.py:251
PixelCPEGeneric::fillPSetDescription
static void fillPSetDescription(edm::ParameterSetDescription &desc)
Definition:
PixelCPEGeneric.cc:439
SiPixelGenErrorDBObject
Definition:
SiPixelGenErrorDBObject.h:16
MagneticField
Definition:
MagneticField.h:19
PixelCPEGeneric::inflate_errors
bool inflate_errors
Definition:
PixelCPEGeneric.h:86
PixelCPEGeneric::isUpgrade_
bool isUpgrade_
Definition:
PixelCPEGeneric.h:91
PixelCPEGeneric::inflate_all_errors_no_trk_angle
bool inflate_all_errors_no_trk_angle
Definition:
PixelCPEGeneric.h:87
TrackerGeometry
Definition:
TrackerGeometry.h:14
Generated for CMSSW Reference Manual by
1.8.16