ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/VHbbAnalysis/VHbbDataFormats/interface/VHbbEvent.h
Revision: 1.10
Committed: Mon Aug 22 09:54:49 2011 UTC (13 years, 8 months ago) by bortigno
Content type: text/plain
Branch: MAIN
CVS Tags: Sept14th2011_AR1, AR_Sep8_LightNtuple, VHBB_EDMNtupleV3
Changes since 1.9: +3 -0 lines
Log Message:
MC jet-parton matching p4 info added

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    
12     class SimpleJet {
13     public:
14     SimpleJet(): flavour(-99), tche(-99), tchp(-99), jpb(-99), jp(-99),
15     ssvhe(-99), csv(-99), csvmva(-99), ntracks(-99), charge(-99),
16     bestMCid(-99), bestMCmomid(-99){}
17     public:
18 tboccali 1.6 double Pt() {return p4.Pt();}
19 tboccali 1.1 int flavour;
20     float tche,tchp, jpb,jp , ssvhe, csv, csvmva;
21     int ntracks;
22     float charge;
23 tboccali 1.6 TLorentzVector p4;
24 tboccali 1.1 TLorentzVector chargedTracksFourMomentum;
25    
26 bortigno 1.10 //MC parton matching
27     TLorentzVector bestMCp4, bestMCp4mom;
28 tboccali 1.1 int bestMCid, bestMCmomid;
29     // new
30     TVector2 tVector;
31 bortigno 1.10 //Scale factor
32 bortigno 1.9 float SF_CSVL;
33     float SF_CSVM;
34     float SF_CSVT;
35     float SF_CSVLerr;
36     float SF_CSVMerr;
37     float SF_CSVTerr;
38    
39 tboccali 1.1 };
40    
41    
42     class HardJet {
43     public:
44     HardJet(): constituents(-99){}
45     public:
46     int constituents;
47 tboccali 1.6 TLorentzVector p4;
48 tboccali 1.1 std::vector<TLorentzVector> subFourMomentum;
49     std::vector<float> etaSub, phiSub;
50     };
51    
52    
53     class METInfo {
54     public:
55     METInfo(): sumEt(-99), metSig(-99), eLong(-99){}
56     public:
57     float sumEt, metSig, eLong;
58 tboccali 1.6 TLorentzVector p4;
59 tboccali 1.1 };
60    
61     class MuonInfo {
62     public:
63 arizzi 1.7 MuonInfo(): charge(-99),tIso(-99), eIso(-99), hIso(-99),pfChaIso(-99), pfPhoIso(-99), pfNeuIso(-99),
64 tboccali 1.1 acop(-99), ipDb(-99), ipErrDb(-99), zPVPt(-99),zPVProb(-99), chi2(-99), globChi2(-99),
65     cat(-99), nHits(-99), nPixelHits(-99), globNHits(-99),validMuStations(-99),
66     mcId(-99), mcMomId(-99), mcgMomId(-99){}
67     public:
68 tboccali 1.6 TLorentzVector p4;
69 tboccali 1.1 int charge;
70 arizzi 1.7 float tIso, eIso, hIso, pfChaIso,pfPhoIso,pfNeuIso,acop, ipDb, ipErrDb, zPVPt,zPVProb, chi2, globChi2;
71 tboccali 1.1 int cat, nHits, nPixelHits, globNHits, validMuStations;
72     TLorentzVector mcFourMomentum;
73     int mcId, mcMomId, mcgMomId;
74 bortigno 1.8 std::vector< int > hltMatchedBits;
75 tboccali 1.1 };
76    
77     class ElectronInfo {
78     public:
79     ElectronInfo() : scEta(-99), scPhi(-99), charge(-99),
80 arizzi 1.7 tIso(-99), eIso(-99), hIso(-99),pfChaIso(-99), pfPhoIso(-99), pfNeuIso(-99), acop(-99),
81     id95(-99),id85(-99),id80(-99),id70(-99),
82     id95r(-99),id85r(-99),id80r(-99),id70r(-99),
83     mcId(-99), mcMomId(-99), mcgMomId (-99){}
84 tboccali 1.1 public:
85 tboccali 1.6 TLorentzVector p4;
86 tboccali 1.1 float scEta, scPhi;
87     int charge;
88 arizzi 1.7 float tIso, eIso, hIso, pfChaIso,pfPhoIso,pfNeuIso, acop;
89     float id95,id85,id80,id70,id95r, id85r,id80r, id70r;
90 tboccali 1.1 TLorentzVector mcFourMomentum;
91     int mcId, mcMomId, mcgMomId;
92 bortigno 1.8 std::vector< int > hltMatchedBits;
93 tboccali 1.1 };
94    
95     class TauInfo{
96     public:
97 arizzi 1.7 TauInfo() : charge(-99), tIso(-99), eIso(-99), hIso(-99),pfChaIso(-99), pfPhoIso(-99), pfNeuIso(-99), acop(-99),
98 tboccali 1.1 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 tboccali 1.6 TLorentzVector p4;
103 tboccali 1.1 int charge;
104 arizzi 1.7 float tIso, eIso, hIso,pfChaIso,pfPhoIso,pfNeuIso, acop;
105 tboccali 1.1 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 tboccali 1.6 TLorentzVector p4;
114 tboccali 1.1 MuonInfo daughter1, daughter2;
115     };
116    
117    
118     class DiElectronInfo {
119     public:
120 tboccali 1.6 TLorentzVector p4;
121 tboccali 1.1 ElectronInfo daughter1, daughter2;
122     };
123    
124    
125    
126     public:
127     std::vector<SimpleJet> simpleJets;
128     std::vector<SimpleJet> simpleJets2; //???
129     std::vector<SimpleJet> subJets; //???
130     std::vector<HardJet> hardJets;
131    
132 tboccali 1.5 METInfo calomet;
133 tboccali 1.1 METInfo tcmet;
134     METInfo pfmet;
135    
136     std::vector<MuonInfo> muInfo;
137     std::vector<ElectronInfo> eleInfo;
138     std::vector<TauInfo> tauInfo;
139    
140     std::vector<DiMuonInfo> diMuonInfo;
141     std::vector<DiElectronInfo> diElectronInfo;
142    
143     // HiggsCandidate dijetHiggs;
144     // HiggsCandidate fatjetHiggs;
145    
146     // to be decided.. one single or many V?
147     // VCandidate vcand;
148     // WCandidate wele;
149     // WCandidate wmu;
150     //WCandidate wtau;
151     // ZCandidate zmu;
152     // ZCandidate zele;
153     //ZInvCandidate znunu;
154    
155     //
156     // really needed????
157     //
158    
159     };
160     #endif