Main Page
Namespaces
Classes
Package Documentation
L1Trigger
L1TMuonEndCap
plugins
L1TMuonEndCapForestESProducer.cc
Go to the documentation of this file.
1
#include <iostream>
2
#include <memory>
3
#include <iostream>
4
5
#include "
FWCore/Framework/interface/ModuleFactory.h
"
6
#include "
FWCore/Framework/interface/ESProducer.h
"
7
#include "
FWCore/Framework/interface/ESHandle.h
"
8
#include "
FWCore/Framework/interface/ESProducts.h
"
9
10
#include "
CondFormats/L1TObjects/interface/L1TMuonEndCapForest.h
"
11
#include "
CondFormats/DataRecord/interface/L1TMuonEndCapForestRcd.h
"
12
#include "
L1Trigger/L1TMuonEndCap/interface/ForestHelper.h
"
13
14
#include "
FWCore/ParameterSet/interface/FileInPath.h
"
15
#include "TXMLEngine.h"
16
17
#include "
L1Trigger/L1TMuonEndCap/interface/Tree.h
"
18
19
using namespace
std
;
20
21
// class declaration
22
23
class
L1TMuonEndCapForestESProducer
:
public
edm::ESProducer
{
24
public
:
25
L1TMuonEndCapForestESProducer
(
const
edm::ParameterSet
&);
26
~
L1TMuonEndCapForestESProducer
();
27
28
typedef
std::shared_ptr<L1TMuonEndCapForest>
ReturnType
;
29
30
ReturnType produce(
const
L1TMuonEndCapForestRcd
&);
31
private
:
32
l1t::ForestHelper
data_
;
33
};
34
35
L1TMuonEndCapForestESProducer::L1TMuonEndCapForestESProducer
(
const
edm::ParameterSet
& iConfig) :
36
data_(new
L1TMuonEndCapForest
())
37
{
38
//the following line is needed to tell the framework what
39
// data is being produced
40
setWhatProduced
(
this
);
41
42
// these should come from pythong config...
43
std::vector<int> modes = {3,5,9,6,10,12,7,11,13,14,15};
44
//std::string dir = "L1Trigger/L1TMuon/data/emtf_luts/ModeVariables/trees/";
45
std::string
dir
=
"L1Trigger/L1TMuon/data/emtf_luts/v_16_02_21/ModeVariables/trees/"
;
46
int
ntrees = 64;
47
48
data_
.
initializeFromXML
(dir.c_str(), modes, ntrees);
49
//data_.print(cout);
50
51
// Benchmark calculations from original version of UF
52
53
//DEBUG: mode: 15 dir L1Trigger/L1TMuon/data/emtf_luts/v_16_02_21/ModeVariables/trees/15 num trees 64
54
//DEBUG: pred val: 0.201249
55
//DEBUG: data = 1, 1.975, 121, -10, -16, 1,
56
{
57
//std::vector<double> x = {1, 1.975, 121, -10, -16, 1};
58
//cout << "DEBUG: original result: 0.201249, our result: " << data_.evaluate(15, x) << "\n";
59
}
60
61
//DEBUG: mode: 15 dir L1Trigger/L1TMuon/data/emtf_luts/v_16_02_21/ModeVariables/trees/15 num trees 64
62
//DEBUG: pred val: 0.0201636
63
//DEBUG: data = 1, 1.325, 7, 0, 0, 0
64
{
65
//std::vector<double> x = {1, 1.325, 7, 0, 0, 0};
66
//cout << "DEBUG: original result: 0.0201636, our result: " << data_.evaluate(15, x) << "\n";
67
}
68
69
//DEBUG: mode: 11 dir L1Trigger/L1TMuon/data/emtf_luts/v_16_02_21/ModeVariables/trees/11 num trees 64
70
//DEBUG: pred val: 0.0260195
71
//DEBUG: data = 1, 1.675, 34, 10, 2, 0, 1
72
{
73
//std::vector<double> x = {1, 1.675, 34, 10, 2, 0, 1};
74
//cout << "DEBUG: original result: 0.0260195, our result: " << data_.evaluate(11, x) << "\n";
75
}
76
77
//DEBUG: mode: 10 dir L1Trigger/L1TMuon/data/emtf_luts/v_16_02_21/ModeVariables/trees/10 num trees 64
78
//DEBUG: pred val: 0.209812
79
//DEBUG: data = 1, 1.675, -38, 3, 1, 0, 1
80
{
81
//std::vector<double> x = {1, 1.675, -38, 3, 1, 0, 1};
82
//cout << "DEBUG: original result: 0.209812, our result: " << data_.evaluate(10, x) << "\n";
83
}
84
85
//DEBUG: mode: 15 dir L1Trigger/L1TMuon/data/emtf_luts/v_16_02_21/ModeVariables/trees/15 num trees 64
86
//DEBUG: pred val: 0.0788114
87
//DEBUG: data = 1, 1.375, 27, 16, 4, 1
88
{
89
//std::vector<double> x = {1, 1.375, 27, 16, 4, 1};
90
//cout << "DEBUG: original result: 0.0788114, our result: " << data_.evaluate(15, x) << "\n";
91
}
92
93
}
94
95
96
97
L1TMuonEndCapForestESProducer::~L1TMuonEndCapForestESProducer
()
98
{
99
}
100
101
102
103
//
104
// member functions
105
//
106
107
// ------------ method called to produce the data ------------
108
L1TMuonEndCapForestESProducer::ReturnType
109
L1TMuonEndCapForestESProducer::produce
(
const
L1TMuonEndCapForestRcd
& iRecord)
110
{
111
using namespace
edm::es
;
112
std::shared_ptr<L1TMuonEndCapForest> pEMTFForest(
data_
.
getWriteInstance
());
113
return
pEMTFForest;
114
115
}
116
117
//define this as a plug-in
118
DEFINE_FWK_EVENTSETUP_MODULE
(
L1TMuonEndCapForestESProducer
);
L1TMuonEndCapForestESProducer::produce
ReturnType produce(const L1TMuonEndCapForestRcd &)
Definition:
L1TMuonEndCapForestESProducer.cc:109
ESProducts.h
L1TMuonEndCapForestESProducer::L1TMuonEndCapForestESProducer
L1TMuonEndCapForestESProducer(const edm::ParameterSet &)
Definition:
L1TMuonEndCapForestESProducer.cc:35
L1TMuonEndCapForestESProducer::~L1TMuonEndCapForestESProducer
~L1TMuonEndCapForestESProducer()
Definition:
L1TMuonEndCapForestESProducer.cc:97
l1t::ForestHelper
Definition:
ForestHelper.h:39
l1t::ForestHelper::getWriteInstance
L1TMuonEndCapForest * getWriteInstance()
Definition:
ForestHelper.h:67
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:255
std
Definition:
JetResolutionObject.h:76
l1t::ForestHelper::initializeFromXML
void initializeFromXML(const char *dirname, const std::vector< int > &modes, int ntrees)
Definition:
ForestHelper.cc:72
edm::ESProducer::setWhatProduced
void setWhatProduced(T *iThis, const es::Label &iLabel=es::Label())
Definition:
ESProducer.h:115
Tree.h
edm::ESProducer
Definition:
ESProducer.h:97
L1TMuonEndCapForestESProducer::ReturnType
std::shared_ptr< L1TMuonEndCapForest > ReturnType
Definition:
L1TMuonEndCapForestESProducer.cc:28
edm::es
Definition:
es_Label.h:33
L1TMuonEndCapForestESProducer
Definition:
L1TMuonEndCapForestESProducer.cc:23
ESHandle.h
FileInPath.h
ForestHelper.h
L1TMuonEndCapForest.h
L1TMuonEndCapForest
Definition:
L1TMuonEndCapForest.h:15
DEFINE_FWK_EVENTSETUP_MODULE
#define DEFINE_FWK_EVENTSETUP_MODULE(type)
Definition:
ModuleFactory.h:60
ESProducer.h
L1TMuonEndCapForestRcd.h
edm::ParameterSet
Definition:
ParameterSet.h:36
ModuleFactory.h
dir
dbl *** dir
Definition:
mlp_gen.cc:35
L1TMuonEndCapForestRcd
Definition:
L1TMuonEndCapForestRcd.h:11
L1TMuonEndCapForestESProducer::data_
l1t::ForestHelper data_
Definition:
L1TMuonEndCapForestESProducer.cc:32
Generated for CMSSW Reference Manual by
1.8.11