ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/HbbAnalysis/interface/Objects.hh
Revision: 1.2
Committed: Fri Oct 2 11:05:52 2009 UTC (15 years, 7 months ago) by amagnan
Content type: text/plain
Branch: MAIN
Changes since 1.1: +35 -1 lines
Log Message:
add histos classes to fill from tree

File Contents

# Content
1 #ifndef HbbAnalysis_Objects_hh
2 #define HbbAnalysis_Objects_hh
3
4 #include <vector>
5 #include <string>
6 #include <iostream>
7
8 #include "TLorentzVector.h"
9
10 namespace HbbAnalysis {
11
12 struct MCVars {
13 unsigned int index;
14 double E;
15 double pT;
16 double eta;
17 double phi;
18 int pdgId;
19 int status;
20 };
21
22 struct GenVars {
23 bool valid;
24 double E;
25 double pT;
26 double eta;
27 double phi;
28 int charge;
29 int pdgId;
30 int status;
31 double mass;
32 double vx;
33 double vy;
34 double vz;
35 };
36
37 struct BaseVars {
38 double E;
39 double pT;
40 double eta;
41 double phi;
42 float charge;
43 double vx;
44 double vy;
45 double vz;
46 };
47
48 struct SCVars {
49 float sigmaEtaEta;
50 float sigmaIEtaIEta;
51 float e1x5;
52 float e2x5Max;
53 float e5x5;
54 float eOverP;
55 };
56
57 struct EleIsoVars {
58 float calo;
59 float track;
60 float ecal;
61 float hcal;
62 };
63
64 struct EleIDVars{
65 std::vector<std::pair<std::string,float> > electronIDs;
66 float hOverE;
67 float deltaPhiIn;
68 float deltaEtaIn;
69 };
70
71 struct MuIsoVars {
72 float sumPt;
73 float emEt;
74 float hadEt;
75 float nTracks;
76 float nJets;
77 };
78
79 struct MuIDVars{
80 unsigned short type;
81 std::vector<unsigned short> ids;
82 float caloCompat;
83 float segCompat;
84 unsigned int nChambers;
85 unsigned int nMatchesLoose;
86 unsigned int nMatchesMedium;
87 unsigned int nMatchesTight;
88 };
89
90 struct TauLeadTrkVars{
91 double pT;
92 double eta;
93 double phi;
94 double matchDist;
95 double IPxy;
96 double IPz;
97 float signedSipt;
98 };
99
100 struct CaloTauIsoVars{
101 unsigned int nIsoTracks;
102 unsigned int nSigTracks;
103 float leadTrackHCAL3x3hitsEtSum;
104 float leadTrackHCAL3x3hottesthitDEta;
105 float signalTracksInvariantMass;
106 float tracksInvariantMass;
107 float isolationTracksPtSum;
108 float isolationECALhitsEtSum;
109 float maximumHCALhitEt;
110 };
111
112 struct CaloTauIDVars{
113 float byIsolation;
114 float byLeadingTrackFinding;
115 float byLeadingTrackPtCut;
116 };
117
118 struct PFTauIsoVars{
119 unsigned int nSigCands;
120 unsigned int nIsoCands;
121 double maximumHCALPFClusterEt;
122 //double emFraction;
123 double hcalTotOverPLead;
124 double hcalMaxOverPLead;
125 double hcal3x3OverPLead;
126 double ecalStripSumEOverPLead;
127 double bremsRecoveryEOverPLead;
128 };
129
130 //for hadr, neutr and gamma cands
131 struct PFTauCandVars{
132 unsigned int nSigCands;
133 unsigned int nIsoCands;
134 double isolationPtSum;
135 };
136
137 struct PFTauIDVars{
138 float byLeadingTrackFinding;
139 float byLeadingTrackPtCut;
140 float byTrackIsolation;
141 float byECALIsolation;
142 float byIsolation;
143 float againstElectron;
144 float againstMuon;
145 };
146
147 struct PFTauEleIDVars{
148 double pT;
149 double eta;
150 double phi;
151 float output;
152 float decision;
153 };
154
155 struct PFTauMuIDVars{
156 float caloCompat;
157 float segCompat;
158 float decision;
159 };
160
161 struct JetVars{
162 //1=had, 2=e, 3=mu for heavy quarks;
163 //2=uds, 3=g for light quarks
164 unsigned int flavour;
165 int partonFlavour;
166 unsigned int nAssociatedTracks;
167 double rawpT;
168 //double rawEta;
169 //double rawPhi;
170 };
171
172 struct CaloJetVars{
173 double maxEInEmTowers;
174 double maxEInHadTowers;
175 double energyFractionHadronic;
176 double emEnergyFraction;
177 double hadEnergyInHB;
178 double hadEnergyInHO;
179 double hadEnergyInHE;
180 double hadEnergyInHF;
181 double emEnergyInEB;
182 double emEnergyInEE;
183 double emEnergyInHF;
184 double towersArea;
185 double n90;
186 double n60;
187 };
188
189 struct PFJetVars{
190 double chargedHadronEnergy;
191 double chargedHadronEnergyFraction;
192 double neutralHadronEnergy;
193 double neutralHadronEnergyFraction;
194 double chargedEmEnergy;
195 double chargedEmEnergyFraction;
196 double chargedMuEnergy;
197 double chargedMuEnergyFraction;
198 double neutralEmEnergy;
199 double neutralEmEnergyFraction;
200 double chargedMultiplicity;
201 double neutralMultiplicity;
202 double muonMultiplicity;
203 };
204
205 struct JetBtagVars{
206 double cSV;
207 double cSVMVA;
208 double iPMVA;
209 double bProba;
210 double probability;
211 double sSV;
212 double softElectron;
213 double softMuon;
214 double softMuonNoIP;
215 double tCHE;
216 double tCHP;
217 };
218
219 struct MetVars{
220 double mET;
221 double mEx;
222 double mEy;
223 double sumET;
224 double phi;
225 double mEtSig;
226 };
227
228 struct TriggerVars{
229 std::string name;
230 unsigned int index;
231 bool accept;
232 };
233
234 double DeltaPhi(const double phi1, const double phi2);
235
236 double DeltaR(const BaseVars & v1, const BaseVars & v2);
237
238 double SameSign(const BaseVars & v1, const BaseVars & v2);
239
240 double OppSign(const BaseVars & v1, const BaseVars & v2);
241
242 TLorentzVector FourMomentum(const BaseVars & v, const double scale=1) ;
243
244 double TransverseMass(const BaseVars & leg1,
245 const BaseVars & leg2,
246 const double mEx,
247 const double mEy);
248
249 double TransverseMass(const BaseVars & leg1,
250 const double mEx,
251 const double mEy);
252
253 TLorentzVector FourMomentumCDFmethod(const BaseVars & leg1,
254 const BaseVars & leg2,
255 double mEx,
256 double mEy);
257
258 TLorentzVector FourMomentumCollinearApprox(const BaseVars & leg1,
259 const BaseVars & leg2,
260 double mEx,
261 double mEy);
262
263 }//namespace
264
265 #endif