ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/VHbbAnalysis/VHbbDataFormats/interface/VHbbEvent.h
Revision: 1.38
Committed: Thu Feb 14 16:12:00 2013 UTC (12 years, 2 months ago) by msegala
Content type: text/plain
Branch: MAIN
CVS Tags: EDMV42_Step2_V8, EDMV42_Step2_V7, EDMV42_Step2_V6, EDMV42_Step2_V5a, EDMV42_Step2_V5, HEAD
Changes since 1.37: +10 -1 lines
Log Message:
Adding tau variables

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), isSemiLept(-99), isSemiLeptMCtruth(-99), SoftLeptpdgId(-99), SoftLeptIdlooseMu(-99), SoftLeptId95(-99), SoftLeptPt(-99), SoftLeptdR(-99), SoftLeptptRel(-99), SoftLeptRelCombIso(-99), tche(-99), tchp(-99), jpb(-99), jp(-99),
15 ssvhe(-99), csv(-99), csvmva(-99), csvivf(-99), cmva(-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), ptRaw(-99), ptLeadTrack(-99), jetArea(-99),
19 bestMCid(-99), bestMCmomid(-99),
20 puJetIdL(-99), puJetIdM(-99), puJetIdT(-99), puJetIdMva(-99) {}
21 public:
22 double Pt() {return p4.Pt();}
23 int flavour, isSemiLept, isSemiLeptMCtruth, SoftLeptpdgId , SoftLeptIdlooseMu, SoftLeptId95;
24 float SoftLeptPt, SoftLeptdR, SoftLeptptRel, SoftLeptRelCombIso;
25 float tche,tchp, jpb,jp , ssvhe, csv, csvmva,csvivf,cmva;
26 // CSV vertex info
27 float vtxMass, vtx3dL, vtx3deL, vtxNTracks, vtxProb;
28 TVector3 vtxPosition;
29 TLorentzVector vtxP4;
30 std::vector<unsigned int> vtxTrackIds, btagTrackIds, csvTrackIds;
31 int csvNTracks, btagNTracks;
32 int ntracks;
33 float charge;
34 TLorentzVector p4;
35 TLorentzVector chargedTracksFourMomentum;
36
37 // jec uncertainty
38
39 float jecunc;
40 // energy fractions as in
41 /* //chargedHadronEnergyFraction (relative to uncorrected jet energy)
42 float chargedHadronEnergyFraction() const {return chargedHadronEnergy()/((jecSetsAvailable() ? jecFactor(0) : 1.)*energy());}
43 /// neutralHadronEnergyFraction (relative to uncorrected jet energy)
44 float neutralHadronEnergyFraction() const {return neutralHadronEnergy()/((jecSetsAvailable() ? jecFactor(0) : 1.)*energy());}
45 /// chargedEmEnergyFraction (relative to uncorrected jet energy)
46 float chargedEmEnergyFraction() const {return chargedEmEnergy()/((jecSetsAvailable() ? jecFactor(0) : 1.)*energy());}
47 /// neutralEmEnergyFraction (relative to uncorrected jet energy)
48 float neutralEmEnergyFraction() const {return neutralEmEnergy()/((jecSetsAvailable() ? jecFactor(0) : 1.)*energy());}
49 */
50
51 float chargedHadronEFraction, neutralHadronEFraction, chargedEmEFraction, neutralEmEFraction;
52 int nConstituents;
53 float ptRaw,ptLeadTrack;
54 float jetArea;
55
56 //for quark-gluon tagger
57 float constituentPtDistribution;
58 float constituentEtaPhiSpread;
59
60 //MC parton matching
61 TLorentzVector bestMCp4,bestMCp4mom;
62 int bestMCid, bestMCmomid;
63 // new
64 TVector2 tVector;
65 //Scale factor
66 float SF_CSVL;
67 float SF_CSVM;
68 float SF_CSVT;
69 float SF_CSVLerr;
70 float SF_CSVMerr;
71 float SF_CSVTerr;
72 // puJet Id
73 float puJetIdL, puJetIdM, puJetIdT, puJetIdMva;
74
75 };
76
77
78 class HardJet {
79 public:
80 HardJet(): constituents(-99){}
81 public:
82 int constituents;
83 TLorentzVector p4;
84 std::vector<TLorentzVector> subFourMomentum;
85 std::vector<float> etaSub, phiSub;
86 };
87
88 class RawJet {
89 public:
90 RawJet(): Nconstituents(-99), Ngenconstituents(-99){}
91 int Nconstituents;
92 int Ngenconstituents;
93 TLorentzVector p4, genP4;
94 std::vector<float> constituents_px;
95 std::vector<float> constituents_py;
96 std::vector<float> constituents_pz;
97 std::vector<float> constituents_e;
98 std::vector<int> constituents_pdgId;
99 std::vector<float> genconstituents_px;
100 std::vector<float> genconstituents_py;
101 std::vector<float> genconstituents_pz;
102 std::vector<float> genconstituents_e;
103 std::vector<int> genconstituents_pdgId;
104 };
105
106 class METInfo {
107 public:
108 METInfo(): sumEt(-99), metSig(-99), eLong(-99){}
109 public:
110 float sumEt, metSig, eLong;
111 TLorentzVector p4;
112 };
113
114 class MuonInfo {
115 public:
116 MuonInfo(): charge(-99),tIso(-99), eIso(-99), hIso(-99),pfChaIso(-99),pfChaPUIso(99), pfPhoIso(-99), pfNeuIso(-99),
117 acop(-99), ipDb(-99), ipErrDb(-99), zPVPt(-99),zPVProb(-99), chi2(-99), globChi2(-99),
118 cat(-99), nValidTracker(-99), nValidPixel(-99), nMatches(-99),nHits(-99), nPixelHits(-99), globNHits(-99),validMuStations(-99),emEnergy(-99), hadEnergy(-99),nValidLayers(-99),isPF(-99),
119 mcId(-99), mcMomId(-99), mcgMomId(-99){}
120 public:
121 TLorentzVector p4;
122 int charge;
123 float tIso, eIso, hIso, pfChaIso,pfChaPUIso, pfPhoIso,pfNeuIso,acop, ipDb, ipErrDb, zPVPt,zPVProb, chi2, globChi2;
124 int cat, nValidTracker, nValidPixel, nMatches,nHits, nPixelHits, globNHits, validMuStations;
125 float emEnergy, hadEnergy;
126 TLorentzVector mcFourMomentum;
127 int mcId, mcMomId, mcgMomId;
128 int isPF,nValidLayers;
129 std::vector< int > hltMatchedBits;
130 };
131
132 class ElectronInfo {
133 public:
134 ElectronInfo() : scEta(-99), scPhi(-99), charge(-99),
135 tIso(-99), eIso(-99), hIso(-99),pfChaIso(-99),pfChaPUIso(-99), pfPhoIso(-99), pfNeuIso(-99), acop(-99),
136 sihih(-99), Dphi(-99), Deta(-99), HoE(-99), convDist(-99), convDcot(-99), innerHits(-99),
137 isEB(false),isEE(false),
138 ipDb(-99), ipErrDb(-99),
139 id95(-99),id85(-99),id80(-99),id70(-99),
140 id95r(-99),id85r(-99),id80r(-99),id70r(-99),
141 mcId(-99), mcMomId(-99), mcgMomId (-99),
142 dxy(-99), dz(-99),pfPhoIsoDoubleCounted(-99),
143 //MVA ELEID 2012 input vars (keep same names to make life easier in integrating with MVA evaluation code
144 fMVAVar_EoP(-99), fMVAVar_HoE(-99), fMVAVar_IoEmIoP(-99), fMVAVar_PreShowerOverRaw(-99), fMVAVar_R9(-99), fMVAVar_d0(-99), fMVAVar_deta(-99), fMVAVar_detacalo(-99), fMVAVar_dphi(-99), fMVAVar_e1x5e5x5(-99), fMVAVar_eleEoPout(-99), fMVAVar_eta(-99), fMVAVar_etawidth(-99), fMVAVar_fbrem(-99), fMVAVar_gsfchi2(-99), fMVAVar_ip3d(-99), fMVAVar_kfchi2(-99), fMVAVar_kfhits(-99), fMVAVar_phiwidth(-99), fMVAVar_pt(-99), fMVAVar_see(-99), fMVAVar_spp(-99), mvaOut(-99),mvaOutTrig(-99)
145 {}
146 public:
147 TLorentzVector p4;
148 float scEta, scPhi;
149 int charge;
150 float tIso, eIso, hIso, pfChaIso,pfChaPUIso, pfPhoIso,pfNeuIso, acop;
151 float sihih, Dphi, Deta, HoE, convDist, convDcot;
152 int innerHits;
153 bool isEB,isEE;
154 float ipDb, ipErrDb, dxy,dz;
155 float pfPhoIsoDoubleCounted;
156 float id95,id85,id80,id70,id95r, id85r,id80r, id70r;
157 float fMVAVar_EoP, fMVAVar_HoE, fMVAVar_IoEmIoP, fMVAVar_PreShowerOverRaw, fMVAVar_R9, fMVAVar_d0, fMVAVar_deta, fMVAVar_detacalo, fMVAVar_dphi, fMVAVar_e1x5e5x5, fMVAVar_eleEoPout, fMVAVar_eta, fMVAVar_etawidth, fMVAVar_fbrem, fMVAVar_gsfchi2, fMVAVar_ip3d, fMVAVar_kfchi2, fMVAVar_kfhits, fMVAVar_phiwidth, fMVAVar_pt, fMVAVar_see, fMVAVar_spp, mvaOut,mvaOutTrig;
158 TLorentzVector mcFourMomentum;
159 int mcId, mcMomId, mcgMomId;
160 std::vector< int > hltMatchedBits;
161 };
162
163 class TauInfo{
164 public:
165 TauInfo() : charge(-99), tIso(-99), eIso(-99), hIso(-99),pfChaIso(-99), pfChaPUIso(-99),pfPhoIso(-99), pfNeuIso(-99), acop(-99),
166 byIsolation(-99),trackIsolation(-99),byTaNCfrOnePercent(-99),
167 byTaNCfrHalfPercent(-99), byTaNCfrQuarterPercent(-99),
168 byTaNCfrTenthPercent(-99), byTaNC(-99), mcId(-99), mcMomId(-99), mcgMomId(-99),
169 againstElectronLoose(-99), againstElectronMedium(-99), againstElectronTight(-99), againstMuonLoose(-99), againstMuonTight(-99),
170 byLooseIsolation(-99), byMediumIsolation(-99), byTightIsolation(-99), byVLooseIsolation(-99), decayModeFinding(-99),
171 isolationPFChargedHadrCandsPtSum(-999999.), isolationPFGammaCandsEtSum(-999999.),leadPFChargedHadrCandPt(-999999.),
172 NsignalPFChargedHadrCands (-99),NsignalPFGammaCands(-99), byLooseCombinedIsolationDeltaBetaCorr(-99), againstElectronMVA(-99),
173 byLooseCombinedIsolationDeltaBetaCorr3Hits(-99), byMediumCombinedIsolationDeltaBetaCorr3Hits(-99),
174 byTightCombinedIsolationDeltaBetaCorr3Hits(-99), againstElectronMVA3raw(-99), againstElectronMVA3category(-99), againstElectronLooseMVA3(-99),
175 againstElectronMediumMVA3(-99), againstElectronTightMVA3(-99), againstElectronVTightMVA3(-99), againstElectronDeadECAL(-99),
176 byLooseIsolationMVA(-99), byMediumIsolationMVA(-99), byTightIsolationMVA(-99), byLooseIsolationMVA2(-99),
177 byMediumIsolationMVA2(-99), byTightIsolationMVA2(-99), againstMuonLoose2(-99), againstMuonMedium2(-99),
178 againstMuonTight2(-99){}
179 public:
180 TLorentzVector p4;
181 int charge;
182 float tIso, eIso, hIso,pfChaIso,pfChaPUIso,pfPhoIso,pfNeuIso, acop;
183 float byIsolation,trackIsolation,byTaNCfrOnePercent,byTaNCfrHalfPercent, byTaNCfrQuarterPercent, byTaNCfrTenthPercent, byTaNC;
184 int mcId, mcMomId, mcgMomId;
185 float againstElectronLoose, againstElectronMedium, againstElectronTight, againstMuonLoose, againstMuonTight;
186 float byLooseIsolation, byMediumIsolation, byTightIsolation, byVLooseIsolation, decayModeFinding;
187
188 float isolationPFChargedHadrCandsPtSum,isolationPFGammaCandsEtSum,leadPFChargedHadrCandPt;
189 int NsignalPFChargedHadrCands, NsignalPFGammaCands;
190 float byLooseCombinedIsolationDeltaBetaCorr, againstElectronMVA;
191
192 float byLooseCombinedIsolationDeltaBetaCorr3Hits, byMediumCombinedIsolationDeltaBetaCorr3Hits,byTightCombinedIsolationDeltaBetaCorr3Hits;
193 float againstElectronMVA3raw, againstElectronMVA3category, againstElectronLooseMVA3, againstElectronMediumMVA3, againstElectronTightMVA3, againstElectronVTightMVA3, againstElectronDeadECAL;
194 float byLooseIsolationMVA, byMediumIsolationMVA, byTightIsolationMVA, byLooseIsolationMVA2, byMediumIsolationMVA2, byTightIsolationMVA2, againstMuonLoose2, againstMuonMedium2, againstMuonTight2;
195
196 TLorentzVector mcFourMomentum;
197 };
198
199
200 class DiMuonInfo {
201 public:
202 TLorentzVector p4;
203 MuonInfo daughter1, daughter2;
204 };
205
206
207 class DiElectronInfo {
208 public:
209 TLorentzVector p4;
210 ElectronInfo daughter1, daughter2;
211 };
212
213
214
215 public:
216 std::vector<SimpleJet> simpleJets; // unused
217 std::vector<SimpleJet> simpleJets2; // anti-kt R=0.5 PF jets
218 std::vector<SimpleJet> simpleJets3; // unused
219 std::vector<SimpleJet> simpleJets4; // anti-kt R=0.7 PF jets
220 std::vector<SimpleJet> subJets; // CA R=1.2 mass drop subjets (FastJet 2)
221 std::vector<SimpleJet> filterJets; // CA R=1.2 mass drop filtered R=0.3 subjets (FastJet 2)
222 std::vector<HardJet> hardJets; // CA R=1.2 mass drop fatjets (FastJet 2)
223
224 std::vector<SimpleJet> CA12mdft_subJets; // CA R=1.2 mass drop filtered R=0.3 subjets (FastJet 3)
225 std::vector<HardJet> CA12mdft_hardJets; // CA R=1.2 mass drop fatjets (FastJet 3)
226 std::vector<SimpleJet> CA12pr_subJets; // CA R=1.2 pruned subjets (FastJet 3)
227 std::vector<SimpleJet> CA12ft_subJets; // CA R=1.2 filtered subjets (FastJet 3)
228 std::vector<RawJet> CA12_rawJets; // CA R=1.2 raw fatjets (FastJet 3)
229
230 METInfo calomet;
231 METInfo tcmet;
232 METInfo pfmet;
233 METInfo pfmetType1corr;
234 METInfo pfmetType1p2corr;
235 METInfo pfmetNoPUType1corr;
236 METInfo pfmetNoPUType1p2corr;
237 METInfo mht;
238 METInfo metNoPU;
239 METInfo metCh;
240 std::vector<METInfo> metUncInfo;
241
242 std::vector<MuonInfo> muInfo;
243 std::vector<ElectronInfo> eleInfo;
244 std::vector<TauInfo> tauInfo;
245
246 std::vector<DiMuonInfo> diMuonInfo;
247 std::vector<DiElectronInfo> diElectronInfo;
248
249 // HiggsCandidate dijetHiggs;
250 // HiggsCandidate fatjetHiggs;
251
252 // to be decided.. one single or many V?
253 // VCandidate vcand;
254 // WCandidate wele;
255 // WCandidate wmu;
256 //WCandidate wtau;
257 // ZCandidate zmu;
258 // ZCandidate zele;
259 //ZInvCandidate znunu;
260
261 //
262 // really needed????
263 //
264
265 };
266 #endif