ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/VHbbAnalysis/VHbbDataFormats/interface/VHbbEvent.h
Revision: 1.3
Committed: Mon Jul 18 13:14:05 2011 UTC (13 years, 9 months ago) by tboccali
Content type: text/plain
Branch: MAIN
CVS Tags: Jul20th2011, Jul18th2011
Changes since 1.2: +1 -83 lines
Log Message:
add VHbbEvent splitting

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