ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitAna/DataTree/interface/CaloTau.h
(Generate patch)

Comparing UserCode/MitAna/DataTree/interface/CaloTau.h (file contents):
Revision 1.1 by bendavid, Thu Mar 19 23:09:36 2009 UTC vs.
Revision 1.5 by paus, Thu Mar 29 23:41:54 2012 UTC

# Line 3 | Line 3
3   //
4   // CaloTau
5   //
6 < // This class holds information about reconstructed tau based on calorimeter towers, ecal basic
7 < // clusters, and tracks
6 > // This class holds information about reconstructed Taus based on calorimeter towers,
7 > // ecal basic clusters, and tracks.
8   //
9   // Authors: J.Bendavid
10   //--------------------------------------------------------------------------------------------------
# Line 24 | Line 24 | namespace mithep
24    class CaloTau : public Tau
25    {
26      public:
27 <      CaloTau() : fLeadTrackSignedD0Significance(0), fLeadTrack3x3HCalEt(0),
27 >      CaloTau() : fLeadTrackSignD0Sig(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),
33 >                  fLeadTrackSignD0Sig(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 <        
38 >      void                   AddIsoTrack(const Track *t)         { fIsoTracks.Add(t);              }
39 >      void                   AddNeutralBC(const BasicCluster *c) { fNeutralBCs.Add(c);             }
40 >      void                   AddSignalTrack(const Track *t)      
41 >                                { ClearCharge(); fSignalTracks.Add(t); }
42 >      Double_t               IsoECalEtSum()                const { return fIsoECalEtSum;           }
43 >      const Track           *IsoTrack(UInt_t i)            const { return fIsoTracks.At(i);        }
44 >      Double_t               IsoTrackPtSum()               const { return fIsoTrackPtSum;          }
45 >      const Track           *LeadTrack()                   const { return fLeadTrack.Obj();        }
46 >      Double_t               LeadTrack3x3HCalEt()          const { return fLeadTrack3x3HCalEt;     }
47 >      Double_t               LeadTrack3x3HCalDEta()        const { return fLeadTrack3x3HCalDEta;   }
48 >      Double_t               LeadTrackSignedD0Sig()        const { return fLeadTrackSignD0Sig;     }
49 >      Double_t               MaxHCalHitEt()                const { return fMaxHCalHitEt;           }
50 >      UInt_t                 NIsoTracks()                  const { return fIsoTracks.Entries();    }
51 >      const BasicCluster    *NeutralBC(UInt_t i)           const { return fNeutralBCs.At(i);       }
52 >      UInt_t                 NNeutralBCs()                 const { return fNeutralBCs.Entries();   }
53 >      UInt_t                 NSignalTracks()               const { return fSignalTracks.Entries(); }
54 >      EObjType               ObjType()                     const { return kCaloTau;                }
55 >      void                   SetCaloJet(const CaloJet *j)        { fCaloJet = j;                   }
56 >      void                   SetIsoECalEtSum(Double_t x)         { fIsoECalEtSum = x;              }
57 >      void                   SetIsoTrackPtSum(Double_t x)        { fIsoTrackPtSum = x;             }
58 >      void                   SetLeadTrack(const Track *t)        { fLeadTrack = t;                 }
59 >      void                   SetLeadTrack3x3HCalDEta(Double_t x) { fLeadTrack3x3HCalDEta = x;      }
60 >      void                   SetLeadTrack3x3HCalEt(Double_t x)   { fLeadTrack3x3HCalEt = x;        }
61 >      void                   SetLeadTrackSignD0Sig(Double_t x)   { fLeadTrackSignD0Sig = x;        }
62 >      void                   SetMaxHCalHitEt(Double_t x)         { fMaxHCalHitEt = x;              }
63 >      void                   SetSignalTracksMass(Double_t x)     { fSignalTracksMass = x;          }
64 >      void                   SetTracksMass(Double_t x)           { fTracksMass = x;                }
65 >      const Track           *SignalTrack(UInt_t i)         const { return fSignalTracks.At(i);     }
66 >      Double_t               SignalTracksMass()            const { return fSignalTracksMass;       }
67 >      const CaloJet         *SourceCaloJet()               const { return fCaloJet.Obj();          }
68 >      const Jet             *SourceJet()                   const { return SourceCaloJet();         }
69 >      Double_t               TracksMass()                  const { return fTracksMass;             }
70  
71 +      // Some structural tools
72 +      void                   Mark(UInt_t  i = 1)           const;
73  
74      protected:
75 +      Double_t               GetCharge()                   const;
76  
77 <      Double32_t              fLeadTrackSignedD0Significance;  //signed lead track D0 significance
78 <      Double32_t              fLeadTrack3x3HCalEt; //sum HCal et in 3x3 calo tower region around lead track
79 <      Double32_t              fLeadTrack3x3HCalDEta; //abs(delta eta) btw lead track and hottest hcal rec hit in 3x3 region
80 <      Double32_t              fSignalTracksMass;   // invariant mass of signal tracks
81 <      Double32_t              fTracksMass;         // invariant mass of signal and isolation tracks
82 <      Double32_t              fIsoTrackPtSum;     //sum pt of tracks in isolation annulus
83 <      Double32_t              fIsoECalEtSum;      //sum et of ecal rechits in isolation annulus
84 <      Double32_t              fMaxHCalHitEt;      //Et of largest Et HCal rechit
85 <      Ref<Track>              fLeadTrack;         //leading track in signal cone
86 <      Ref<CaloJet>            fCaloJet;           //original reconstructed calo jet
87 <      RefArray<Track>         fSignalTracks;      //tracks in signal cone
88 <      RefArray<Track>         fIsoTracks;         //tracks in isolation annulus
89 <      RefArray<BasicCluster>  fNeutralBCs;        //neutral Ecal basic clusters
77 >      Double32_t             fLeadTrackSignD0Sig;   //[0,0,14]signed leading track D0 significance
78 >      Double32_t             fLeadTrack3x3HCalEt;   //[0,0,14]hcal 3x3 calo tower et around lead trk
79 >      Double32_t             fLeadTrack3x3HCalDEta; //[0,0,14]abs(delta eta) between lead track
80 >                                                    //        and hottest hcal rec hit in 3x3 region
81 >      Double32_t             fSignalTracksMass;     //[0,0,14]invariant mass of signal tracks
82 >      Double32_t             fTracksMass;           //[0,0,14]invariant mass of signal + iso tracks
83 >      Double32_t             fIsoTrackPtSum;        //[0,0,14]sum pt of tracks in isolation annulus
84 >      Double32_t             fIsoECalEtSum;         //[0,0,14]sum et of ecal rechits in iso annulus
85 >      Double32_t             fMaxHCalHitEt;         //[0,0,14]et of largest et hcal rechit
86 >      Ref<Track>             fLeadTrack;            //leading track in signal cone
87 >      Ref<CaloJet>           fCaloJet;              //original reconstructed calo jet
88 >      RefArray<Track>        fSignalTracks;         //tracks in signal cone
89 >      RefArray<Track>        fIsoTracks;            //tracks in isolation annulus
90 >      RefArray<BasicCluster> fNeutralBCs;           //neutral Ecal basic clusters
91  
92      ClassDef(CaloTau, 1) // CaloTau class
93    };
94   }
95 +
96 + //--------------------------------------------------------------------------------------------------
97 + inline void mithep::CaloTau::Mark(UInt_t ib) const
98 + {
99 +  // mark myself
100 +  mithep::DataObject::Mark(ib);
101 +  // mark my dependencies if they are there
102 +  if (fLeadTrack.IsValid())
103 +    fLeadTrack.Obj()->Mark(ib);
104 +  if (fCaloJet.IsValid())
105 +    fCaloJet.Obj()->Mark(ib);
106 +  // arrays
107 +  fSignalTracks.Mark(ib);
108 +  fIsoTracks   .Mark(ib);
109 +  fNeutralBCs  .Mark(ib);
110 + }
111 +
112 + //--------------------------------------------------------------------------------------------------
113 + inline Double_t mithep::CaloTau::GetCharge() const
114 + {
115 +  // Get charge from signal tracks.
116 +
117 +  Double_t sumq = 0;
118 +  for (UInt_t i=0; i<fSignalTracks.Entries(); ++i) {
119 +    sumq += fSignalTracks.At(i)->Charge();
120 +  }
121 +  return sumq;
122 + }
123   #endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines