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

# 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     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.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 tboccali 1.11 std::vector<unsigned int> vtxTrackIds;
30 tboccali 1.1 int ntracks;
31     float charge;
32 tboccali 1.6 TLorentzVector p4;
33 tboccali 1.1 TLorentzVector chargedTracksFourMomentum;
34    
35 tboccali 1.11 // 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 bortigno 1.10 //MC parton matching
53 tboccali 1.11 TLorentzVector bestMCp4,bestMCp4mom;
54 tboccali 1.1 int bestMCid, bestMCmomid;
55     // new
56     TVector2 tVector;
57 bortigno 1.10 //Scale factor
58 bortigno 1.9 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 tboccali 1.1 };
66    
67    
68     class HardJet {
69     public:
70     HardJet(): constituents(-99){}
71     public:
72     int constituents;
73 tboccali 1.6 TLorentzVector p4;
74 tboccali 1.1 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 tboccali 1.6 TLorentzVector p4;
85 tboccali 1.1 };
86    
87     class MuonInfo {
88     public:
89 degrutto 1.13 MuonInfo(): charge(-99),tIso(-99), eIso(-99), hIso(-99),pfChaIso(-99),pfChaPUIso(99), pfPhoIso(-99), pfNeuIso(-99),
90 tboccali 1.1 acop(-99), ipDb(-99), ipErrDb(-99), zPVPt(-99),zPVProb(-99), chi2(-99), globChi2(-99),
91 tboccali 1.19 cat(-99), nValidTracker(-99), nValidPixel(-99), nMatches(-99),nHits(-99), nPixelHits(-99), globNHits(-99),validMuStations(-99),emEnergy(-99), hadEnergy(-99),
92 tboccali 1.1 mcId(-99), mcMomId(-99), mcgMomId(-99){}
93     public:
94 tboccali 1.6 TLorentzVector p4;
95 tboccali 1.1 int charge;
96 degrutto 1.13 float tIso, eIso, hIso, pfChaIso,pfChaPUIso, pfPhoIso,pfNeuIso,acop, ipDb, ipErrDb, zPVPt,zPVProb, chi2, globChi2;
97 tboccali 1.16 int cat, nValidTracker, nValidPixel, nMatches,nHits, nPixelHits, globNHits, validMuStations;
98 tboccali 1.19 float emEnergy, hadEnergy;
99 tboccali 1.1 TLorentzVector mcFourMomentum;
100     int mcId, mcMomId, mcgMomId;
101 bortigno 1.8 std::vector< int > hltMatchedBits;
102 tboccali 1.1 };
103    
104     class ElectronInfo {
105     public:
106     ElectronInfo() : scEta(-99), scPhi(-99), charge(-99),
107 degrutto 1.13 tIso(-99), eIso(-99), hIso(-99),pfChaIso(-99),pfChaPUIso(-99), pfPhoIso(-99), pfNeuIso(-99), acop(-99),
108 tboccali 1.17 sihih(-99), Dphi(-99), Deta(-99), HoE(-99), convDist(-99), convDcot(-99), innerHits(-99),
109     isEB(false),isEE(false),
110 tboccali 1.18 ipDb(-99), ipErrDb(-99),
111 arizzi 1.7 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 tboccali 1.1 public:
115 tboccali 1.6 TLorentzVector p4;
116 tboccali 1.1 float scEta, scPhi;
117     int charge;
118 degrutto 1.13 float tIso, eIso, hIso, pfChaIso,pfChaPUIso, pfPhoIso,pfNeuIso, acop;
119 tboccali 1.17 float sihih, Dphi, Deta, HoE, convDist, convDcot;
120     int innerHits;
121     bool isEB,isEE;
122 tboccali 1.18 float ipDb, ipErrDb;
123 arizzi 1.7 float id95,id85,id80,id70,id95r, id85r,id80r, id70r;
124 tboccali 1.1 TLorentzVector mcFourMomentum;
125     int mcId, mcMomId, mcgMomId;
126 bortigno 1.8 std::vector< int > hltMatchedBits;
127 tboccali 1.1 };
128    
129     class TauInfo{
130     public:
131 sethzenz 1.27 TauInfo() : charge(-99), tIso(-99), eIso(-99), hIso(-99),pfChaIso(-99), pfChaPUIso(-99),pfPhoIso(-99), pfNeuIso(-99), acop(-99),
132 sethzenz 1.26 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 sethzenz 1.23 isolationPFChargedHadrCandsPtSum(-999999.), isolationPFGammaCandsEtSum(-999999.),leadPFChargedHadrCandPt(-999999.),
138 sethzenz 1.26 NsignalPFChargedHadrCands (-99),NsignalPFGammaCands(-99), byLooseCombinedIsolationDeltaBetaCorr(-99), againstElectronMVA(-99) {}
139 tboccali 1.1 public:
140 tboccali 1.6 TLorentzVector p4;
141 tboccali 1.1 int charge;
142 sethzenz 1.27 float tIso, eIso, hIso,pfChaIso,pfChaPUIso,pfPhoIso,pfNeuIso, acop;
143 sethzenz 1.26 float byIsolation,trackIsolation,byTaNCfrOnePercent,byTaNCfrHalfPercent, byTaNCfrQuarterPercent, byTaNCfrTenthPercent, byTaNC;
144 dlopes 1.22 int mcId, mcMomId, mcgMomId;
145 sethzenz 1.26 float againstElectronLoose, againstElectronMedium, againstElectronTight, againstMuonLoose, againstMuonTight;
146     float byLooseIsolation, byMediumIsolation, byTightIsolation, byVLooseIsolation, decayModeFinding;
147 dlopes 1.22
148     float isolationPFChargedHadrCandsPtSum,isolationPFGammaCandsEtSum,leadPFChargedHadrCandPt;
149 sethzenz 1.23 int NsignalPFChargedHadrCands, NsignalPFGammaCands;
150 sethzenz 1.26 float byLooseCombinedIsolationDeltaBetaCorr, againstElectronMVA;
151    
152    
153 tboccali 1.1 TLorentzVector mcFourMomentum;
154     };
155    
156    
157     class DiMuonInfo {
158     public:
159 tboccali 1.6 TLorentzVector p4;
160 tboccali 1.1 MuonInfo daughter1, daughter2;
161     };
162    
163    
164     class DiElectronInfo {
165     public:
166 tboccali 1.6 TLorentzVector p4;
167 tboccali 1.1 ElectronInfo daughter1, daughter2;
168     };
169    
170    
171    
172     public:
173     std::vector<SimpleJet> simpleJets;
174     std::vector<SimpleJet> simpleJets2; //???
175 tboccali 1.12 std::vector<SimpleJet> simpleJets3;
176     std::vector<SimpleJet> simpleJets4; //???
177 tboccali 1.1 std::vector<SimpleJet> subJets; //???
178 dlopes 1.22 std::vector<SimpleJet> filterJets; //???
179 tboccali 1.1 std::vector<HardJet> hardJets;
180    
181 degrutto 1.25 METInfo calomet;
182 tboccali 1.1 METInfo tcmet;
183     METInfo pfmet;
184 degrutto 1.25 METInfo pfmetType1corr;
185     METInfo pfmetType1p2corr;
186     METInfo pfmetNoPUType1corr;
187     METInfo pfmetNoPUType1p2corr;
188 tboccali 1.11 METInfo mht;
189 arizzi 1.14 METInfo metNoPU;
190 tboccali 1.20 METInfo metCh;
191 degrutto 1.25 std::vector<METInfo> metUncInfo;
192 tboccali 1.11
193 tboccali 1.1 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