ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitAna/DataTree/interface/DCASig.h
Revision: 1.1
Committed: Sun Mar 11 22:32:00 2012 UTC (13 years, 1 month ago) by pharris
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_025d
Log Message:
*** empty log message ***

File Contents

# Content
1 #ifndef MITANA_DATATREE_DCASIG_H
2 #define MITANA_DATATREE_DCASIG_H
3
4 #include "MitAna/DataTree/interface/Electron.h"
5 #include "MitAna/DataTree/interface/Muon.h"
6 #include "MitAna/DataTree/interface/PFTau.h"
7 #include "MitAna/DataCont/interface/Ref.h"
8 #include "MitAna/DataTree/interface/DataObject.h"
9
10 namespace mithep
11 {
12 class DCASig : public DataObject
13 {
14 public:
15 DCASig() {}
16 enum EDCAType {
17 eETau, //ETau
18 eMuTau, //MuTau
19 eEMu, //EMu
20 eEE , //EE
21 eMuMu, //Mu Mu
22 eTauTau //Tau Tau
23 };
24
25 Double_t DCASig3D() const {return fDCA3D /fDCA3DErr; }
26 Double_t DCASig2D() const {return fDCA2D /fDCA2DErr; }
27 Double_t DCASig3DRPhi() const {return fDCA3DRPhi/fDCA3DRPhiErr; }
28 Double_t DCASig2DRPhi() const {return fDCA2DRPhi/fDCA2DRPhiErr; }
29
30 Double_t DCA3D() const {return fDCA3D; }
31 Double_t DCA2D() const {return fDCA2D; }
32 Double_t DCA3DRPhi() const {return fDCA3DRPhi; }
33 Double_t DCA2DRPhi() const {return fDCA2DRPhi; }
34
35 Double_t DCA3DErr() const {return fDCA3DErr; }
36 Double_t DCA2DErr() const {return fDCA2DErr; }
37 Double_t DCA3DRPhiErr() const {return fDCA3DRPhiErr; }
38 Double_t DCA2DRPhiErr() const {return fDCA2DRPhiErr; }
39
40 const PFTau *GetTau() const {return fTauRef.Obj();}
41 const Electron *GetElectron() const {return fElectronRef.Obj();}
42 const Muon *GetMuon() const {return fMuonRef.Obj();}
43 const PFTau *Get2ndTau() const {return f2ndTauRef.Obj();}
44 const Electron *Get2ndElectron() const {return f2ndElectronRef.Obj();}
45 const Muon *Get2ndMuon() const {return f2ndMuonRef.Obj();}
46 EDCAType Type() const {return fDCAType;}
47
48 void SetDCA2D (Double_t value) { fDCA2D = value; }
49 void SetDCA3D (Double_t value) { fDCA3D = value; }
50 void SetDCA2DRPhi (Double_t value) { fDCA2DRPhi = value; }
51 void SetDCA3DRPhi (Double_t value) { fDCA3DRPhi = value; }
52 void SetDCA2DErr (Double_t value) { fDCA2DErr = value; }
53 void SetDCA3DErr (Double_t value) { fDCA3DErr = value; }
54 void SetDCA2DRPhiErr(Double_t value) { fDCA2DRPhiErr = value; }
55 void SetDCA3DRPhiErr(Double_t value) { fDCA3DRPhiErr = value; }
56 void SetTau (const mithep::PFTau *iTau ,
57 Bool_t i2nd=false) { i2nd ? f2ndTauRef = iTau : fTauRef = iTau; }
58 void SetElectron (const mithep::Electron *iElectron,
59 Bool_t i2nd=false) { i2nd ? f2ndElectronRef = iElectron : fElectronRef = iElectron; }
60 void SetMuon (const mithep::Muon *iMuon ,
61 Bool_t i2nd=false) { i2nd ? f2ndMuonRef = iMuon : fMuonRef = iMuon; }
62 void SetType (EDCAType value) { fDCAType = value; }
63
64 protected:
65
66 EDCAType fDCAType; // Lepton pair type
67 Double_t fDCA3D; // 3D xy Distance of closest approach Unc
68 Double_t fDCA2D; // 2D xy Distance of closest approach Unc
69 Double_t fDCA3DRPhi; // 3D RPhi Distance of closest approach Unc
70 Double_t fDCA2DRPhi; // 2D RPhi Distance of closest approach Unc
71
72 Double_t fDCA3DErr; // 3D xy Distance of closest approach Unc
73 Double_t fDCA2DErr; // 2D xy Distance of closest approach Unc
74 Double_t fDCA3DRPhiErr; // 3D RPhi Distance of closest approach Unc
75 Double_t fDCA2DRPhiErr; // 2D RPhi Distance of closest approach Unc
76
77 Ref<PFTau> fTauRef; // Tau reference
78 Ref<Electron> fElectronRef; // Electron reference
79 Ref<Muon> fMuonRef; // Muon reference
80 Ref<PFTau> f2ndTauRef; // Tau reference
81 Ref<Electron> f2ndElectronRef; // Electron reference
82 Ref<Muon> f2ndMuonRef; // Muon reference
83 ClassDef(DCASig,1) // DCA Significance reference
84 };
85 }
86 #endif