ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/VHbbAnalysis/VHbbDataFormats/interface/VHbbEvent.h
Revision: 1.32
Committed: Mon May 7 10:07:54 2012 UTC (12 years, 11 months ago) by arizzi
Content type: text/plain
Branch: MAIN
Changes since 1.31: +7 -2 lines
Log Message:
comment out pfNoPUMET stuff. add variables for 2012 electron ID (some could be duplicate but I kept the same naming of the egamma POG MVA... we can cleanup if we really want. Still missing: conversion vertex probability for cut based EleID

File Contents

# User Rev Content
1 tboccali 1.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 degrutto 1.24 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 arizzi 1.28 ssvhe(-99), csv(-99), csvmva(-99), csvivf(-99), cmva(-99),
16 tboccali 1.11 vtxMass(-99), vtx3dL(-99), vtx3deL(-99), vtxNTracks(-99), vtxProb(-99),
17     ntracks(-99), charge(-99),jecunc(-99),
18 malbouis 1.31 chargedHadronEFraction(-99), neutralHadronEFraction(-99), chargedEmEFraction(-99), neutralEmEFraction(-99),nConstituents(-99), ptRaw(-99), ptLeadTrack(-99), jetArea(-99),
19 tboccali 1.1 bestMCid(-99), bestMCmomid(-99){}
20     public:
21 tboccali 1.6 double Pt() {return p4.Pt();}
22 degrutto 1.24 int flavour, isSemiLept, isSemiLeptMCtruth, SoftLeptpdgId , SoftLeptIdlooseMu, SoftLeptId95;
23     float SoftLeptPt, SoftLeptdR, SoftLeptptRel, SoftLeptRelCombIso;
24 arizzi 1.28 float tche,tchp, jpb,jp , ssvhe, csv, csvmva,csvivf,cmva;
25 tboccali 1.11 // CSV vertex info
26     float vtxMass, vtx3dL, vtx3deL, vtxNTracks, vtxProb;
27 arizzi 1.29 TVector3 vtxPosition;
28     TLorentzVector vtxP4;
29 malbouis 1.31 std::vector<unsigned int> vtxTrackIds, btagTrackIds, csvTrackIds;
30     int csvNTracks, btagNTracks;
31 tboccali 1.1 int ntracks;
32     float charge;
33 tboccali 1.6 TLorentzVector p4;
34 tboccali 1.1 TLorentzVector chargedTracksFourMomentum;
35    
36 tboccali 1.11 // 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 malbouis 1.31 float ptRaw,ptLeadTrack;
53     float jetArea;
54 tboccali 1.11
55 bortigno 1.10 //MC parton matching
56 tboccali 1.11 TLorentzVector bestMCp4,bestMCp4mom;
57 tboccali 1.1 int bestMCid, bestMCmomid;
58     // new
59     TVector2 tVector;
60 bortigno 1.10 //Scale factor
61 bortigno 1.9 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 tboccali 1.1 };
69    
70    
71     class HardJet {
72     public:
73     HardJet(): constituents(-99){}
74     public:
75     int constituents;
76 tboccali 1.6 TLorentzVector p4;
77 tboccali 1.1 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 tboccali 1.6 TLorentzVector p4;
88 tboccali 1.1 };
89    
90     class MuonInfo {
91     public:
92 degrutto 1.13 MuonInfo(): charge(-99),tIso(-99), eIso(-99), hIso(-99),pfChaIso(-99),pfChaPUIso(99), pfPhoIso(-99), pfNeuIso(-99),
93 tboccali 1.1 acop(-99), ipDb(-99), ipErrDb(-99), zPVPt(-99),zPVProb(-99), chi2(-99), globChi2(-99),
94 tboccali 1.19 cat(-99), nValidTracker(-99), nValidPixel(-99), nMatches(-99),nHits(-99), nPixelHits(-99), globNHits(-99),validMuStations(-99),emEnergy(-99), hadEnergy(-99),
95 tboccali 1.1 mcId(-99), mcMomId(-99), mcgMomId(-99){}
96     public:
97 tboccali 1.6 TLorentzVector p4;
98 tboccali 1.1 int charge;
99 degrutto 1.13 float tIso, eIso, hIso, pfChaIso,pfChaPUIso, pfPhoIso,pfNeuIso,acop, ipDb, ipErrDb, zPVPt,zPVProb, chi2, globChi2;
100 tboccali 1.16 int cat, nValidTracker, nValidPixel, nMatches,nHits, nPixelHits, globNHits, validMuStations;
101 tboccali 1.19 float emEnergy, hadEnergy;
102 tboccali 1.1 TLorentzVector mcFourMomentum;
103     int mcId, mcMomId, mcgMomId;
104 bortigno 1.8 std::vector< int > hltMatchedBits;
105 tboccali 1.1 };
106    
107     class ElectronInfo {
108     public:
109     ElectronInfo() : scEta(-99), scPhi(-99), charge(-99),
110 degrutto 1.13 tIso(-99), eIso(-99), hIso(-99),pfChaIso(-99),pfChaPUIso(-99), pfPhoIso(-99), pfNeuIso(-99), acop(-99),
111 tboccali 1.17 sihih(-99), Dphi(-99), Deta(-99), HoE(-99), convDist(-99), convDcot(-99), innerHits(-99),
112     isEB(false),isEE(false),
113 tboccali 1.18 ipDb(-99), ipErrDb(-99),
114 arizzi 1.7 id95(-99),id85(-99),id80(-99),id70(-99),
115     id95r(-99),id85r(-99),id80r(-99),id70r(-99),
116 arizzi 1.32 mcId(-99), mcMomId(-99), mcgMomId (-99),
117     dxy(-99), dz(-99),
118     //MVA ELEID 2012 input vars (keep same names to make life easier in integrating with MVA evaluation code
119     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)
120     {}
121 tboccali 1.1 public:
122 tboccali 1.6 TLorentzVector p4;
123 tboccali 1.1 float scEta, scPhi;
124     int charge;
125 degrutto 1.13 float tIso, eIso, hIso, pfChaIso,pfChaPUIso, pfPhoIso,pfNeuIso, acop;
126 tboccali 1.17 float sihih, Dphi, Deta, HoE, convDist, convDcot;
127     int innerHits;
128     bool isEB,isEE;
129 arizzi 1.32 float ipDb, ipErrDb, dxy,dz;
130 arizzi 1.7 float id95,id85,id80,id70,id95r, id85r,id80r, id70r;
131 arizzi 1.32 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;
132 tboccali 1.1 TLorentzVector mcFourMomentum;
133     int mcId, mcMomId, mcgMomId;
134 bortigno 1.8 std::vector< int > hltMatchedBits;
135 tboccali 1.1 };
136    
137     class TauInfo{
138     public:
139 sethzenz 1.27 TauInfo() : charge(-99), tIso(-99), eIso(-99), hIso(-99),pfChaIso(-99), pfChaPUIso(-99),pfPhoIso(-99), pfNeuIso(-99), acop(-99),
140 sethzenz 1.26 byIsolation(-99),trackIsolation(-99),byTaNCfrOnePercent(-99),
141     byTaNCfrHalfPercent(-99), byTaNCfrQuarterPercent(-99),
142     byTaNCfrTenthPercent(-99), byTaNC(-99), mcId(-99), mcMomId(-99), mcgMomId(-99),
143     againstElectronLoose(-99), againstElectronMedium(-99), againstElectronTight(-99), againstMuonLoose(-99), againstMuonTight(-99),
144     byLooseIsolation(-99), byMediumIsolation(-99), byTightIsolation(-99), byVLooseIsolation(-99), decayModeFinding(-99),
145 sethzenz 1.23 isolationPFChargedHadrCandsPtSum(-999999.), isolationPFGammaCandsEtSum(-999999.),leadPFChargedHadrCandPt(-999999.),
146 sethzenz 1.26 NsignalPFChargedHadrCands (-99),NsignalPFGammaCands(-99), byLooseCombinedIsolationDeltaBetaCorr(-99), againstElectronMVA(-99) {}
147 tboccali 1.1 public:
148 tboccali 1.6 TLorentzVector p4;
149 tboccali 1.1 int charge;
150 sethzenz 1.27 float tIso, eIso, hIso,pfChaIso,pfChaPUIso,pfPhoIso,pfNeuIso, acop;
151 sethzenz 1.26 float byIsolation,trackIsolation,byTaNCfrOnePercent,byTaNCfrHalfPercent, byTaNCfrQuarterPercent, byTaNCfrTenthPercent, byTaNC;
152 dlopes 1.22 int mcId, mcMomId, mcgMomId;
153 sethzenz 1.26 float againstElectronLoose, againstElectronMedium, againstElectronTight, againstMuonLoose, againstMuonTight;
154     float byLooseIsolation, byMediumIsolation, byTightIsolation, byVLooseIsolation, decayModeFinding;
155 dlopes 1.22
156     float isolationPFChargedHadrCandsPtSum,isolationPFGammaCandsEtSum,leadPFChargedHadrCandPt;
157 sethzenz 1.23 int NsignalPFChargedHadrCands, NsignalPFGammaCands;
158 sethzenz 1.26 float byLooseCombinedIsolationDeltaBetaCorr, againstElectronMVA;
159    
160    
161 tboccali 1.1 TLorentzVector mcFourMomentum;
162     };
163    
164    
165     class DiMuonInfo {
166     public:
167 tboccali 1.6 TLorentzVector p4;
168 tboccali 1.1 MuonInfo daughter1, daughter2;
169     };
170    
171    
172     class DiElectronInfo {
173     public:
174 tboccali 1.6 TLorentzVector p4;
175 tboccali 1.1 ElectronInfo daughter1, daughter2;
176     };
177    
178    
179    
180     public:
181     std::vector<SimpleJet> simpleJets;
182     std::vector<SimpleJet> simpleJets2; //???
183 tboccali 1.12 std::vector<SimpleJet> simpleJets3;
184     std::vector<SimpleJet> simpleJets4; //???
185 tboccali 1.1 std::vector<SimpleJet> subJets; //???
186 dlopes 1.22 std::vector<SimpleJet> filterJets; //???
187 tboccali 1.1 std::vector<HardJet> hardJets;
188    
189 degrutto 1.25 METInfo calomet;
190 tboccali 1.1 METInfo tcmet;
191     METInfo pfmet;
192 degrutto 1.25 METInfo pfmetType1corr;
193     METInfo pfmetType1p2corr;
194     METInfo pfmetNoPUType1corr;
195     METInfo pfmetNoPUType1p2corr;
196 tboccali 1.11 METInfo mht;
197 arizzi 1.14 METInfo metNoPU;
198 tboccali 1.20 METInfo metCh;
199 degrutto 1.25 std::vector<METInfo> metUncInfo;
200 tboccali 1.11
201 tboccali 1.1 std::vector<MuonInfo> muInfo;
202     std::vector<ElectronInfo> eleInfo;
203     std::vector<TauInfo> tauInfo;
204    
205     std::vector<DiMuonInfo> diMuonInfo;
206     std::vector<DiElectronInfo> diElectronInfo;
207    
208     // HiggsCandidate dijetHiggs;
209     // HiggsCandidate fatjetHiggs;
210    
211     // to be decided.. one single or many V?
212     // VCandidate vcand;
213     // WCandidate wele;
214     // WCandidate wmu;
215     //WCandidate wtau;
216     // ZCandidate zmu;
217     // ZCandidate zele;
218     //ZInvCandidate znunu;
219    
220     //
221     // really needed????
222     //
223    
224     };
225     #endif