17 int dphi[6] = {-999,-999,-999,-999,-999,-999}, deta[6] = {-999,-999,-999,-999,-999,-999};
18 int clct[4] = {-999,-999,-999,-999}, cscid[4] = {-999,-999,-999,-999};
19 int phis[4] = {-999,-999,-999,-999},
etas[4] = {-999,-999,-999,-999},
mode = 0;;
21 float theta_angle = ((track.
theta)*0.2874016 + 8.5)*(3.14159265359/180);
26 if(verbose)
std::cout<<
"Track eta = "<<eta<<
" and has hits in stations ";
29 for(
unsigned int s=8;
s<12;
s++){
30 if((stubs.find(
s)->second).
size() == 1){
32 if(verbose)
std::cout<<(stubs.find(
s)->second)[0]->detId<CSCDetId>().station()<<
" ";
34 etas[
s-8] = (fabs((stubs.find(
s)->second)[0]->getCMSGlobalEta()) + 0.9)/(0.0125);
36 clct[
s-8] = (stubs.find(
s)->second)[0]->getPattern();
37 cscid[
s-8] = (stubs.find(
s)->second)[0]->Id();
40 case 1:
mode |= 1;
break;
41 case 2:
mode |= 2;
break;
42 case 3:
mode |= 4;
break;
43 case 4:
mode |= 8;
break;
56 if(phis[0] > 0 && phis[1] > 0){
57 dphi[0] = phis[1] - phis[0];
60 if(phis[0] > 0 && phis[2] > 0){
61 dphi[1] = phis[2] - phis[0];
64 if(phis[0] > 0 && phis[3] > 0){
65 dphi[2] = phis[3] - phis[0];
68 if(phis[1] > 0 && phis[2] > 0){
69 dphi[3] = phis[2] - phis[1];
72 if(phis[1] > 0 && phis[3] > 0){
73 dphi[4] = phis[3] - phis[1];
76 if(phis[2] > 0 && phis[3] > 0){
77 dphi[5] = phis[3] - phis[2];
84 std::cout<<
"\nphis["<<
f<<
"] = "<<phis[
f]<<
" and etas = "<<
etas[
f]<<std::endl;
85 std::cout<<
"\nclct["<<
f<<
"] = "<<clct[
f]<<
" and cscid = "<<cscid[
f]<<std::endl;
89 std::cout<<
"\ndphi["<<u<<
"] = "<<dphi[u]<<
" and deta = "<<deta[u]<<std::endl;
99 int size[13] = {4,0,4,4,5,0,4,4,5,4,5,5,6};
100 int Variables[20] = {dphi[0], dphi[1], dphi[2], dphi[3], dphi[4], dphi[5], deta[0], deta[1], deta[2], deta[3], deta[4], deta[5],
101 clct[0], clct[1], clct[2], clct[3], cscid[0], cscid[1], cscid[2], cscid[3]};
124 int ModeVariables[13][6] = {{0,6,12,16,-999,-999},{-999,-999,-999,-999,-999,-999},{1,7,12,16,-999,-999},{3,9,13,17,-999,-999},{0,3,7,12,16,-999},
125 {-999,-999,-999,-999,-999,-999},{2,8,12,16,-999,-999},{4,10,13,17,-999,-999},{0,4,8,12,16,-999},{5,11,14,18,-999,-999},
126 {1,5,8,12,16,-999},{3,5,10,13,17,-999},{0,3,5,8,12,16}};
133 for(
int i=3;
i<16;
i++){
141 const char *
dir =
"L1Trigger/L1TMuon/data/emtf_luts/ModeVariables/trees";
142 std::stringstream ss;
143 ss << dir <<
"/" <<
mode;
145 forest-> loadL1TForestFromXML(ss.str().c_str(),64);
147 std::vector<Double_t> Data;
150 for(
int y=0;
y<size[mode-3];
y++){
152 Data.push_back(Variables[ModeVariables[mode-3][
y]]);
153 if(verbose)
std::cout<<
"Generalized Variables "<<
y<<
" "<<Variables[ModeVariables[mode-3][
y]]<<
"\n";
157 std::cout<<
"Data.size() = "<<Data.size()<<
"\n";
165 std::vector<Event*> vevent;
166 vevent.push_back(
event);
170 float OpT = vevent[0]->predictedValue;
void predictEvents(std::vector< emtf::Event * > &eventsp, unsigned int trees)
const TriggerPrimitiveStationMap & getStubs() const
T x() const
Cartesian x coordinate.
Tan< T >::type tan(const T &t)
std::map< unsigned, TriggerPrimitiveCollection > TriggerPrimitiveStationMap