L1Trigger
TrackFindingTracklet
src
TrackletProjectionsMemory.cc
Go to the documentation of this file.
1
#include "
L1Trigger/TrackFindingTracklet/interface/TrackletProjectionsMemory.h
"
2
#include "
L1Trigger/TrackFindingTracklet/interface/Tracklet.h
"
3
#include <iomanip>
4
#include "
FWCore/MessageLogger/interface/MessageLogger.h
"
5
6
using namespace
std
;
7
using namespace
trklet
;
8
9
TrackletProjectionsMemory::TrackletProjectionsMemory(
string
name
,
Settings
const
& settings,
unsigned
int
iSector)
10
:
MemoryBase
(
name
, settings, iSector) {
11
size_t
pos
=
find_nth
(
name
, 0,
"_"
, 1);
12
assert
(
pos
!= string::npos);
13
initLayerDisk
(
pos
+ 1,
layer_
,
disk_
);
14
}
15
16
void
TrackletProjectionsMemory::addProj
(
Tracklet
* tracklet) {
17
if
(
layer_
!= 0 &&
disk_
== 0)
18
assert
(tracklet->
validProj
(
layer_
));
19
if
(
layer_
== 0 &&
disk_
!= 0)
20
assert
(tracklet->
validProjDisk
(
disk_
));
21
if
(
layer_
!= 0 &&
disk_
!= 0)
22
assert
(tracklet->
validProj
(
layer_
) || tracklet->
validProjDisk
(
disk_
));
23
24
for
(
auto
& itracklet :
tracklets_
) {
25
if
(itracklet == tracklet) {
26
edm::LogPrint
(
"Tracklet"
) <<
"Adding same tracklet "
<< tracklet <<
" twice in "
<<
getName
();
27
}
28
assert
(itracklet != tracklet);
29
}
30
31
tracklets_
.push_back(tracklet);
32
}
33
34
void
TrackletProjectionsMemory::clean
() {
tracklets_
.clear(); }
35
36
void
TrackletProjectionsMemory::writeTPROJ
(
bool
first
) {
37
std::ostringstream oss;
38
oss <<
"../data/MemPrints/TrackletProjections/TrackletProjections_"
<<
getName
() <<
"_"
<< std::setfill(
'0'
)
39
<< std::setw(2) << (
iSector_
+ 1) <<
".dat"
;
40
auto
const
&
fname
= oss.str();
41
42
if
(
first
) {
43
bx_
= 0;
44
event_
= 1;
45
out_
.open(
fname
.c_str());
46
}
else
47
out_
.open(
fname
.c_str(), std::ofstream::app);
48
49
out_
<<
"BX = "
<< (bitset<3>)
bx_
<<
" Event : "
<<
event_
<< endl;
50
51
for
(
unsigned
int
j
= 0;
j
<
tracklets_
.size();
j
++) {
52
string
proj
= (
layer_
> 0 &&
tracklets_
[
j
]->validProj(
layer_
)) ?
tracklets_
[
j
]->trackletprojstrlayer(
layer_
)
53
:
tracklets_
[
j
]->trackletprojstrdisk(
disk_
);
54
out_
<<
"0x"
;
55
out_
<< std::setfill(
'0'
) << std::setw(2);
56
out_
<< hex <<
j
<<
dec
;
57
out_
<<
" "
<<
proj
<<
" "
<<
trklet::hexFormat
(
proj
) << endl;
58
}
59
out_
.close();
60
61
bx_
++;
62
event_
++;
63
if
(
bx_
> 7)
64
bx_
= 0;
65
}
MessageLogger.h
trklet::MemoryBase::find_nth
static size_t find_nth(const std::string &haystack, size_t pos, const std::string &needle, size_t nth)
Definition:
MemoryBase.cc:108
pos
Definition:
PixelAliasList.h:18
trklet::Settings
Definition:
Settings.h:26
cms::cuda::assert
assert(be >=bs)
trklet::MemoryBase::event_
int event_
Definition:
MemoryBase.h:48
trklet::MemoryBase::out_
std::ofstream out_
Definition:
MemoryBase.h:46
trklet::MemoryBase::initLayerDisk
void initLayerDisk(unsigned int pos, int &layer, int &disk)
Definition:
MemoryBase.cc:17
trklet::TrackletProjectionsMemory::clean
void clean() override
Definition:
TrackletProjectionsMemory.cc:34
trklet::MemoryBase::bx_
int bx_
Definition:
MemoryBase.h:47
trklet::Tracklet::validProj
bool validProj(int layer) const
Definition:
Tracklet.h:89
dqmdumpme.first
first
Definition:
dqmdumpme.py:55
trklet::Tracklet
Definition:
Tracklet.h:28
TrackletProjectionsMemory.h
trklet::MemoryBase::getName
std::string const & getName() const
Definition:
MemoryBase.h:19
amptDefault_cfi.proj
proj
Definition:
amptDefault_cfi.py:13
trklet::MemoryBase
Definition:
MemoryBase.h:13
trklet::TrackletProjectionsMemory::disk_
int disk_
Definition:
TrackletProjectionsMemory.h:38
trklet::TrackletProjectionsMemory::writeTPROJ
void writeTPROJ(bool first)
Definition:
TrackletProjectionsMemory.cc:36
edm::LogPrint
Definition:
MessageLogger.h:342
trklet
Definition:
AllProjectionsMemory.h:9
alignmentValidation.fname
string fname
main script
Definition:
alignmentValidation.py:959
std
Definition:
JetResolutionObject.h:76
trklet::TrackletProjectionsMemory::addProj
void addProj(Tracklet *tracklet)
Definition:
TrackletProjectionsMemory.cc:16
trklet::TrackletProjectionsMemory::tracklets_
std::vector< Tracklet * > tracklets_
Definition:
TrackletProjectionsMemory.h:35
Skims_PA_cff.name
name
Definition:
Skims_PA_cff.py:17
trklet::hexFormat
std::string hexFormat(const std::string &binary)
Definition:
Util.h:14
dqmiolumiharvest.j
j
Definition:
dqmiolumiharvest.py:66
trklet::Tracklet::validProjDisk
bool validProjDisk(int disk) const
Definition:
Tracklet.h:206
TauDecayModes.dec
dec
Definition:
TauDecayModes.py:143
Tracklet.h
trklet::MemoryBase::iSector_
unsigned int iSector_
Definition:
MemoryBase.h:44
trklet::TrackletProjectionsMemory::layer_
int layer_
Definition:
TrackletProjectionsMemory.h:37
Generated for CMSSW Reference Manual by
1.8.16