ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitAna/DataTree/interface/DCASig.h
Revision: 1.2
Committed: Wed Mar 28 12:15:34 2012 UTC (13 years, 1 month ago) by paus
Content type: text/plain
Branch: MAIN
Changes since 1.1: +56 -28 lines
Log Message:
Enable skimming.

File Contents

# User Rev Content
1 paus 1.2 //--------------------------------------------------------------------------------------------------
2     // $Id: $
3     //
4     // DCA Significance
5     //
6     // This class holds information about the significance of the DCA for various particle assumptions.
7     //
8     // Authors: ?.?, C.Paus
9     //--------------------------------------------------------------------------------------------------
10    
11 pharris 1.1 #ifndef MITANA_DATATREE_DCASIG_H
12     #define MITANA_DATATREE_DCASIG_H
13    
14     #include "MitAna/DataTree/interface/Electron.h"
15     #include "MitAna/DataTree/interface/Muon.h"
16     #include "MitAna/DataTree/interface/PFTau.h"
17     #include "MitAna/DataCont/interface/Ref.h"
18     #include "MitAna/DataTree/interface/DataObject.h"
19    
20     namespace mithep
21     {
22     class DCASig : public DataObject
23     {
24     public:
25     DCASig() {}
26     enum EDCAType {
27     eETau, //ETau
28     eMuTau, //MuTau
29     eEMu, //EMu
30     eEE , //EE
31     eMuMu, //Mu Mu
32     eTauTau //Tau Tau
33     };
34 paus 1.2
35 pharris 1.1 Double_t DCASig3D() const {return fDCA3D /fDCA3DErr; }
36     Double_t DCASig2D() const {return fDCA2D /fDCA2DErr; }
37     Double_t DCASig3DRPhi() const {return fDCA3DRPhi/fDCA3DRPhiErr; }
38     Double_t DCASig2DRPhi() const {return fDCA2DRPhi/fDCA2DRPhiErr; }
39    
40     Double_t DCA3D() const {return fDCA3D; }
41     Double_t DCA2D() const {return fDCA2D; }
42     Double_t DCA3DRPhi() const {return fDCA3DRPhi; }
43     Double_t DCA2DRPhi() const {return fDCA2DRPhi; }
44    
45     Double_t DCA3DErr() const {return fDCA3DErr; }
46     Double_t DCA2DErr() const {return fDCA2DErr; }
47     Double_t DCA3DRPhiErr() const {return fDCA3DRPhiErr; }
48     Double_t DCA2DRPhiErr() const {return fDCA2DRPhiErr; }
49    
50     const PFTau *GetTau() const {return fTauRef.Obj();}
51     const Electron *GetElectron() const {return fElectronRef.Obj();}
52     const Muon *GetMuon() const {return fMuonRef.Obj();}
53     const PFTau *Get2ndTau() const {return f2ndTauRef.Obj();}
54     const Electron *Get2ndElectron() const {return f2ndElectronRef.Obj();}
55     const Muon *Get2ndMuon() const {return f2ndMuonRef.Obj();}
56     EDCAType Type() const {return fDCAType;}
57    
58 paus 1.2 void SetDCA2D (Double_t v) { fDCA2D = v; }
59     void SetDCA3D (Double_t v) { fDCA3D = v; }
60     void SetDCA2DRPhi (Double_t v) { fDCA2DRPhi = v; }
61     void SetDCA3DRPhi (Double_t v) { fDCA3DRPhi = v; }
62     void SetDCA2DErr (Double_t v) { fDCA2DErr = v; }
63     void SetDCA3DErr (Double_t v) { fDCA3DErr = v; }
64     void SetDCA2DRPhiErr(Double_t v) { fDCA2DRPhiErr = v; }
65     void SetDCA3DRPhiErr(Double_t v) { fDCA3DRPhiErr = v; }
66     void SetTau (const mithep::PFTau*iTau, Bool_t i2nd=false)
67     { i2nd ? f2ndTauRef = iTau : fTauRef = iTau; }
68     void SetElectron (const mithep::Electron *iElectron, Bool_t i2nd=false)
69     { i2nd ? f2ndElectronRef = iElectron : fElectronRef = iElectron; }
70     void SetMuon (const mithep::Muon *iMuon, Bool_t i2nd=false)
71     { i2nd ? f2ndMuonRef = iMuon : fMuonRef = iMuon; }
72     void SetType (EDCAType v) { fDCAType = v; }
73    
74     // Some structural tools
75     void Mark() const;
76 pharris 1.1
77     protected:
78    
79 paus 1.2 EDCAType fDCAType; // Lepton pair type
80     Double_t fDCA3D; // 3D xy Distance of closest approach Unc
81     Double_t fDCA2D; // 2D xy Distance of closest approach Unc
82     Double_t fDCA3DRPhi; // 3D RPhi Distance of closest approach Unc
83     Double_t fDCA2DRPhi; // 2D RPhi Distance of closest approach Unc
84    
85     Double_t fDCA3DErr; // 3D xy Distance of closest approach Unc
86     Double_t fDCA2DErr; // 2D xy Distance of closest approach Unc
87     Double_t fDCA3DRPhiErr; // 3D RPhi Distance of closest approach Unc
88     Double_t fDCA2DRPhiErr; // 2D RPhi Distance of closest approach Unc
89 pharris 1.1
90     Ref<PFTau> fTauRef; // Tau reference
91     Ref<Electron> fElectronRef; // Electron reference
92     Ref<Muon> fMuonRef; // Muon reference
93     Ref<PFTau> f2ndTauRef; // Tau reference
94     Ref<Electron> f2ndElectronRef; // Electron reference
95     Ref<Muon> f2ndMuonRef; // Muon reference
96 paus 1.2
97     ClassDef(DCASig,1) // DCA Significance reference
98     };
99     }
100    
101     //--------------------------------------------------------------------------------------------------
102     inline void mithep::DCASig::Mark() const
103     {
104     // mark myself
105     mithep::DataObject::Mark();
106     // mark my dependencies if they are there
107     GetTau()->Mark();
108     GetElectron()->Mark();
109     GetMuon()->Mark();
110     Get2ndTau()->Mark();
111     Get2ndElectron()->Mark();
112     Get2ndMuon()->Mark();
113 pharris 1.1 }
114     #endif