ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/VHbbAnalysis/VHbbDataFormats/interface/VHbbEvent.h
Revision: 1.16
Committed: Mon Sep 19 15:06:49 2011 UTC (13 years, 7 months ago) by tboccali
Content type: text/plain
Branch: MAIN
CVS Tags: AR_step2_oct19, AR_Step2_Oct13, AR_Oct9Ntuple, AR_Oct7_step2ntuple, AR_Oct5Ntuple, EdmV9Sept2011, Sept19th2011_2
Changes since 1.15: +2 -2 lines
Log Message:
add souvik s code

File Contents

# Content
1 #ifndef VHbbEvent__H
2 #define VHbbEvent__H
3
4 #include <TLorentzVector.h>
5 #include <TVector2.h>
6 #include <vector>
7
8 class VHbbEvent{
9 public:
10
11
12 class SimpleJet {
13 public:
14 SimpleJet(): flavour(-99), tche(-99), tchp(-99), jpb(-99), jp(-99),
15 ssvhe(-99), csv(-99), csvmva(-99),
16 vtxMass(-99), vtx3dL(-99), vtx3deL(-99), vtxNTracks(-99), vtxProb(-99),
17 ntracks(-99), charge(-99),jecunc(-99),
18 chargedHadronEFraction(-99), neutralHadronEFraction(-99), chargedEmEFraction(-99), neutralEmEFraction(-99),nConstituents(-99),
19 bestMCid(-99), bestMCmomid(-99){}
20 public:
21 double Pt() {return p4.Pt();}
22 int flavour;
23 float tche,tchp, jpb,jp , ssvhe, csv, csvmva;
24 // CSV vertex info
25 float vtxMass, vtx3dL, vtx3deL, vtxNTracks, vtxProb;
26 std::vector<unsigned int> vtxTrackIds;
27 int ntracks;
28 float charge;
29 TLorentzVector p4;
30 TLorentzVector chargedTracksFourMomentum;
31
32 // jec uncertainty
33
34 float jecunc;
35 // energy fractions as in
36 /* //chargedHadronEnergyFraction (relative to uncorrected jet energy)
37 float chargedHadronEnergyFraction() const {return chargedHadronEnergy()/((jecSetsAvailable() ? jecFactor(0) : 1.)*energy());}
38 /// neutralHadronEnergyFraction (relative to uncorrected jet energy)
39 float neutralHadronEnergyFraction() const {return neutralHadronEnergy()/((jecSetsAvailable() ? jecFactor(0) : 1.)*energy());}
40 /// chargedEmEnergyFraction (relative to uncorrected jet energy)
41 float chargedEmEnergyFraction() const {return chargedEmEnergy()/((jecSetsAvailable() ? jecFactor(0) : 1.)*energy());}
42 /// neutralEmEnergyFraction (relative to uncorrected jet energy)
43 float neutralEmEnergyFraction() const {return neutralEmEnergy()/((jecSetsAvailable() ? jecFactor(0) : 1.)*energy());}
44 */
45
46 float chargedHadronEFraction, neutralHadronEFraction, chargedEmEFraction, neutralEmEFraction;
47 int nConstituents;
48
49 //MC parton matching
50 TLorentzVector bestMCp4,bestMCp4mom;
51 int bestMCid, bestMCmomid;
52 // new
53 TVector2 tVector;
54 //Scale factor
55 float SF_CSVL;
56 float SF_CSVM;
57 float SF_CSVT;
58 float SF_CSVLerr;
59 float SF_CSVMerr;
60 float SF_CSVTerr;
61
62 };
63
64
65 class HardJet {
66 public:
67 HardJet(): constituents(-99){}
68 public:
69 int constituents;
70 TLorentzVector p4;
71 std::vector<TLorentzVector> subFourMomentum;
72 std::vector<float> etaSub, phiSub;
73 };
74
75
76 class METInfo {
77 public:
78 METInfo(): sumEt(-99), metSig(-99), eLong(-99){}
79 public:
80 float sumEt, metSig, eLong;
81 TLorentzVector p4;
82 };
83
84 class MuonInfo {
85 public:
86 MuonInfo(): charge(-99),tIso(-99), eIso(-99), hIso(-99),pfChaIso(-99),pfChaPUIso(99), pfPhoIso(-99), pfNeuIso(-99),
87 acop(-99), ipDb(-99), ipErrDb(-99), zPVPt(-99),zPVProb(-99), chi2(-99), globChi2(-99),
88 cat(-99), nValidTracker(-99), nValidPixel(-99), nMatches(-99),nHits(-99), nPixelHits(-99), globNHits(-99),validMuStations(-99),
89 mcId(-99), mcMomId(-99), mcgMomId(-99){}
90 public:
91 TLorentzVector p4;
92 int charge;
93 float tIso, eIso, hIso, pfChaIso,pfChaPUIso, pfPhoIso,pfNeuIso,acop, ipDb, ipErrDb, zPVPt,zPVProb, chi2, globChi2;
94 int cat, nValidTracker, nValidPixel, nMatches,nHits, nPixelHits, globNHits, validMuStations;
95 TLorentzVector mcFourMomentum;
96 int mcId, mcMomId, mcgMomId;
97 std::vector< int > hltMatchedBits;
98 };
99
100 class ElectronInfo {
101 public:
102 ElectronInfo() : scEta(-99), scPhi(-99), charge(-99),
103 tIso(-99), eIso(-99), hIso(-99),pfChaIso(-99),pfChaPUIso(-99), pfPhoIso(-99), pfNeuIso(-99), acop(-99),
104 id95(-99),id85(-99),id80(-99),id70(-99),
105 id95r(-99),id85r(-99),id80r(-99),id70r(-99),
106 mcId(-99), mcMomId(-99), mcgMomId (-99){}
107 public:
108 TLorentzVector p4;
109 float scEta, scPhi;
110 int charge;
111 float tIso, eIso, hIso, pfChaIso,pfChaPUIso, pfPhoIso,pfNeuIso, acop;
112 float id95,id85,id80,id70,id95r, id85r,id80r, id70r;
113 TLorentzVector mcFourMomentum;
114 int mcId, mcMomId, mcgMomId;
115 std::vector< int > hltMatchedBits;
116 };
117
118 class TauInfo{
119 public:
120 TauInfo() : charge(-99), tIso(-99), eIso(-99), hIso(-99),pfChaIso(-99), pfPhoIso(-99), pfNeuIso(-99), acop(-99),
121 idbyIso(-99),idbyTrackIso(-99),idbyTaNCfrOnePercent(-99),
122 idbyTaNCfrHalfPercent(-99), idbyTaNCfrQuarterPercent(-99),
123 idbyTaNCfrTenthPercent(-99), idbyTaNC(-99), mcId(-99), mcMomId(-99), mcgMomId(-99) {}
124 public:
125 TLorentzVector p4;
126 int charge;
127 float tIso, eIso, hIso,pfChaIso,pfPhoIso,pfNeuIso, acop;
128 float idbyIso,idbyTrackIso,idbyTaNCfrOnePercent,idbyTaNCfrHalfPercent, idbyTaNCfrQuarterPercent, idbyTaNCfrTenthPercent, idbyTaNC;
129 TLorentzVector mcFourMomentum;
130 int mcId, mcMomId, mcgMomId;
131 };
132
133
134 class DiMuonInfo {
135 public:
136 TLorentzVector p4;
137 MuonInfo daughter1, daughter2;
138 };
139
140
141 class DiElectronInfo {
142 public:
143 TLorentzVector p4;
144 ElectronInfo daughter1, daughter2;
145 };
146
147
148
149 public:
150 std::vector<SimpleJet> simpleJets;
151 std::vector<SimpleJet> simpleJets2; //???
152 std::vector<SimpleJet> simpleJets3;
153 std::vector<SimpleJet> simpleJets4; //???
154 std::vector<SimpleJet> subJets; //???
155 std::vector<HardJet> hardJets;
156
157 METInfo calomet;
158 METInfo tcmet;
159 METInfo pfmet;
160 METInfo mht;
161 METInfo metNoPU;
162
163 std::vector<MuonInfo> muInfo;
164 std::vector<ElectronInfo> eleInfo;
165 std::vector<TauInfo> tauInfo;
166
167 std::vector<DiMuonInfo> diMuonInfo;
168 std::vector<DiElectronInfo> diElectronInfo;
169
170 // HiggsCandidate dijetHiggs;
171 // HiggsCandidate fatjetHiggs;
172
173 // to be decided.. one single or many V?
174 // VCandidate vcand;
175 // WCandidate wele;
176 // WCandidate wmu;
177 //WCandidate wtau;
178 // ZCandidate zmu;
179 // ZCandidate zele;
180 //ZInvCandidate znunu;
181
182 //
183 // really needed????
184 //
185
186 };
187 #endif