ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/VHbbAnalysis/VHbbDataFormats/interface/VHbbEvent.h
Revision: 1.9
Committed: Fri Aug 19 13:32:17 2011 UTC (13 years, 8 months ago) by bortigno
Content type: text/plain
Branch: MAIN
Changes since 1.8: +7 -0 lines
Log Message:
Btag SF added

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     SimpleJet(): flavour(-99), tche(-99), tchp(-99), jpb(-99), jp(-99),
15     ssvhe(-99), csv(-99), csvmva(-99), ntracks(-99), charge(-99),
16     bestMCid(-99), bestMCmomid(-99){}
17     public:
18 tboccali 1.6 double Pt() {return p4.Pt();}
19 tboccali 1.1 int flavour;
20     float tche,tchp, jpb,jp , ssvhe, csv, csvmva;
21     int ntracks;
22     float charge;
23 tboccali 1.6 TLorentzVector p4;
24 tboccali 1.1 TLorentzVector chargedTracksFourMomentum;
25    
26     int bestMCid, bestMCmomid;
27     // new
28     TVector2 tVector;
29 bortigno 1.9 float SF_CSVL;
30     float SF_CSVM;
31     float SF_CSVT;
32     float SF_CSVLerr;
33     float SF_CSVMerr;
34     float SF_CSVTerr;
35    
36 tboccali 1.1 };
37    
38    
39     class HardJet {
40     public:
41     HardJet(): constituents(-99){}
42     public:
43     int constituents;
44 tboccali 1.6 TLorentzVector p4;
45 tboccali 1.1 std::vector<TLorentzVector> subFourMomentum;
46     std::vector<float> etaSub, phiSub;
47     };
48    
49    
50     class METInfo {
51     public:
52     METInfo(): sumEt(-99), metSig(-99), eLong(-99){}
53     public:
54     float sumEt, metSig, eLong;
55 tboccali 1.6 TLorentzVector p4;
56 tboccali 1.1 };
57    
58     class MuonInfo {
59     public:
60 arizzi 1.7 MuonInfo(): charge(-99),tIso(-99), eIso(-99), hIso(-99),pfChaIso(-99), pfPhoIso(-99), pfNeuIso(-99),
61 tboccali 1.1 acop(-99), ipDb(-99), ipErrDb(-99), zPVPt(-99),zPVProb(-99), chi2(-99), globChi2(-99),
62     cat(-99), nHits(-99), nPixelHits(-99), globNHits(-99),validMuStations(-99),
63     mcId(-99), mcMomId(-99), mcgMomId(-99){}
64     public:
65 tboccali 1.6 TLorentzVector p4;
66 tboccali 1.1 int charge;
67 arizzi 1.7 float tIso, eIso, hIso, pfChaIso,pfPhoIso,pfNeuIso,acop, ipDb, ipErrDb, zPVPt,zPVProb, chi2, globChi2;
68 tboccali 1.1 int cat, nHits, nPixelHits, globNHits, validMuStations;
69     TLorentzVector mcFourMomentum;
70     int mcId, mcMomId, mcgMomId;
71 bortigno 1.8 std::vector< int > hltMatchedBits;
72 tboccali 1.1 };
73    
74     class ElectronInfo {
75     public:
76     ElectronInfo() : scEta(-99), scPhi(-99), charge(-99),
77 arizzi 1.7 tIso(-99), eIso(-99), hIso(-99),pfChaIso(-99), pfPhoIso(-99), pfNeuIso(-99), acop(-99),
78     id95(-99),id85(-99),id80(-99),id70(-99),
79     id95r(-99),id85r(-99),id80r(-99),id70r(-99),
80     mcId(-99), mcMomId(-99), mcgMomId (-99){}
81 tboccali 1.1 public:
82 tboccali 1.6 TLorentzVector p4;
83 tboccali 1.1 float scEta, scPhi;
84     int charge;
85 arizzi 1.7 float tIso, eIso, hIso, pfChaIso,pfPhoIso,pfNeuIso, acop;
86     float id95,id85,id80,id70,id95r, id85r,id80r, id70r;
87 tboccali 1.1 TLorentzVector mcFourMomentum;
88     int mcId, mcMomId, mcgMomId;
89 bortigno 1.8 std::vector< int > hltMatchedBits;
90 tboccali 1.1 };
91    
92     class TauInfo{
93     public:
94 arizzi 1.7 TauInfo() : charge(-99), tIso(-99), eIso(-99), hIso(-99),pfChaIso(-99), pfPhoIso(-99), pfNeuIso(-99), acop(-99),
95 tboccali 1.1 idbyIso(-99),idbyTrackIso(-99),idbyTaNCfrOnePercent(-99),
96     idbyTaNCfrHalfPercent(-99), idbyTaNCfrQuarterPercent(-99),
97     idbyTaNCfrTenthPercent(-99), idbyTaNC(-99), mcId(-99), mcMomId(-99), mcgMomId(-99) {}
98     public:
99 tboccali 1.6 TLorentzVector p4;
100 tboccali 1.1 int charge;
101 arizzi 1.7 float tIso, eIso, hIso,pfChaIso,pfPhoIso,pfNeuIso, acop;
102 tboccali 1.1 float idbyIso,idbyTrackIso,idbyTaNCfrOnePercent,idbyTaNCfrHalfPercent, idbyTaNCfrQuarterPercent, idbyTaNCfrTenthPercent, idbyTaNC;
103     TLorentzVector mcFourMomentum;
104     int mcId, mcMomId, mcgMomId;
105     };
106    
107    
108     class DiMuonInfo {
109     public:
110 tboccali 1.6 TLorentzVector p4;
111 tboccali 1.1 MuonInfo daughter1, daughter2;
112     };
113    
114    
115     class DiElectronInfo {
116     public:
117 tboccali 1.6 TLorentzVector p4;
118 tboccali 1.1 ElectronInfo daughter1, daughter2;
119     };
120    
121    
122    
123     public:
124     std::vector<SimpleJet> simpleJets;
125     std::vector<SimpleJet> simpleJets2; //???
126     std::vector<SimpleJet> subJets; //???
127     std::vector<HardJet> hardJets;
128    
129 tboccali 1.5 METInfo calomet;
130 tboccali 1.1 METInfo tcmet;
131     METInfo pfmet;
132    
133     std::vector<MuonInfo> muInfo;
134     std::vector<ElectronInfo> eleInfo;
135     std::vector<TauInfo> tauInfo;
136    
137     std::vector<DiMuonInfo> diMuonInfo;
138     std::vector<DiElectronInfo> diElectronInfo;
139    
140     // HiggsCandidate dijetHiggs;
141     // HiggsCandidate fatjetHiggs;
142    
143     // to be decided.. one single or many V?
144     // VCandidate vcand;
145     // WCandidate wele;
146     // WCandidate wmu;
147     //WCandidate wtau;
148     // ZCandidate zmu;
149     // ZCandidate zele;
150     //ZInvCandidate znunu;
151    
152     //
153     // really needed????
154     //
155    
156     };
157     #endif