ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitAna/DataTree/interface/PFTau.h
Revision: 1.1
Committed: Thu Mar 19 23:09:36 2009 UTC (16 years, 1 month ago) by bendavid
Content type: text/plain
Branch: MAIN
Log Message:
Added Tau classes

File Contents

# User Rev Content
1 bendavid 1.1 //--------------------------------------------------------------------------------------------------
2     // $Id: PFTau.h,v 1.2 2009/03/12 15:55:38 bendavid Exp $
3     //
4     // PFTau
5     //
6     // This class holds information about reconstructed tau based on PF Cands
7     //
8     // Authors: J.Bendavid
9     //--------------------------------------------------------------------------------------------------
10    
11     #ifndef MITANA_DATATREE_PFTAU_H
12     #define MITANA_DATATREE_PFTAU_H
13    
14     #include "MitAna/DataTree/interface/Tau.h"
15     #include "MitAna/DataCont/interface/RefArray.h"
16     #include "MitAna/DataCont/interface/Ref.h"
17     #include "MitAna/DataTree/interface/PFCandidate.h"
18     #include "MitAna/DataTree/interface/BasicCluster.h"
19     #include "MitAna/DataTree/interface/PFJet.h"
20    
21     namespace mithep
22     {
23     class PFTau : public Tau
24     {
25     public:
26     PFTau() : fLeadPFCandSignedD0Significance(0), fHCalTotalEOverP(0), fHCalMaxEOverP(0),
27     fHCal3x3EOverP(0), fIsoChargedHadronPtSum(0), fIsoGammaEtSum(0),
28     fMaxHCalPFClusterEt(0), fEMFraction(0), fECalStripSumEOverP(0),
29     fBremRecoveryEOverP(0), fElectronPreIDOutput(0), fElectronPreIDDecision(kFALSE),
30     fCaloCompatibility(0), fSegmentCompatibility(0), fMuonDecision(kFALSE) {}
31    
32     PFTau(Double_t px, Double_t py, Double_t pz, Double_t e) :
33     Tau(px,py,pz,e),
34     fLeadPFCandSignedD0Significance(0), fHCalTotalEOverP(0), fHCalMaxEOverP(0),
35     fHCal3x3EOverP(0), fIsoChargedHadronPtSum(0), fIsoGammaEtSum(0),
36     fMaxHCalPFClusterEt(0), fEMFraction(0), fECalStripSumEOverP(0),
37     fBremRecoveryEOverP(0), fElectronPreIDOutput(0), fElectronPreIDDecision(kFALSE),
38     fCaloCompatibility(0), fSegmentCompatibility(0), fMuonDecision(kFALSE) {}
39    
40     void AddIsoPFCand(const PFCandidate *p) { fIsoPFCands.Add(p); }
41     void AddSignalPFCand(const PFCandidate *p) { fSignalPFCands.Add(p); }
42     void SetPFJet(const PFJet *j) { fPFJet = j; }
43     void SetLeadPFCand(const PFCandidate *p) { fLeadPFCand = p; }
44     void SetLeadChargedHadronPFCand(const PFCandidate *p) { fLeadChargedHadronPFCand = p; }
45     void SetLeadNeutralPFCand(const PFCandidate *p) { fLeadNeutralPFCand = p; }
46     void SetElectronTrack(const Track *t) { fElectronTrack = t; }
47    
48     const PFCandidate *LeadPFCand() const { return fLeadPFCand.Obj(); }
49     const PFCandidate *LeadChargedHadronPFCand() const { return fLeadChargedHadronPFCand.Obj(); }
50     const PFCandidate *LeadNeutralHadronPFCand() const { return fLeadChargedHadronPFCand.Obj(); }
51     const Track *ElectronTrack() const { return fElectronTrack.Obj(); }
52     const PFJet *SourcePFJet() const { return fPFJet.Obj(); }
53     const Jet *SourceJet() const { return SourcePFJet(); }
54    
55     UInt_t NIsoPFCandS() const { return fIsoPFCands.GetEntries(); }
56     UInt_t NSignalPFCands() const { return fSignalPFCands.GetEntries(); }
57     const PFCandidate *SignalPFCand(UInt_t i) const { return fSignalPFCands.At(i); }
58     const PFCandidate *IsoPFCand(UInt_t i) const { return fIsoPFCands.At(i); }
59    
60     EObjType ObjType() const { return kPFTau; }
61    
62    
63     Double_t LeadPFCandSignedD0Significance() const { return fLeadPFCandSignedD0Significance; }
64     Double_t HCalTotalEOverP() const { return fHCalTotalEOverP; }
65     Double_t HCalMaxEOverP() const { return fHCalMaxEOverP; }
66     Double_t HCal3x3EOverP() const { return fHCal3x3EOverP; }
67     Double_t IsoChargedHadronPtSum() const { return fIsoChargedHadronPtSum; }
68     Double_t IsoGammaEtSum() const { return fIsoGammaEtSum; }
69     Double_t MaxHCalPFClusterEt() const { return fMaxHCalPFClusterEt; }
70     Double_t EMFraction() const { return fEMFraction; }
71     Double_t ECalStripSumEOverP() const { return fECalStripSumEOverP; }
72     Double_t BremRecoveryEOverP() const { return fBremRecoveryEOverP; }
73     Double_t ElectronPreIDOutput() const { return fElectronPreIDOutput; }
74     Double_t CaloCompatibility() const { return fCaloCompatibility; }
75     Double_t SegmentCompatibility() const { return fSegmentCompatibility; }
76     Bool_t ElectronPreIDDecision() const { return fElectronPreIDDecision; }
77     Bool_t MuonDecision() const { return fMuonDecision; }
78    
79     void SetLeadPFCandSignedD0Significance(Double_t x) { fLeadPFCandSignedD0Significance = x; }
80     void SetHCalTotalEOverP(Double_t x) { fHCalTotalEOverP = x; }
81     void SetHCalMaxEOverP(Double_t x) { fHCalMaxEOverP = x; }
82     void SetHCal3x3EOverP(Double_t x) { fHCal3x3EOverP = x; }
83     void SetIsoChargedHadronPtSum(Double_t x) { fIsoChargedHadronPtSum = x; }
84     void SetIsoGammaEtSum(Double_t x) { fIsoGammaEtSum = x; }
85     void SetMaxHCalPFClusterEt(Double_t x) { fMaxHCalPFClusterEt = x; }
86     void SetEMFraction(Double_t x) { fEMFraction = x; }
87     void SetECalStripSumEOverP(Double_t x) { fECalStripSumEOverP = x; }
88     void SetBremRecoveryEOverP(Double_t x) { fBremRecoveryEOverP = x; }
89     void SetElectronPreIDOutput(Double_t x) { fElectronPreIDOutput = x; }
90     void SetCaloCompatibility(Double_t x) { fCaloCompatibility = x; }
91     void SetSegmentCompatibility(Double_t x) { fSegmentCompatibility = x; }
92     void SetElectronPreIDDecision(Bool_t b) { fElectronPreIDDecision = b; }
93     void SetMuonDecision(Bool_t b) { fMuonDecision = b; }
94    
95     protected:
96    
97     Double32_t fLeadPFCandSignedD0Significance; //signed lead track D0 significance
98     Double32_t fHCalTotalEOverP; //total hcal Energy / lead charged hadron pf candidate P
99     Double32_t fHCalMaxEOverP; //max hcal cluster Energy / lead charged hadron pf candidate P
100     Double32_t fHCal3x3EOverP; //sum hcal cluster Energy in 3x3 tower region / lead charged hadron pf candidate P
101     Double32_t fIsoChargedHadronPtSum; //sum pt of selected charged hadron PFCands in isolation annulus
102     Double32_t fIsoGammaEtSum; //sum et of selected photon PFCands in isolation annulus
103     Double32_t fMaxHCalPFClusterEt; //Et of largest Et HCal PFCluster
104     Double32_t fEMFraction; //EM energy fraction
105     Double32_t fECalStripSumEOverP; //simple brem recovery E / lead charged hadron P
106     Double32_t fBremRecoveryEOverP; //brem recovery E / lead charged hadron P
107     Double32_t fElectronPreIDOutput; //pf electron pre id bdt output for this to be an electron
108     Bool_t fElectronPreIDDecision; //pf electron pre id decision
109     Double32_t fCaloCompatibility; //calo compatibility for this tau to be a muon
110     Double32_t fSegmentCompatibility; //segment compatibility for this tau to be a muon
111     Bool_t fMuonDecision; //pf muon id decision
112     Ref<PFCandidate> fLeadPFCand; //leading signal pf candidate (could be charged or neutral)
113     Ref<PFCandidate> fLeadChargedHadronPFCand; //leading charged hadron signal pf candidate
114     Ref<PFCandidate> fLeadNeutralPFCand; //leading neutral signal pf candidate
115     Ref<PFJet> fPFJet; //original reconstructed pf jet
116     Ref<Track> fElectronTrack; //track corresponding to possible matching electron candidate
117     RefArray<PFCandidate> fSignalPFCands; //selected pf candidates in signal cone
118     RefArray<PFCandidate> fIsoPFCands; //selected pf candidates in isolation annulus
119    
120     ClassDef(PFTau, 1) // PFTau class
121     };
122     }
123     #endif