ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/VHbbAnalysis/VHbbDataFormats/interface/VHbbEvent.h
Revision: 1.29
Committed: Tue Apr 3 08:55:44 2012 UTC (13 years, 1 month ago) by arizzi
Content type: text/plain
Branch: MAIN
CVS Tags: EdmV21Apr04, EdmV21Apr03
Changes since 1.28: +2 -0 lines
Log Message:
add sec vertex position and sum vertices p4. fix the savedgenParticles as discussed for tau decay products

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),
19 bestMCid(-99), bestMCmomid(-99){}
20 public:
21 double Pt() {return p4.Pt();}
22 int flavour, isSemiLept, isSemiLeptMCtruth, SoftLeptpdgId , SoftLeptIdlooseMu, SoftLeptId95;
23 float SoftLeptPt, SoftLeptdR, SoftLeptptRel, SoftLeptRelCombIso;
24 float tche,tchp, jpb,jp , ssvhe, csv, csvmva,csvivf,cmva;
25 // CSV vertex info
26 float vtxMass, vtx3dL, vtx3deL, vtxNTracks, vtxProb;
27 TVector3 vtxPosition;
28 TLorentzVector vtxP4;
29 std::vector<unsigned int> vtxTrackIds;
30 int ntracks;
31 float charge;
32 TLorentzVector p4;
33 TLorentzVector chargedTracksFourMomentum;
34
35 // jec uncertainty
36
37 float jecunc;
38 // energy fractions as in
39 /* //chargedHadronEnergyFraction (relative to uncorrected jet energy)
40 float chargedHadronEnergyFraction() const {return chargedHadronEnergy()/((jecSetsAvailable() ? jecFactor(0) : 1.)*energy());}
41 /// neutralHadronEnergyFraction (relative to uncorrected jet energy)
42 float neutralHadronEnergyFraction() const {return neutralHadronEnergy()/((jecSetsAvailable() ? jecFactor(0) : 1.)*energy());}
43 /// chargedEmEnergyFraction (relative to uncorrected jet energy)
44 float chargedEmEnergyFraction() const {return chargedEmEnergy()/((jecSetsAvailable() ? jecFactor(0) : 1.)*energy());}
45 /// neutralEmEnergyFraction (relative to uncorrected jet energy)
46 float neutralEmEnergyFraction() const {return neutralEmEnergy()/((jecSetsAvailable() ? jecFactor(0) : 1.)*energy());}
47 */
48
49 float chargedHadronEFraction, neutralHadronEFraction, chargedEmEFraction, neutralEmEFraction;
50 int nConstituents;
51
52 //MC parton matching
53 TLorentzVector bestMCp4,bestMCp4mom;
54 int bestMCid, bestMCmomid;
55 // new
56 TVector2 tVector;
57 //Scale factor
58 float SF_CSVL;
59 float SF_CSVM;
60 float SF_CSVT;
61 float SF_CSVLerr;
62 float SF_CSVMerr;
63 float SF_CSVTerr;
64
65 };
66
67
68 class HardJet {
69 public:
70 HardJet(): constituents(-99){}
71 public:
72 int constituents;
73 TLorentzVector p4;
74 std::vector<TLorentzVector> subFourMomentum;
75 std::vector<float> etaSub, phiSub;
76 };
77
78
79 class METInfo {
80 public:
81 METInfo(): sumEt(-99), metSig(-99), eLong(-99){}
82 public:
83 float sumEt, metSig, eLong;
84 TLorentzVector p4;
85 };
86
87 class MuonInfo {
88 public:
89 MuonInfo(): charge(-99),tIso(-99), eIso(-99), hIso(-99),pfChaIso(-99),pfChaPUIso(99), pfPhoIso(-99), pfNeuIso(-99),
90 acop(-99), ipDb(-99), ipErrDb(-99), zPVPt(-99),zPVProb(-99), chi2(-99), globChi2(-99),
91 cat(-99), nValidTracker(-99), nValidPixel(-99), nMatches(-99),nHits(-99), nPixelHits(-99), globNHits(-99),validMuStations(-99),emEnergy(-99), hadEnergy(-99),
92 mcId(-99), mcMomId(-99), mcgMomId(-99){}
93 public:
94 TLorentzVector p4;
95 int charge;
96 float tIso, eIso, hIso, pfChaIso,pfChaPUIso, pfPhoIso,pfNeuIso,acop, ipDb, ipErrDb, zPVPt,zPVProb, chi2, globChi2;
97 int cat, nValidTracker, nValidPixel, nMatches,nHits, nPixelHits, globNHits, validMuStations;
98 float emEnergy, hadEnergy;
99 TLorentzVector mcFourMomentum;
100 int mcId, mcMomId, mcgMomId;
101 std::vector< int > hltMatchedBits;
102 };
103
104 class ElectronInfo {
105 public:
106 ElectronInfo() : scEta(-99), scPhi(-99), charge(-99),
107 tIso(-99), eIso(-99), hIso(-99),pfChaIso(-99),pfChaPUIso(-99), pfPhoIso(-99), pfNeuIso(-99), acop(-99),
108 sihih(-99), Dphi(-99), Deta(-99), HoE(-99), convDist(-99), convDcot(-99), innerHits(-99),
109 isEB(false),isEE(false),
110 ipDb(-99), ipErrDb(-99),
111 id95(-99),id85(-99),id80(-99),id70(-99),
112 id95r(-99),id85r(-99),id80r(-99),id70r(-99),
113 mcId(-99), mcMomId(-99), mcgMomId (-99){}
114 public:
115 TLorentzVector p4;
116 float scEta, scPhi;
117 int charge;
118 float tIso, eIso, hIso, pfChaIso,pfChaPUIso, pfPhoIso,pfNeuIso, acop;
119 float sihih, Dphi, Deta, HoE, convDist, convDcot;
120 int innerHits;
121 bool isEB,isEE;
122 float ipDb, ipErrDb;
123 float id95,id85,id80,id70,id95r, id85r,id80r, id70r;
124 TLorentzVector mcFourMomentum;
125 int mcId, mcMomId, mcgMomId;
126 std::vector< int > hltMatchedBits;
127 };
128
129 class TauInfo{
130 public:
131 TauInfo() : charge(-99), tIso(-99), eIso(-99), hIso(-99),pfChaIso(-99), pfChaPUIso(-99),pfPhoIso(-99), pfNeuIso(-99), acop(-99),
132 byIsolation(-99),trackIsolation(-99),byTaNCfrOnePercent(-99),
133 byTaNCfrHalfPercent(-99), byTaNCfrQuarterPercent(-99),
134 byTaNCfrTenthPercent(-99), byTaNC(-99), mcId(-99), mcMomId(-99), mcgMomId(-99),
135 againstElectronLoose(-99), againstElectronMedium(-99), againstElectronTight(-99), againstMuonLoose(-99), againstMuonTight(-99),
136 byLooseIsolation(-99), byMediumIsolation(-99), byTightIsolation(-99), byVLooseIsolation(-99), decayModeFinding(-99),
137 isolationPFChargedHadrCandsPtSum(-999999.), isolationPFGammaCandsEtSum(-999999.),leadPFChargedHadrCandPt(-999999.),
138 NsignalPFChargedHadrCands (-99),NsignalPFGammaCands(-99), byLooseCombinedIsolationDeltaBetaCorr(-99), againstElectronMVA(-99) {}
139 public:
140 TLorentzVector p4;
141 int charge;
142 float tIso, eIso, hIso,pfChaIso,pfChaPUIso,pfPhoIso,pfNeuIso, acop;
143 float byIsolation,trackIsolation,byTaNCfrOnePercent,byTaNCfrHalfPercent, byTaNCfrQuarterPercent, byTaNCfrTenthPercent, byTaNC;
144 int mcId, mcMomId, mcgMomId;
145 float againstElectronLoose, againstElectronMedium, againstElectronTight, againstMuonLoose, againstMuonTight;
146 float byLooseIsolation, byMediumIsolation, byTightIsolation, byVLooseIsolation, decayModeFinding;
147
148 float isolationPFChargedHadrCandsPtSum,isolationPFGammaCandsEtSum,leadPFChargedHadrCandPt;
149 int NsignalPFChargedHadrCands, NsignalPFGammaCands;
150 float byLooseCombinedIsolationDeltaBetaCorr, againstElectronMVA;
151
152
153 TLorentzVector mcFourMomentum;
154 };
155
156
157 class DiMuonInfo {
158 public:
159 TLorentzVector p4;
160 MuonInfo daughter1, daughter2;
161 };
162
163
164 class DiElectronInfo {
165 public:
166 TLorentzVector p4;
167 ElectronInfo daughter1, daughter2;
168 };
169
170
171
172 public:
173 std::vector<SimpleJet> simpleJets;
174 std::vector<SimpleJet> simpleJets2; //???
175 std::vector<SimpleJet> simpleJets3;
176 std::vector<SimpleJet> simpleJets4; //???
177 std::vector<SimpleJet> subJets; //???
178 std::vector<SimpleJet> filterJets; //???
179 std::vector<HardJet> hardJets;
180
181 METInfo calomet;
182 METInfo tcmet;
183 METInfo pfmet;
184 METInfo pfmetType1corr;
185 METInfo pfmetType1p2corr;
186 METInfo pfmetNoPUType1corr;
187 METInfo pfmetNoPUType1p2corr;
188 METInfo mht;
189 METInfo metNoPU;
190 METInfo metCh;
191 std::vector<METInfo> metUncInfo;
192
193 std::vector<MuonInfo> muInfo;
194 std::vector<ElectronInfo> eleInfo;
195 std::vector<TauInfo> tauInfo;
196
197 std::vector<DiMuonInfo> diMuonInfo;
198 std::vector<DiElectronInfo> diElectronInfo;
199
200 // HiggsCandidate dijetHiggs;
201 // HiggsCandidate fatjetHiggs;
202
203 // to be decided.. one single or many V?
204 // VCandidate vcand;
205 // WCandidate wele;
206 // WCandidate wmu;
207 //WCandidate wtau;
208 // ZCandidate zmu;
209 // ZCandidate zele;
210 //ZInvCandidate znunu;
211
212 //
213 // really needed????
214 //
215
216 };
217 #endif