ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/HbbAnalysis/interface/Objects.hh
Revision: 1.2
Committed: Fri Oct 2 11:05:52 2009 UTC (15 years, 7 months ago) by amagnan
Content type: text/plain
Branch: MAIN
Changes since 1.1: +35 -1 lines
Log Message:
add histos classes to fill from tree

File Contents

# User Rev Content
1 amagnan 1.1 #ifndef HbbAnalysis_Objects_hh
2     #define HbbAnalysis_Objects_hh
3    
4     #include <vector>
5     #include <string>
6 amagnan 1.2 #include <iostream>
7    
8     #include "TLorentzVector.h"
9 amagnan 1.1
10     namespace HbbAnalysis {
11    
12     struct MCVars {
13     unsigned int index;
14 amagnan 1.2 double E;
15 amagnan 1.1 double pT;
16     double eta;
17     double phi;
18     int pdgId;
19     int status;
20     };
21    
22     struct GenVars {
23     bool valid;
24 amagnan 1.2 double E;
25 amagnan 1.1 double pT;
26     double eta;
27     double phi;
28     int charge;
29     int pdgId;
30     int status;
31     double mass;
32     double vx;
33     double vy;
34     double vz;
35     };
36    
37     struct BaseVars {
38 amagnan 1.2 double E;
39 amagnan 1.1 double pT;
40     double eta;
41     double phi;
42     float charge;
43     double vx;
44     double vy;
45     double vz;
46     };
47    
48     struct SCVars {
49     float sigmaEtaEta;
50     float sigmaIEtaIEta;
51     float e1x5;
52     float e2x5Max;
53     float e5x5;
54     float eOverP;
55     };
56    
57     struct EleIsoVars {
58     float calo;
59     float track;
60     float ecal;
61     float hcal;
62     };
63    
64     struct EleIDVars{
65     std::vector<std::pair<std::string,float> > electronIDs;
66     float hOverE;
67     float deltaPhiIn;
68     float deltaEtaIn;
69     };
70    
71     struct MuIsoVars {
72     float sumPt;
73     float emEt;
74     float hadEt;
75     float nTracks;
76     float nJets;
77     };
78    
79     struct MuIDVars{
80     unsigned short type;
81     std::vector<unsigned short> ids;
82     float caloCompat;
83     float segCompat;
84     unsigned int nChambers;
85     unsigned int nMatchesLoose;
86     unsigned int nMatchesMedium;
87     unsigned int nMatchesTight;
88     };
89    
90     struct TauLeadTrkVars{
91     double pT;
92     double eta;
93     double phi;
94     double matchDist;
95     double IPxy;
96     double IPz;
97     float signedSipt;
98     };
99    
100     struct CaloTauIsoVars{
101     unsigned int nIsoTracks;
102     unsigned int nSigTracks;
103     float leadTrackHCAL3x3hitsEtSum;
104     float leadTrackHCAL3x3hottesthitDEta;
105     float signalTracksInvariantMass;
106     float tracksInvariantMass;
107     float isolationTracksPtSum;
108     float isolationECALhitsEtSum;
109     float maximumHCALhitEt;
110     };
111    
112     struct CaloTauIDVars{
113     float byIsolation;
114     float byLeadingTrackFinding;
115     float byLeadingTrackPtCut;
116     };
117    
118     struct PFTauIsoVars{
119     unsigned int nSigCands;
120     unsigned int nIsoCands;
121     double maximumHCALPFClusterEt;
122     //double emFraction;
123     double hcalTotOverPLead;
124     double hcalMaxOverPLead;
125     double hcal3x3OverPLead;
126     double ecalStripSumEOverPLead;
127     double bremsRecoveryEOverPLead;
128     };
129    
130     //for hadr, neutr and gamma cands
131     struct PFTauCandVars{
132     unsigned int nSigCands;
133     unsigned int nIsoCands;
134     double isolationPtSum;
135     };
136    
137     struct PFTauIDVars{
138     float byLeadingTrackFinding;
139     float byLeadingTrackPtCut;
140     float byTrackIsolation;
141     float byECALIsolation;
142     float byIsolation;
143     float againstElectron;
144     float againstMuon;
145     };
146    
147     struct PFTauEleIDVars{
148     double pT;
149     double eta;
150     double phi;
151     float output;
152     float decision;
153     };
154    
155     struct PFTauMuIDVars{
156     float caloCompat;
157     float segCompat;
158     float decision;
159     };
160    
161     struct JetVars{
162     //1=had, 2=e, 3=mu for heavy quarks;
163     //2=uds, 3=g for light quarks
164     unsigned int flavour;
165     int partonFlavour;
166     unsigned int nAssociatedTracks;
167     double rawpT;
168     //double rawEta;
169     //double rawPhi;
170     };
171    
172     struct CaloJetVars{
173     double maxEInEmTowers;
174     double maxEInHadTowers;
175     double energyFractionHadronic;
176     double emEnergyFraction;
177     double hadEnergyInHB;
178     double hadEnergyInHO;
179     double hadEnergyInHE;
180     double hadEnergyInHF;
181     double emEnergyInEB;
182     double emEnergyInEE;
183     double emEnergyInHF;
184     double towersArea;
185     double n90;
186     double n60;
187     };
188    
189     struct PFJetVars{
190     double chargedHadronEnergy;
191     double chargedHadronEnergyFraction;
192     double neutralHadronEnergy;
193     double neutralHadronEnergyFraction;
194     double chargedEmEnergy;
195     double chargedEmEnergyFraction;
196     double chargedMuEnergy;
197     double chargedMuEnergyFraction;
198     double neutralEmEnergy;
199     double neutralEmEnergyFraction;
200     double chargedMultiplicity;
201     double neutralMultiplicity;
202     double muonMultiplicity;
203     };
204    
205     struct JetBtagVars{
206     double cSV;
207     double cSVMVA;
208     double iPMVA;
209     double bProba;
210     double probability;
211     double sSV;
212     double softElectron;
213     double softMuon;
214     double softMuonNoIP;
215     double tCHE;
216     double tCHP;
217     };
218    
219     struct MetVars{
220     double mET;
221     double mEx;
222     double mEy;
223     double sumET;
224     double phi;
225     double mEtSig;
226     };
227    
228     struct TriggerVars{
229     std::string name;
230     unsigned int index;
231     bool accept;
232     };
233    
234 amagnan 1.2 double DeltaPhi(const double phi1, const double phi2);
235    
236     double DeltaR(const BaseVars & v1, const BaseVars & v2);
237    
238     double SameSign(const BaseVars & v1, const BaseVars & v2);
239    
240     double OppSign(const BaseVars & v1, const BaseVars & v2);
241    
242     TLorentzVector FourMomentum(const BaseVars & v, const double scale=1) ;
243    
244     double TransverseMass(const BaseVars & leg1,
245     const BaseVars & leg2,
246     const double mEx,
247     const double mEy);
248    
249     double TransverseMass(const BaseVars & leg1,
250     const double mEx,
251     const double mEy);
252    
253     TLorentzVector FourMomentumCDFmethod(const BaseVars & leg1,
254     const BaseVars & leg2,
255     double mEx,
256     double mEy);
257    
258     TLorentzVector FourMomentumCollinearApprox(const BaseVars & leg1,
259     const BaseVars & leg2,
260     double mEx,
261     double mEy);
262 amagnan 1.1
263 amagnan 1.2 }//namespace
264 amagnan 1.1
265     #endif