1 |
bendavid |
1.1 |
//--------------------------------------------------------------------------------------------------
|
2 |
loizides |
1.2 |
// $Id: CaloTau.h,v 1.1 2009/03/19 23:09:36 bendavid Exp $
|
3 |
bendavid |
1.1 |
//
|
4 |
|
|
// CaloTau
|
5 |
|
|
//
|
6 |
loizides |
1.2 |
// This class holds information about reconstructed Taus based on calorimeter towers,
|
7 |
|
|
// ecal basic clusters, and tracks.
|
8 |
bendavid |
1.1 |
//
|
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 |
loizides |
1.2 |
CaloTau() : fLeadTrackSignD0Sig(0), fLeadTrack3x3HCalEt(0),
|
28 |
bendavid |
1.1 |
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 |
loizides |
1.2 |
fLeadTrackSignD0Sig(0), fLeadTrack3x3HCalEt(0),
|
34 |
bendavid |
1.1 |
fLeadTrack3x3HCalDEta(0), fSignalTracksMass(0),
|
35 |
|
|
fTracksMass(0), fIsoTrackPtSum(0), fIsoECalEtSum(0),
|
36 |
|
|
fMaxHCalHitEt(0) {}
|
37 |
|
|
|
38 |
loizides |
1.2 |
void AddIsoTrack(const Track *t) { fIsoTracks.Add(t); }
|
39 |
|
|
void AddNeutralBC(const BasicCluster *c) { fNeutralBCs.Add(c); }
|
40 |
|
|
void AddSignalTrack(const Track *t) { fSignalTracks.Add(t); }
|
41 |
|
|
Double_t IsoECalEtSum() const { return fIsoECalEtSum; }
|
42 |
|
|
const Track *IsoTrack(UInt_t i) const { return fIsoTracks.At(i); }
|
43 |
|
|
Double_t IsoTrackPtSum() const { return fIsoTrackPtSum; }
|
44 |
|
|
const Track *LeadTrack() const { return fLeadTrack.Obj(); }
|
45 |
|
|
Double_t LeadTrack3x3HCalEt() const { return fLeadTrack3x3HCalEt; }
|
46 |
|
|
Double_t LeadTrack3x3HCalDEta() const { return fLeadTrack3x3HCalDEta; }
|
47 |
|
|
Double_t LeadTrackSignedD0Sig() const { return fLeadTrackSignD0Sig; }
|
48 |
|
|
Double_t MaxHCalHitEt() const { return fMaxHCalHitEt; }
|
49 |
|
|
UInt_t NIsoTracks() const { return fIsoTracks.Entries(); }
|
50 |
|
|
const BasicCluster *NeutralBC(UInt_t i) const { return fNeutralBCs.At(i); }
|
51 |
|
|
UInt_t NNeutralBCs() const { return fNeutralBCs.Entries(); }
|
52 |
|
|
UInt_t NSignalTracks() const { return fSignalTracks.Entries(); }
|
53 |
|
|
EObjType ObjType() const { return kCaloTau; }
|
54 |
|
|
void SetCaloJet(const CaloJet *j) { fCaloJet = j; }
|
55 |
|
|
void SetIsoECalEtSum(Double_t x) { fIsoECalEtSum = x; }
|
56 |
|
|
void SetIsoTrackPtSum(Double_t x) { fIsoTrackPtSum = x; }
|
57 |
|
|
void SetLeadTrack(const Track *t) { fLeadTrack = t; }
|
58 |
|
|
void SetLeadTrack3x3HCalDEta(Double_t x) { fLeadTrack3x3HCalDEta = x; }
|
59 |
bendavid |
1.1 |
void SetLeadTrack3x3HCalEt(Double_t x) { fLeadTrack3x3HCalEt = x; }
|
60 |
loizides |
1.2 |
void SetLeadTrackSignD0Sig(Double_t x) { fLeadTrackSignD0Sig = x; }
|
61 |
|
|
void SetMaxHCalHitEt(Double_t x) { fMaxHCalHitEt = x; }
|
62 |
bendavid |
1.1 |
void SetSignalTracksMass(Double_t x) { fSignalTracksMass = x; }
|
63 |
|
|
void SetTracksMass(Double_t x) { fTracksMass = x; }
|
64 |
loizides |
1.2 |
const Track *SignalTrack(UInt_t i) const { return fSignalTracks.At(i); }
|
65 |
|
|
Double_t SignalTracksMass() const { return fSignalTracksMass; }
|
66 |
|
|
const CaloJet *SourceCaloJet() const { return fCaloJet.Obj(); }
|
67 |
|
|
const Jet *SourceJet() const { return SourceCaloJet(); }
|
68 |
|
|
Double_t TracksMass() const { return fTracksMass; }
|
69 |
bendavid |
1.1 |
|
70 |
|
|
protected:
|
71 |
|
|
|
72 |
loizides |
1.2 |
Double32_t fLeadTrackSignD0Sig; //[0,0,14]signed leading track D0 significance
|
73 |
|
|
Double32_t fLeadTrack3x3HCalEt; //[0,0,14]hcal 3x3 calo tower et around lead track
|
74 |
|
|
Double32_t fLeadTrack3x3HCalDEta; //[0,0,14]abs(delta eta) between lead track
|
75 |
|
|
// and hottest hcal rec hit in 3x3 region
|
76 |
|
|
Double32_t fSignalTracksMass; //[0,0,14]invariant mass of signal tracks
|
77 |
|
|
Double32_t fTracksMass; //[0,0,14]invariant mass of signal and iso tracks
|
78 |
|
|
Double32_t fIsoTrackPtSum; //[0,0,14]sum pt of tracks in isolation annulus
|
79 |
|
|
Double32_t fIsoECalEtSum; //[0,0,14]sum et of ecal rechits in iso annulus
|
80 |
|
|
Double32_t fMaxHCalHitEt; //[0,0,14]et of largest et hcal rechit
|
81 |
|
|
Ref<Track> fLeadTrack; //leading track in signal cone
|
82 |
|
|
Ref<CaloJet> fCaloJet; //original reconstructed calo jet
|
83 |
|
|
RefArray<Track> fSignalTracks; //tracks in signal cone
|
84 |
|
|
RefArray<Track> fIsoTracks; //tracks in isolation annulus
|
85 |
|
|
RefArray<BasicCluster> fNeutralBCs; //neutral Ecal basic clusters
|
86 |
bendavid |
1.1 |
|
87 |
|
|
ClassDef(CaloTau, 1) // CaloTau class
|
88 |
|
|
};
|
89 |
|
|
}
|
90 |
|
|
#endif
|