1 |
#ifndef __PromptL1_PromptL1Muon_H__
|
2 |
#define __PromptL1_PromptL1Muon_H__
|
3 |
|
4 |
//-------------------------------------------------------------------------------
|
5 |
// Created 05/02/2010 - A.C. Le Bihan
|
6 |
//
|
7 |
//
|
8 |
// Original code : UserCode/L1TriggerDPG/L1RecoMuonProducer - Luigi Guiducci
|
9 |
//-------------------------------------------------------------------------------
|
10 |
|
11 |
#include "FWCore/Framework/interface/Event.h"
|
12 |
#include <vector>
|
13 |
|
14 |
|
15 |
namespace PromptL1
|
16 |
{
|
17 |
class PromptL1Muon
|
18 |
{
|
19 |
public:
|
20 |
PromptL1Muon();
|
21 |
~PromptL1Muon();
|
22 |
|
23 |
void Reset();
|
24 |
void Print(std::ostream &os = std::cout) const;
|
25 |
void Set();
|
26 |
|
27 |
|
28 |
// how many muons of any kind
|
29 |
int nMuons;
|
30 |
|
31 |
// what muon kind? 0=global 1=SA 2=trackeronly
|
32 |
std::vector<int> muon_type;
|
33 |
|
34 |
// global muons quantities
|
35 |
std::vector<double> muons_ch;
|
36 |
std::vector<double> muons_pt;
|
37 |
std::vector<double> muons_p;
|
38 |
std::vector<double> muons_eta;
|
39 |
std::vector<double> muons_phi;
|
40 |
std::vector<double> muons_validhits;
|
41 |
std::vector<double> muons_normchi2;
|
42 |
std::vector<double> muons_imp_point_x;
|
43 |
std::vector<double> muons_imp_point_y;
|
44 |
std::vector<double> muons_imp_point_z;
|
45 |
std::vector<double> muons_imp_point_p;
|
46 |
std::vector<double> muons_imp_point_pt;
|
47 |
std::vector<double> muons_phi_hb;
|
48 |
std::vector<double> muons_z_hb;
|
49 |
std::vector<double> muons_r_he_p;
|
50 |
std::vector<double> muons_r_he_n;
|
51 |
std::vector<double> muons_phi_he_p;
|
52 |
std::vector<double> muons_phi_he_n;
|
53 |
|
54 |
// tracker muons quantities
|
55 |
std::vector<double> muons_tr_ch;
|
56 |
std::vector<double> muons_tr_pt;
|
57 |
std::vector<double> muons_tr_p;
|
58 |
std::vector<double> muons_tr_eta;
|
59 |
std::vector<double> muons_tr_phi;
|
60 |
std::vector<double> muons_tr_validhits;
|
61 |
std::vector<double> muons_tr_normchi2;
|
62 |
std::vector<double> muons_tr_imp_point_x;
|
63 |
std::vector<double> muons_tr_imp_point_y;
|
64 |
std::vector<double> muons_tr_imp_point_z;
|
65 |
std::vector<double> muons_tr_imp_point_p;
|
66 |
std::vector<double> muons_tr_imp_point_pt;
|
67 |
|
68 |
// standalone muons (either part of global or SA only)
|
69 |
std::vector<double> muons_sa_phi_mb2;
|
70 |
std::vector<double> muons_sa_z_mb2;
|
71 |
std::vector<double> muons_sa_pseta;
|
72 |
std::vector<double> muons_sa_normchi2;
|
73 |
std::vector<double> muons_sa_validhits;
|
74 |
std::vector<double> muons_sa_ch;
|
75 |
std::vector<double> muons_sa_pt;
|
76 |
std::vector<double> muons_sa_p;
|
77 |
std::vector<double> muons_sa_eta;
|
78 |
std::vector<double> muons_sa_phi;
|
79 |
std::vector<double> muons_sa_outer_pt;
|
80 |
std::vector<double> muons_sa_inner_pt;
|
81 |
std::vector<double> muons_sa_outer_eta;
|
82 |
std::vector<double> muons_sa_inner_eta;
|
83 |
std::vector<double> muons_sa_outer_phi;
|
84 |
std::vector<double> muons_sa_inner_phi;
|
85 |
std::vector<double> muons_sa_outer_x;
|
86 |
std::vector<double> muons_sa_outer_y;
|
87 |
std::vector<double> muons_sa_outer_z;
|
88 |
std::vector<double> muons_sa_inner_x;
|
89 |
std::vector<double> muons_sa_inner_y;
|
90 |
std::vector<double> muons_sa_inner_z;
|
91 |
std::vector<double> muons_sa_imp_point_x;
|
92 |
std::vector<double> muons_sa_imp_point_y;
|
93 |
std::vector<double> muons_sa_imp_point_z;
|
94 |
std::vector<double> muons_sa_imp_point_p;
|
95 |
std::vector<double> muons_sa_imp_point_pt;
|
96 |
std::vector<double> muons_sa_phi_hb;
|
97 |
std::vector<double> muons_sa_z_hb;
|
98 |
std::vector<double> muons_sa_r_he_p;
|
99 |
std::vector<double> muons_sa_r_he_n;
|
100 |
std::vector<double> muons_sa_phi_he_p;
|
101 |
std::vector<double> muons_sa_phi_he_n;
|
102 |
|
103 |
};
|
104 |
}
|
105 |
#endif
|
106 |
|
107 |
|