1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
#include "Geometry/Records/interface/IdealGeometryRecord.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "Geometry/Records/interface/IdealGeometryRecord.h"
#include "Geometry/CaloGeometry/interface/CaloCellGeometry.h"
#include "Geometry/CaloGeometry/interface/CaloGeometry.h"
#include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h"
#include "CondFormats/DataRecord/interface/EcalIntercalibConstantsRcd.h"
#include "Calibration/Tools/interface/calibXMLwriter.h"
#include "CalibCalorimetry/CaloMiscalibTools/interface/CaloMiscalibTools.h"
#include "CalibCalorimetry/CaloMiscalibTools/interface/CaloMiscalibMapEcal.h"
#include "CalibCalorimetry/CaloMiscalibTools/interface/MiscalibReaderFromXMLEcalBarrel.h"
#include "CalibCalorimetry/CaloMiscalibTools/interface/MiscalibReaderFromXMLEcalEndcap.h"
#include "CondFormats/EcalObjects/interface/EcalIntercalibConstants.h"
#include "FWCore/Framework/interface/EventSetup.h"
#include "FWCore/Framework/interface/ESHandle.h"
#include "TFile.h"
int main() {
calibXMLwriter endcapWriter(EcalEndcap);
CaloMiscalibMapEcal map;
std::string endcapfile =
"/afs/cern.ch/user/p/presotto/CMSSW_1_6_0/src/CalibCalorimetry/CaloMiscalibTools/data/ecal_endcap_startup.xml";
map.prefillMap();
MiscalibReaderFromXMLEcalEndcap endcapreader(map);
if (!endcapfile.empty())
endcapreader.parseXMLMiscalibFile(endcapfile);
EcalIntercalibConstants* constants = new EcalIntercalibConstants(map.get());
const EcalIntercalibConstantMap& imap = constants->getMap();
std::string endcapfile2 = "EEcalib.xml";
CaloMiscalibMapEcal map2;
map2.prefillMap();
MiscalibReaderFromXMLEcalEndcap endcapreader2(map2);
if (!endcapfile2.empty())
endcapreader2.parseXMLMiscalibFile(endcapfile2);
EcalIntercalibConstants* constants2 = new EcalIntercalibConstants(map2.get());
const EcalIntercalibConstantMap& imap2 = constants2->getMap();
for (int x = 1; x <= 100; ++x)
for (int y = 1; y < 100; ++y) {
if (!EEDetId::validDetId(x, y, -1))
continue;
EEDetId ee(x, y, -1, EEDetId::XYMODE);
endcapWriter.writeLine(ee, *(imap.find(ee.rawId())) * *(imap2.find(ee.rawId())));
if (!EEDetId::validDetId(x, y, 1))
continue;
EEDetId e2(x, y, 1, EEDetId::XYMODE);
endcapWriter.writeLine(e2, *(imap.find(e2.rawId())) * *(imap2.find(e2.rawId())));
}
}
|