ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitAna/DataTree/interface/CaloTau.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: CaloTau.h,v 1.2 2009/03/12 15:55:38 bendavid Exp $
3     //
4     // CaloTau
5     //
6     // This class holds information about reconstructed tau based on calorimeter towers, ecal basic
7     // clusters, and tracks
8     //
9     // Authors: J.Bendavid
10     //--------------------------------------------------------------------------------------------------
11    
12     #ifndef MITANA_DATATREE_CALOTAU_H
13     #define MITANA_DATATREE_CALOTAU_H
14    
15     #include "MitAna/DataTree/interface/Tau.h"
16     #include "MitAna/DataCont/interface/RefArray.h"
17     #include "MitAna/DataCont/interface/Ref.h"
18     #include "MitAna/DataTree/interface/Track.h"
19     #include "MitAna/DataTree/interface/BasicCluster.h"
20     #include "MitAna/DataTree/interface/CaloJet.h"
21    
22     namespace mithep
23     {
24     class CaloTau : public Tau
25     {
26     public:
27     CaloTau() : fLeadTrackSignedD0Significance(0), fLeadTrack3x3HCalEt(0),
28     fLeadTrack3x3HCalDEta(0), fSignalTracksMass(0),
29     fTracksMass(0), fIsoTrackPtSum(0), fIsoECalEtSum(0),
30     fMaxHCalHitEt(0) {}
31     CaloTau(Double_t px, Double_t py, Double_t pz, Double_t e) :
32     Tau(px,py,pz,e),
33     fLeadTrackSignedD0Significance(0), fLeadTrack3x3HCalEt(0),
34     fLeadTrack3x3HCalDEta(0), fSignalTracksMass(0),
35     fTracksMass(0), fIsoTrackPtSum(0), fIsoECalEtSum(0),
36     fMaxHCalHitEt(0) {}
37    
38     void AddIsoTrack(const Track *t) { fIsoTracks.Add(t); }
39     void AddSignalTrack(const Track *t) { fSignalTracks.Add(t); }
40     void AddNeutralBC(const BasicCluster* c) { fNeutralBCs.Add(c); }
41     void SetCaloJet(const CaloJet *j) { fCaloJet = j; }
42     void SetLeadTrack(const Track *t) { fLeadTrack = t; }
43    
44     const Track *LeadTrack() const { return fLeadTrack.Obj(); }
45     const CaloJet *SourceCaloJet() const { return fCaloJet.Obj(); }
46     const Jet *SourceJet() const { return SourceCaloJet(); }
47    
48     UInt_t NIsoTracks() const { return fIsoTracks.GetEntries(); }
49     UInt_t NSignalTracks() const { return fSignalTracks.GetEntries(); }
50     UInt_t NNeutralBCs() const { return fNeutralBCs.GetEntries(); }
51     const Track *SignalTrack(UInt_t i) const { return fSignalTracks.At(i); }
52     const Track *IsoTrack(UInt_t i) const { return fIsoTracks.At(i); }
53     const BasicCluster *NeutralBC(UInt_t i) const { return fNeutralBCs.At(i); }
54    
55     EObjType ObjType() const { return kCaloTau; }
56    
57     Double_t LeadTrackSignedD0Significance() const { return fLeadTrackSignedD0Significance; }
58     Double_t LeadTrack3x3HCalEt() const { return fLeadTrack3x3HCalEt; }
59     Double_t LeadTrack3x3HCalDEta() const { return fLeadTrack3x3HCalDEta; }
60     Double_t SignalTracksMass() const { return fSignalTracksMass; }
61     Double_t TracksMass() const { return fTracksMass; }
62     Double_t IsoTrackPtSum() const { return fIsoTrackPtSum; }
63     Double_t IsoECalEtSum() const { return fIsoECalEtSum; }
64     Double_t MaxHCalHitEt() const { return fMaxHCalHitEt; }
65    
66     void SetLeadTrackSignedD0Significance(Double_t x) { fLeadTrackSignedD0Significance = x; }
67     void SetLeadTrack3x3HCalEt(Double_t x) { fLeadTrack3x3HCalEt = x; }
68     void SetLeadTrack3x3HCalDEta(Double_t x) { fLeadTrack3x3HCalDEta = x; }
69     void SetSignalTracksMass(Double_t x) { fSignalTracksMass = x; }
70     void SetTracksMass(Double_t x) { fTracksMass = x; }
71     void SetIsoTrackPtSum(Double_t x) { fIsoTrackPtSum = x; }
72     void SetIsoECalEtSum(Double_t x) { fIsoECalEtSum = x; }
73     void SetMaxHCalHitEt(Double_t x) { fMaxHCalHitEt = x; }
74    
75    
76    
77     protected:
78    
79     Double32_t fLeadTrackSignedD0Significance; //signed lead track D0 significance
80     Double32_t fLeadTrack3x3HCalEt; //sum HCal et in 3x3 calo tower region around lead track
81     Double32_t fLeadTrack3x3HCalDEta; //abs(delta eta) btw lead track and hottest hcal rec hit in 3x3 region
82     Double32_t fSignalTracksMass; // invariant mass of signal tracks
83     Double32_t fTracksMass; // invariant mass of signal and isolation tracks
84     Double32_t fIsoTrackPtSum; //sum pt of tracks in isolation annulus
85     Double32_t fIsoECalEtSum; //sum et of ecal rechits in isolation annulus
86     Double32_t fMaxHCalHitEt; //Et of largest Et HCal rechit
87     Ref<Track> fLeadTrack; //leading track in signal cone
88     Ref<CaloJet> fCaloJet; //original reconstructed calo jet
89     RefArray<Track> fSignalTracks; //tracks in signal cone
90     RefArray<Track> fIsoTracks; //tracks in isolation annulus
91     RefArray<BasicCluster> fNeutralBCs; //neutral Ecal basic clusters
92    
93     ClassDef(CaloTau, 1) // CaloTau class
94     };
95     }
96     #endif