ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/VHbbAnalysis/VHbbDataFormats/interface/VHbbEvent.h
Revision: 1.33
Committed: Wed May 9 15:55:32 2012 UTC (12 years, 11 months ago) by arizzi
Content type: text/plain
Branch: MAIN
CVS Tags: May14thStep2, EdmV30Apr10, EdmV21Apr10v2, EdmV22May9
Changes since 1.32: +4 -3 lines
Log Message:
52X variables for ID and isolation

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