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

Comparing UserCode/MitAna/DataTree/interface/Track.h (file contents):
Revision 1.34 by loizides, Tue Mar 3 17:04:10 2009 UTC vs.
Revision 1.42 by loizides, Mon Jul 13 11:00:32 2009 UTC

# Line 77 | Line 77
77   #ifndef MITANA_DATATREE_TRACK_H
78   #define MITANA_DATATREE_TRACK_H
79  
80 + #include "MitAna/DataCont/interface/BitMask.h"
81 + #include "MitAna/DataTree/interface/BaseVertex.h"
82   #include "MitAna/DataTree/interface/DataObject.h"
81 #include "MitAna/DataTree/interface/SuperCluster.h"
83   #include "MitAna/DataTree/interface/MCParticle.h"
84 < #include "MitAna/DataTree/interface/BitMask.h"
84 < #include "MitAna/DataTree/interface/BaseVertex.h"
85 < #include "MitAna/DataTree/interface/Types.h"
84 > #include "MitAna/DataTree/interface/SuperCluster.h"
85  
86   namespace mithep
87   {
# Line 146 | Line 145 | namespace mithep
145  
146        Int_t                Charge()         const { return (fQOverP>0) ? 1 : -1;  }
147        Double_t             Chi2()           const { return fChi2;                 }
149      Double_t             RChi2()          const { return fChi2/(Double_t)fNdof; }
148        void                 ClearHit(EHitLayer l)  { fHits.ClearBit(l);            }
149        Double_t             D0()             const { return -fDxy;                 }
150        Double_t             D0Corrected(const BaseVertex &iVertex) const;
# Line 165 | Line 163 | namespace mithep
163        Double_t             LambdaErr()      const { return fLambdaErr;            }
164        const MCParticle    *MCPart()         const { return fMCParticleRef.Obj();  }
165        const ThreeVectorC  &Mom()            const;
166 <      FourVectorM          Mom4(Double_t m) const { return FourVectorM(Pt(),Eta(),Phi(),E(m)); }
167 <      UInt_t               Ndof()           const { return fNdof;                              }
166 >      FourVectorM          Mom4(Double_t m) const { return FourVectorM(Pt(),Eta(),Phi(),m); }
167 >      UShort_t             Ndof()           const { return fNdof;                              }
168        UInt_t               NHits()          const { return fHits.NBitsSet();                   }
169        UInt_t               NStereoHits()    const { return StereoHits().NBitsSet();            }
170        EObjType             ObjType()        const { return kTrack;                             }    
# Line 183 | Line 181 | namespace mithep
181        Double_t             Pz()             const { return Mom().Z();                          }
182        Double_t             QOverP()         const { return fQOverP;                            }
183        Double_t             QOverPErr()      const { return fQOverPErr;                         }
184 +      Double_t             RChi2()          const { return fChi2/(Double_t)fNdof; }
185        Double_t             Theta()          const { return (TMath::PiOver2() - fLambda);       }
187      Double_t             Z0()             const { return fDsz/TMath::Cos(fLambda);           }
186        const SuperCluster  *SCluster()       const { return fSuperClusterRef.Obj();             }
187        const BitMask48      StereoHits()     const { return (fHits & StereoLayers());           }
188        void                 SetChi2(Double_t chi2)              { fChi2 = chi2;                 }
# Line 195 | Line 193 | namespace mithep
193                                       Double_t dXy, Double_t dSz);
194        void                 SetHit(EHitLayer l)                 { fHits.SetBit(l);              }
195        void                 SetHits(const BitMask48 &hits)      { fHits = hits;                 }
196 <      void                 SetNdof(UInt_t dof)                 { fNdof = dof;                  }
196 >      void                 SetNdof(UShort_t dof)               { fNdof = dof;                  }
197        void                 SetMCPart(const MCParticle *p)      { fMCParticleRef = p;           }
198        void                 SetPhiEcal(Double_t phi)            { fPhiEcal = phi;               }
199        void                 SetSCluster(const SuperCluster* sc) { fSuperClusterRef = sc;        }
200 +      Double_t             Z0()             const { return fDsz/TMath::Cos(fLambda);           }
201  
202        static
203        const BitMask48      StereoLayers();
# Line 208 | Line 207 | namespace mithep
207        void                 GetMom()      const;
208  
209        BitMask48            fHits;                //storage for mostly hit information
210 <      Double32_t           fQOverP;              //signed inverse of momentum [1/GeV]
211 <      Double32_t           fQOverPErr;           //error of q/p
212 <      Double32_t           fLambda;              //pi/2 - polar angle at the reference point
213 <      Double32_t           fLambdaErr;           //error of lambda
214 <      Double32_t           fPhi0;                //azimuth angle at the given point
215 <      Double32_t           fPhi0Err;             //error of azimuthal angle
216 <      Double32_t           fDxy;                 //transverse distance to reference point [cm]
217 <      Double32_t           fDxyErr;              //error of transverse distance
218 <      Double32_t           fDsz;                 //longitudinal distance to reference point [cm]
219 <      Double32_t           fDszErr;              //error of longitudinal distance
220 <      Double32_t           fChi2;                //chi squared of track fit
221 <      UInt_t               fNdof;                //degree-of-freedom of track fit
222 <      Double32_t           fEtaEcal;             //eta of track at Ecal front face
223 <      Double32_t           fPhiEcal;             //phi of track at Ecal front face
210 >      Double32_t           fQOverP;              //[0,0,14]signed inverse of momentum [1/GeV]
211 >      Double32_t           fQOverPErr;           //[0,0,14]error of q/p
212 >      Double32_t           fLambda;              //[0,0,14]pi/2 - polar angle at the reference point
213 >      Double32_t           fLambdaErr;           //[0,0,14]error of lambda
214 >      Double32_t           fPhi0;                //[0,0,14]azimuth angle at the given point
215 >      Double32_t           fPhi0Err;             //[0,0,14]error of azimuthal angle
216 >      Double32_t           fDxy;                 //[0,0,14]trans. distance to reference point [cm]
217 >      Double32_t           fDxyErr;              //[0,0,14]error of transverse distance
218 >      Double32_t           fDsz;                 //[0,0,14]long. distance to reference point [cm]
219 >      Double32_t           fDszErr;              //[0,0,14]error of longitudinal distance
220 >      Double32_t           fChi2;                //[0,0,12]chi squared of track fit
221 >      UShort_t             fNdof;                //degree-of-freedom of track fit
222 >      Double32_t           fEtaEcal;             //[0,0,12]eta of track at Ecal front face
223 >      Double32_t           fPhiEcal;             //[0,0,12]phi of track at Ecal front face
224        Ref<SuperCluster>    fSuperClusterRef;     //superCluster crossed by track
225        Ref<MCParticle>      fMCParticleRef;       //reference to sim particle (for monte carlo)
226        mutable CacheFlag    fCacheMomFlag;        //||cache validity flag for momentum
# Line 270 | Line 269 | inline Double_t mithep::Track::D0Correct
269   //--------------------------------------------------------------------------------------------------
270   inline
271   void mithep::Track::SetHelix(Double_t qOverP, Double_t lambda, Double_t phi0,
272 <                                   Double_t dxy, Double_t dsz)
272 >                             Double_t dxy, Double_t dsz)
273   {
274    // Set helix parameters.
275  
# Line 285 | Line 284 | void mithep::Track::SetHelix(Double_t qO
284   //--------------------------------------------------------------------------------------------------
285   inline
286   void mithep::Track::SetErrors(Double_t qOverPErr, Double_t lambdaErr, Double_t phi0Err,
287 <                                   Double_t dxyErr, Double_t dszErr)
287 >                              Double_t dxyErr, Double_t dszErr)
288   {
289    // Set helix errors.
290  
# Line 300 | Line 299 | void mithep::Track::SetErrors(Double_t q
299   inline
300   const mithep::BitMask48 mithep::Track::StereoLayers()
301   {
302 <  // Build and return BitMask of stereo layers
302 >  // Build and return BitMask of stereo layers.
303  
304    mithep::BitMask48 stereoLayers;
305    stereoLayers.SetBit(mithep::Track::TIB1S);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines