ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/VHbbAnalysis/VHbbDataFormats/interface/VHbbEvent.h
Revision: 1.8
Committed: Thu Aug 18 14:12:25 2011 UTC (13 years, 8 months ago) by bortigno
Content type: text/plain
Branch: MAIN
Changes since 1.7: +2 -0 lines
Log Message:
lepton trigger matching 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     };
30    
31    
32     class HardJet {
33     public:
34     HardJet(): constituents(-99){}
35     public:
36     int constituents;
37 tboccali 1.6 TLorentzVector p4;
38 tboccali 1.1 std::vector<TLorentzVector> subFourMomentum;
39     std::vector<float> etaSub, phiSub;
40     };
41    
42    
43     class METInfo {
44     public:
45     METInfo(): sumEt(-99), metSig(-99), eLong(-99){}
46     public:
47     float sumEt, metSig, eLong;
48 tboccali 1.6 TLorentzVector p4;
49 tboccali 1.1 };
50    
51     class MuonInfo {
52     public:
53 arizzi 1.7 MuonInfo(): charge(-99),tIso(-99), eIso(-99), hIso(-99),pfChaIso(-99), pfPhoIso(-99), pfNeuIso(-99),
54 tboccali 1.1 acop(-99), ipDb(-99), ipErrDb(-99), zPVPt(-99),zPVProb(-99), chi2(-99), globChi2(-99),
55     cat(-99), nHits(-99), nPixelHits(-99), globNHits(-99),validMuStations(-99),
56     mcId(-99), mcMomId(-99), mcgMomId(-99){}
57     public:
58 tboccali 1.6 TLorentzVector p4;
59 tboccali 1.1 int charge;
60 arizzi 1.7 float tIso, eIso, hIso, pfChaIso,pfPhoIso,pfNeuIso,acop, ipDb, ipErrDb, zPVPt,zPVProb, chi2, globChi2;
61 tboccali 1.1 int cat, nHits, nPixelHits, globNHits, validMuStations;
62     TLorentzVector mcFourMomentum;
63     int mcId, mcMomId, mcgMomId;
64 bortigno 1.8 std::vector< int > hltMatchedBits;
65 tboccali 1.1 };
66    
67     class ElectronInfo {
68     public:
69     ElectronInfo() : scEta(-99), scPhi(-99), charge(-99),
70 arizzi 1.7 tIso(-99), eIso(-99), hIso(-99),pfChaIso(-99), pfPhoIso(-99), pfNeuIso(-99), acop(-99),
71     id95(-99),id85(-99),id80(-99),id70(-99),
72     id95r(-99),id85r(-99),id80r(-99),id70r(-99),
73     mcId(-99), mcMomId(-99), mcgMomId (-99){}
74 tboccali 1.1 public:
75 tboccali 1.6 TLorentzVector p4;
76 tboccali 1.1 float scEta, scPhi;
77     int charge;
78 arizzi 1.7 float tIso, eIso, hIso, pfChaIso,pfPhoIso,pfNeuIso, acop;
79     float id95,id85,id80,id70,id95r, id85r,id80r, id70r;
80 tboccali 1.1 TLorentzVector mcFourMomentum;
81     int mcId, mcMomId, mcgMomId;
82 bortigno 1.8 std::vector< int > hltMatchedBits;
83 tboccali 1.1 };
84    
85     class TauInfo{
86     public:
87 arizzi 1.7 TauInfo() : charge(-99), tIso(-99), eIso(-99), hIso(-99),pfChaIso(-99), pfPhoIso(-99), pfNeuIso(-99), acop(-99),
88 tboccali 1.1 idbyIso(-99),idbyTrackIso(-99),idbyTaNCfrOnePercent(-99),
89     idbyTaNCfrHalfPercent(-99), idbyTaNCfrQuarterPercent(-99),
90     idbyTaNCfrTenthPercent(-99), idbyTaNC(-99), mcId(-99), mcMomId(-99), mcgMomId(-99) {}
91     public:
92 tboccali 1.6 TLorentzVector p4;
93 tboccali 1.1 int charge;
94 arizzi 1.7 float tIso, eIso, hIso,pfChaIso,pfPhoIso,pfNeuIso, acop;
95 tboccali 1.1 float idbyIso,idbyTrackIso,idbyTaNCfrOnePercent,idbyTaNCfrHalfPercent, idbyTaNCfrQuarterPercent, idbyTaNCfrTenthPercent, idbyTaNC;
96     TLorentzVector mcFourMomentum;
97     int mcId, mcMomId, mcgMomId;
98     };
99    
100    
101     class DiMuonInfo {
102     public:
103 tboccali 1.6 TLorentzVector p4;
104 tboccali 1.1 MuonInfo daughter1, daughter2;
105     };
106    
107    
108     class DiElectronInfo {
109     public:
110 tboccali 1.6 TLorentzVector p4;
111 tboccali 1.1 ElectronInfo daughter1, daughter2;
112     };
113    
114    
115    
116     public:
117     std::vector<SimpleJet> simpleJets;
118     std::vector<SimpleJet> simpleJets2; //???
119     std::vector<SimpleJet> subJets; //???
120     std::vector<HardJet> hardJets;
121    
122 tboccali 1.5 METInfo calomet;
123 tboccali 1.1 METInfo tcmet;
124     METInfo pfmet;
125    
126     std::vector<MuonInfo> muInfo;
127     std::vector<ElectronInfo> eleInfo;
128     std::vector<TauInfo> tauInfo;
129    
130     std::vector<DiMuonInfo> diMuonInfo;
131     std::vector<DiElectronInfo> diElectronInfo;
132    
133     // HiggsCandidate dijetHiggs;
134     // HiggsCandidate fatjetHiggs;
135    
136     // to be decided.. one single or many V?
137     // VCandidate vcand;
138     // WCandidate wele;
139     // WCandidate wmu;
140     //WCandidate wtau;
141     // ZCandidate zmu;
142     // ZCandidate zele;
143     //ZInvCandidate znunu;
144    
145     //
146     // really needed????
147     //
148    
149     };
150     #endif