CondTools
Ecal
src
EcalLaser_weekly_Linearization.cc
Go to the documentation of this file.
1
#include "
CondTools/Ecal/interface/EcalLaser_weekly_Linearization.h
"
2
#include "
OnlineDB/EcalCondDB/interface/EcalLogicID.h
"
3
#include "
OnlineDB/EcalCondDB/interface/LMFSextuple.h
"
4
#include "
FWCore/ParameterSet/interface/ParameterSetfwd.h
"
5
#include "
CondCore/CondDB/interface/Time.h
"
6
#include "
DataFormats/Provenance/interface/Timestamp.h
"
7
#include "
OnlineDB/EcalCondDB/interface/Tm.h
"
8
9
#include <iostream>
10
#include <iomanip>
11
#include <sstream>
12
13
popcon::EcalLaser_weekly_Linearization::EcalLaser_weekly_Linearization
(
const
edm::ParameterSet
&ps)
14
: m_name(ps.getUntrackedParameter<
std
::
string
>(
"name"
,
"EcalLaser_weekly_Handler"
)) {
15
std::cout
<<
"EcalLaser Source handler constructor\n"
<< std::endl;
16
}
17
18
popcon::EcalLaser_weekly_Linearization::~EcalLaser_weekly_Linearization
() {
19
// do nothing
20
}
21
22
void
popcon::EcalLaser_weekly_Linearization::getNewObjects
() {
23
// int file[1] = {190708};
24
25
int
iIov = 0;
26
27
std::cout
<<
"------- Ecal -> getNewObjects\n"
;
28
29
unsigned
long
long
max_since = 1;
30
Ref
payload
= lastPayload();
31
32
// here popcon tells us which is the last since of the last object in the offline DB
33
max_since =
tagInfo
().lastInterval.since;
34
Tm
max_since_tm(max_since);
35
36
// const EcalLaserAPDPNRatios::EcalLaserAPDPNRatiosMap& laserRatiosMap =
37
// payload->getLaserMap();
38
// std::cout << "payload->getLaserMap(): OK " << std::endl;
39
// std::cout << "Its size is " << laserRatiosMap.size() << std::endl;
40
// const EcalLaserAPDPNRatios::EcalLaserTimeStampMap& laserTimeMap =
41
// payload->getTimeMap();
42
// std::cout << "payload->getTimeMap(): OK " << std::endl;
43
// std::cout << "Last Object in Offline DB has SINCE = " << max_since
44
// << " -> " << max_since_tm.cmsNanoSeconds()
45
// << " (" << max_since_tm << ")"
46
// << " and SIZE = " << tagInfo().size
47
// << std::endl;
48
49
for
(
int
week = 0; week < 1; week++) {
50
int
fileIOV;
51
std::cout
<<
" which input IOV do you want "
<< std::endl;
52
std::cin >> fileIOV;
53
std::ifstream fWeek;
54
std::ostringstream oss;
55
oss << fileIOV;
56
std::string
fname
=
"/afs/cern.ch/cms/ECAL/triggerTransp/TPG_beamv6_trans_"
+ oss.str() +
"_spikekill.txt"
;
57
/*
58
oss << file[week];
59
// std::string fname = "/afs/cern.ch/cms/ECAL/triggerTransp/TPG_beamv5_trans_" + oss.str() + "_";
60
std::string fname = "/afs/cern.ch/cms/ECAL/triggerTransp/TPG_beamv6_trans_" + oss.str() + "_";
61
oss.str("");
62
// if(week == 32) oss << 200000;
63
// else oss << file[week + 1] - 1;
64
oss << 200000;
65
fname += oss.str() + ".txt";
66
*/
67
fWeek.open(
fname
.c_str());
68
if
(!fWeek.is_open()) {
69
std::cout
<<
"ERROR : can't open file '"
<<
fname
<< std::endl;
70
break
;
71
}
72
std::cout
<<
" file "
<<
fname
<<
" opened"
<< std::endl;
73
// int rawId;
74
// float corrp;
75
std::string
line
;
76
for
(
int
i
= 0;
i
< 85;
i
++)
77
getline(fWeek,
line
);
78
char
cryst[10];
79
uint32_t ped[
kGains
],
mult
[
kGains
],
shift
[
kGains
];
80
uint32_t
id
;
81
82
EcalTPGLinearizationConst
*linC =
new
EcalTPGLinearizationConst
;
83
84
for
(
int
iChannel = 0; iChannel <
kEBChannels
; iChannel++) {
85
getline(fWeek,
line
);
86
// std::cout << " line " << line << std::endl;
87
// fWeek >> cryst >> id;
88
sscanf(
line
.c_str(),
"%s %u"
, cryst, &
id
);
89
// std::cout << cryst << " id " << id << std::endl;
90
// EBDetId ebId = DetId(id);
91
for
(
int
gain
= 0;
gain
<
kGains
;
gain
++) {
92
// fWeek >> std::hex >> ped[gain] >> mult[gain] >> shift[gain];
93
getline(fWeek,
line
);
94
// std::cout << " line g " << line << std::endl;
95
sscanf(
line
.c_str(),
"%X %X %X"
, &ped[
gain
], &
mult
[
gain
], &
shift
[
gain
]);
96
// std::cout << " gain " << gain << " ped " << ped[gain] << " mult " << mult[gain] << " shift " << shift[gain]<< std::endl;
97
}
98
EcalTPGLinearizationConst::Item
item
;
99
item
.mult_x1 =
mult
[2];
100
item
.mult_x6 =
mult
[1];
101
item
.mult_x12 =
mult
[0];
102
item
.shift_x1 =
shift
[2];
103
item
.shift_x6 =
shift
[1];
104
item
.shift_x12 =
shift
[0];
105
106
linC->
insert
(std::make_pair(
id
,
item
));
107
// corr.p1=corr.p2=corr.p3 = corrp;
108
// corrSet->setValue((int)ebId, corr );
109
// cryst ="";
110
}
// end loop over EB channels
111
getline(fWeek,
line
);
// cmment before EE crystals
112
std::cout
<<
" comment line "
<<
line
<< std::endl;
113
for
(
int
iChannel = 0; iChannel <
kEEChannels
; iChannel++) {
114
getline(fWeek,
line
);
115
// std::cout << " line " << line << std::endl;
116
sscanf(
line
.c_str(),
"%s %u"
, cryst, &
id
);
117
// std::cout << cryst << " id " << id << std::endl;
118
// EEDetId eeId = DetId(id);
119
for
(
int
gain
= 0;
gain
<
kGains
;
gain
++) {
120
getline(fWeek,
line
);
121
// std::cout << " line g " << line << std::endl;
122
sscanf(
line
.c_str(),
"%X %X %X"
, &ped[
gain
], &
mult
[
gain
], &
shift
[
gain
]);
123
// std::cout << " gain " << gain << " ped " << ped[gain] << " mult " << mult[gain] << " shift " << shift[gain]<< std::endl;
124
125
}
// corr.p1=corr.p2=corr.p3 = corrp;
126
// corrSet->setValue((int)eeId, corr );
127
EcalTPGLinearizationConst::Item
item
;
128
item
.mult_x1 =
mult
[2];
129
item
.mult_x6 =
mult
[1];
130
item
.mult_x12 =
mult
[0];
131
item
.shift_x1 =
shift
[2];
132
item
.shift_x6 =
shift
[1];
133
item
.shift_x12 =
shift
[0];
134
135
linC->
insert
(std::make_pair(
id
,
item
));
136
}
// end loop over EE channels
137
fWeek.close();
138
// special tag for Stephanie
139
// m_to_transfer.push_back(std::make_pair((EcalTPGLinearizationConst*)linC, file[week]));
140
m_to_transfer.push_back(std::make_pair(linC, fileIOV));
141
// end special
142
iIov++;
143
}
// end loop over week
144
std::cout
<<
"Ecal -> end of getNewObjects -----------\n"
;
145
}
popcon::EcalLaser_weekly_Linearization::EcalLaser_weekly_Linearization
EcalLaser_weekly_Linearization(edm::ParameterSet const &)
Definition:
EcalLaser_weekly_Linearization.cc:13
popcon::EcalLaser_weekly_Linearization::~EcalLaser_weekly_Linearization
~EcalLaser_weekly_Linearization() override
Definition:
EcalLaser_weekly_Linearization.cc:18
popcon::EcalLaser_weekly_Linearization::getNewObjects
void getNewObjects() override
Definition:
EcalLaser_weekly_Linearization.cc:22
mps_fire.i
i
Definition:
mps_fire.py:428
kEEChannels
Definition:
EcalFloatCondObjectContainerUtils.h:9
gather_cfg.cout
cout
Definition:
gather_cfg.py:144
EcalLaser_weekly_Linearization.h
EcalCondObjectContainer
Definition:
EcalCondObjectContainer.h:13
jets_cff.payload
payload
Definition:
jets_cff.py:32
Tm
Definition:
Tm.h:13
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:256
Time.h
edm::ParameterSet
Definition:
ParameterSet.h:47
Timestamp.h
EcalCondObjectContainer::Item
T Item
Definition:
EcalCondObjectContainer.h:15
Tm.h
B2GTnPMonitor_cfi.item
item
Definition:
B2GTnPMonitor_cfi.py:147
PedestalClient_cfi.gain
gain
Definition:
PedestalClient_cfi.py:37
EcalLogicID.h
alignmentValidation.fname
string fname
main script
Definition:
alignmentValidation.py:959
std
Definition:
JetResolutionObject.h:76
kGains
const Int_t kGains
Definition:
EcalPedestalsHandler.cc:13
EcalCondObjectContainer::insert
void insert(std::pair< uint32_t, Item > const &a)
Definition:
EcalCondObjectContainer.h:38
edm::shift
static unsigned const int shift
Definition:
LuminosityBlockID.cc:7
triggerObjects_cff.id
id
Definition:
triggerObjects_cff.py:29
reco::JetExtendedAssociation::Ref
edm::Ref< Container > Ref
Definition:
JetExtendedAssociation.h:32
ParameterSetfwd.h
dumpRecoGeometry_cfg.tagInfo
tagInfo
Definition:
dumpRecoGeometry_cfg.py:194
VarParsing.mult
mult
Definition:
VarParsing.py:659
kEBChannels
Definition:
EcalFloatCondObjectContainerUtils.h:9
mps_splice.line
line
Definition:
mps_splice.py:76
EcalTPGLinearizationConst
EcalTPGLinearizationConstMap EcalTPGLinearizationConst
Definition:
EcalTPGLinearizationConst.h:23
LMFSextuple.h
Generated for CMSSW Reference Manual by
1.8.16