RecoLocalTracker
SiPixelClusterizer
plugins
PixelClusterizerBase.h
Go to the documentation of this file.
1
#ifndef RecoLocalTracker_SiPixelClusterizer_PixelClusterizerBase_H
2
#define RecoLocalTracker_SiPixelClusterizer_PixelClusterizerBase_H
3
4
#include "
DataFormats/Common/interface/DetSetVector.h
"
5
#include "
DataFormats/Common/interface/DetSetVectorNew.h
"
6
#include "
DataFormats/SiPixelCluster/interface/SiPixelCluster.h
"
7
#include "
DataFormats/SiPixelDigi/interface/PixelDigi.h
"
8
#include "
DataFormats/TrackerCommon/interface/TrackerTopology.h
"
9
#include "
CalibTracker/SiPixelESProducers/interface/SiPixelGainCalibrationServiceBase.h
"
10
#include <vector>
11
12
class
PixelGeomDetUnit
;
13
17
class
PixelClusterizerBase
{
18
public
:
19
typedef
edm::DetSet<PixelDigi>::const_iterator
DigiIterator
;
20
typedef
edmNew::DetSet<SiPixelCluster>::const_iterator
ClusterIterator
;
21
22
struct
AccretionCluster
{
23
typedef
unsigned
short
UShort
;
24
static
constexpr
UShort
MAXSIZE
= 256;
25
UShort
adc
[
MAXSIZE
];
26
UShort
x
[
MAXSIZE
];
27
UShort
y
[
MAXSIZE
];
28
UShort
xmin
= 16000;
29
UShort
ymin
= 16000;
30
unsigned
int
isize
= 0;
31
unsigned
int
curr
= 0;
32
33
// stack interface (unsafe ok for use below)
34
UShort
top
()
const
{
return
curr
; }
35
void
pop
() { ++
curr
; }
36
bool
empty
() {
return
curr
==
isize
; }
37
38
bool
add
(
SiPixelCluster::PixelPos
const
&
p
,
UShort
const
iadc) {
39
if
(
isize
==
MAXSIZE
)
40
return
false
;
41
xmin
=
std::min
(
xmin
, (
unsigned
short
)(
p
.row()));
42
ymin
=
std::min
(
ymin
, (
unsigned
short
)(
p
.col()));
43
adc
[
isize
] = iadc;
44
x
[
isize
] =
p
.row();
45
y
[
isize
++] =
p
.col();
46
return
true
;
47
}
48
};
49
50
// Virtual destructor, this is a base class.
51
virtual
~PixelClusterizerBase
() {}
52
53
// Build clusters in a DetUnit. Both digi and cluster stored in a DetSet
54
55
virtual
void
clusterizeDetUnit
(
const
edm::DetSet<PixelDigi>
&
input
,
56
const
PixelGeomDetUnit
* pixDet,
57
const
TrackerTopology
* tTopo,
58
const
std::vector<short>& badChannels,
59
edmNew::DetSetVector<SiPixelCluster>::FastFiller
&
output
) = 0;
60
61
virtual
void
clusterizeDetUnit
(
const
edmNew::DetSet<SiPixelCluster>
&
input
,
62
const
PixelGeomDetUnit
* pixDet,
63
const
TrackerTopology
* tTopo,
64
const
std::vector<short>& badChannels,
65
edmNew::DetSetVector<SiPixelCluster>::FastFiller
&
output
) = 0;
66
67
// Configure gain calibration service
68
void
setSiPixelGainCalibrationService
(
SiPixelGainCalibrationServiceBase
*
in
) {
69
theSiPixelGainCalibrationService_
=
in
;
70
}
71
72
protected
:
73
SiPixelGainCalibrationServiceBase
*
theSiPixelGainCalibrationService_
;
74
};
75
76
#endif
PixelClusterizerBase::AccretionCluster::MAXSIZE
static constexpr UShort MAXSIZE
Definition:
PixelClusterizerBase.h:24
PixelClusterizerBase::DigiIterator
edm::DetSet< PixelDigi >::const_iterator DigiIterator
Definition:
PixelClusterizerBase.h:19
input
static const std::string input
Definition:
EdmProvDump.cc:48
PixelClusterizerBase::ClusterIterator
edmNew::DetSet< SiPixelCluster >::const_iterator ClusterIterator
Definition:
PixelClusterizerBase.h:20
PixelClusterizerBase::AccretionCluster::isize
unsigned int isize
Definition:
PixelClusterizerBase.h:30
PixelClusterizerBase::AccretionCluster::xmin
UShort xmin
Definition:
PixelClusterizerBase.h:28
edm::DetSet
Definition:
DetSet.h:23
convertSQLitetoXML_cfg.output
output
Definition:
convertSQLitetoXML_cfg.py:72
min
T min(T a, T b)
Definition:
MathUtil.h:58
TrackerTopology
Definition:
TrackerTopology.h:16
AlCaHLTBitMon_ParallelJobs.p
p
Definition:
AlCaHLTBitMon_ParallelJobs.py:153
SiPixelCluster.h
PixelClusterizerBase::theSiPixelGainCalibrationService_
SiPixelGainCalibrationServiceBase * theSiPixelGainCalibrationService_
Definition:
PixelClusterizerBase.h:73
PixelDigi.h
PixelClusterizerBase::AccretionCluster::top
UShort top() const
Definition:
PixelClusterizerBase.h:34
PixelClusterizerBase::clusterizeDetUnit
virtual void clusterizeDetUnit(const edm::DetSet< PixelDigi > &input, const PixelGeomDetUnit *pixDet, const TrackerTopology *tTopo, const std::vector< short > &badChannels, edmNew::DetSetVector< SiPixelCluster >::FastFiller &output)=0
TrackerTopology.h
PixelClusterizerBase::setSiPixelGainCalibrationService
void setSiPixelGainCalibrationService(SiPixelGainCalibrationServiceBase *in)
Definition:
PixelClusterizerBase.h:68
PixelGeomDetUnit
Definition:
PixelGeomDetUnit.h:15
edmNew::DetSet
Definition:
DetSetNew.h:22
PixelClusterizerBase::AccretionCluster::pop
void pop()
Definition:
PixelClusterizerBase.h:35
PixelClusterizerBase
Definition:
PixelClusterizerBase.h:17
PixelClusterizerBase::AccretionCluster::adc
UShort adc[MAXSIZE]
Definition:
PixelClusterizerBase.h:25
PixelClusterizerBase::AccretionCluster::curr
unsigned int curr
Definition:
PixelClusterizerBase.h:31
SiPixelGainCalibrationServiceBase
Definition:
SiPixelGainCalibrationServiceBase.h:29
PixelClusterizerBase::AccretionCluster
Definition:
PixelClusterizerBase.h:22
recoMuon::in
Definition:
RecoMuonEnumerators.h:6
PixelClusterizerBase::AccretionCluster::empty
bool empty()
Definition:
PixelClusterizerBase.h:36
PixelClusterizerBase::AccretionCluster::x
UShort x[MAXSIZE]
Definition:
PixelClusterizerBase.h:26
PixelClusterizerBase::AccretionCluster::add
bool add(SiPixelCluster::PixelPos const &p, UShort const iadc)
Definition:
PixelClusterizerBase.h:38
DetSetVector.h
SiPixelGainCalibrationServiceBase.h
PixelClusterizerBase::AccretionCluster::ymin
UShort ymin
Definition:
PixelClusterizerBase.h:29
PixelClusterizerBase::AccretionCluster::UShort
unsigned short UShort
Definition:
PixelClusterizerBase.h:23
PixelClusterizerBase::~PixelClusterizerBase
virtual ~PixelClusterizerBase()
Definition:
PixelClusterizerBase.h:51
edmNew::DetSetVector::FastFiller
Definition:
DetSetVectorNew.h:202
SiPixelCluster::PixelPos
Definition:
SiPixelCluster.h:52
DetSetVectorNew.h
edmNew::DetSet::const_iterator
const data_type * const_iterator
Definition:
DetSetNew.h:31
edm::DetSet::const_iterator
collection_type::const_iterator const_iterator
Definition:
DetSet.h:31
PixelClusterizerBase::AccretionCluster::y
UShort y[MAXSIZE]
Definition:
PixelClusterizerBase.h:27
Generated for CMSSW Reference Manual by
1.8.16