ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/devildog/SWonAnalysis3/Thesis/src/TCJet.h
Revision: 1.3
Committed: Fri May 27 05:45:15 2011 UTC (13 years, 11 months ago) by devildog
Content type: text/plain
Branch: MAIN
Changes since 1.2: +3 -0 lines
Log Message:
Added JES uncertainty

File Contents

# User Rev Content
1 devildog 1.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 devildog 1.3 float _jesUncertainty;
24 devildog 1.1 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 devildog 1.2 float _bDiscrTrkCountHiPure;
38 devildog 1.1 //Track counting tag with N = 2: trackCountingHighEffBJetTags
39     float _bDiscrTrkCountHiEff;
40     //Simple secondary vertex b tag: simpleSecondaryVertexBJetTags
41 devildog 1.2 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 devildog 1.1
51     public:
52     TCJet();
53     TCJet(const TCJet& orig);
54     virtual ~TCJet();
55    
56     // "get" methods -----------
57    
58     TLorentzVector P4() const;
59     TVector2 P2() const;
60     float Et() const;
61     float Pt() const;
62    
63     // accessors for corrected jets (the argument is the level of correction)
64     // Note: in this implementation all lower-level corrections will be
65     // applied as well. In the future, add overloaded methods for specifying individual
66     // corrections when/if needed
67     TLorentzVector P4(unsigned int lvl) const;
68     TVector2 P2(unsigned int lvl) const;
69     float Et(unsigned int lvl) const;
70     float Pt(unsigned int lvl) const;
71    
72     float TotalJetCorr(unsigned int lvl) const;
73    
74     float ChHadFrac() const;
75     float NeuHadFrac() const;
76     float ChEmFrac() const;
77     float NeuEmFrac() const;
78    
79     unsigned int NumConstit() const;
80     unsigned int NumChPart() const;
81    
82     TVector3 Vtx() const;
83 devildog 1.2 unsigned int VtxIndex() const;
84     float VtxSumPtFrac() const;
85 devildog 1.1 float VtxSumPt() const;
86 devildog 1.2 float VtxTrackFrac() const;
87     int VtxNTracks() const;
88    
89 devildog 1.1 // TVector3 AssocVtx() const;
90     bool JetCorrIsSet(unsigned int lvl) const;
91 devildog 1.3 float UncertaintyJES() const;
92 devildog 1.1 float JetCorr(unsigned int lvl) const;
93    
94     // b tagging discriminators
95 devildog 1.2 float BDiscrTrkCountHiPure() const;
96 devildog 1.1 float BDiscrTrkCountHiEff() const;
97 devildog 1.2 float BDiscrSecVtxSimple() const;
98     float BDiscrSecVtxL() const;
99     float BDiscrSecVtxMVA() const;
100 devildog 1.1
101     // "set" methods ---------
102     void SetP4(TLorentzVector p4);
103     void SetP4(float px, float py, float pz, float e);
104     void SetVtx(float vx, float vy, float vz);
105     void SetVtxSumPt(float vtxSumPt);
106     void SetVtxIndex(unsigned int vtxIndex);
107 devildog 1.2 void SetVtxTrackFrac(float vtxTrackFrac);
108     void SetVtxNTracks(int vtxNTracks);
109     void SetVtxSumPtFrac(float vtxSumPtFrac);
110 devildog 1.1 // void SetAssocVtx(float vx, float vy, float vz);
111    
112     void SetChHadFrac(float c);
113     void SetNeuHadFrac(float n);
114     void SetChEmFrac(float c);
115     void SetNeuEmFrac(float n);
116     void SetNumConstit(unsigned int n);
117     void SetNumChPart(unsigned int n);
118     void SetJetCorr(unsigned int lvl, float corr);
119 devildog 1.3 void SetUncertaintyJES(float u);
120 devildog 1.1
121     // b tagging discriminators
122     // see the corresponding class members for description
123 devildog 1.2 void SetBDiscrTrkCountHiPure(float d);
124 devildog 1.1 void SetBDiscrTrkCountHiEff(float d);
125 devildog 1.2 void SetBDiscrSecVtxSimple(float d);
126     void SetBDiscrSecVtxL(float d);
127     void SetBDiscrSecVtxMVA(float d);
128 devildog 1.1
129    
130     ClassDef(TCJet, 2);
131    
132     };
133    
134     #endif /* _TCJET_H */