ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/VHbbAnalysis/HbbAnalyzer/interface/VHbbEvent.h
Revision: 1.3
Committed: Thu Jun 9 16:51:52 2011 UTC (13 years, 11 months ago) by tboccali
Content type: text/plain
Branch: MAIN
CVS Tags: Jun9th2011v2
Changes since 1.2: +3 -0 lines
Log Message:
add tvector

File Contents

# User Rev Content
1 tboccali 1.1 #ifndef VHbbEvent__H
2     #define VHbbEvent__H
3    
4     #include <TLorentzVector.h>
5 tboccali 1.3 #include <TVector2.h>
6 tboccali 1.1 #include <TMatrix.h>
7     #include <vector>
8    
9     class VHbbEvent{
10     public:
11    
12     class ParticleMCInfo {
13     public:
14 tboccali 1.2 ParticleMCInfo(): status(-99), momid(-99), gmomid(-99), charge(-1){}
15     public:
16 tboccali 1.1 int status;
17     int momid;
18     int gmomid;
19     int charge;
20     TLorentzVector fourMomentum;
21     // int ndau;
22     std::vector<int> dauid;
23     std::vector<TLorentzVector> dauFourMomentum;
24     };
25    
26     class SimpleJet {
27 tboccali 1.2 public:
28     SimpleJet(): flavour(-99), tche(-99), tchp(-99), jpb(-99), jp(-99),
29     ssvhe(-99), csv(-99), csvmva(-99), ntracks(-99), charge(-99),
30     bestMCid(-99), bestMCmomid(-99){}
31 tboccali 1.1 public:
32     int flavour;
33     float tche,tchp, jpb,jp , ssvhe, csv, csvmva;
34     int ntracks;
35     float charge;
36     TLorentzVector fourMomentum;
37 tboccali 1.2 int bestMCid, bestMCmomid;
38 tboccali 1.3 // new
39     TVector2 tVector;
40 tboccali 1.1 };
41    
42    
43 tboccali 1.2 class HardJet {
44     public:
45     HardJet(): constituents(-99){}
46 tboccali 1.1 public:
47     int constituents;
48     TLorentzVector fourMomentum;
49     std::vector<TLorentzVector> subFourMomentum;
50     std::vector<float> etaSub, phiSub;
51     };
52    
53    
54 tboccali 1.2 class METInfo {
55     public:
56     METInfo(): sumEt(-99), metSig(-99), eLong(-99){}
57 tboccali 1.1 public:
58     float sumEt, metSig, eLong;
59     TLorentzVector fourMomentum;
60     };
61    
62     class MuonInfo {
63     public:
64 tboccali 1.2 MuonInfo(): charge(-99),tIso(-99), eIso(-99), hIso(-99),
65     acop(-99), ipDb(-99), ipErrDb(-99), zPVPt(-99),zPVProb(-99), chi2(-99), globChi2(-99),
66     cat(-99), nHits(-99), nPixelHits(-99), globNHits(-99),
67     mcId(-99), mcMomId(-99), mcgMomId(-99){}
68     public:
69 tboccali 1.1 TLorentzVector fourMomentum;
70     int charge;
71     float tIso, eIso, hIso, acop, ipDb, ipErrDb, zPVPt,zPVProb, chi2, globChi2;
72     int cat, nHits, nPixelHits, globNHits;
73     TLorentzVector mcFourMomentum;
74     int mcId, mcMomId, mcgMomId;
75     };
76    
77    
78     class ElectronInfo {
79     public:
80 tboccali 1.2 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), mcId(-99), mcMomId(-99), mcgMomId (-99){}
84     public:
85 tboccali 1.1 TLorentzVector fourMomentum;
86     float scEta, scPhi;
87     int charge;
88     float tIso, eIso, hIso, acop;
89     float id95,id85,id70,id95r, id70r;
90     TLorentzVector mcFourMomentum;
91     int mcId, mcMomId, mcgMomId;
92     };
93    
94 tboccali 1.2 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 tboccali 1.1 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 tboccali 1.2 class DiMuonInfo {
111 tboccali 1.1 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 tboccali 1.2 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 tboccali 1.1 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 tboccali 1.2 class PUInfo{
194     public:
195     PUInfo(): rho(-99) {}
196 tboccali 1.1 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    
217    
218     METInfo calomet;
219     METInfo tcmet;
220     METInfo pfmet;
221    
222     std::vector<MuonInfo> muInfo;
223     std::vector<ElectronInfo> eleInfo;
224     std::vector<TauInfo> tauInfo;
225    
226     TriggerInfo triggerInfo;
227    
228     PrimaryVertexInfo pvInfo;
229    
230     std::vector<DiMuonInfo> diMuonInfo;
231     std::vector<DiElectronInfo> diElectronInfo;
232    
233     // HiggsCandidate dijetHiggs;
234     // HiggsCandidate fatjetHiggs;
235    
236     // to be decided.. one single or many V?
237     // VCandidate vcand;
238     // WCandidate wele;
239     // WCandidate wmu;
240     //WCandidate wtau;
241     // ZCandidate zmu;
242     // ZCandidate zele;
243     //ZInvCandidate znunu;
244    
245     //
246     // really needed????
247     //
248    
249     };
250     #endif