ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/devildog/SWonAnalysis3/Thesis/src/TCJet.h
Revision: 1.4
Committed: Wed Jun 15 22:12:53 2011 UTC (13 years, 10 months ago) by devildog
Content type: text/plain
Branch: MAIN
CVS Tags: HEAD
Changes since 1.3: +0 -1 lines
Log Message:
Removed custom copy constructor

File Contents

# Content
1 /*
2 * File: TCJet.h
3 * Author: Anton A.
4 *
5 * Created on April 30, 2010, 2:49 PM
6 */
7
8 #ifndef _TCJET_H
9 #define _TCJET_H
10
11 #include "TObject.h"
12 #include "TLorentzVector.h"
13 #include "TVector2.h"
14
15 class TCJet : public TObject {
16 private:
17 TLorentzVector _p4;
18 TVector3 _vtx;
19 // TVector3 _assocPV;
20 float _vtxSumPt;
21 unsigned int _vtxIndex;
22
23 float _jesUncertainty;
24 float _jetCorr[8];
25 bool _jetCorrIsSet[8];
26
27 float _chHadFrac;
28 float _neuHadFrac;
29 float _chEmFrac;
30 float _neuEmFrac;
31
32 unsigned int _numConstit;
33 unsigned int _numChPart;
34
35 // b tagging discriminators
36 //Track counting tag with N = 3: trackCountingHighPurBJetTags
37 float _bDiscrTrkCountHiPure;
38 //Track counting tag with N = 2: trackCountingHighEffBJetTags
39 float _bDiscrTrkCountHiEff;
40 //Simple secondary vertex b tag: simpleSecondaryVertexBJetTags
41 float _bDiscrSecVtxSimple;
42 //Combined SV b tag using likelihood ratios: combinedSVBJetTags
43 float _bDiscrSecVtxL;
44 //Combined SV b tag using MVA: combinedSVMVABJetTags
45 float _bDiscrSecVtxMVA;
46
47 float _vtxSumPtFrac;
48 float _vtxTrackFrac;
49 float _vtxNTracks;
50
51 public:
52 TCJet();
53 virtual ~TCJet();
54
55 // "get" methods -----------
56
57 TLorentzVector P4() const;
58 TVector2 P2() const;
59 float Et() const;
60 float Pt() const;
61
62 // accessors for corrected jets (the argument is the level of correction)
63 // Note: in this implementation all lower-level corrections will be
64 // applied as well. In the future, add overloaded methods for specifying individual
65 // corrections when/if needed
66 TLorentzVector P4(unsigned int lvl) const;
67 TVector2 P2(unsigned int lvl) const;
68 float Et(unsigned int lvl) const;
69 float Pt(unsigned int lvl) const;
70
71 float TotalJetCorr(unsigned int lvl) const;
72
73 float ChHadFrac() const;
74 float NeuHadFrac() const;
75 float ChEmFrac() const;
76 float NeuEmFrac() const;
77
78 unsigned int NumConstit() const;
79 unsigned int NumChPart() const;
80
81 TVector3 Vtx() const;
82 unsigned int VtxIndex() const;
83 float VtxSumPtFrac() const;
84 float VtxSumPt() const;
85 float VtxTrackFrac() const;
86 int VtxNTracks() const;
87
88 // TVector3 AssocVtx() const;
89 bool JetCorrIsSet(unsigned int lvl) const;
90 float UncertaintyJES() const;
91 float JetCorr(unsigned int lvl) const;
92
93 // b tagging discriminators
94 float BDiscrTrkCountHiPure() const;
95 float BDiscrTrkCountHiEff() const;
96 float BDiscrSecVtxSimple() const;
97 float BDiscrSecVtxL() const;
98 float BDiscrSecVtxMVA() const;
99
100 // "set" methods ---------
101 void SetP4(TLorentzVector p4);
102 void SetP4(float px, float py, float pz, float e);
103 void SetVtx(float vx, float vy, float vz);
104 void SetVtxSumPt(float vtxSumPt);
105 void SetVtxIndex(unsigned int vtxIndex);
106 void SetVtxTrackFrac(float vtxTrackFrac);
107 void SetVtxNTracks(int vtxNTracks);
108 void SetVtxSumPtFrac(float vtxSumPtFrac);
109 // void SetAssocVtx(float vx, float vy, float vz);
110
111 void SetChHadFrac(float c);
112 void SetNeuHadFrac(float n);
113 void SetChEmFrac(float c);
114 void SetNeuEmFrac(float n);
115 void SetNumConstit(unsigned int n);
116 void SetNumChPart(unsigned int n);
117 void SetJetCorr(unsigned int lvl, float corr);
118 void SetUncertaintyJES(float u);
119
120 // b tagging discriminators
121 // see the corresponding class members for description
122 void SetBDiscrTrkCountHiPure(float d);
123 void SetBDiscrTrkCountHiEff(float d);
124 void SetBDiscrSecVtxSimple(float d);
125 void SetBDiscrSecVtxL(float d);
126 void SetBDiscrSecVtxMVA(float d);
127
128
129 ClassDef(TCJet, 2);
130
131 };
132
133 #endif /* _TCJET_H */