ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/VHbbAnalysis/HbbAnalyzer/interface/VHbbEvent.h
Revision: 1.1
Committed: Wed Jun 8 17:25:32 2011 UTC (13 years, 11 months ago) by tboccali
Content type: text/plain
Branch: MAIN
Log Message:
first addition

File Contents

# Content
1 #ifndef VHbbEvent__H
2 #define VHbbEvent__H
3
4 #include <TLorentzVector.h>
5 #include <TMatrix.h>
6 #include <vector>
7
8 class VHbbEvent{
9 public:
10
11 class ParticleMCInfo {
12 public:
13 int status;
14 int momid;
15 int gmomid;
16 int charge;
17 TLorentzVector fourMomentum;
18 // int ndau;
19 std::vector<int> dauid;
20 std::vector<TLorentzVector> dauFourMomentum;
21 };
22
23 class SimpleJet {
24 public:
25 int flavour;
26 float tche,tchp, jpb,jp , ssvhe, csv, csvmva;
27 int ntracks;
28 float charge;
29 TLorentzVector fourMomentum;
30 int b1BestMCid, b1BestMCmomid;
31 };
32
33
34 class HardJet{
35 public:
36 int constituents;
37 TLorentzVector fourMomentum;
38 std::vector<TLorentzVector> subFourMomentum;
39 std::vector<float> etaSub, phiSub;
40 };
41
42
43 class METInfo{
44 public:
45 float sumEt, metSig, eLong;
46 TLorentzVector fourMomentum;
47 };
48
49 class MuonInfo {
50 public:
51 TLorentzVector fourMomentum;
52 int charge;
53 float tIso, eIso, hIso, acop, ipDb, ipErrDb, zPVPt,zPVProb, chi2, globChi2;
54 int cat, nHits, nPixelHits, globNHits;
55 TLorentzVector mcFourMomentum;
56 int mcId, mcMomId, mcgMomId;
57 };
58
59
60 class ElectronInfo {
61 public:
62 TLorentzVector fourMomentum;
63 float scEta, scPhi;
64 int charge;
65 float tIso, eIso, hIso, acop;
66 float id95,id85,id70,id95r, id70r;
67 TLorentzVector mcFourMomentum;
68 int mcId, mcMomId, mcgMomId;
69 };
70
71 class TauInfo {
72 public:
73 TLorentzVector fourMomentum;
74 int charge;
75 float tIso, eIso, hIso, acop;
76 float idbyIso,idbyTrackIso,idbyTaNCfrOnePercent,idbyTaNCfrHalfPercent, idbyTaNCfrQuarterPercent, idbyTaNCfrTenthPercent, idbyTaNC;
77 TLorentzVector mcFourMomentum;
78 int mcId, mcMomId, mcgMomId;
79 };
80
81
82 class DiMuonInfo {
83 public:
84 TLorentzVector fourMomentum;
85 MuonInfo daughter1, daughter2;
86 };
87
88
89 class DiElectronInfo {
90 public:
91 TLorentzVector fourMomentum;
92 ElectronInfo daughter1, daughter2;
93 };
94
95
96 class TriggerInfo {
97 public:
98 int flag[500];
99 int triggerMu9,
100 triggerIsoMu9,
101 triggerIsoMu13_3,
102 triggerMu11,
103 triggerDoubleMu3,
104 triggerDoubleMu3_2,
105 triggerMu15,
106 triggerMu15_1,
107 triggerDoubleElec10,
108 triggerDoubleElec15_1,
109 triggerDoubleElec17_1,
110 triggerMet100_1,
111 triggerSingleEle1,
112 triggerSingleEle2,
113 triggerSingleEle3,
114 triggerSingleEle4,
115 triggerBtagMu1,
116 triggerBtagMu2,
117 triggerBtagMu0,
118 triggerBtagMu11,
119 triggerBtagMuJet1,
120 triggerBtagMuJet2,
121 triggerBtagMuJet3,
122 triggerBtagMuJet4,
123 triggerIsoMu15,
124 triggerIsoMu17v5,
125 triggerIsoMu17v6;
126 };
127
128 class PrimaryVertexInfo {
129 public:
130 TVector3 firstPVInPT2,firstPVInProb;
131 };
132
133 class PUInfo {
134 public:
135 float rho;
136 };
137
138
139 public:
140 ParticleMCInfo mcH;
141 ParticleMCInfo mcW;
142 ParticleMCInfo mcZ;
143 std::vector<SimpleJet> simpleJets;
144 std::vector<SimpleJet> simpleJets2; //???
145 std::vector<SimpleJet> subJets; //???
146 std::vector<HardJet> hardJets;
147
148 ParticleMCInfo mcBbar;
149 ParticleMCInfo mcB;
150 ParticleMCInfo mcC;
151
152 PUInfo puInfo;
153
154
155
156 METInfo calomet;
157 METInfo tcmet;
158 METInfo pfmet;
159
160 std::vector<MuonInfo> muInfo;
161 std::vector<ElectronInfo> eleInfo;
162 std::vector<TauInfo> tauInfo;
163
164 TriggerInfo triggerInfo;
165
166 PrimaryVertexInfo pvInfo;
167
168 std::vector<DiMuonInfo> diMuonInfo;
169 std::vector<DiElectronInfo> diElectronInfo;
170
171 // HiggsCandidate dijetHiggs;
172 // HiggsCandidate fatjetHiggs;
173
174 // to be decided.. one single or many V?
175 // VCandidate vcand;
176 // WCandidate wele;
177 // WCandidate wmu;
178 //WCandidate wtau;
179 // ZCandidate zmu;
180 // ZCandidate zele;
181 //ZInvCandidate znunu;
182
183 //
184 // really needed????
185 //
186
187 };
188 #endif