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.2 by loizides, Fri Mar 20 09:37:17 2009 UTC vs.
Revision 1.5 by paus, Thu Mar 29 23:41:54 2012 UTC

# Line 35 | Line 35 | namespace mithep
35                    fTracksMass(0), fIsoTrackPtSum(0), fIsoECalEtSum(0),
36                    fMaxHCalHitEt(0) {}
37  
38 <      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 <      void                SetLeadTrack3x3HCalEt(Double_t x)     { fLeadTrack3x3HCalEt = x;        }
60 <      void                SetLeadTrackSignD0Sig(Double_t x)     { fLeadTrackSignD0Sig = x;        }
61 <      void                SetMaxHCalHitEt(Double_t x)           { fMaxHCalHitEt = x;              }
62 <      void                SetSignalTracksMass(Double_t x)       { fSignalTracksMass = x;          }
63 <      void                SetTracksMass(Double_t x)             { fTracksMass = x;                }
64 <      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;             }
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          fLeadTrackSignD0Sig;   //[0,0,14]signed leading track D0 significance
78 <      Double32_t          fLeadTrack3x3HCalEt;   //[0,0,14]hcal 3x3 calo tower et around lead track
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 and 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
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