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

# Content
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