ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/VHbbAnalysis/VHbbDataFormats/interface/VHbbEvent.h
Revision: 1.2
Committed: Mon Jul 18 12:59:51 2011 UTC (13 years, 9 months ago) by tboccali
Content type: text/plain
Branch: MAIN
Changes since 1.1: +0 -2 lines
Log Message:
chages for event content + helicity

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     class TriggerInfo {
125     public:
126     TriggerInfo() : triggerMu9(-99),
127     triggerIsoMu9(-99),
128     triggerIsoMu13_3(-99),
129     triggerMu11(-99),
130     triggerDoubleMu3(-99),
131     triggerDoubleMu3_2(-99),
132     triggerMu15(-99),
133     triggerMu15_1(-99),
134     triggerDoubleElec10(-99),
135     triggerDoubleElec15_1(-99),
136     triggerDoubleElec17_1(-99),
137     triggerMet100_1(-99),
138     triggerSingleEle1(-99),
139     triggerSingleEle2(-99),
140     triggerSingleEle3(-99),
141     triggerSingleEle4(-99),
142     triggerBtagMu1(-99),
143     triggerBtagMu2(-99),
144     triggerBtagMu0(-99),
145     triggerBtagMu11(-99),
146     triggerBtagMuJet1(-99),
147     triggerBtagMuJet2(-99),
148     triggerBtagMuJet3(-99),
149     triggerBtagMuJet4(-99),
150     triggerIsoMu15(-99),
151     triggerIsoMu17v5(-99),
152     triggerIsoMu17v6(-99) {
153     for (unsigned int i=0; i< 500; ++i){
154     flag[i]= -99;
155     }
156     }
157     public:
158     int flag[500];
159     int triggerMu9,
160     triggerIsoMu9,
161     triggerIsoMu13_3,
162     triggerMu11,
163     triggerDoubleMu3,
164     triggerDoubleMu3_2,
165     triggerMu15,
166     triggerMu15_1,
167     triggerDoubleElec10,
168     triggerDoubleElec15_1,
169     triggerDoubleElec17_1,
170     triggerMet100_1,
171     triggerSingleEle1,
172     triggerSingleEle2,
173     triggerSingleEle3,
174     triggerSingleEle4,
175     triggerBtagMu1,
176     triggerBtagMu2,
177     triggerBtagMu0,
178     triggerBtagMu11,
179     triggerBtagMuJet1,
180     triggerBtagMuJet2,
181     triggerBtagMuJet3,
182     triggerBtagMuJet4,
183     triggerIsoMu15,
184     triggerIsoMu17v5,
185     triggerIsoMu17v6;
186     };
187    
188     class PrimaryVertexInfo {
189     public:
190     TVector3 firstPVInPT2,firstPVInProb;
191     };
192    
193     class PUInfo{
194     public:
195     PUInfo(): rho(-99) {}
196     public:
197     float rho;
198     };
199    
200    
201     public:
202     ParticleMCInfo mcH;
203     ParticleMCInfo mcW;
204     ParticleMCInfo mcZ;
205     std::vector<SimpleJet> simpleJets;
206     std::vector<SimpleJet> simpleJets2; //???
207     std::vector<SimpleJet> subJets; //???
208     std::vector<HardJet> hardJets;
209    
210     ParticleMCInfo mcBbar;
211     ParticleMCInfo mcB;
212     ParticleMCInfo mcC;
213    
214     PUInfo puInfo;
215    
216     METInfo calomet;
217     METInfo tcmet;
218     METInfo pfmet;
219    
220     std::vector<MuonInfo> muInfo;
221     std::vector<ElectronInfo> eleInfo;
222     std::vector<TauInfo> tauInfo;
223    
224     TriggerInfo triggerInfo;
225    
226     PrimaryVertexInfo pvInfo;
227    
228     std::vector<DiMuonInfo> diMuonInfo;
229     std::vector<DiElectronInfo> diElectronInfo;
230    
231     // HiggsCandidate dijetHiggs;
232     // HiggsCandidate fatjetHiggs;
233    
234     // to be decided.. one single or many V?
235     // VCandidate vcand;
236     // WCandidate wele;
237     // WCandidate wmu;
238     //WCandidate wtau;
239     // ZCandidate zmu;
240     // ZCandidate zele;
241     //ZInvCandidate znunu;
242    
243     //
244     // really needed????
245     //
246    
247     };
248     #endif