ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/VHbbAnalysis/HbbAnalyzer/interface/VHbbEvent.h
Revision: 1.2
Committed: Thu Jun 9 07:07:12 2011 UTC (13 years, 11 months ago) by tboccali
Content type: text/plain
Branch: MAIN
CVS Tags: Jun9th2011
Changes since 1.1: +65 -6 lines
Log Message:
put safe constructors everywhere

File Contents

# User Rev Content
1 tboccali 1.1 #ifndef VHbbEvent__H
2     #define VHbbEvent__H
3    
4     #include <TLorentzVector.h>
5     #include <TMatrix.h>
6     #include <vector>
7    
8     class VHbbEvent{
9     public:
10    
11     class ParticleMCInfo {
12     public:
13 tboccali 1.2 ParticleMCInfo(): status(-99), momid(-99), gmomid(-99), charge(-1){}
14     public:
15 tboccali 1.1 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 tboccali 1.2 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 tboccali 1.1 public:
31     int flavour;
32     float tche,tchp, jpb,jp , ssvhe, csv, csvmva;
33     int ntracks;
34     float charge;
35     TLorentzVector fourMomentum;
36 tboccali 1.2 int bestMCid, bestMCmomid;
37 tboccali 1.1 };
38    
39    
40 tboccali 1.2 class HardJet {
41     public:
42     HardJet(): constituents(-99){}
43 tboccali 1.1 public:
44     int constituents;
45     TLorentzVector fourMomentum;
46     std::vector<TLorentzVector> subFourMomentum;
47     std::vector<float> etaSub, phiSub;
48     };
49    
50    
51 tboccali 1.2 class METInfo {
52     public:
53     METInfo(): sumEt(-99), metSig(-99), eLong(-99){}
54 tboccali 1.1 public:
55     float sumEt, metSig, eLong;
56     TLorentzVector fourMomentum;
57     };
58    
59     class MuonInfo {
60     public:
61 tboccali 1.2 MuonInfo(): charge(-99),tIso(-99), eIso(-99), hIso(-99),
62     acop(-99), ipDb(-99), ipErrDb(-99), zPVPt(-99),zPVProb(-99), chi2(-99), globChi2(-99),
63     cat(-99), nHits(-99), nPixelHits(-99), globNHits(-99),
64     mcId(-99), mcMomId(-99), mcgMomId(-99){}
65     public:
66 tboccali 1.1 TLorentzVector fourMomentum;
67     int charge;
68     float tIso, eIso, hIso, acop, ipDb, ipErrDb, zPVPt,zPVProb, chi2, globChi2;
69     int cat, nHits, nPixelHits, globNHits;
70     TLorentzVector mcFourMomentum;
71     int mcId, mcMomId, mcgMomId;
72     };
73    
74    
75     class ElectronInfo {
76     public:
77 tboccali 1.2 ElectronInfo() : scEta(-99), scPhi(-99), charge(-99),
78     tIso(-99), eIso(-99), hIso(-99),
79     acop(-99), id95(-99),id85(-99),id70(-99),id95r(-99),
80     id70r(-99), mcId(-99), mcMomId(-99), mcgMomId (-99){}
81     public:
82 tboccali 1.1 TLorentzVector fourMomentum;
83     float scEta, scPhi;
84     int charge;
85     float tIso, eIso, hIso, acop;
86     float id95,id85,id70,id95r, id70r;
87     TLorentzVector mcFourMomentum;
88     int mcId, mcMomId, mcgMomId;
89     };
90    
91 tboccali 1.2 class TauInfo{
92     public:
93     TauInfo() : charge(-99), tIso(-99), eIso(-99), hIso(-99), acop(-99),
94     idbyIso(-99),idbyTrackIso(-99),idbyTaNCfrOnePercent(-99),
95     idbyTaNCfrHalfPercent(-99), idbyTaNCfrQuarterPercent(-99),
96     idbyTaNCfrTenthPercent(-99), idbyTaNC(-99), mcId(-99), mcMomId(-99), mcgMomId(-99) {}
97 tboccali 1.1 public:
98     TLorentzVector fourMomentum;
99     int charge;
100     float tIso, eIso, hIso, acop;
101     float idbyIso,idbyTrackIso,idbyTaNCfrOnePercent,idbyTaNCfrHalfPercent, idbyTaNCfrQuarterPercent, idbyTaNCfrTenthPercent, idbyTaNC;
102     TLorentzVector mcFourMomentum;
103     int mcId, mcMomId, mcgMomId;
104     };
105    
106    
107 tboccali 1.2 class DiMuonInfo {
108 tboccali 1.1 public:
109     TLorentzVector fourMomentum;
110     MuonInfo daughter1, daughter2;
111     };
112    
113    
114     class DiElectronInfo {
115     public:
116     TLorentzVector fourMomentum;
117     ElectronInfo daughter1, daughter2;
118     };
119    
120    
121     class TriggerInfo {
122     public:
123 tboccali 1.2 TriggerInfo() : triggerMu9(-99),
124     triggerIsoMu9(-99),
125     triggerIsoMu13_3(-99),
126     triggerMu11(-99),
127     triggerDoubleMu3(-99),
128     triggerDoubleMu3_2(-99),
129     triggerMu15(-99),
130     triggerMu15_1(-99),
131     triggerDoubleElec10(-99),
132     triggerDoubleElec15_1(-99),
133     triggerDoubleElec17_1(-99),
134     triggerMet100_1(-99),
135     triggerSingleEle1(-99),
136     triggerSingleEle2(-99),
137     triggerSingleEle3(-99),
138     triggerSingleEle4(-99),
139     triggerBtagMu1(-99),
140     triggerBtagMu2(-99),
141     triggerBtagMu0(-99),
142     triggerBtagMu11(-99),
143     triggerBtagMuJet1(-99),
144     triggerBtagMuJet2(-99),
145     triggerBtagMuJet3(-99),
146     triggerBtagMuJet4(-99),
147     triggerIsoMu15(-99),
148     triggerIsoMu17v5(-99),
149     triggerIsoMu17v6(-99) {
150     for (unsigned int i=0; i< 500; ++i){
151     flag[i]= -99;
152     }
153     }
154     public:
155 tboccali 1.1 int flag[500];
156     int triggerMu9,
157     triggerIsoMu9,
158     triggerIsoMu13_3,
159     triggerMu11,
160     triggerDoubleMu3,
161     triggerDoubleMu3_2,
162     triggerMu15,
163     triggerMu15_1,
164     triggerDoubleElec10,
165     triggerDoubleElec15_1,
166     triggerDoubleElec17_1,
167     triggerMet100_1,
168     triggerSingleEle1,
169     triggerSingleEle2,
170     triggerSingleEle3,
171     triggerSingleEle4,
172     triggerBtagMu1,
173     triggerBtagMu2,
174     triggerBtagMu0,
175     triggerBtagMu11,
176     triggerBtagMuJet1,
177     triggerBtagMuJet2,
178     triggerBtagMuJet3,
179     triggerBtagMuJet4,
180     triggerIsoMu15,
181     triggerIsoMu17v5,
182     triggerIsoMu17v6;
183     };
184    
185     class PrimaryVertexInfo {
186     public:
187     TVector3 firstPVInPT2,firstPVInProb;
188     };
189    
190 tboccali 1.2 class PUInfo{
191     public:
192     PUInfo(): rho(-99) {}
193 tboccali 1.1 public:
194     float rho;
195     };
196    
197    
198     public:
199     ParticleMCInfo mcH;
200     ParticleMCInfo mcW;
201     ParticleMCInfo mcZ;
202     std::vector<SimpleJet> simpleJets;
203     std::vector<SimpleJet> simpleJets2; //???
204     std::vector<SimpleJet> subJets; //???
205     std::vector<HardJet> hardJets;
206    
207     ParticleMCInfo mcBbar;
208     ParticleMCInfo mcB;
209     ParticleMCInfo mcC;
210    
211     PUInfo puInfo;
212    
213    
214    
215     METInfo calomet;
216     METInfo tcmet;
217     METInfo pfmet;
218    
219     std::vector<MuonInfo> muInfo;
220     std::vector<ElectronInfo> eleInfo;
221     std::vector<TauInfo> tauInfo;
222    
223     TriggerInfo triggerInfo;
224    
225     PrimaryVertexInfo pvInfo;
226    
227     std::vector<DiMuonInfo> diMuonInfo;
228     std::vector<DiElectronInfo> diElectronInfo;
229    
230     // HiggsCandidate dijetHiggs;
231     // HiggsCandidate fatjetHiggs;
232    
233     // to be decided.. one single or many V?
234     // VCandidate vcand;
235     // WCandidate wele;
236     // WCandidate wmu;
237     //WCandidate wtau;
238     // ZCandidate zmu;
239     // ZCandidate zele;
240     //ZInvCandidate znunu;
241    
242     //
243     // really needed????
244     //
245    
246     };
247     #endif