1 |
#ifndef __L1Analysis_L1AnalysisRecoMuon_H__
|
2 |
#define __L1Analysis_L1AnalysisRecoMuon_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 L1Analysis
|
16 |
{
|
17 |
class L1AnalysisRecoMuon
|
18 |
{
|
19 |
public:
|
20 |
L1AnalysisRecoMuon();
|
21 |
~L1AnalysisRecoMuon();
|
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 3=trsa
|
32 |
std::vector<int> muon_type;
|
33 |
std::vector<int> howmanytypes;
|
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_validpixhits;
|
62 |
std::vector<double> muons_tr_normchi2;
|
63 |
std::vector<double> muons_tr_imp_point_x;
|
64 |
std::vector<double> muons_tr_imp_point_y;
|
65 |
std::vector<double> muons_tr_imp_point_z;
|
66 |
std::vector<double> muons_tr_imp_point_p;
|
67 |
std::vector<double> muons_tr_imp_point_pt;
|
68 |
|
69 |
std::vector<double> muons_tr_z_mb2;
|
70 |
std::vector<double> muons_tr_phi_mb2;
|
71 |
std::vector<double> muons_tr_r_me2_p;
|
72 |
std::vector<double> muons_tr_phi_me2_p;
|
73 |
std::vector<double> muons_tr_r_me2_n;
|
74 |
std::vector<double> muons_tr_phi_me2_n;
|
75 |
|
76 |
std::vector<double> muons_tr_z_mb1 ;
|
77 |
std::vector<double> muons_tr_phi_mb1;
|
78 |
std::vector<double> muons_tr_r_me1_p ;
|
79 |
std::vector<double> muons_tr_phi_me1_p;
|
80 |
std::vector<double> muons_tr_r_me1_n ;
|
81 |
std::vector<double> muons_tr_phi_me1_n;
|
82 |
|
83 |
// standalone muons (either part of global or SA only)
|
84 |
std::vector<double> muons_sa_phi_mb2;
|
85 |
std::vector<double> muons_sa_z_mb2;
|
86 |
std::vector<double> muons_sa_pseta;
|
87 |
std::vector<double> muons_sa_normchi2;
|
88 |
std::vector<double> muons_sa_validhits;
|
89 |
std::vector<double> muons_sa_ch;
|
90 |
std::vector<double> muons_sa_pt;
|
91 |
std::vector<double> muons_sa_p;
|
92 |
std::vector<double> muons_sa_eta;
|
93 |
std::vector<double> muons_sa_phi;
|
94 |
std::vector<double> muons_sa_outer_pt;
|
95 |
std::vector<double> muons_sa_inner_pt;
|
96 |
std::vector<double> muons_sa_outer_eta;
|
97 |
std::vector<double> muons_sa_inner_eta;
|
98 |
std::vector<double> muons_sa_outer_phi;
|
99 |
std::vector<double> muons_sa_inner_phi;
|
100 |
std::vector<double> muons_sa_outer_x;
|
101 |
std::vector<double> muons_sa_outer_y;
|
102 |
std::vector<double> muons_sa_outer_z;
|
103 |
std::vector<double> muons_sa_inner_x;
|
104 |
std::vector<double> muons_sa_inner_y;
|
105 |
std::vector<double> muons_sa_inner_z;
|
106 |
std::vector<double> muons_sa_imp_point_x;
|
107 |
std::vector<double> muons_sa_imp_point_y;
|
108 |
std::vector<double> muons_sa_imp_point_z;
|
109 |
std::vector<double> muons_sa_imp_point_p;
|
110 |
std::vector<double> muons_sa_imp_point_pt;
|
111 |
std::vector<double> muons_sa_phi_hb;
|
112 |
std::vector<double> muons_sa_z_hb;
|
113 |
std::vector<double> muons_sa_r_he_p;
|
114 |
std::vector<double> muons_sa_r_he_n;
|
115 |
std::vector<double> muons_sa_phi_he_p;
|
116 |
std::vector<double> muons_sa_phi_he_n;
|
117 |
std::vector<double> muons_sa_r_me2_p;
|
118 |
std::vector<double> muons_sa_r_me2_n;
|
119 |
std::vector<double> muons_sa_phi_me2_p;
|
120 |
std::vector<double> muons_sa_phi_me2_n;
|
121 |
|
122 |
std::vector<double> muons_sa_z_mb1;
|
123 |
std::vector<double> muons_sa_phi_mb1;
|
124 |
std::vector<double> muons_sa_r_me1_p;
|
125 |
std::vector<double> muons_sa_phi_me1_p;
|
126 |
std::vector<double> muons_sa_r_me1_n;
|
127 |
std::vector<double> muons_sa_phi_me1_n;
|
128 |
|
129 |
|
130 |
std::vector<double> muons_calo_energy;
|
131 |
std::vector<double> muons_calo_energy3x3;
|
132 |
std::vector<double> muons_ecal_time;
|
133 |
std::vector<double> muons_ecal_terr;
|
134 |
std::vector<double> muons_hcal_time;
|
135 |
std::vector<double> muons_hcal_terr;
|
136 |
|
137 |
std::vector<double> muons_time_dir; // -1 = outsideIn ; 0=undefined; 1=insideOut
|
138 |
std::vector<double> muons_time_inout;
|
139 |
std::vector<double> muons_time_inout_err;
|
140 |
std::vector<double> muons_time_outin;
|
141 |
std::vector<double> muons_time_outin_err;
|
142 |
|
143 |
};
|
144 |
}
|
145 |
#endif
|
146 |
|
147 |
|
148 |
|