ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/VHbbAnalysis/VHbbDataFormats/interface/VHbbEvent.h
Revision: 1.4
Committed: Wed Jul 20 15:22:23 2011 UTC (13 years, 9 months ago) by arizzi
Content type: text/plain
Branch: MAIN
CVS Tags: Jul21st2011
Changes since 1.3: +1 -0 lines
Log Message:
add Pt accessor to SimpleJet

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