ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/VHbbAnalysis/VHbbDataFormats/interface/VHbbEvent.h
Revision: 1.23
Committed: Wed Feb 22 16:46:54 2012 UTC (13 years, 2 months ago) by sethzenz
Content type: text/plain
Branch: MAIN
Changes since 1.22: +3 -1 lines
Log Message:
new tau variables

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.21 SimpleJet(): flavour(-99), isSemiLept(-99), isSemiLeptMCtruth(-99), tche(-99), tchp(-99), jpb(-99), jp(-99),
15 tboccali 1.11 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 tboccali 1.1 bestMCid(-99), bestMCmomid(-99){}
20     public:
21 tboccali 1.6 double Pt() {return p4.Pt();}
22 degrutto 1.21 int flavour, isSemiLept, isSemiLeptMCtruth;
23 tboccali 1.1 float tche,tchp, jpb,jp , ssvhe, csv, csvmva;
24 tboccali 1.11 // CSV vertex info
25     float vtxMass, vtx3dL, vtx3deL, vtxNTracks, vtxProb;
26     std::vector<unsigned int> vtxTrackIds;
27 tboccali 1.1 int ntracks;
28     float charge;
29 tboccali 1.6 TLorentzVector p4;
30 tboccali 1.1 TLorentzVector chargedTracksFourMomentum;
31    
32 tboccali 1.11 // 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 bortigno 1.10 //MC parton matching
50 tboccali 1.11 TLorentzVector bestMCp4,bestMCp4mom;
51 tboccali 1.1 int bestMCid, bestMCmomid;
52     // new
53     TVector2 tVector;
54 bortigno 1.10 //Scale factor
55 bortigno 1.9 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 tboccali 1.1 };
63    
64    
65     class HardJet {
66     public:
67     HardJet(): constituents(-99){}
68     public:
69     int constituents;
70 tboccali 1.6 TLorentzVector p4;
71 tboccali 1.1 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 tboccali 1.6 TLorentzVector p4;
82 tboccali 1.1 };
83    
84     class MuonInfo {
85     public:
86 degrutto 1.13 MuonInfo(): charge(-99),tIso(-99), eIso(-99), hIso(-99),pfChaIso(-99),pfChaPUIso(99), pfPhoIso(-99), pfNeuIso(-99),
87 tboccali 1.1 acop(-99), ipDb(-99), ipErrDb(-99), zPVPt(-99),zPVProb(-99), chi2(-99), globChi2(-99),
88 tboccali 1.19 cat(-99), nValidTracker(-99), nValidPixel(-99), nMatches(-99),nHits(-99), nPixelHits(-99), globNHits(-99),validMuStations(-99),emEnergy(-99), hadEnergy(-99),
89 tboccali 1.1 mcId(-99), mcMomId(-99), mcgMomId(-99){}
90     public:
91 tboccali 1.6 TLorentzVector p4;
92 tboccali 1.1 int charge;
93 degrutto 1.13 float tIso, eIso, hIso, pfChaIso,pfChaPUIso, pfPhoIso,pfNeuIso,acop, ipDb, ipErrDb, zPVPt,zPVProb, chi2, globChi2;
94 tboccali 1.16 int cat, nValidTracker, nValidPixel, nMatches,nHits, nPixelHits, globNHits, validMuStations;
95 tboccali 1.19 float emEnergy, hadEnergy;
96 tboccali 1.1 TLorentzVector mcFourMomentum;
97     int mcId, mcMomId, mcgMomId;
98 bortigno 1.8 std::vector< int > hltMatchedBits;
99 tboccali 1.1 };
100    
101     class ElectronInfo {
102     public:
103     ElectronInfo() : scEta(-99), scPhi(-99), charge(-99),
104 degrutto 1.13 tIso(-99), eIso(-99), hIso(-99),pfChaIso(-99),pfChaPUIso(-99), pfPhoIso(-99), pfNeuIso(-99), acop(-99),
105 tboccali 1.17 sihih(-99), Dphi(-99), Deta(-99), HoE(-99), convDist(-99), convDcot(-99), innerHits(-99),
106     isEB(false),isEE(false),
107 tboccali 1.18 ipDb(-99), ipErrDb(-99),
108 arizzi 1.7 id95(-99),id85(-99),id80(-99),id70(-99),
109     id95r(-99),id85r(-99),id80r(-99),id70r(-99),
110     mcId(-99), mcMomId(-99), mcgMomId (-99){}
111 tboccali 1.1 public:
112 tboccali 1.6 TLorentzVector p4;
113 tboccali 1.1 float scEta, scPhi;
114     int charge;
115 degrutto 1.13 float tIso, eIso, hIso, pfChaIso,pfChaPUIso, pfPhoIso,pfNeuIso, acop;
116 tboccali 1.17 float sihih, Dphi, Deta, HoE, convDist, convDcot;
117     int innerHits;
118     bool isEB,isEE;
119 tboccali 1.18 float ipDb, ipErrDb;
120 arizzi 1.7 float id95,id85,id80,id70,id95r, id85r,id80r, id70r;
121 tboccali 1.1 TLorentzVector mcFourMomentum;
122     int mcId, mcMomId, mcgMomId;
123 bortigno 1.8 std::vector< int > hltMatchedBits;
124 tboccali 1.1 };
125    
126     class TauInfo{
127     public:
128 arizzi 1.7 TauInfo() : charge(-99), tIso(-99), eIso(-99), hIso(-99),pfChaIso(-99), pfPhoIso(-99), pfNeuIso(-99), acop(-99),
129 tboccali 1.1 idbyIso(-99),idbyTrackIso(-99),idbyTaNCfrOnePercent(-99),
130     idbyTaNCfrHalfPercent(-99), idbyTaNCfrQuarterPercent(-99),
131 dlopes 1.22 idbyTaNCfrTenthPercent(-99), idbyTaNC(-99), mcId(-99), mcMomId(-99), mcgMomId(-99),
132     idagainstElectronLoose(-99), idagainstElectronMedium(-99), idagainstElectronTight(-99), idagainstMuonLoose(-99), idagainstMuonTight(-99),
133     idbyLooseIsolation(-99), idbyMediumIsolation(-99), idbyTightIsolation(-99), idbyVLooseIsolation(-99), iddecayModeFinding(-99),
134 sethzenz 1.23 isolationPFChargedHadrCandsPtSum(-999999.), isolationPFGammaCandsEtSum(-999999.),leadPFChargedHadrCandPt(-999999.),
135     NsignalPFChargedHadrCands (-99),NsignalPFGammaCands(-99) {}
136 tboccali 1.1 public:
137 tboccali 1.6 TLorentzVector p4;
138 tboccali 1.1 int charge;
139 arizzi 1.7 float tIso, eIso, hIso,pfChaIso,pfPhoIso,pfNeuIso, acop;
140 tboccali 1.1 float idbyIso,idbyTrackIso,idbyTaNCfrOnePercent,idbyTaNCfrHalfPercent, idbyTaNCfrQuarterPercent, idbyTaNCfrTenthPercent, idbyTaNC;
141 dlopes 1.22 int mcId, mcMomId, mcgMomId;
142     float idagainstElectronLoose, idagainstElectronMedium, idagainstElectronTight, idagainstMuonLoose, idagainstMuonTight;
143     float idbyLooseIsolation, idbyMediumIsolation, idbyTightIsolation, idbyVLooseIsolation, iddecayModeFinding;
144    
145     float isolationPFChargedHadrCandsPtSum,isolationPFGammaCandsEtSum,leadPFChargedHadrCandPt;
146 sethzenz 1.23 int NsignalPFChargedHadrCands, NsignalPFGammaCands;
147 tboccali 1.1 TLorentzVector mcFourMomentum;
148     };
149    
150    
151     class DiMuonInfo {
152     public:
153 tboccali 1.6 TLorentzVector p4;
154 tboccali 1.1 MuonInfo daughter1, daughter2;
155     };
156    
157    
158     class DiElectronInfo {
159     public:
160 tboccali 1.6 TLorentzVector p4;
161 tboccali 1.1 ElectronInfo daughter1, daughter2;
162     };
163    
164    
165    
166     public:
167     std::vector<SimpleJet> simpleJets;
168     std::vector<SimpleJet> simpleJets2; //???
169 tboccali 1.12 std::vector<SimpleJet> simpleJets3;
170     std::vector<SimpleJet> simpleJets4; //???
171 tboccali 1.1 std::vector<SimpleJet> subJets; //???
172 dlopes 1.22 std::vector<SimpleJet> filterJets; //???
173 tboccali 1.1 std::vector<HardJet> hardJets;
174    
175 tboccali 1.5 METInfo calomet;
176 tboccali 1.1 METInfo tcmet;
177     METInfo pfmet;
178 tboccali 1.11 METInfo mht;
179 arizzi 1.14 METInfo metNoPU;
180 tboccali 1.20 METInfo metCh;
181 tboccali 1.11
182 tboccali 1.1 std::vector<MuonInfo> muInfo;
183     std::vector<ElectronInfo> eleInfo;
184     std::vector<TauInfo> tauInfo;
185    
186     std::vector<DiMuonInfo> diMuonInfo;
187     std::vector<DiElectronInfo> diElectronInfo;
188    
189     // HiggsCandidate dijetHiggs;
190     // HiggsCandidate fatjetHiggs;
191    
192     // to be decided.. one single or many V?
193     // VCandidate vcand;
194     // WCandidate wele;
195     // WCandidate wmu;
196     //WCandidate wtau;
197     // ZCandidate zmu;
198     // ZCandidate zele;
199     //ZInvCandidate znunu;
200    
201     //
202     // really needed????
203     //
204    
205     };
206     #endif