ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/VHbbAnalysis/HbbAnalyzer/interface/VHbbEvent.h
Revision: 1.1
Committed: Wed Jun 8 17:25:32 2011 UTC (13 years, 11 months ago) by tboccali
Content type: text/plain
Branch: MAIN
Log Message:
first addition

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     int status;
14     int momid;
15     int gmomid;
16     int charge;
17     TLorentzVector fourMomentum;
18     // int ndau;
19     std::vector<int> dauid;
20     std::vector<TLorentzVector> dauFourMomentum;
21     };
22    
23     class SimpleJet {
24     public:
25     int flavour;
26     float tche,tchp, jpb,jp , ssvhe, csv, csvmva;
27     int ntracks;
28     float charge;
29     TLorentzVector fourMomentum;
30     int b1BestMCid, b1BestMCmomid;
31     };
32    
33    
34     class HardJet{
35     public:
36     int constituents;
37     TLorentzVector fourMomentum;
38     std::vector<TLorentzVector> subFourMomentum;
39     std::vector<float> etaSub, phiSub;
40     };
41    
42    
43     class METInfo{
44     public:
45     float sumEt, metSig, eLong;
46     TLorentzVector fourMomentum;
47     };
48    
49     class MuonInfo {
50     public:
51     TLorentzVector fourMomentum;
52     int charge;
53     float tIso, eIso, hIso, acop, ipDb, ipErrDb, zPVPt,zPVProb, chi2, globChi2;
54     int cat, nHits, nPixelHits, globNHits;
55     TLorentzVector mcFourMomentum;
56     int mcId, mcMomId, mcgMomId;
57     };
58    
59    
60     class ElectronInfo {
61     public:
62     TLorentzVector fourMomentum;
63     float scEta, scPhi;
64     int charge;
65     float tIso, eIso, hIso, acop;
66     float id95,id85,id70,id95r, id70r;
67     TLorentzVector mcFourMomentum;
68     int mcId, mcMomId, mcgMomId;
69     };
70    
71     class TauInfo {
72     public:
73     TLorentzVector fourMomentum;
74     int charge;
75     float tIso, eIso, hIso, acop;
76     float idbyIso,idbyTrackIso,idbyTaNCfrOnePercent,idbyTaNCfrHalfPercent, idbyTaNCfrQuarterPercent, idbyTaNCfrTenthPercent, idbyTaNC;
77     TLorentzVector mcFourMomentum;
78     int mcId, mcMomId, mcgMomId;
79     };
80    
81    
82     class DiMuonInfo {
83     public:
84     TLorentzVector fourMomentum;
85     MuonInfo daughter1, daughter2;
86     };
87    
88    
89     class DiElectronInfo {
90     public:
91     TLorentzVector fourMomentum;
92     ElectronInfo daughter1, daughter2;
93     };
94    
95    
96     class TriggerInfo {
97     public:
98     int flag[500];
99     int triggerMu9,
100     triggerIsoMu9,
101     triggerIsoMu13_3,
102     triggerMu11,
103     triggerDoubleMu3,
104     triggerDoubleMu3_2,
105     triggerMu15,
106     triggerMu15_1,
107     triggerDoubleElec10,
108     triggerDoubleElec15_1,
109     triggerDoubleElec17_1,
110     triggerMet100_1,
111     triggerSingleEle1,
112     triggerSingleEle2,
113     triggerSingleEle3,
114     triggerSingleEle4,
115     triggerBtagMu1,
116     triggerBtagMu2,
117     triggerBtagMu0,
118     triggerBtagMu11,
119     triggerBtagMuJet1,
120     triggerBtagMuJet2,
121     triggerBtagMuJet3,
122     triggerBtagMuJet4,
123     triggerIsoMu15,
124     triggerIsoMu17v5,
125     triggerIsoMu17v6;
126     };
127    
128     class PrimaryVertexInfo {
129     public:
130     TVector3 firstPVInPT2,firstPVInProb;
131     };
132    
133     class PUInfo {
134     public:
135     float rho;
136     };
137    
138    
139     public:
140     ParticleMCInfo mcH;
141     ParticleMCInfo mcW;
142     ParticleMCInfo mcZ;
143     std::vector<SimpleJet> simpleJets;
144     std::vector<SimpleJet> simpleJets2; //???
145     std::vector<SimpleJet> subJets; //???
146     std::vector<HardJet> hardJets;
147    
148     ParticleMCInfo mcBbar;
149     ParticleMCInfo mcB;
150     ParticleMCInfo mcC;
151    
152     PUInfo puInfo;
153    
154    
155    
156     METInfo calomet;
157     METInfo tcmet;
158     METInfo pfmet;
159    
160     std::vector<MuonInfo> muInfo;
161     std::vector<ElectronInfo> eleInfo;
162     std::vector<TauInfo> tauInfo;
163    
164     TriggerInfo triggerInfo;
165    
166     PrimaryVertexInfo pvInfo;
167    
168     std::vector<DiMuonInfo> diMuonInfo;
169     std::vector<DiElectronInfo> diElectronInfo;
170    
171     // HiggsCandidate dijetHiggs;
172     // HiggsCandidate fatjetHiggs;
173    
174     // to be decided.. one single or many V?
175     // VCandidate vcand;
176     // WCandidate wele;
177     // WCandidate wmu;
178     //WCandidate wtau;
179     // ZCandidate zmu;
180     // ZCandidate zele;
181     //ZInvCandidate znunu;
182    
183     //
184     // really needed????
185     //
186    
187     };
188     #endif